ポイント、ポリゴン、三角形分割されたサーフェスなどの単純な空間データを Python の単純なデータ構造に読み書きするための Python 関数をいくつか作成します。この投稿のように、 Cまたは C++からこれらのデータ構造にアクセスする可能性があることは承知しています: Passing Python list to C++ vector using Boost.python
ただし、私はテンプレートを使用する経験豊富なプログラマーではないため、最初は簡単な方法から始めたいと考えています。したがって、ポイント オブジェクトのリストがある場合 (単純なクラス定義を参照)、それぞれの変数を読み取るCプログラムからこのリストにアクセスするにはどうすればよいでしょうか。
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