Salome HOME
0023360: [CEA 1963] Use salome.sg.updateObjBrowser(True) instead of salome.sg.updateO...
[plugins/hybridplugin.git] / bin / createGroupsOnEntitiesFromGMFFile.py
1 # -*- coding: iso-8859-1 -*-
2
3 """
4 to create Groups On Entities From GMFFile /tmp/tmp.mesh
5 """
6
7 import sys
8 import salome
9
10 salome.salome_init()
11 theStudy = salome.myStudy
12
13 import salome_notebook
14 notebook = salome_notebook.NoteBook(theStudy)
15 #sys.path.insert( 0, r'/somewhere')
16
17 ###
18 ### GEOM component
19 ###
20
21 import GEOM
22 from salome.geom import geomBuilder
23 import math
24 import SALOMEDS
25 import  SMESH, SALOMEDS
26
27 from salome.smesh import smeshBuilder
28
29 smesh = smeshBuilder.New(theStudy)
30
31   
32 nameFile = None
33 the_mesh = None
34
35 nameFile = r'/tmp/tmp.mesh'
36
37 if nameFile != None:
38   #do not work (the_mesh, error) = smesh.CreateMeshesFromMED(nameFile)
39   (the_mesh, error) = smesh.CreateMeshesFromGMF(nameFile)
40
41
42 #print "the_mesh", the_mesh
43
44 if the_mesh != None:
45   blue = SALOMEDS.Color(0,0,1)
46   red = SALOMEDS.Color(1,0,0)
47   green = SALOMEDS.Color(0,1,0)
48   yellow = SALOMEDS.Color(1,1,0)
49
50   for i in dir(SMESH):
51     if "Entity_" in i: print i
52
53   entities = [("Tetra", SMESH.Entity_Tetra, blue), 
54               ("Pyramid", SMESH.Entity_Pyramid, red), 
55               ("Prism", SMESH.Entity_Penta, yellow),
56               ("Hexa", SMESH.Entity_Hexa, green)]
57
58   for name, entity, color in entities:
59     aCriteria = []
60     aCriterion = smesh.GetCriterion(SMESH.VOLUME,SMESH.FT_EntityType,SMESH.FT_Undefined,entity)
61     aCriteria.append(aCriterion)
62     aFilter = smesh.GetFilterFromCriteria(aCriteria)
63     aFilter.SetMesh(the_mesh.GetMesh())
64     Group = the_mesh.GroupOnFilter( SMESH.VOLUME, name, aFilter )
65     Group.SetColor( color )
66   
67   if salome.sg.hasDesktop():
68     salome.sg.updateObjBrowser(True)