Salome HOME
Merge with OCC_development_01
[modules/smesh.git] / src / SMESH_SWIG / SMESH_GroupLyingOnGeom.py
diff --git a/src/SMESH_SWIG/SMESH_GroupLyingOnGeom.py b/src/SMESH_SWIG/SMESH_GroupLyingOnGeom.py
new file mode 100644 (file)
index 0000000..0df585e
--- /dev/null
@@ -0,0 +1,25 @@
+import SMESH
+
+def BuildGroupLyingOn(theMesh, theElemType, theName, theShape):
+    aMeshGen = salome.lcc.FindOrLoadComponent("FactoryServer", "SMESH")
+
+    aFilterMgr = aMeshGen.CreateFilterManager()
+    aFilter = aFilterMgr.CreateFilter()
+   
+    aLyingOnGeom = aFilterMgr.CreateLyingOnGeom()
+    aLyingOnGeom.SetGeom(theShape)
+    aLyingOnGeom.SetElementType(theElemType)
+    
+    aFilter.SetPredicate(aLyingOnGeom)
+    anIds = aFilter.GetElementsId(theMesh)
+
+    aGroup = theMesh.CreateGroup(theElemType, theName)
+    aGroup.Add(anIds)
+
+#Example
+from SMESH_test1 import *
+
+smesh.Compute(mesh, box)
+BuildGroupLyingOn(mesh, SMESH.FACE, "Group of faces lying on edge", edge )
+
+salome.sg.updateObjBrowser(1);