1 # T 2.24: Save/retrieve view parameters.
2 # Uses MED file fra.med from ${DATA_DIR}/MedFiles directory.
4 # This script is equivalent to non-regression test script 003/A3
12 medFile = os.getenv("DATA_DIR") + "/MedFiles/fra.med"
14 #%====================Stage1: Creating a new study====================%
16 print "**** Stage1: Creating a new study "
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"
25 #%====================Stage2: Saving view parameters before import====================%
27 print "**** Stage2: Saving view parameters before import "
29 myView = myViewManager.Create3DView()
31 print "Zooming trihedron.....................",
32 aScale = myView.GetParallelScale()
33 myView.SetParallelScale(aScale*4)
36 print "Rotating trihedron....................",
37 aPoint = (100,100,100)
38 myView.SetPointOfView(aPoint)
41 print "Saving view parameters................",
42 aViewParamsName1 = 'ViewParams:1'
43 aSaveRes = myView.SaveViewParams(aViewParamsName1)
44 if aSaveRes != 1 : print "Error"
47 #%====================Stage3: Import MED file====================%
49 print "**** Stage3: Import MED file"
51 print 'Importing "fra.med"...................',
52 myResult = myVisu.ImportFile(medFile)
53 if myResult is None : print "Error"
56 print "Creating mesh.........................",
57 myMeshName = 'LE VOLUME'
58 myCellEntity = VISU.CELL
59 mesh = myVisu.MeshOnEntity(myResult,myMeshName,myCellEntity);
60 if mesh is None : print "Error"
67 #%====================Stage4: Saving view parameters after import====================%
69 print "**** Stage4: Saving view parameters after import"
71 print "Creating Scalar Map...................",
72 myFieldName = 'TAUX_DE_VIDE'
73 myNodeEntity = VISU.NODE
74 scalarmap = myVisu.ScalarMapOnField(myResult,myMeshName,myNodeEntity,myFieldName,1);
75 if scalarmap is None : print "Error"
77 myView.DisplayOnly(scalarmap)
79 print "Zooming 3D view.......................",
80 aScale = myView.GetParallelScale()
81 myView.SetParallelScale(aScale*2)
84 print "Setting view point(LEFT)..............",
85 myView.SetView((VISU.View3D.LEFT))
88 print "Saving view parameters................",
89 aViewParamsName2 = 'ViewParams:2'
90 aSaveRes = myView.SaveViewParams(aViewParamsName2)
91 if aSaveRes != 1 : print "Error"
94 print "Creating Cut Planes...................",
95 cutplanes = myVisu.CutPlanesOnField(myResult,myMeshName,myNodeEntity,myFieldName,1);
96 if cutplanes is None : print "Error"
98 cutplanes.SetNbPlanes(4)
99 myView.DisplayOnly(cutplanes)
101 print "Setting scaling.......................",
103 #Define parameters of scaling:
108 myXAxis = VISU.View3D.XAxis
109 myYAxis = VISU.View3D.YAxis
110 myZAxis = VISU.View3D.ZAxis
112 myView.ScaleView(myXAxis,myXParam)
113 myView.ScaleView(myYAxis,myYParam)
114 myView.ScaleView(myZAxis,myZParam)
117 print "Rotating 3d view......................",
119 myView.SetPointOfView(aPoint)
122 print "Fit All...............................",
126 print "Saving view parameters................",
127 aViewParamsName3 = 'ViewParams:3'
128 aSaveRes = myView.SaveViewParams(aViewParamsName3)
129 if aSaveRes != 1 : print "Error"
132 #%====================Stage5: Restoring view parameters====================%
134 print "**** Stage5: Restoring view parameters"
136 print "Restoring first view parameters.......",
137 aRestoreRes = myView.RestoreViewParams(aViewParamsName1)
138 if aRestoreRes != 1 : print "Error"
141 print "Restoring second view parameters......",
142 aRestoreRes = myView.RestoreViewParams(aViewParamsName2)
143 if aRestoreRes != 1 : print "Error"
146 print "Displaing only Scalar Map.............",
147 myView.DisplayOnly(scalarmap)
150 print "Displaing only Cut Planes.............",
151 myView.DisplayOnly(cutplanes)
154 print "Restoring third view parameters.......",
155 aRestoreRes = myView.RestoreViewParams(aViewParamsName3)
156 if aRestoreRes != 1 : print "Error"
159 print "Displaing only Mesh...................",
160 myView.DisplayOnly(mesh)
163 print "Displaing only Scalar Map.............",
164 myView.DisplayOnly(scalarmap)
167 print "Displaing only Cut Planes.............",
168 myView.DisplayOnly(cutplanes)
171 #%====================Stage6: Changing of view parameters====================%
173 print "**** Stage6: Changing of view parameters"
175 print "Remove scaling........................",
179 print "Fit All...............................",
183 print "Rotating 3d view......................",
185 myView.SetPointOfView(aPoint)
188 print "Resaving first view parameters........",
189 aSaveRes = myView.SaveViewParams(aViewParamsName1)
190 if aSaveRes != 1 : print "Error"
193 print "Restoring third view parameters.......",
194 aRestoreRes = myView.RestoreViewParams(aViewParamsName3)
195 if aRestoreRes != 1 : print "Error"
198 print "Restoring first view parameters.......",
199 aRestoreRes = myView.RestoreViewParams(aViewParamsName1)
200 if aRestoreRes != 1 : print "Error"
203 print "Displaying only Mesh..................",
204 myView.DisplayOnly(mesh)
207 print "Displaying only Scalar Map............",
208 myView.DisplayOnly(scalarmap)
211 #%====================Stage7: Saving of created view parameters====================%
213 print "**** Stage7: Saving of created view parameters"
215 print "Saving study..........................",
217 str = os.getenv("TmpDir")
221 file = str+'/VISU_005.hdf'
223 salome.myStudyManager.SaveAs(file, salome.myStudy, 0)
224 study_id = salome.myStudy._get_StudyId()
227 file_new = str+'/VISU_005_new.hdf'
228 command = "mv " + file + " " + file_new
232 # Opening a study tempoparily commented due to a problem
233 # with python initialization. To be restored after bug 10000 fixing.
235 #print "Opening just saved study..............",
237 #openedStudy = salome.myStudyManager.Open(file)]
238 openedStudy = salome.myStudy # temporarily
239 #myVisu.SetCurrentStudy(openedStudy)
240 myViewManager = myVisu.GetViewManager()
241 myView1 = myViewManager.Create3DView()
242 if myView1 is None : print "Error"
248 print "Restoring first view parameters.......",
249 aRestoreRes = myView1.RestoreViewParams(aViewParamsName1)
250 if aRestoreRes != 1 : print "Error"
253 Builder = openedStudy.NewBuilder()
254 #SCom = openedStudy.FindComponent("VISU")
255 #Builder.LoadWith(SCom ,myVisu)
257 print "Displaying Scalar Map.................",
258 SObj = openedStudy.FindObject('ScalarMap')
259 scalarmap1 = visu_gui.visu.SObjectToObject(SObj)
260 if scalarmap1 is None : print "Error"
262 myView1.DisplayOnly(scalarmap1)
264 print "Displaying Cut Planes.................",
265 SObj = openedStudy.FindObject('CutPlanes')
266 cutplanes1 = visu_gui.visu.SObjectToObject(SObj)
267 if cutplanes1 is None : print "Error"
269 myView1.DisplayOnly(cutplanes1)
271 print "Restoring second view parameters......",
272 aRestoreRes = myView1.RestoreViewParams(aViewParamsName2)
273 if aRestoreRes != 1 : print "Error"
276 print "Displaying Scalar Map.................",
277 myView1.DisplayOnly(scalarmap1)
280 print "Restoring third view parameters.......",
281 aRestoreRes = myView1.RestoreViewParams(aViewParamsName3)
282 if aRestoreRes != 1 : print "Error"
285 print "Displaying Cut Planes.................",
286 myView1.DisplayOnly(cutplanes1)
289 #%====================Stage8: Changing of saved session====================%
291 print "**** Stage8: Changing of saved session"
293 print "Deleting ViewParams:3,1,2.............",
294 SObj = openedStudy.FindObject(aViewParamsName3)
295 Builder.RemoveObject(SObj)
296 SObj = openedStudy.FindObject(aViewParamsName1)
297 Builder.RemoveObject(SObj)
298 SObj = openedStudy.FindObject(aViewParamsName2)
299 Builder.RemoveObject(SObj)
302 SObjList2 = openedStudy.FindObjectByName(aViewParamsName1, "VISU")
303 print "FindObjectByName(aViewParamsName1, VISU) returned ", len(SObjList2), " objects"
305 print "Zooming trihedron.....................",
306 aScale = myView.GetParallelScale()
307 myView1.SetParallelScale(aScale*2)
311 print "Rotating trihedron....................",
312 aPoint = (200,40,-40)
313 myView1.SetPointOfView(aPoint)
316 print "Saving view parameters................",
317 aSaveRes = myView1.SaveViewParams(aViewParamsName1)
318 if aSaveRes != 1 : print "Error"
321 print "Renaming ViewParams:1.................",
322 SObj = openedStudy.FindObject(aViewParamsName1)
323 SObj.Name = "New_view"
326 print "Setting scaling.......................",
327 #Define parameters of scaling:
332 myXAxis = VISU.View3D.XAxis
333 myYAxis = VISU.View3D.YAxis
334 myZAxis = VISU.View3D.ZAxis
336 myView1.ScaleView(myXAxis,myXParam)
337 myView1.ScaleView(myYAxis,myYParam)
338 myView1.ScaleView(myZAxis,myZParam)
343 print "Saving view parameters................",
344 aSaveRes = myView1.SaveViewParams(aViewParamsName2)
345 if aSaveRes != 1 : print "Error"
348 print "Restoring first view parameters.......",
349 aRestoreRes = myView1.RestoreViewParams(aViewParamsName1)
350 if aSaveRes != 1 : print "Error"
353 print "Restoring second view parameters......",
354 aRestoreRes = myView1.RestoreViewParams(aViewParamsName2)
355 if aRestoreRes != 1 : print "Error"
358 # Remove the study file
359 command = "rm -r " + file