如何删除网格查看器上选择性表面内的边缘?

how to remove edges within selective surface on mesh viewer?

我正在使用 CGAL edge collapsing 去除网格上的边缘并且它工作成功。

但我想 运行 在网格查看器上 selected 表面内的边缘折叠过程。

我使用以下代码预览 Geomview (.off):

QWidget* centralWidget = new QWidget(viewer);
centralWidget->setSizePolicy(QSizePolicy::Maximum,QSizePolicy::Maximum);
setCentralWidget( new CGAL::SimpleLCCViewerQt<LCC, CGAL::DefaultColorFunctorLCC>(&qWin ,
                  lcc,
                  "Basic LCC Viewer",
                  false,
                   fcolor ) );
show();

那么,如何 select 网格查看器上的特定表面区域并仅在 selected 表面上应用边缘塌陷?

感谢任何帮助。

您需要在查看器中添加一个 selection 操作。这并不简单。 例如,您需要跟踪鼠标事件,以便拖动一个矩形。 然后你需要遍历所有飞镖,select 矩形中的所有飞镖。