【问题标题】:How do I remove many vertices from a surface mesh in CGAL?如何从 CGAL 中的表面网格中删除许多顶点?
【发布时间】:2020-02-11 02:37:48
【问题描述】:

我正在尝试遍历表面网格中的所有顶点并删除那些满足特定条件的顶点。删除顶点应该会删除连接的面。

CGAL::Euler::remove_center_vertex 似乎做了我希望的事情,但它使迭代器无效,所以我应该如何从表面网格中删除许多顶点?

【问题讨论】:

    标签: c++ cgal


    【解决方案1】:

    您可能想看看简化包: https://doc.cgal.org/latest/Surface_mesh_simplification/index.html

    编辑: 您应该首先收集要删除的所有顶点,然后使用收集的顶点对remove_center_vertex() 进行所有调用。或者,您可以查看函数remove_connected_components()。收集与要删除的顶点相关的一组面,并调用该函数以一次删除所有面。请注意,您可能必须调用 expand_face_selection_for_removal() 来防止创建非流形顶点。

    【讨论】:

    • 我不想简化 - 我想留下一个洞。我想完全删除我的网格的一部分。
    猜你喜欢
    • 1970-01-01
    • 2018-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-06
    • 2019-06-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多