2012-10-17 2 views
0

Я пишу некоторые функции python для чтения/записи простых пространственных данных, таких как точки, полигоны, триангулированные поверхности в/из простой структуры данных в Python. Я знаю, есть некоторые возможности для доступа к этим структурам данных из C или C++, как в этом посте: Passing Python list to C++ vector using Boost.pythonДоступ к данным python из C (++)

Однако, я не опытный программист с помощью шаблонов, и я хотел бы начать с первым простой способ - если есть. Поэтому, если у меня есть список точечных объектов (см. Простое определение класса), как мне получить доступ к этому списку из ? 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 

ответ

1

Если вы хотите, чтобы вызвать функцию C/C++ из вашего питона программы, ctypes это путь.

Смежные вопросы