1 # -*- coding: iso-8859-1 -*-
2 # Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE
4 # Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
5 # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
7 # This library is free software; you can redistribute it and/or
8 # modify it under the terms of the GNU Lesser General Public
9 # License as published by the Free Software Foundation; either
10 # version 2.1 of the License.
12 # This library is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 # Lesser General Public License for more details.
17 # You should have received a copy of the GNU Lesser General Public
18 # License along with this library; if not, write to the Free Software
19 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
23 # T 2.24: Save/retrieve view parameters.
24 # Uses MED file fra.med from ${DATA_DIR}/MedFiles directory.
25 # This script is equivalent to non-regression test script 003/A3
34 medFile = os.getenv("DATA_DIR") + "/MedFiles/fra.med"
36 #%====================Stage1: Creating a new study====================%
38 print "**** Stage1: Creating a new study "
40 print "Creating a new study..................",
41 myVisu = visu_gui.myVisu
42 myVisu.SetCurrentStudy(salome.myStudy)
43 myViewManager = myVisu.GetViewManager()
44 if myViewManager is None : print "Error"
47 #%====================Stage2: Saving view parameters before import====================%
49 print "**** Stage2: Saving view parameters before import "
51 myView = myViewManager.Create3DView()
53 print "Zooming trihedron.....................",
54 aScale = myView.GetParallelScale()
55 myView.SetParallelScale(aScale*4)
58 print "Rotating trihedron....................",
59 aPoint = (100,100,100)
60 myView.SetPointOfView(aPoint)
63 print "Saving view parameters................",
64 aViewParamsName1 = 'ViewParams:1'
65 aSaveRes = myView.SaveViewParams(aViewParamsName1)
66 if aSaveRes != 1 : print "Error"
69 #%====================Stage3: Import MED file====================%
71 print "**** Stage3: Import MED file"
73 print 'Importing "fra.med"...................',
74 myResult = myVisu.ImportFile(medFile)
75 if myResult is None : print "Error"
78 print "Creating mesh.........................",
79 myMeshName = 'LE VOLUME'
80 myCellEntity = VISU.CELL
81 mesh = myVisu.MeshOnEntity(myResult,myMeshName,myCellEntity);
82 if mesh is None : print "Error"
89 #%====================Stage4: Saving view parameters after import====================%
91 print "**** Stage4: Saving view parameters after import"
93 print "Creating Scalar Map...................",
94 myFieldName = 'TAUX_DE_VIDE'
95 myNodeEntity = VISU.NODE
96 scalarmap = myVisu.ScalarMapOnField(myResult,myMeshName,myNodeEntity,myFieldName,1);
97 if scalarmap is None : print "Error"
99 myView.DisplayOnly(scalarmap)
101 print "Zooming 3D view.......................",
102 aScale = myView.GetParallelScale()
103 myView.SetParallelScale(aScale*2)
106 print "Setting view point(LEFT)..............",
107 myView.SetView((VISU.View3D.LEFT))
110 print "Saving view parameters................",
111 aViewParamsName2 = 'ViewParams:2'
112 aSaveRes = myView.SaveViewParams(aViewParamsName2)
113 if aSaveRes != 1 : print "Error"
116 print "Creating Cut Planes...................",
117 cutplanes = myVisu.CutPlanesOnField(myResult,myMeshName,myNodeEntity,myFieldName,1);
118 if cutplanes is None : print "Error"
120 cutplanes.SetNbPlanes(4)
121 myView.DisplayOnly(cutplanes)
123 print "Setting scaling.......................",
125 #Define parameters of scaling:
130 myXAxis = VISU.View3D.XAxis
131 myYAxis = VISU.View3D.YAxis
132 myZAxis = VISU.View3D.ZAxis
134 myView.ScaleView(myXAxis,myXParam)
135 myView.ScaleView(myYAxis,myYParam)
136 myView.ScaleView(myZAxis,myZParam)
139 print "Rotating 3d view......................",
141 myView.SetPointOfView(aPoint)
144 print "Fit All...............................",
148 print "Saving view parameters................",
149 aViewParamsName3 = 'ViewParams:3'
150 aSaveRes = myView.SaveViewParams(aViewParamsName3)
151 if aSaveRes != 1 : print "Error"
154 #%====================Stage5: Restoring view parameters====================%
156 print "**** Stage5: Restoring view parameters"
158 print "Restoring first view parameters.......",
159 aRestoreRes = myView.RestoreViewParams(aViewParamsName1)
160 if aRestoreRes != 1 : print "Error"
163 print "Restoring second view parameters......",
164 aRestoreRes = myView.RestoreViewParams(aViewParamsName2)
165 if aRestoreRes != 1 : print "Error"
168 print "Displaing only Scalar Map.............",
169 myView.DisplayOnly(scalarmap)
172 print "Displaing only Cut Planes.............",
173 myView.DisplayOnly(cutplanes)
176 print "Restoring third view parameters.......",
177 aRestoreRes = myView.RestoreViewParams(aViewParamsName3)
178 if aRestoreRes != 1 : print "Error"
181 print "Displaing only Mesh...................",
182 myView.DisplayOnly(mesh)
185 print "Displaing only Scalar Map.............",
186 myView.DisplayOnly(scalarmap)
189 print "Displaing only Cut Planes.............",
190 myView.DisplayOnly(cutplanes)
193 #%====================Stage6: Changing of view parameters====================%
195 print "**** Stage6: Changing of view parameters"
197 print "Remove scaling........................",
201 print "Fit All...............................",
205 print "Rotating 3d view......................",
207 myView.SetPointOfView(aPoint)
210 print "Resaving first view parameters........",
211 aSaveRes = myView.SaveViewParams(aViewParamsName1)
212 if aSaveRes != 1 : print "Error"
215 print "Restoring third view parameters.......",
216 aRestoreRes = myView.RestoreViewParams(aViewParamsName3)
217 if aRestoreRes != 1 : print "Error"
220 print "Restoring first view parameters.......",
221 aRestoreRes = myView.RestoreViewParams(aViewParamsName1)
222 if aRestoreRes != 1 : print "Error"
225 print "Displaying only Mesh..................",
226 myView.DisplayOnly(mesh)
229 print "Displaying only Scalar Map............",
230 myView.DisplayOnly(scalarmap)
233 #%====================Stage7: Saving of created view parameters====================%
235 print "**** Stage7: Saving of created view parameters"
237 print "Saving study..........................",
239 str = os.getenv("TmpDir")
243 file = str+'/VISU_005.hdf'
245 salome.myStudyManager.SaveAs(file, salome.myStudy, 0)
246 study_id = salome.myStudy._get_StudyId()
249 file_new = str+'/VISU_005_new.hdf'
251 if not sys.platform == "win32":
252 command = "mv " + file + " " + file_new
254 command = "move /Y " + file + " " + file_new
259 # Opening a study tempoparily commented due to a problem
260 # with python initialization. To be restored after bug 10000 fixing.
262 #print "Opening just saved study..............",
264 #openedStudy = salome.myStudyManager.Open(file)]
265 openedStudy = salome.myStudy # temporarily
266 #myVisu.SetCurrentStudy(openedStudy)
267 myViewManager = myVisu.GetViewManager()
268 myView1 = myViewManager.Create3DView()
269 if myView1 is None : print "Error"
275 print "Restoring first view parameters.......",
276 aRestoreRes = myView1.RestoreViewParams(aViewParamsName1)
277 if aRestoreRes != 1 : print "Error"
280 Builder = openedStudy.NewBuilder()
281 #SCom = openedStudy.FindComponent("VISU")
282 #Builder.LoadWith(SCom ,myVisu)
284 print "Displaying Scalar Map.................",
285 SObj = openedStudy.FindObject('ScalarMap')
286 scalarmap1 = visu_gui.visu.SObjectToObject(SObj)
287 if scalarmap1 is None : print "Error"
289 myView1.DisplayOnly(scalarmap1)
291 print "Displaying Cut Planes.................",
292 SObj = openedStudy.FindObject('CutPlanes')
293 cutplanes1 = visu_gui.visu.SObjectToObject(SObj)
294 if cutplanes1 is None : print "Error"
296 myView1.DisplayOnly(cutplanes1)
298 print "Restoring second view parameters......",
299 aRestoreRes = myView1.RestoreViewParams(aViewParamsName2)
300 if aRestoreRes != 1 : print "Error"
303 print "Displaying Scalar Map.................",
304 myView1.DisplayOnly(scalarmap1)
307 print "Restoring third view parameters.......",
308 aRestoreRes = myView1.RestoreViewParams(aViewParamsName3)
309 if aRestoreRes != 1 : print "Error"
312 print "Displaying Cut Planes.................",
313 myView1.DisplayOnly(cutplanes1)
316 #%====================Stage8: Changing of saved session====================%
318 print "**** Stage8: Changing of saved session"
320 print "Deleting ViewParams:3,1,2.............",
321 SObj = openedStudy.FindObject(aViewParamsName3)
322 Builder.RemoveObject(SObj)
323 SObj = openedStudy.FindObject(aViewParamsName1)
324 Builder.RemoveObject(SObj)
325 SObj = openedStudy.FindObject(aViewParamsName2)
326 Builder.RemoveObject(SObj)
329 SObjList2 = openedStudy.FindObjectByName(aViewParamsName1, "VISU")
330 print "FindObjectByName(aViewParamsName1, VISU) returned ", len(SObjList2), " objects"
332 print "Zooming trihedron.....................",
333 aScale = myView.GetParallelScale()
334 myView1.SetParallelScale(aScale*2)
338 print "Rotating trihedron....................",
339 aPoint = (200,40,-40)
340 myView1.SetPointOfView(aPoint)
343 print "Saving view parameters................",
344 aSaveRes = myView1.SaveViewParams(aViewParamsName1)
345 if aSaveRes != 1 : print "Error"
348 print "Renaming ViewParams:1.................",
349 SObj = openedStudy.FindObject(aViewParamsName1)
350 SObj.Name = "New_view"
353 print "Setting scaling.......................",
354 #Define parameters of scaling:
359 myXAxis = VISU.View3D.XAxis
360 myYAxis = VISU.View3D.YAxis
361 myZAxis = VISU.View3D.ZAxis
363 myView1.ScaleView(myXAxis,myXParam)
364 myView1.ScaleView(myYAxis,myYParam)
365 myView1.ScaleView(myZAxis,myZParam)
370 print "Saving view parameters................",
371 aSaveRes = myView1.SaveViewParams(aViewParamsName2)
372 if aSaveRes != 1 : print "Error"
375 print "Restoring first view parameters.......",
376 aRestoreRes = myView1.RestoreViewParams(aViewParamsName1)
377 if aSaveRes != 1 : print "Error"
380 print "Restoring second view parameters......",
381 aRestoreRes = myView1.RestoreViewParams(aViewParamsName2)
382 if aRestoreRes != 1 : print "Error"
385 # Remove the study file
386 if not sys.platform == "win32":
387 command = "rm -r " + file
389 command = "del /F " + file