-
-
Notifications
You must be signed in to change notification settings - Fork 119
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Validate that coincident HalfEdge
s refer to same GlobalEdge
#1594
Comments
How would we check that A simple (but possibly not very elegant) solution would be to sample the curves at various points along them and ensure that they are all within our configurable epsilon. |
Validate whether coincident HalfEdges refer to the same GlobalEdge. This should resolve: hannobraun#1594. Checks whether they coincide by sampling.
Hey @A-Walrus, I think you're on to something with your idea of sampling, but we can simplify that a bit: Right now, the only kinds of curve that exist are lines and circles, which means that sampling exactly 3 points will always be enough to determine whether two half-edges are coincident. I suggest not complicating it further, for now. When we get more complicated curves, we need to revisit this, but I think the following will always be true: There will always be a definite number of sampling points that will be enough to determine coincidence of two half-edges, and that number of points will be defined by the curve/surface of the half-edges we compare. |
Validate whether coincident HalfEdges refer to the same GlobalEdge. This should resolve: hannobraun#1594. Checks whether they coincide by sampling.
Validate whether coincident HalfEdges refer to the same GlobalEdge. This should resolve: hannobraun#1594. Checks whether they coincide by sampling.
If two
HalfEdge
s are coincident (which happens where two neighboring faces touch), they need to refer to the sameGlobalEdge
. If they don't, code working with the object graph (like the approximation code) won't know that they are supposed to be the same edge. In the case of the approximation code, this might lead to an invalid triangle mesh being generated. This has been the cause of bugs in the past (#494, #1162).To make sure that all instances of this bug have been fixed, and that it stays fixed, we need a validation check for this.
The text was updated successfully, but these errors were encountered: