Salome HOME
0023591: [EDF] Add test to check meshing plug-ins to SMESH module
[modules/smesh.git] / doc / salome / examples / grouping_elements_ex01.py
index d0971d621fe0070ef946914e2ab35c0cf7862fa8..c35de336b5124323d641857e1bb1a7f17042f69c 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()