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