Added support to map vectors of Entity into Python lists of PyEntity.
This commit is contained in:
parent
16428ffaa9
commit
3f1148b105
|
@ -151,6 +151,10 @@ extern "C" {
|
||||||
DBoDeleteMethod(Entity)
|
DBoDeleteMethod(Entity)
|
||||||
PyTypeObjectLinkPyType(Entity)
|
PyTypeObjectLinkPyType(Entity)
|
||||||
|
|
||||||
|
IteratorNextMethod(Entity)
|
||||||
|
VectorMethods (Entity)
|
||||||
|
|
||||||
|
|
||||||
#else // End of Python Module Code Part.
|
#else // End of Python Module Code Part.
|
||||||
|
|
||||||
// +=================================================================+
|
// +=================================================================+
|
||||||
|
@ -214,9 +218,18 @@ extern "C" {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
PyObject* PyEntity_Link ( Entity* entity )
|
||||||
|
{ return PyEntity_NEW( entity ); }
|
||||||
|
|
||||||
|
|
||||||
PyTypeRootObjectDefinitions(Entity)
|
PyTypeRootObjectDefinitions(Entity)
|
||||||
|
|
||||||
|
|
||||||
|
PyTypeVectorObjectDefinitions(EntityVector)
|
||||||
|
PyTypeVectorObjectDefinitions(EntityVectorIterator)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// ---------------------------------------------------------------
|
// ---------------------------------------------------------------
|
||||||
// PyEntity Object Definitions.
|
// PyEntity Object Definitions.
|
||||||
|
|
||||||
|
|
|
@ -553,6 +553,7 @@ extern "C" {
|
||||||
PyEntity_LinkPyType ();
|
PyEntity_LinkPyType ();
|
||||||
PyTypeEntity.tp_getattro = PyEntity_getattro;
|
PyTypeEntity.tp_getattro = PyEntity_getattro;
|
||||||
PyTypeEntity.tp_setattro = PyEntity_setattro;
|
PyTypeEntity.tp_setattro = PyEntity_setattro;
|
||||||
|
PyEntityVector_LinkPyType ();
|
||||||
PyLayer_LinkPyType ();
|
PyLayer_LinkPyType ();
|
||||||
PyLayerMask_LinkPyType ();
|
PyLayerMask_LinkPyType ();
|
||||||
PyBasicLayer_LinkPyType ();
|
PyBasicLayer_LinkPyType ();
|
||||||
|
@ -630,6 +631,8 @@ extern "C" {
|
||||||
PYTYPE_READY( Technology )
|
PYTYPE_READY( Technology )
|
||||||
PYTYPE_READY( Library )
|
PYTYPE_READY( Library )
|
||||||
PYTYPE_READY( Entity )
|
PYTYPE_READY( Entity )
|
||||||
|
PYTYPE_READY( EntityVector )
|
||||||
|
PYTYPE_READY( EntityVectorIterator )
|
||||||
PYTYPE_READY( Hook )
|
PYTYPE_READY( Hook )
|
||||||
PYTYPE_READY( HookCollection )
|
PYTYPE_READY( HookCollection )
|
||||||
PYTYPE_READY( Material )
|
PYTYPE_READY( Material )
|
||||||
|
|
|
@ -14,9 +14,7 @@
|
||||||
// +-----------------------------------------------------------------+
|
// +-----------------------------------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
#ifndef ISOBAR_PY_ENTITY_H
|
#pragma once
|
||||||
#define ISOBAR_PY_ENTITY_H
|
|
||||||
|
|
||||||
#include "hurricane/isobar/PyHurricane.h"
|
#include "hurricane/isobar/PyHurricane.h"
|
||||||
#include "hurricane/Entity.h"
|
#include "hurricane/Entity.h"
|
||||||
|
|
||||||
|
@ -39,6 +37,7 @@ namespace Isobar {
|
||||||
// Functions & Types exported to "PyHurricane.ccp".
|
// Functions & Types exported to "PyHurricane.ccp".
|
||||||
|
|
||||||
extern PyObject* PyEntity_NEW ( Hurricane::Entity* entity );
|
extern PyObject* PyEntity_NEW ( Hurricane::Entity* entity );
|
||||||
|
extern PyObject* PyEntity_Link ( Hurricane::Entity* entity );
|
||||||
extern PyObject* PyEntity_getattro ( PyObject* self, PyObject* attrName );
|
extern PyObject* PyEntity_getattro ( PyObject* self, PyObject* attrName );
|
||||||
extern int32_t PyEntity_setattro ( PyObject* self, PyObject* attrName, PyObject* value );
|
extern int32_t PyEntity_setattro ( PyObject* self, PyObject* attrName, PyObject* value );
|
||||||
extern void PyEntity_LinkPyType ();
|
extern void PyEntity_LinkPyType ();
|
||||||
|
@ -51,6 +50,9 @@ namespace Isobar {
|
||||||
#define PYENTITY(v) ( (PyEntity*)(v) )
|
#define PYENTITY(v) ( (PyEntity*)(v) )
|
||||||
#define PYENTITY_O(v) ( PYENTITY(v)->_object )
|
#define PYENTITY_O(v) ( PYENTITY(v)->_object )
|
||||||
|
|
||||||
|
declareVectorObject(Entity);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
} // extern "C".
|
} // extern "C".
|
||||||
|
|
||||||
|
@ -59,5 +61,3 @@ namespace Isobar {
|
||||||
|
|
||||||
|
|
||||||
} // Isobar namespace.
|
} // Isobar namespace.
|
||||||
|
|
||||||
#endif // ISOBAR_PY_ENTITY_H
|
|
||||||
|
|
Loading…
Reference in New Issue