Salome HOME
PAL10494 (SMESH python dump uses idl interface). Add GetAlgorithm() to class Mesh_Alg...
authoreap <eap@opencascade.com>
Thu, 15 Dec 2005 07:29:27 +0000 (07:29 +0000)
committereap <eap@opencascade.com>
Thu, 15 Dec 2005 07:29:27 +0000 (07:29 +0000)
src/SMESH_SWIG/smesh.py

index 50df727f9aa4f5aa0ec9b61d52aaf30b3d842b78..92fefeda222c7358cbdbda9b314b3d295f345850 100644 (file)
@@ -77,6 +77,7 @@ class Mesh_Algorithm:
     mesh = 0
     geom = 0
     subm = 0
     mesh = 0
     geom = 0
     subm = 0
+    algo = 0
 
     def GetSubMesh(self):
         """
 
     def GetSubMesh(self):
         """
@@ -85,6 +86,12 @@ class Mesh_Algorithm:
         """
         return self.subm
 
         """
         return self.subm
 
+    def GetAlgorithm(self):
+        """
+         Return the wrapped mesher
+        """
+        return self.algo
+
     def Create(self, mesh, geom, hypo, so="libStdMeshersEngine.so"):
         """
          Private method
     def Create(self, mesh, geom, hypo, so="libStdMeshersEngine.so"):
         """
          Private method
@@ -102,9 +109,9 @@ class Mesh_Algorithm:
                 geompy.addToStudyInFather(piece, geom, name)
             self.subm = mesh.mesh.GetSubMesh(geom, hypo)
 
                 geompy.addToStudyInFather(piece, geom, name)
             self.subm = mesh.mesh.GetSubMesh(geom, hypo)
 
-        algo = smesh.CreateHypothesis(hypo, so)
-        SetName(algo, name + "/" + hypo)
-        mesh.mesh.AddHypothesis(self.geom, algo)
+        self.algo = smesh.CreateHypothesis(hypo, so)
+        SetName(self.algo, name + "/" + hypo)
+        mesh.mesh.AddHypothesis(self.geom, self.algo)
 
     def Hypothesis(self, hyp, args=[], so="libStdMeshersEngine.so"):
         """
 
     def Hypothesis(self, hyp, args=[], so="libStdMeshersEngine.so"):
         """
@@ -378,12 +385,16 @@ class Mesh:
          \param algo values are smesh.REGULAR or smesh.PYTHON for discretization via python function
          \param geom If defined, subshape to be meshed
         """
          \param algo values are smesh.REGULAR or smesh.PYTHON for discretization via python function
          \param geom If defined, subshape to be meshed
         """
+        ## if Segment(geom) is called by mistake
+        if ( isinstance( algo, geompy.GEOM._objref_GEOM_Object)):
+            algo, geom = geom, algo
+            pass
         if algo == REGULAR:
             return Mesh_Segment(self, geom)
         elif algo == PYTHON:
             return Mesh_Segment_Python(self, geom)
         else:
         if algo == REGULAR:
             return Mesh_Segment(self, geom)
         elif algo == PYTHON:
             return Mesh_Segment_Python(self, geom)
         else:
-            return Mesh_Segment(self, algo)
+            return Mesh_Segment(self, geom)
 
     def Triangle(self, geom=0):
         """
 
     def Triangle(self, geom=0):
         """
@@ -412,6 +423,10 @@ class Mesh:
          \param algo values are: smesh.NETGEN, smesh.GHS3D
          \param geom If defined, subshape to be meshed
         """
          \param algo values are: smesh.NETGEN, smesh.GHS3D
          \param geom If defined, subshape to be meshed
         """
+        ## if Tetrahedron(geom) is called by mistake
+        if ( isinstance( algo, geompy.GEOM._objref_GEOM_Object)):
+            algo, geom = geom, algo
+            pass
         return Mesh_Tetrahedron(self, algo, geom)
 
     def Hexahedron(self, geom=0):
         return Mesh_Tetrahedron(self, algo, geom)
 
     def Hexahedron(self, geom=0):
@@ -449,8 +464,7 @@ class Mesh:
         if dim > 2 :
             self.Tetrahedron(NETGEN)
             pass
         if dim > 2 :
             self.Tetrahedron(NETGEN)
             pass
-        self.Compute()
-        pass
+        return self.Compute()
 
     def AutomaticHexahedralization(self):
         """
 
     def AutomaticHexahedralization(self):
         """
@@ -466,8 +480,7 @@ class Mesh:
         if dim > 2 :
             self.Hexahedron()            
             pass
         if dim > 2 :
             self.Hexahedron()            
             pass
-        self.Compute()
-        pass
+        return self.Compute()
 
     def RemoveGlobalHypotheses(self):
         """
 
     def RemoveGlobalHypotheses(self):
         """