Salome HOME
0023360: [CEA 1963] Use salome.sg.updateObjBrowser(True) instead of salome.sg.updateO...
[modules/smesh.git] / doc / salome / examples / grouping_elements_ex01.py
index d0971d621fe0070ef946914e2ab35c0cf7862fa8..0bb1b9a2f9321571a12c41620dbfe5995773017d 100644 (file)
@@ -1,21 +1,80 @@
 # Create a Standalone Group
 
 import SMESH_mechanic
+import SMESH
 
 smesh  = SMESH_mechanic.smesh
 mesh   = SMESH_mechanic.mesh
 salome = SMESH_mechanic.salome
 
 # Get ids of all faces with area > 100 
-aFilter = smesh.GetFilter(smesh.FACE, smesh.FT_Area, smesh.FT_MoreThan, 100.)
+aFilter = smesh.GetFilter(SMESH.FACE, SMESH.FT_Area, SMESH.FT_MoreThan, 100.)
 
 anIds = mesh.GetIdsFromFilter(aFilter) 
 
 # create a group consisting of faces with area > 100
-aGroup1 = mesh.MakeGroupByIds("Area > 100", smesh.FACE, anIds)
+aGroup1 = mesh.MakeGroupByIds("Area > 100", SMESH.FACE, anIds)
 
 # create a group that contains all nodes from the mesh
-aGroup2 = mesh.CreateEmptyGroup(smesh.NODE, "all nodes")
+aGroup2 = mesh.CreateEmptyGroup(SMESH.NODE, "all nodes")
 aGroup2.AddFrom(mesh.mesh)
 
-salome.sg.updateObjBrowser(1)
+
+# ====================================
+# Various methods of the Group object
+# ====================================
+
+aGroup = mesh.CreateEmptyGroup(SMESH.NODE, "aGroup")
+
+# set/get group name
+aGroup.SetName( "new name" )
+print "name", aGroup.GetName()
+
+# get group type (type of entities in the group, SMESH.NODE in our case)
+print "type", aGroup.GetType()
+
+# get number of entities (nodes in our case) in the group
+print "size", aGroup.Size()
+
+# check of emptiness
+print "is empty", aGroup.IsEmpty()
+
+# check of presence of an entity in the group
+aGroup.Add([1,2]) # Add() method is specific to the standalone group
+print "contains node 2", aGroup.Contains(2)
+
+# get an entity by index
+print "1st node", aGroup.GetID(1)
+
+# get all entities
+print "all", aGroup.GetIDs()
+
+# get number of nodes (actual for groups of elements)
+print "nb nodes", aGroup.GetNumberOfNodes()
+
+# get underlying nodes (actual for groups of elements)
+print "nodes", aGroup.GetNodeIDs()
+
+# set/get color
+import SALOMEDS
+aGroup.SetColor( SALOMEDS.Color(1.,1.,0.));
+print "color", aGroup.GetColor()
+
+# ----------------------------------------------------------------------------
+# methods specific to the standalone group and not present in GroupOnGeometry
+# and GroupOnFilter
+# ----------------------------------------------------------------------------
+
+# clear the group's contents
+aGroup.Clear()
+
+# add contents of other object (group, sub-mesh, filter)
+aGroup.AddFrom( aGroup2 )
+
+# removes entities
+aGroup.Remove( [2,3,4] )
+
+
+
+
+salome.sg.updateObjBrowser(True)