1 # Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
2 # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
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.
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.
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
18 # See http://www.salome-platform.org/
20 # T 2.24: Save/retrieve view parameters.
21 # Uses MED file fra.med from ${DATA_DIR}/MedFiles directory.
23 # This script is equivalent to non-regression test script 003/A3
31 medFile = os.getenv("DATA_DIR") + "/MedFiles/fra.med"
33 #%====================Stage1: Creating a new study====================%
35 print "**** Stage1: Creating a new study "
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"
44 #%====================Stage2: Saving view parameters before import====================%
46 print "**** Stage2: Saving view parameters before import "
48 myView = myViewManager.Create3DView()
50 print "Zooming trihedron.....................",
51 aScale = myView.GetParallelScale()
52 myView.SetParallelScale(aScale*4)
55 print "Rotating trihedron....................",
56 aPoint = (100,100,100)
57 myView.SetPointOfView(aPoint)
60 print "Saving view parameters................",
61 aViewParamsName1 = 'ViewParams:1'
62 aSaveRes = myView.SaveViewParams(aViewParamsName1)
63 if aSaveRes != 1 : print "Error"
66 #%====================Stage3: Import MED file====================%
68 print "**** Stage3: Import MED file"
70 print 'Importing "fra.med"...................',
71 myResult = myVisu.ImportFile(medFile)
72 if myResult is None : print "Error"
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"
86 #%====================Stage4: Saving view parameters after import====================%
88 print "**** Stage4: Saving view parameters after import"
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"
96 myView.DisplayOnly(scalarmap)
98 print "Zooming 3D view.......................",
99 aScale = myView.GetParallelScale()
100 myView.SetParallelScale(aScale*2)
103 print "Setting view point(LEFT)..............",
104 myView.SetView((VISU.View3D.LEFT))
107 print "Saving view parameters................",
108 aViewParamsName2 = 'ViewParams:2'
109 aSaveRes = myView.SaveViewParams(aViewParamsName2)
110 if aSaveRes != 1 : print "Error"
113 print "Creating Cut Planes...................",
114 cutplanes = myVisu.CutPlanesOnField(myResult,myMeshName,myNodeEntity,myFieldName,1);
115 if cutplanes is None : print "Error"
117 cutplanes.SetNbPlanes(4)
118 myView.DisplayOnly(cutplanes)
120 print "Setting scaling.......................",
122 #Define parameters of scaling:
127 myXAxis = VISU.View3D.XAxis
128 myYAxis = VISU.View3D.YAxis
129 myZAxis = VISU.View3D.ZAxis
131 myView.ScaleView(myXAxis,myXParam)
132 myView.ScaleView(myYAxis,myYParam)
133 myView.ScaleView(myZAxis,myZParam)
136 print "Rotating 3d view......................",
138 myView.SetPointOfView(aPoint)
141 print "Fit All...............................",
145 print "Saving view parameters................",
146 aViewParamsName3 = 'ViewParams:3'
147 aSaveRes = myView.SaveViewParams(aViewParamsName3)
148 if aSaveRes != 1 : print "Error"
151 #%====================Stage5: Restoring view parameters====================%
153 print "**** Stage5: Restoring view parameters"
155 print "Restoring first view parameters.......",
156 aRestoreRes = myView.RestoreViewParams(aViewParamsName1)
157 if aRestoreRes != 1 : print "Error"
160 print "Restoring second view parameters......",
161 aRestoreRes = myView.RestoreViewParams(aViewParamsName2)
162 if aRestoreRes != 1 : print "Error"
165 print "Displaing only Scalar Map.............",
166 myView.DisplayOnly(scalarmap)
169 print "Displaing only Cut Planes.............",
170 myView.DisplayOnly(cutplanes)
173 print "Restoring third view parameters.......",
174 aRestoreRes = myView.RestoreViewParams(aViewParamsName3)
175 if aRestoreRes != 1 : print "Error"
178 print "Displaing only Mesh...................",
179 myView.DisplayOnly(mesh)
182 print "Displaing only Scalar Map.............",
183 myView.DisplayOnly(scalarmap)
186 print "Displaing only Cut Planes.............",
187 myView.DisplayOnly(cutplanes)
190 #%====================Stage6: Changing of view parameters====================%
192 print "**** Stage6: Changing of view parameters"
194 print "Remove scaling........................",
198 print "Fit All...............................",
202 print "Rotating 3d view......................",
204 myView.SetPointOfView(aPoint)
207 print "Resaving first view parameters........",
208 aSaveRes = myView.SaveViewParams(aViewParamsName1)
209 if aSaveRes != 1 : print "Error"
212 print "Restoring third view parameters.......",
213 aRestoreRes = myView.RestoreViewParams(aViewParamsName3)
214 if aRestoreRes != 1 : print "Error"
217 print "Restoring first view parameters.......",
218 aRestoreRes = myView.RestoreViewParams(aViewParamsName1)
219 if aRestoreRes != 1 : print "Error"
222 print "Displaying only Mesh..................",
223 myView.DisplayOnly(mesh)
226 print "Displaying only Scalar Map............",
227 myView.DisplayOnly(scalarmap)
230 #%====================Stage7: Saving of created view parameters====================%
232 print "**** Stage7: Saving of created view parameters"
234 print "Saving study..........................",
236 str = os.getenv("TmpDir")
240 file = str+'/VISU_005.hdf'
242 salome.myStudyManager.SaveAs(file, salome.myStudy, 0)
243 study_id = salome.myStudy._get_StudyId()
246 file_new = str+'/VISU_005_new.hdf'
247 command = "mv " + file + " " + file_new
251 # Opening a study tempoparily commented due to a problem
252 # with python initialization. To be restored after bug 10000 fixing.
254 #print "Opening just saved study..............",
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"
267 print "Restoring first view parameters.......",
268 aRestoreRes = myView1.RestoreViewParams(aViewParamsName1)
269 if aRestoreRes != 1 : print "Error"
272 Builder = openedStudy.NewBuilder()
273 #SCom = openedStudy.FindComponent("VISU")
274 #Builder.LoadWith(SCom ,myVisu)
276 print "Displaying Scalar Map.................",
277 SObj = openedStudy.FindObject('ScalarMap')
278 scalarmap1 = visu_gui.visu.SObjectToObject(SObj)
279 if scalarmap1 is None : print "Error"
281 myView1.DisplayOnly(scalarmap1)
283 print "Displaying Cut Planes.................",
284 SObj = openedStudy.FindObject('CutPlanes')
285 cutplanes1 = visu_gui.visu.SObjectToObject(SObj)
286 if cutplanes1 is None : print "Error"
288 myView1.DisplayOnly(cutplanes1)
290 print "Restoring second view parameters......",
291 aRestoreRes = myView1.RestoreViewParams(aViewParamsName2)
292 if aRestoreRes != 1 : print "Error"
295 print "Displaying Scalar Map.................",
296 myView1.DisplayOnly(scalarmap1)
299 print "Restoring third view parameters.......",
300 aRestoreRes = myView1.RestoreViewParams(aViewParamsName3)
301 if aRestoreRes != 1 : print "Error"
304 print "Displaying Cut Planes.................",
305 myView1.DisplayOnly(cutplanes1)
308 #%====================Stage8: Changing of saved session====================%
310 print "**** Stage8: Changing of saved session"
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)
321 SObjList2 = openedStudy.FindObjectByName(aViewParamsName1, "VISU")
322 print "FindObjectByName(aViewParamsName1, VISU) returned ", len(SObjList2), " objects"
324 print "Zooming trihedron.....................",
325 aScale = myView.GetParallelScale()
326 myView1.SetParallelScale(aScale*2)
330 print "Rotating trihedron....................",
331 aPoint = (200,40,-40)
332 myView1.SetPointOfView(aPoint)
335 print "Saving view parameters................",
336 aSaveRes = myView1.SaveViewParams(aViewParamsName1)
337 if aSaveRes != 1 : print "Error"
340 print "Renaming ViewParams:1.................",
341 SObj = openedStudy.FindObject(aViewParamsName1)
342 SObj.Name = "New_view"
345 print "Setting scaling.......................",
346 #Define parameters of scaling:
351 myXAxis = VISU.View3D.XAxis
352 myYAxis = VISU.View3D.YAxis
353 myZAxis = VISU.View3D.ZAxis
355 myView1.ScaleView(myXAxis,myXParam)
356 myView1.ScaleView(myYAxis,myYParam)
357 myView1.ScaleView(myZAxis,myZParam)
362 print "Saving view parameters................",
363 aSaveRes = myView1.SaveViewParams(aViewParamsName2)
364 if aSaveRes != 1 : print "Error"
367 print "Restoring first view parameters.......",
368 aRestoreRes = myView1.RestoreViewParams(aViewParamsName1)
369 if aSaveRes != 1 : print "Error"
372 print "Restoring second view parameters......",
373 aRestoreRes = myView1.RestoreViewParams(aViewParamsName2)
374 if aRestoreRes != 1 : print "Error"
377 # Remove the study file
378 command = "rm -r " + file