Удаление граней из сетки - PullRequest
0 голосов
/ 28 ноября 2018

Я пытаюсь удалить первое лицо из меша через его декоратор, используя 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;, чтобы обновить фактическую сетку.

...