2D Delaunay triangulation - controlling constrained edges refinement #8339
-
Hi all, I need to refine some constrained edges in a 2D CDT. My problem now is to add a condition for that to happen (some edges I allow refinement, while other ones I do not). Do you have any suggestion? Thanks, |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
What I actually want to achieve is to prohibit the insertion of new points on the initial constraint edge |
Beta Was this translation helpful? Give feedback.
-
Will. I find a solution for my question. More importent is: with Delaunay_mesher_custom_conforming_2 You must ensure that the length of the constraint edge is less than the edge length specified in the Criteria Otherwise mesher will assert to error, .This is because Is_locally_conforming_Gabriel_exclude_constrained has marked all the constrained edges as conforming. This just meets my needs. I need to process a group of polygons in different planes, and they will have some common edges. If the processing of the constraint edges is handed over to CGAL, different subdivision results may be obtained on the same common edge. So I need to process them in a fixed way, such as dividing them into several segments according to the length limit of the triangle. And do not add new points during subdivision, so that I can combine the final subdivision results into a large mesh. Hope this is useful to others too. |
Beta Was this translation helpful? Give feedback.
Will. I find a solution for my question.
I implemented two template classes based on CGAL.
template <typename Tr, typename Crit, typename Is_locally_conform = Mesh_2::Is_locally_conforming_Gabriel<Tr>> class Delaunay_mesher_custom_conforming_2
and
template <typename Tr> struct Is_locally_conforming_Gabriel_exclude_constrained
more details please download this zip file(have two template classes and a simple example.)
More importent is: with Delaunay_mesher_custom_conforming_2 You must ensure that the length of the constraint edge is less than the edge length specified in the Criteria Otherwise mesher will assert to error, .This is because Is_locally_conforming_Gabriel_exclude_constrained …