Indexing 周期性三维三角剖分-单元索引

Indexing 周期性三维三角剖分-单元索引,indexing,cell,cgal,triangulation,delaunay,Indexing,Cell,Cgal,Triangulation,Delaunay,我正在使用CGAL为一个大的点集执行3d delaunay三角剖分 我的目标是生成以下格式的输出文件: ICell Vertex1 Vertex2 Vertex3 Vertex4 NeigborCell1 NeighborCell2 .... 其中,所有值都是对应于特定单元和顶点的索引 为了实现这一点,我加入了“映射”库,并将其用于顶点控制柄和单元控制柄,以将它们与索引绑定。 此方法似乎对顶点非常有效,但对于单元,它会输出三角剖分中生成的所有单元(包括同一单元的所有周期图像)。 此外,由于单

我正在使用CGAL为一个大的点集执行3d delaunay三角剖分

我的目标是生成以下格式的输出文件:

ICell  Vertex1 Vertex2 Vertex3 Vertex4 NeigborCell1 NeighborCell2 ....
其中,所有值都是对应于特定单元和顶点的索引

为了实现这一点,我加入了“映射”库,并将其用于顶点控制柄和单元控制柄,以将它们与索引绑定。
此方法似乎对顶点非常有效,但对于单元,它会输出三角剖分中生成的所有单元(包括同一单元的所有周期图像)。
此外,由于单元格的图像具有不同的单元格句柄,因此会为它们指定不同的索引(因此许多邻居也是图像)

是否有一种方法可以在每个单元格之间迭代一次?我如何为它们编制索引,使它们中的每一个都有一个唯一的索引号


提前感谢您的帮助。

恐怕您无法按您想要的方式进行迭代,至少在当前版本的软件包中是这样。 您只能使用具有适当迭代器类型的周期四面体迭代器在四面体(单元的几何嵌入)上执行此操作。
你可以破解周期四面体迭代器的代码来做你需要的

非常感谢您提供的信息。你能给我演示一个四面体上的循环吗?我如何构造每个唯一的单元?有没有办法从四面体类中得到相邻的四面体?没有,你不能从四面体中得到细胞,所以你也不能得到它的邻居。这就是为什么代码必须被破解。四面体上的“循环”是在include/CGAL/Periodic_3_triangulation_iterators_3.h文件中的类Periodic_3_triangulation_Tetraderon_iterator_3.h中实现的。将其改为在单元上而不是四面体上迭代应该是可行的。