c++ - 如何从 CGAL::Linear_cell_complex_for_combinatorial_map 中删除顶点、边或面

标签 c++ graphics 3d mesh cgal

我正在使用 qt creator 创建一个应用程序,它将 .off 文件读取为 CGAL::Linear_cell_complex_for_combinatorial_map 并进行预览 我想对读取的网格进行操作,例如删除顶点、边或面并恢复它。

我创建了一个循环来访问飞镖: Dart_handle dh;

for (LCC_3::Dart_range::iterator it=lcc.darts().begin(),
           itend=lcc.darts().end(); it!=itend; )
    {
      dh=it++;
      if ( it!=itend && it==lcc.beta<2>(dh) ) ++it;

}

有任何帮助或有用的链接来简化网格或删除顶点、边或面吗? 我感谢任何帮助

最佳答案

您可以使用 remove_cell 操作。该方法由要删除的单元格的维度模板化:0 表示顶点,1 表示边,2 表示面...

请参阅文档 here和示例 there .

关于c++ - 如何从 CGAL::Linear_cell_complex_for_combinatorial_map 中删除顶点、边或面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54006275/

相关文章:

c++ - c++ 中的引用是内存中的一个新位置(如指针)还是它所绑定(bind)的对象的同一个位置?

c++ - 带互斥量的多线程输入不平滑(如预期)

math - 在旋转过程中放大图像以看不到边缘的量的公式是什么

javascript - 在 webGL 中渲染圆环时出现问题

javascript - 用于 2D <canvas> 的仿 3D 引擎/库

java - 计算 3D 空间中的一个点

qt - 将 qml 项添加到 Qt3DQuickWindow

C++::vector如何保存自己的类

c++ - Boost.Python 和 Python 异常

c++ - 使用 Ortho2D 移动当前图形在 GLUT 中不起作用