[cig-commits] r6458 - in short/3D/PyLith/trunk:
modulesrc/feassemble modulesrc/materials modulesrc/meshio
modulesrc/topology unittests/pytests/materials
brad at geodynamics.org
brad at geodynamics.org
Wed Mar 28 21:38:10 PDT 2007
Author: brad
Date: 2007-03-28 21:38:09 -0700 (Wed, 28 Mar 2007)
New Revision: 6458
Modified:
short/3D/PyLith/trunk/modulesrc/feassemble/feassemble.pyxe.src
short/3D/PyLith/trunk/modulesrc/materials/materials.pyxe.src
short/3D/PyLith/trunk/modulesrc/meshio/meshio.pyxe.src
short/3D/PyLith/trunk/modulesrc/topology/topology.pyxe.src
short/3D/PyLith/trunk/unittests/pytests/materials/TestMaterial.py
Log:
Updated to CIG pyrexembed (needs C wrappers for destructors). Fixed bug in TestMaterial.
Modified: short/3D/PyLith/trunk/modulesrc/feassemble/feassemble.pyxe.src
===================================================================
--- short/3D/PyLith/trunk/modulesrc/feassemble/feassemble.pyxe.src 2007-03-29 04:10:58 UTC (rev 6457)
+++ short/3D/PyLith/trunk/modulesrc/feassemble/feassemble.pyxe.src 2007-03-29 04:38:09 UTC (rev 6458)
@@ -42,6 +42,33 @@
void* malloc(size_t size)
void free(void* mem)
+cdef void Quadrature_destructor(void* obj):
+ """
+ Destroy Quadrature object.
+ """
+ # create shim for destructor
+ #embed{ void Quadrature_destructor_cpp(void* pObj)
+ pylith::feassemble::Quadrature* pQ =
+ (pylith::feassemble::Quadrature*) pObj;
+ delete pQ;
+ #}embed
+ Quadrature_destructor_cpp(obj)
+ return
+
+cdef void Integrator_destructor(void* obj):
+ """
+ Destroy Integrator object.
+ """
+ # create shim for destructor
+ #embed{ void Integrator_destructor_cpp(void* pObj)
+ pylith::feassemble::Integrator* pQ =
+ (pylith::feassemble::Integrator*) pObj;
+ delete pQ;
+ #}embed
+ Integrator_destructor_cpp(obj)
+ return
+
+
# ----------------------------------------------------------------------
cdef class Quadrature:
@@ -157,20 +184,6 @@
def _createHandle(self):
"""Wrap pointer to C++ object in PyCObject."""
- # create shim for destructor
- #embed{ void Quadrature_destructor(void* pObj)
- try {
- pylith::feassemble::Quadrature* pQ =
- (pylith::feassemble::Quadrature*) pObj;
- delete pQ;
- } catch (const std::exception& err) {
- PyErr_SetString(PyExc_RuntimeError,
- const_cast<char*>(err.what()));
- } catch (...) {
- PyErr_SetString(PyExc_RuntimeError,
- "Caught unknown C++ exception.");
- } // try/catch
- #}embed
return PyCObject_FromVoidPtr(self.thisptr, Quadrature_destructor)
@@ -387,20 +400,6 @@
"""
Wrap pointer to C++ object in PyCObject.
"""
- # create shim for destructor
- #embed{ void Integrator_destructor(void* pObj)
- try {
- pylith::feassemble::Integrator* pQ =
- (pylith::feassemble::Integrator*) pObj;
- delete pQ;
- } catch (const std::exception& err) {
- PyErr_SetString(PyExc_RuntimeError,
- const_cast<char*>(err.what()));
- } catch (...) {
- PyErr_SetString(PyExc_RuntimeError,
- "Caught unknown C++ exception.");
- } // try/catch
- #}embed
return PyCObject_FromVoidPtr(self.thisptr, Integrator_destructor)
Modified: short/3D/PyLith/trunk/modulesrc/materials/materials.pyxe.src
===================================================================
--- short/3D/PyLith/trunk/modulesrc/materials/materials.pyxe.src 2007-03-29 04:10:58 UTC (rev 6457)
+++ short/3D/PyLith/trunk/modulesrc/materials/materials.pyxe.src 2007-03-29 04:38:09 UTC (rev 6458)
@@ -30,10 +30,24 @@
return PyCObject_AsVoidPtr(obj.handle)
cdef extern from "stdlib.h":
- ctypedef unsigned long size_t
- void* malloc(size_t size)
- void free(void* mem)
+ ctypedef unsigned long size_t
+ void* malloc(size_t size)
+ void free(void* mem)
+cdef void Material_destructor(void* obj):
+ """
+ Destroy Material object.
+ """
+ # create shim for destructor
+ #embed{ void Material_destructor_cpp(void* pObj)
+ pylith::materials::Material* pM =
+ (pylith::materials::Material*) pObj;
+ delete pM;
+ #}embed
+ Material_destructor_cpp(obj)
+ return
+
+
# ----------------------------------------------------------------------
cdef class Material:
@@ -99,20 +113,6 @@
"""
Wrap pointer to C++ object in PyCObject.
"""
- # create shim for destructor
- #embed{ void Material_destructor(void* pObj)
- try {
- pylith::materials::Material* pM =
- (pylith::materials::Material*) pObj;
- delete pM;
- } catch (const std::exception& err) {
- PyErr_SetString(PyExc_RuntimeError,
- const_cast<char*>(err.what()));
- } catch (...) {
- PyErr_SetString(PyExc_RuntimeError,
- "Caught unknown C++ exception.");
- } // try/catch
- #}embed
return PyCObject_FromVoidPtr(self.thisptr, Material_destructor)
Modified: short/3D/PyLith/trunk/modulesrc/meshio/meshio.pyxe.src
===================================================================
--- short/3D/PyLith/trunk/modulesrc/meshio/meshio.pyxe.src 2007-03-29 04:10:58 UTC (rev 6457)
+++ short/3D/PyLith/trunk/modulesrc/meshio/meshio.pyxe.src 2007-03-29 04:38:09 UTC (rev 6458)
@@ -29,10 +29,22 @@
return PyCObject_AsVoidPtr(obj.handle)
cdef extern from "stdlib.h":
- ctypedef unsigned long size_t
- void* malloc(size_t size)
- void free(void* mem)
+ ctypedef unsigned long size_t
+ void* malloc(size_t size)
+ void free(void* mem)
+cdef void MeshIO_destructor(void* obj):
+ """
+ Destroy MeshIO object.
+ """
+ # create shim for destructor
+ #embed{ void MeshIO_destructor_cpp(void* pObj)
+ pylith::meshio::MeshIO* pMesh = (pylith::meshio::MeshIO*) pObj;
+ delete pMesh;
+ #}embed
+ MeshIO_destructor_cpp(obj)
+ return
+
# ----------------------------------------------------------------------
cdef class MeshIO:
@@ -102,19 +114,6 @@
def _createHandle(self):
"""Wrap pointer to C++ object in PyCObject."""
- # create shim for destructor
- #embed{ void MeshIO_destructor(void* pObj)
- try {
- pylith::meshio::MeshIO* pMesh = (pylith::meshio::MeshIO*) pObj;
- delete pMesh;
- } catch (const std::exception& err) {
- PyErr_SetString(PyExc_RuntimeError,
- const_cast<char*>(err.what()));
- } catch (...) {
- PyErr_SetString(PyExc_RuntimeError,
- "Caught unknown C++ exception.");
- } // try/catch
- #}embed
return PyCObject_FromVoidPtr(self.thisptr, MeshIO_destructor)
Modified: short/3D/PyLith/trunk/modulesrc/topology/topology.pyxe.src
===================================================================
--- short/3D/PyLith/trunk/modulesrc/topology/topology.pyxe.src 2007-03-29 04:10:58 UTC (rev 6457)
+++ short/3D/PyLith/trunk/modulesrc/topology/topology.pyxe.src 2007-03-29 04:38:09 UTC (rev 6458)
@@ -28,10 +28,21 @@
return PyCObject_AsVoidPtr(obj.handle)
cdef extern from "stdlib.h":
- ctypedef unsigned long size_t
- void* malloc(size_t size)
- void free(void* mem)
+ ctypedef unsigned long size_t
+ void* malloc(size_t size)
+ void free(void* mem)
+cdef void MeshPtr_destructor(void* obj):
+ """
+ Destroy Petsc Mesh.
+ """
+ #embed{ void MeshPtr_destructor_cpp(void* pObj)
+ ALE::Obj<ALE::Mesh>* pMesh = (ALE::Obj<ALE::Mesh>*) pObj;
+ delete pMesh;
+ #}embed
+ MeshPtr_destructor_cpp(obj)
+ return
+
# ----------------------------------------------------------------------
cdef class Mesh:
@@ -68,18 +79,6 @@
"""
Wrap pointer to C++ object in PyCObject.
"""
- #embed{ void MeshPtr_destructor(void* pObj)
- try {
- ALE::Obj<ALE::Mesh>* pMesh = (ALE::Obj<ALE::Mesh>*) pObj;
- delete pMesh;
- } catch (const std::exception& err) {
- PyErr_SetString(PyExc_RuntimeError,
- const_cast<char*>(err.what()));
- } catch (...) {
- PyErr_SetString(PyExc_RuntimeError,
- "Caught unknown C++ exception.");
- } // try/catch
- #}embed
return PyCObject_FromVoidPtr(self.thisptr, MeshPtr_destructor)
Modified: short/3D/PyLith/trunk/unittests/pytests/materials/TestMaterial.py
===================================================================
--- short/3D/PyLith/trunk/unittests/pytests/materials/TestMaterial.py 2007-03-29 04:10:58 UTC (rev 6457)
+++ short/3D/PyLith/trunk/unittests/pytests/materials/TestMaterial.py 2007-03-29 04:38:09 UTC (rev 6458)
@@ -63,6 +63,7 @@
from spatialdata.geocoords.CSCart import CSCart
cs = CSCart()
cs.spaceDim = 1
+ cs.initialize()
mesh.coordsys = cs
material.initialize(mesh)
More information about the cig-commits
mailing list