CGAL-使用corefine布尔运算在顶点上保留属性

问题描述 投票:0回答:1

我对CGAL还是比较陌生,因此,如果没有明显的解决方法,请原谅我。

我在corefine + boolean操作后遵循此示例来保存多面网格的面的属性:

https://github.com/CGAL/cgal/blob/master/Polygon_mesh_processing/examples/Polygon_mesh_processing/corefinement_mesh_union_with_attributes.cpp

我想知道是否有可能构造类似地作用于多面网格的顶点的Visitor结构。理想情况下,我想将属性值(双精度向量)从原始网格插入到新的布尔输出顶点上,但是我可以满足于估算最近的邻居值。

我遇到的困难是,Visitor中重载的after_subface_created和after_face_copy函数在为目标面设置半边结构之前就已运行,因此,我不确定如何访问目标面的顶点。有没有办法使用corefinement中的Visitor结构来做到这一点?

computational-geometry cgal
1个回答
0
投票
后保留多面体网格的小平面上的属性

在旧版本的代码中,我曾经让访问者处理顶点的创建/复制,但是由于时间不足,尚未进行向后移植。您正在尝试做的是一个很好的解决方法,但是您应该使用访问者来收集信息(例如填写地图[input face] -> std::vector<output face>),并在算法完成后处理该地图。

© www.soinside.com 2019 - 2024. All rights reserved.