Как мне удалить много вершин с поверхности me sh в CGAL? - PullRequest
0 голосов
/ 11 февраля 2020

Я пытаюсь перебрать все вершины на поверхности me sh и удалить те вершины, которые удовлетворяют определенным критериям. Удаление вершины должно удалить связанные грани.

CGAL :: Euler :: remove_center_vertex, кажется, делает то, на что я надеялся, но это делает недействительным итератор, так как я должен удалить много вершин с поверхности me sh?

1 Ответ

1 голос
/ 11 февраля 2020

Возможно, вы захотите взглянуть на пакет упрощений: https://doc.cgal.org/latest/Surface_mesh_simplification/index.html

РЕДАКТИРОВАТЬ: Сначала вы должны собрать все вершины, которые хотите удалить, и затем выполните все вызовы remove_center_vertex(), используя собранные вершины. В качестве альтернативы вы можете взглянуть на функцию remove_connected_components(). Соберите набор граней, инцидентных удаляемым вершинам, и вызовите эту функцию, чтобы удалить все грани одновременно. Обратите внимание, что вам может потребоваться вызвать expand_face_selection_for_removal(), чтобы предотвратить создание немногообразных вершин.

...