]> SALOME platform Git repositories - modules/smesh.git/commitdiff
Salome HOME
0020464: EDF 1100 SMESH: Performance issue of the function MoveNode
authoreap <eap@opencascade.com>
Thu, 10 Sep 2009 05:54:04 +0000 (05:54 +0000)
committereap <eap@opencascade.com>
Thu, 10 Sep 2009 05:54:04 +0000 (05:54 +0000)
0020139: EDF 944 SMESH : Get 2D/3D element with X, Y, Z coordinates

     def FindNodeClosestTo(self, x, y, z):
-        preview = self.mesh.GetMeshEditPreviewer()
-        return preview.MoveClosestNodeToPoint(x, y, z, -1)
+        #preview = self.mesh.GetMeshEditPreviewer()
+        #return preview.MoveClosestNodeToPoint(x, y, z, -1)
+        return self.editor.FindNodeClosestTo(x, y, z)

+    ## Finds the elements where a point lays IN or ON
+    #  @param x  the X coordinate of a point
+    #  @param y  the Y coordinate of a point
+    #  @param z  the Z coordinate of a point
+    #  @param elementType type of elements to find (SMESH.ALL type
+    #         means elements of any type excluding nodes and 0D elements)
+    #  @return list of IDs of found elements
+    #  @ingroup l2_modif_throughp
+    def FindElementsByPoint(self, x, y, z, elementType = SMESH.ALL):
+        return self.editor.FindElementsByPoint(x, y, z, elementType)
+

src/SMESH_SWIG/smeshDC.py

index 689e76f492afc3fcc99ecfdf89793fb750673ccf..4b6d763647618a05828e72fa70a220384441163d 100644 (file)
@@ -420,7 +420,9 @@ class smeshDC(SMESH._objref_SMESH_Gen):
     #  @return an instance of Mesh class.
     #  @ingroup l2_construct
     def Mesh(self, obj=0, name=0):
-      return Mesh(self,self.geompyD,obj,name)
+        if isinstance(obj,str):
+            obj,name = name,obj
+        return Mesh(self,self.geompyD,obj,name)
 
     ## Returns a long value from enumeration
     #  Should be used for SMESH.FunctorType enumeration
@@ -2139,8 +2141,21 @@ class Mesh:
     #  @return the ID of a node
     #  @ingroup l2_modif_throughp
     def FindNodeClosestTo(self, x, y, z):
-        preview = self.mesh.GetMeshEditPreviewer()
-        return preview.MoveClosestNodeToPoint(x, y, z, -1)
+        #preview = self.mesh.GetMeshEditPreviewer()
+        #return preview.MoveClosestNodeToPoint(x, y, z, -1)
+        return self.editor.FindNodeClosestTo(x, y, z)
+
+    ## Finds the elements where a point lays IN or ON
+    #  @param x  the X coordinate of a point
+    #  @param y  the Y coordinate of a point
+    #  @param z  the Z coordinate of a point
+    #  @param elementType type of elements to find (SMESH.ALL type
+    #         means elements of any type excluding nodes and 0D elements)
+    #  @return list of IDs of found elements
+    #  @ingroup l2_modif_throughp
+    def FindElementsByPoint(self, x, y, z, elementType = SMESH.ALL):
+        return self.editor.FindElementsByPoint(x, y, z, elementType)
+        
 
     ## Finds the node closest to a point and moves it to a point location
     #  @param x  the X coordinate of a point