Merge remote-tracking branch 'cgal/6.0.x-branch'

This commit is contained in:
Sébastien Loriot 2025-01-17 18:52:55 +01:00
commit 6d20c44ccf
1 changed files with 13 additions and 2 deletions

View File

@ -1692,6 +1692,17 @@ private:
// else keep current status for en and eno // else keep current status for en and eno
} }
void remove_border_face(const halfedge_descriptor h)
{
CGAL_assertion(is_border(opposite(h, mesh_), mesh_));
for (halfedge_descriptor hf : halfedges_around_face(h, mesh_))
{
set_status(hf, MESH_BORDER); //only 1 or 2 of the listed halfedges
//will survive face removal, but status will be correct
}
CGAL::Euler::remove_face(h, mesh_);
}
template<typename Bimap, typename SizingFunction> template<typename Bimap, typename SizingFunction>
bool fix_degenerate_faces(const vertex_descriptor& v, bool fix_degenerate_faces(const vertex_descriptor& v,
Bimap& short_edges, Bimap& short_edges,
@ -1721,7 +1732,7 @@ private:
if(is_border(opposite(h, mesh_), mesh_)) if(is_border(opposite(h, mesh_), mesh_))
{ {
CGAL::Euler::remove_face(h, mesh_); remove_border_face(h);
continue; continue;
} }
@ -1732,7 +1743,7 @@ private:
if(is_border(hfo, mesh_)) if(is_border(hfo, mesh_))
{ {
CGAL::Euler::remove_face(h, mesh_); remove_border_face(h);
break; break;
} }
vertex_descriptor vc = target(hf, mesh_); vertex_descriptor vc = target(hf, mesh_);