]> SALOME platform Git repositories - modules/visu.git/blob - src/VISU_SWIG/VISU_Example_02.py
Salome HOME
Join modifications from branch OCC_debug_for_3_2_0b1
[modules/visu.git] / src / VISU_SWIG / VISU_Example_02.py
1 #  Copyright (C) 2005  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
2 #  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
3 #
4 #  This library is free software; you can redistribute it and/or
5 #  modify it under the terms of the GNU Lesser General Public
6 #  License as published by the Free Software Foundation; either
7 #  version 2.1 of the License.
8 #
9 #  This library is distributed in the hope that it will be useful,
10 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
11 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 #  Lesser General Public License for more details.
13 #
14 #  You should have received a copy of the GNU Lesser General Public
15 #  License along with this library; if not, write to the Free Software
16 #  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
17 #
18 #  See http://www.salome-platform.org/
19 #
20 # T 2.24: Save/retrieve view parameters.
21 # Uses MED file fra.med from ${DATA_DIR}/MedFiles directory.
22
23 # This script is equivalent to non-regression test script 003/A3
24
25 import salome
26 import visu_gui
27 import SALOMEDS
28 import VISU
29 import os
30
31 medFile = os.getenv("DATA_DIR") + "/MedFiles/fra.med"
32
33 #%====================Stage1: Creating a new study====================%
34
35 print "**** Stage1: Creating a new study "
36
37 print "Creating a new study..................", 
38 myVisu = visu_gui.myVisu
39 myVisu.SetCurrentStudy(salome.myStudy)
40 myViewManager = myVisu.GetViewManager()
41 if myViewManager is None : print "Error"
42 else : print "OK"
43
44 #%====================Stage2: Saving view parameters before import====================%
45
46 print "**** Stage2: Saving view parameters before import "
47
48 myView = myViewManager.Create3DView()
49
50 print "Zooming trihedron.....................",
51 aScale = myView.GetParallelScale()
52 myView.SetParallelScale(aScale*4)
53 print "OK"
54
55 print "Rotating trihedron....................",
56 aPoint = (100,100,100)
57 myView.SetPointOfView(aPoint) 
58 print "OK"
59
60 print "Saving view parameters................",
61 aViewParamsName1 = 'ViewParams:1'
62 aSaveRes = myView.SaveViewParams(aViewParamsName1)
63 if aSaveRes != 1 : print "Error"
64 else : print "OK"
65
66 #%====================Stage3: Import MED file====================%
67
68 print "**** Stage3: Import MED file"
69
70 print 'Importing "fra.med"...................',
71 myResult = myVisu.ImportFile(medFile)
72 if myResult is None : print "Error"
73 else : print "OK"
74
75 print "Creating mesh.........................",
76 myMeshName = 'LE VOLUME'
77 myCellEntity = VISU.CELL
78 mesh = myVisu.MeshOnEntity(myResult,myMeshName,myCellEntity);
79 if mesh is None : print "Error"
80 else : print "OK"
81
82 myView.Maximize()
83 myView.Display(mesh)
84 myView.FitAll()
85
86 #%====================Stage4: Saving view parameters after import====================%
87
88 print "**** Stage4:  Saving view parameters after import"
89
90 print "Creating Scalar Map...................",
91 myFieldName = 'TAUX_DE_VIDE'
92 myNodeEntity = VISU.NODE
93 scalarmap = myVisu.ScalarMapOnField(myResult,myMeshName,myNodeEntity,myFieldName,1);
94 if scalarmap is None : print "Error"
95 else : print "OK"
96 myView.DisplayOnly(scalarmap)
97
98 print "Zooming 3D view.......................",
99 aScale = myView.GetParallelScale()
100 myView.SetParallelScale(aScale*2)
101 print "OK"
102
103 print "Setting view point(LEFT)..............",
104 myView.SetView((VISU.View3D.LEFT))
105 print "OK"
106
107 print "Saving view parameters................",
108 aViewParamsName2 = 'ViewParams:2'
109 aSaveRes = myView.SaveViewParams(aViewParamsName2)
110 if aSaveRes != 1 : print "Error"
111 else : print "OK"
112
113 print "Creating Cut Planes...................",
114 cutplanes = myVisu.CutPlanesOnField(myResult,myMeshName,myNodeEntity,myFieldName,1);
115 if cutplanes is None : print "Error"
116 else : print "OK"
117 cutplanes.SetNbPlanes(4)
118 myView.DisplayOnly(cutplanes)
119
120 print "Setting scaling.......................",
121
122 #Define parameters of scaling:
123 myXParam = 5
124 myYParam = 5
125 myZParam = 1
126
127 myXAxis = VISU.View3D.XAxis
128 myYAxis = VISU.View3D.YAxis
129 myZAxis = VISU.View3D.ZAxis
130
131 myView.ScaleView(myXAxis,myXParam)
132 myView.ScaleView(myYAxis,myYParam)
133 myView.ScaleView(myZAxis,myZParam)
134 print "OK"
135
136 print "Rotating 3d view......................",
137 aPoint = (100,40,0)
138 myView.SetPointOfView(aPoint) 
139 print "OK"
140
141 print "Fit All...............................",
142 myView.FitAll()
143 print "OK"
144
145 print "Saving view parameters................",
146 aViewParamsName3 = 'ViewParams:3'
147 aSaveRes = myView.SaveViewParams(aViewParamsName3)
148 if aSaveRes != 1 : print "Error"
149 else : print "OK"
150
151 #%====================Stage5: Restoring view parameters====================%
152
153 print "**** Stage5: Restoring view parameters"
154
155 print "Restoring first view parameters.......",
156 aRestoreRes = myView.RestoreViewParams(aViewParamsName1)
157 if aRestoreRes != 1 : print "Error"
158 else : print "OK"
159
160 print "Restoring second view parameters......",
161 aRestoreRes = myView.RestoreViewParams(aViewParamsName2)
162 if aRestoreRes != 1 : print "Error"
163 else : print "OK"
164
165 print "Displaing only Scalar Map.............",
166 myView.DisplayOnly(scalarmap)
167 print "OK"
168
169 print "Displaing only Cut Planes.............",
170 myView.DisplayOnly(cutplanes)
171 print "OK"
172
173 print "Restoring third view parameters.......",
174 aRestoreRes = myView.RestoreViewParams(aViewParamsName3)
175 if aRestoreRes != 1 : print "Error"
176 else : print "OK"
177
178 print "Displaing only Mesh...................",
179 myView.DisplayOnly(mesh)
180 print "OK"
181
182 print "Displaing only Scalar Map.............",
183 myView.DisplayOnly(scalarmap)
184 print "OK"
185
186 print "Displaing only Cut Planes.............",
187 myView.DisplayOnly(cutplanes)
188 print "OK"
189
190 #%====================Stage6: Changing of view parameters====================%
191
192 print "**** Stage6: Changing of view parameters"
193
194 print "Remove scaling........................",
195 myView.RemoveScale()
196 print "OK"
197
198 print "Fit All...............................",
199 myView.FitAll()
200 print "OK"
201
202 print "Rotating 3d view......................",
203 aPoint = (0,60,150)
204 myView.SetPointOfView(aPoint) 
205 print "OK"
206
207 print "Resaving first view parameters........",
208 aSaveRes = myView.SaveViewParams(aViewParamsName1)
209 if aSaveRes != 1 : print "Error"
210 else : print "OK"
211
212 print "Restoring third view parameters.......",
213 aRestoreRes = myView.RestoreViewParams(aViewParamsName3)
214 if aRestoreRes != 1 : print "Error"
215 else : print "OK"
216
217 print "Restoring first view parameters.......",
218 aRestoreRes = myView.RestoreViewParams(aViewParamsName1)
219 if aRestoreRes != 1 : print "Error"
220 else : print "OK"
221
222 print "Displaying only Mesh..................",
223 myView.DisplayOnly(mesh)
224 print "OK"
225
226 print "Displaying only Scalar Map............",
227 myView.DisplayOnly(scalarmap)
228 print "OK"
229
230 #%====================Stage7: Saving of created view parameters====================%
231
232 print "**** Stage7: Saving of created view parameters"
233
234 print "Saving study..........................",
235
236 str = os.getenv("TmpDir")
237 if str == None:
238         str = "/tmp"
239
240 file = str+'/VISU_005.hdf'
241
242 salome.myStudyManager.SaveAs(file, salome.myStudy, 0)
243 study_id = salome.myStudy._get_StudyId()
244 print "OK"
245
246 file_new = str+'/VISU_005_new.hdf'
247 command = "mv " + file + " " + file_new
248 os.system(command)
249 file = file_new
250
251 # Opening a study tempoparily commented due to a problem
252 # with python initialization. To be restored after bug 10000 fixing.
253
254 #print "Opening just saved study..............",
255 #
256 #openedStudy = salome.myStudyManager.Open(file)]
257 openedStudy = salome.myStudy # temporarily
258 #myVisu.SetCurrentStudy(openedStudy)
259 myViewManager = myVisu.GetViewManager()
260 myView1 = myViewManager.Create3DView()
261 if myView1 is None : print "Error"
262 else : print "OK"
263
264 import time
265 time.sleep(1)
266
267 print "Restoring first view parameters.......",
268 aRestoreRes = myView1.RestoreViewParams(aViewParamsName1)
269 if aRestoreRes != 1 : print "Error"
270 else : print "OK"
271
272 Builder = openedStudy.NewBuilder()
273 #SCom = openedStudy.FindComponent("VISU")
274 #Builder.LoadWith(SCom ,myVisu)
275
276 print "Displaying Scalar Map.................",
277 SObj = openedStudy.FindObject('ScalarMap')
278 scalarmap1 = visu_gui.visu.SObjectToObject(SObj)
279 if scalarmap1 is None : print "Error"
280 else : print "OK"
281 myView1.DisplayOnly(scalarmap1)
282
283 print "Displaying Cut Planes.................",
284 SObj = openedStudy.FindObject('CutPlanes')
285 cutplanes1 = visu_gui.visu.SObjectToObject(SObj)
286 if cutplanes1 is None : print "Error"
287 else : print "OK"
288 myView1.DisplayOnly(cutplanes1)
289
290 print "Restoring second view parameters......",
291 aRestoreRes = myView1.RestoreViewParams(aViewParamsName2)
292 if aRestoreRes != 1 : print "Error"
293 else : print "OK"
294
295 print "Displaying Scalar Map.................",
296 myView1.DisplayOnly(scalarmap1)
297 print "OK"
298
299 print "Restoring third view parameters.......",
300 aRestoreRes = myView1.RestoreViewParams(aViewParamsName3)
301 if aRestoreRes != 1 : print "Error"
302 else : print "OK"
303
304 print "Displaying Cut Planes.................",
305 myView1.DisplayOnly(cutplanes1)
306 print "OK"
307
308 #%====================Stage8: Changing of saved session====================%
309
310 print "**** Stage8: Changing of saved session"
311
312 print "Deleting ViewParams:3,1,2.............",
313 SObj = openedStudy.FindObject(aViewParamsName3)
314 Builder.RemoveObject(SObj)
315 SObj = openedStudy.FindObject(aViewParamsName1)
316 Builder.RemoveObject(SObj)
317 SObj = openedStudy.FindObject(aViewParamsName2)
318 Builder.RemoveObject(SObj)
319 print "OK"
320
321 SObjList2 = openedStudy.FindObjectByName(aViewParamsName1, "VISU")
322 print "FindObjectByName(aViewParamsName1, VISU) returned ", len(SObjList2), " objects"
323
324 print "Zooming trihedron.....................",
325 aScale = myView.GetParallelScale()
326 myView1.SetParallelScale(aScale*2)
327 myView1.Update()
328 print "OK"
329
330 print "Rotating trihedron....................",
331 aPoint = (200,40,-40)
332 myView1.SetPointOfView(aPoint) 
333 print "OK"
334
335 print "Saving view parameters................",
336 aSaveRes = myView1.SaveViewParams(aViewParamsName1)
337 if aSaveRes != 1 : print "Error"
338 else : print "OK"
339
340 print "Renaming ViewParams:1.................",
341 SObj = openedStudy.FindObject(aViewParamsName1)
342 SObj.Name = "New_view"
343 print "OK"
344
345 print "Setting scaling.......................",
346 #Define parameters of scaling:
347 myXParam = 4
348 myYParam = 4
349 myZParam = 8
350
351 myXAxis = VISU.View3D.XAxis
352 myYAxis = VISU.View3D.YAxis
353 myZAxis = VISU.View3D.ZAxis
354
355 myView1.ScaleView(myXAxis,myXParam)
356 myView1.ScaleView(myYAxis,myYParam)
357 myView1.ScaleView(myZAxis,myZParam)
358 print "OK"
359
360 myView1.FitAll()
361
362 print "Saving view parameters................",
363 aSaveRes = myView1.SaveViewParams(aViewParamsName2)
364 if aSaveRes != 1 : print "Error"
365 else : print "OK"
366
367 print "Restoring first view parameters.......",
368 aRestoreRes = myView1.RestoreViewParams(aViewParamsName1)
369 if aSaveRes != 1 : print "Error"
370 else : print "OK"
371
372 print "Restoring second view parameters......",
373 aRestoreRes = myView1.RestoreViewParams(aViewParamsName2)
374 if aRestoreRes != 1 : print "Error"
375 else : print "OK"
376
377 # Remove the study file
378 command = "rm -r " + file
379 os.system(command)