Merge pull request #7352 from sloriot/PMP-one_si_test

Do not test twice for self-intersections if there is none
This commit is contained in:
Laurent Rineau 2023-04-11 14:18:29 +02:00
commit 06a2f7b3b4
1 changed files with 5 additions and 1 deletions

View File

@ -2450,6 +2450,7 @@ bool remove_self_intersections(const FaceRange& face_range,
std::set<face_descriptor> working_face_range(face_range.begin(), face_range.end());
visitor.start_main_loop();
bool self_intersects=false;
while(++step < max_steps)
{
#ifdef CGAL_PMP_REMOVE_SELF_INTERSECTION_DEBUG
@ -2488,6 +2489,8 @@ bool remove_self_intersections(const FaceRange& face_range,
#endif
break;
}
else
self_intersects=true;
visitor.status_update(faces_to_treat);
@ -2518,7 +2521,8 @@ bool remove_self_intersections(const FaceRange& face_range,
std::ofstream("results/final.off") << std::setprecision(17) << tmesh;
#endif
bool self_intersects = does_self_intersect(working_face_range, tmesh, parameters::vertex_point_map(vpm).geom_traits(gt));
if (self_intersects)
self_intersects = does_self_intersect(working_face_range, tmesh, parameters::vertex_point_map(vpm).geom_traits(gt));
#ifdef CGAL_PMP_REMOVE_SELF_INTERSECTION_DEBUG
if(self_intersects)