Я пытаюсь удалить первое лицо из меша через его декоратор, используя CGAL::Euler::remove_face
:
typedef CGAL::Exact_predicates_inexact_constructions_kernel Kernel;
typedef CGAL::Polyhedron_3<Kernel, CGAL::Polyhedron_items_with_id_3> Polyhedron;
typedef Polyhedron::Halfedge_handle Halfedge_handle;
typedef Polyhedron::Facet_handle Facet_handle;
typedef Polyhedron::Vertex_handle Vertex_handle;
typedef Polyhedron::HalfedgeDS HalfedgeDS;
Polyhedron m_cgal_mesh;
std::ifstream in("D:/sphere3.off");
in >> m_cgal_mesh;
HalfedgeDS decorator(m_cgal_mesh.hds());
Halfedge_handle hh = m_cgal_mesh.halfedges_begin();
CGAL::Euler::remove_face(hh, decorator);
m_cgal_mesh.hds() = decorator;
Проблема в том, что в отладчике decorator
показывает меньше одногоЛицо, как и ожидалось, неправильно переводится, когда я вызываю m_cgal_mesh.hds() = decorator;
, чтобы обновить фактическую сетку.