我在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'
是否有可能在三角测量中存储信息,如果是,如何?
答案 0 :(得分:0)
我对这些库中的任何一个都一无所知,但我想,finite_faces()
每次都会创建一组新的对象。您应该将它们保存在列表中,然后迭代该列表而不是再次调用该方法。
faces = D.finite_faces():
for f in faces:
f.data = 'my data'
for f in faces:
print(f.data)