From f2ec9175acb0e295d0aeb43562616f2f2ae5b395 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Loriot?= Date: Mon, 23 Oct 2023 14:38:23 +0200 Subject: [PATCH] prevent the removal boundary edges (that are constraints) --- .../CGAL/Polygon_mesh_processing/repair_self_intersections.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/repair_self_intersections.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/repair_self_intersections.h index e5979c7b15a..438b0a9c880 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/repair_self_intersections.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/repair_self_intersections.h @@ -1152,6 +1152,9 @@ bool adapt_patch(std::vector >& point_patch, put(local_vpm, v, projector(get(local_vpm, v))); // The projector can create degenerate faces + for (halfedge_descriptor h : border_hedges) + if (is_degenerate_triangle_face(face(opposite(h, local_mesh), local_mesh), local_mesh)) + return !has_SI; if(!remove_degenerate_faces(local_mesh)) return !has_SI; @@ -2035,7 +2038,7 @@ remove_self_intersections_one_step(std::set