[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