我编写了一些python函数来读取/写入简单的空间数据,如点,多边形,三角形曲面到Python中的简单数据结构。我知道有一些可能从 C 或C ++访问这些数据结构,如本文所示: Passing Python list to C++ vector using Boost.python
但是,我不是一个使用模板的有经验的程序员,我想首先以一种简单的方式开始 - 如果存在的话。因此,如果我有一个点对象列表(参见简单的类定义),我将如何从 C -Program中读取相应的变量来访问该列表。
class point3d():
def __init__(self, objectName, version, id=[], xyz=[], prop=[], unit=[], val=[]):
self.id = id
self.xyz = xyz
self.prop = prop
self.unit = unit
self.val = val
dim = len(self.xyz)
self.objectName = objectName
self.version = version
if dim == 1:
self.x = self.xyz[0]
elif dim == 2:
self.x = self.xyz[0]
self.y = self.xyz[1]
elif dim == 3:
self.x = self.xyz[0]
self.y = self.xyz[1]
self.z = self.xyz[2]
def __del__(self):
pass
def getObjectName(self):
return self.objectName
def getVersion(self):
return self.version
def getXYZ(self):
return self.xyz
def getDim(self):
return self.dim
def getProp(self):
return self.prop
def getUnit(self):
return self.unit
def getVal(self):
return self.val
def getId(self):
return self.id