Skip to content
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

Make optional the insertion of new points on constraints #88

Closed
LeoPizzo1 opened this issue Jul 5, 2022 · 2 comments
Closed

Make optional the insertion of new points on constraints #88

LeoPizzo1 opened this issue Jul 5, 2022 · 2 comments
Labels
question Further information is requested

Comments

@LeoPizzo1
Copy link

I see that with commit 14a66c766a0bf397300d55b39b7954c5f52895d0 the library now enhanches the support of conforming Delaunay triangulation , adding more point if needed.

It is not clear to me if the points will be added only if edges are overlapping/intersecting.
If it is not the case, I suggest to make this functionality optional.
This to allow a "relaxed" result that is conformant to the input data.

Sometime you simply need it, at the cost of a not fully conforming Delaunay triangulation.

Suppose to expect to obtain a closed solid out of tessellations, the flux is (more or less) the following

  1. tessellate the common boundaries in 2d
  2. create the area trimming loops out of common boundaries
  3. tessellate the single area providing the obtained loops
  4. obtain a 3d tessellation out of the 2d one
  5. merge all 3d tessellation in a single mesh

If new points are added on boundaries, then the resulting solid will be opened: there will be an "empty" boundary at the edge where the "additional" point has been inserted.

To obtain a closed solid, if new points are added, then the user should re-process all surrounding areas inserting the additional points and re-tessellate from scratch.
This process must be recursive, because then the neighbor areas might need additional points, etc...

Making it optional will ensure that there are no failures.
The library is great (actually was, now) also because of its conformance to the input data.

@artem-ogre
Copy link
Owner

artem-ogre commented Jul 5, 2022

  • Behavior of insertEdges is the same as before. Conforming triangulations are obtained by using new conformToEdges method. When using conformToEdges new points are added at the edge center recursively until the edge is present in the triangulation as a sum of its parts (pieces).
  • Resolving intersections of constraint edges is disabled by default and will only be enabled when the user explicitly passes IntersectingConstraintEdges::Resolve to the constructor.

@LeoPizzo1
Copy link
Author

Amazing.
I love your implementation!

@artem-ogre artem-ogre added the question Further information is requested label Jul 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants