CGAL将数据添加到面部句柄

时间:2018-01-08 18:33:26

标签: python cgal triangulation delaunay face

我在Python中使用CGAL,我希望能够在三角测量中将数据添加到面部句柄。似乎Python允许我存储这些信息,但它不会持久存在,例如:

from CGAL.CGAL_Kernel import Point_2
from CGAL.CGAL_Triangulation_2 import Delaunay_triangulation_2

#triangulate a square
points = [Point_2(0,0), Point_2(0,1), Point_2(1,0), Point_2(1,1)]
D = Delaunay_triangulation_2()
D.insert(points)

#attempt to store information in face handle
for f in D.finite_faces():
    f.data = 'my data'

#this information does not persist
for f in D.finite_faces():
    print(f.data)

中运行上述结果
AttributeError: 'Delaunay_triangulation_2_Face_handle' object has no attribute 'data'

是否有可能在三角测量中存储信息,如果是,如何?

1 个答案:

答案 0 :(得分:0)

我对这些库中的任何一个都一无所知,但我想,finite_faces()每次都会创建一组新的对象。您应该将它们保存在列表中,然后迭代该列表而不是再次调用该方法。

faces = D.finite_faces():
for f in faces:
    f.data = 'my data'

for f in faces:
    print(f.data)