0

我在 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'

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

4

1 回答 1

0

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

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

for f in faces:
    print(f.data)
于 2018-01-08T18:38:30.607 回答