From 67b330bd5a51e30df42732a4e6dc6c3eef65ecab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Loriot?= Date: Mon, 26 Feb 2024 17:20:22 +0100 Subject: [PATCH] do no iterate on a container you modify --- .../include/CGAL/Polygon_mesh_processing/bbox.h | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/bbox.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/bbox.h index b8c2680b26b..ed1bc400a40 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/bbox.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/bbox.h @@ -342,12 +342,13 @@ namespace CGAL { if(!dont_triangulate) { - for (auto h : halfedges(bbox_mesh)) + std::size_t k=0; + std::array::halfedge_descriptor, 8> hfaces; + for (auto f : faces(bbox_mesh)) + hfaces[k++]=halfedge(f, bbox_mesh); + for (auto h : hfaces) { - if (is_quad(h, bbox_mesh)) - CGAL::Euler::split_face(h, next(next(h, bbox_mesh), bbox_mesh), bbox_mesh); - else - CGAL_assertion(is_triangle(h, bbox_mesh)); + CGAL::Euler::split_face(h, next(next(h, bbox_mesh), bbox_mesh), bbox_mesh); } } CGAL::copy_face_graph(bbox_mesh, pmesh,