Salome HOME
Fix for Bug IPAL8945
[modules/visu.git] / src / VISU_SWIG / VISU_Example_01.py
1 # T 2.23, 28: Displaying fields (scalar and vectorial) on nodes, change presentation options.
2 # Uses MED files ResOK_0000.med and Fields_group3D.med
3
4 # This script is equivalent to non-regression test script 003/A1
5
6 import salome
7 import visu_gui
8 import SALOMEDS
9 import VISU
10 import os
11
12 datadir = os.getenv("DATA_DIR") + "/MedFiles/"
13
14 #%====================Stage1: Creating a new study====================%
15
16 print "**** Stage1: Creating a new study"
17
18 print "Creating a new study..................", 
19 myVisu = visu_gui.myVisu
20 myVisu.SetCurrentStudy(salome.myStudy)
21 myViewManager = myVisu.GetViewManager()
22 if myViewManager is None : print "Error"
23 else : print "OK"
24
25 #%====================Stage2: Importing MED file====================%
26
27 print "**** Stage2: Importing MED file"
28
29 print 'Import "ResOK_0000.med"...............',
30 medFile = datadir + "ResOK_0000.med"
31 myResult = myVisu.ImportFile(medFile)
32 if myResult is None : print "Error"
33 else : print "OK"
34
35 print 'Creating new View3D...................',
36 myView = myViewManager.Create3DView()
37 if myView is None : print "Error"
38 else : print "OK"
39
40 myMeshName = 'dom'
41 myCellEntity = VISU.CELL
42 myNodeEntity = VISU.NODE
43
44 #%====================Stage3: Displaying vector field====================%
45
46 print "**** Stage3: Displaying vector field"
47
48 print "Creating Scalar Map.......",
49 scalarmap = myVisu.ScalarMapOnField(myResult,myMeshName,myNodeEntity,'vitesse',1);
50 if scalarmap is None : print "Error"
51 else : print "OK"
52 scalarmap.SetSize(0.15, 0.8)
53 myView.DisplayOnly(scalarmap)
54 myView.FitAll()
55
56 print "Creating Stream Lines.....",
57 streamlines = myVisu.StreamLinesOnField(myResult,myMeshName,myNodeEntity,'vitesse',1);
58 if streamlines is None : print "Error"
59 else : print "OK"
60 myView.DisplayOnly(streamlines)
61
62 print "Creating Vectors..........",
63 vectors = myVisu.VectorsOnField(myResult,myMeshName,myNodeEntity,'vitesse',1);
64 if vectors is None : print "Error"
65 else : print "OK"
66 myView.DisplayOnly(vectors)
67
68
69 print "Creating Iso Surfaces.....",
70 isosurfaces = myVisu.IsoSurfacesOnField(myResult,myMeshName,myNodeEntity,'vitesse',1);
71 if isosurfaces is None : print "Error"
72 else : print "OK"
73 myView.DisplayOnly(isosurfaces)
74
75 print "Creating Cut Planes.......",
76 cutplanes = myVisu.CutPlanesOnField(myResult,myMeshName,myNodeEntity,'vitesse',1);
77 if cutplanes is None : print "Error"
78 else : print "OK"
79 cutplanes.SetNbPlanes(30)
80 cutplanes.SetOrientation(VISU.CutPlanes.YZ, 0, 0)
81 myView.DisplayOnly(cutplanes)
82
83 #%====================Stage4: Opening a new study and Med file import====================%
84
85 # Opening a new study tempoparily commented due to a problem
86 # with python initialization. To be restored after bug 10000 fixing.
87
88 #print "**** Stage4: Opening a new study and Med file import"
89 print "**** Stage4: Med file import"
90
91 #print "Creating a new study..................", 
92 #newStudy = salome.myStudyManager.NewStudy('newStudy')
93 newStudy = salome.myStudy # temporarily
94 #myVisu.SetCurrentStudy(newStudy)
95 myViewManager = myVisu.GetViewManager()
96 myView = myViewManager.Create3DView()
97 if myView is None : print "Error"
98 else : print "OK"
99
100 print 'Importing "Fields_group3D.med"........',
101 medFile = datadir + "Fields_group3D.med"
102 myResult1 = myVisu.ImportFile(medFile)
103 if myResult1 is None : print "Error"
104 myView1 = myViewManager.Create3DView()
105 if myView1 is None : print "Error"
106 else : print "OK"
107
108 #%====================Stage5: Displaying scalar field====================%
109
110 print "**** Stage5: Displaying scalar field"
111
112 myMeshName1 = 'mailles_MED'
113
114 print "Creating Scalar Map.......",
115 scalarmap1 = myVisu.ScalarMapOnField(myResult1,myMeshName1,myCellEntity,'scalar field',1);
116 if scalarmap1 is None : print "Error"
117 else : print "OK"
118 myView1.DisplayOnly(scalarmap1)
119 myView1.FitAll()
120
121 print "Creating Iso Surfaces.....",
122 isosurfaces1 = myVisu.IsoSurfacesOnField(myResult1,myMeshName1,myCellEntity,'scalar field',1);
123 if isosurfaces1 is None : print "Error"
124 else : print "OK"
125 myView1.DisplayOnly(isosurfaces1)
126
127 print "Creating Cut Planes.......",
128 cutplanes1 = myVisu.CutPlanesOnField(myResult1,myMeshName1,myCellEntity,'scalar field',1);
129 if cutplanes1 is None : print "Error"
130 else : print "OK"
131 cutplanes1.SetOrientation(VISU.CutPlanes.YZ, 0, 0)
132 myView1.DisplayOnly(cutplanes1)
133
134 #%====================Stage6: Object browser popup====================%
135
136 print "**** Stage6: Object browser popup"
137
138 print "Creating mesh.............",
139 mesh = myVisu.MeshOnEntity(myResult1,myMeshName1,myCellEntity);
140 if mesh is None : print "Error"
141 else : print "OK"
142 myView1.DisplayOnly(mesh)
143
144
145 print "Changing type of presentation of mesh:"
146 mesh.SetPresentationType(VISU.WIREFRAME)
147 PrsType = mesh.GetPresentationType()
148 print "Presentation type..", PrsType
149 myView1.DisplayOnly(mesh)
150
151 mesh.SetPresentationType(VISU.SHADED)
152 PrsType = mesh.GetPresentationType()
153 print "Presentation type.....", PrsType
154 myView1.DisplayOnly(mesh)
155
156 mesh.SetPresentationType(VISU.POINT)
157 PrsType = mesh.GetPresentationType()
158 print "Presentation type......", PrsType
159 myView1.DisplayOnly(mesh)
160 myView1.Update()
161
162 mesh.SetPresentationType(VISU.SHRINK)
163 PrsType = mesh.GetPresentationType()
164 print "Presentation type.....", PrsType
165 myView1.DisplayOnly(mesh)
166
167 print "Changing color of mesh....",
168 aColor = SALOMEDS.Color(0,0,1)
169 mesh.SetCellColor(aColor)
170 myView1.DisplayOnly(mesh)
171 print "OK"
172
173 print "Renaming ScalarMap........",
174 SObj = newStudy.FindObjectIOR(scalarmap1.GetID())
175 newName = 'Renamed Object'
176 SObj.Name = newName
177 print "OK"
178
179 print "Deleting Cut Planes.......",
180 SObj = newStudy.FindObjectIOR(cutplanes1.GetID())
181 myBuilder = newStudy.NewBuilder()
182 myBuilder.RemoveObject(SObj)
183 print "OK"
184
185 print "Changing first IsoSurfaces",
186 myVisu.SetCurrentStudy(salome.myStudy)
187 myView.DisplayOnly(isosurfaces)
188 isosurfaces.SetNbSurfaces(25)
189 print "OK"
190
191 myView.Maximize()
192 myView.DisplayOnly(isosurfaces)
193
194 print "Hide IsoSurfaces..........",
195 myView.Erase(isosurfaces)
196 print "OK"