1 # VISU VISU_SWIG : binding of C++ implementation and Python
3 # Copyright (C) 2003 CEA/DEN, EDF R&D
7 # File : batchmode_visu_view3d.py
15 from visu_gui import *
19 #mySession = batchmode_visu.mySession
21 myViewManager = myVisu.GetViewManager();
23 myView = myViewManager.Create3DView();
24 myView.SetTitle("The window will be soon destroyed!")
25 print "myViewManager.Create3DView()"
29 print "myView.Maximize()"
33 print "myView.Restore()"
37 print "myView.Minimize()"
40 myViewManager.Destroy(myView)
41 print "myViewManager.Destroy(myView)"
47 myFieldName = "VITESSE";
49 aMeshName ="LE VOLUME"
53 medFile = os.getenv('KERNEL_ROOT_DIR') + '/examples/' + medFile
54 myResult = myVisu.ImportFile(medFile)
58 myView = myViewManager.Create3DView();
60 print "myView.SetBackground(...)"
61 aColor = SALOMEDS.Color(0.0,0.3,1.0)
62 myView.SetBackground(aColor);
64 myView.SetTitle("The viewer will display ScalarMap")
65 print "myViewManager.Create3DView()"
67 aScalarMap = myVisu.ScalarMapOnField(myResult,aMeshName,anEntity,myFieldName,aTimeStampId)
69 myView.Display(aScalarMap);
70 print "myView.Display(aScalarMap)"
71 myView.SetFocalPoint([0,0,0]);
72 print "myView.SetFocalPoint(...)"
73 myView.SetParallelScale(2);
74 print "myView.SetParallelScale(...)"
77 aMax = aScalarMap.GetMax()
78 aMin = aScalarMap.GetMin()
79 aDelta = (aMax - aMin)/2.0
80 aNbColors = aScalarMap.GetNbColors()
82 for i in range(2,aNbColors) :
83 aScalarMap.SetNbColors(i)
84 aX = aMin + aDelta*i/aNbColors
85 aY = aMax - aDelta*i/aNbColors
86 aScalarMap.SetRange(aX,aY)
90 aScalarMap.SetRange(aMin,aMax)
92 print "myView.Update()"
94 print "myView.FitAll()"
97 aWidth = myView.GetViewWidth()
98 print "a View Width before = ", aWidth
99 myView.SetViewWidth(aWidth/2)
100 aWidth = myView.GetViewWidth()
101 print "a View Width after = ", aWidth
104 myView = myViewManager.Create3DView();
105 myView.SetTitle("Here we will display CutPlanes")
107 print "myView.SetBackground(...)"
108 aColor = SALOMEDS.Color(0.0,0.7,0.0)
109 myView.SetBackground(aColor);
111 aCutPlanes = myVisu.CutPlanesOnField(myResult,aMeshName,anEntity,myFieldName,aTimeStampId)
112 print "myVisu.CutPlanesOnField(...)"
114 myView.DisplayOnly(aCutPlanes);
115 print "myView.DisplayOnly(aCutPlanes)"
117 aPoint = myView.GetPointOfView();
118 aPoint[0] = aPoint[0] + 10;
119 myView.SetPointOfView(aPoint);
120 print "myView.SetPointOfView(...)"
121 myView.ScaleView(VISU.View3D.YAxis,10.0);
122 myView.ScaleView(VISU.View3D.XAxis,3.0);
123 print "myView.ScaleView(...)"
128 aNbPlanes = aCutPlanes.GetNbPlanes()
130 aXAngle = aCutPlanes.GetRotateX()
131 aYAngle = aCutPlanes.GetRotateY()
132 anOrientation = aCutPlanes.GetOrientationType()
133 for i in range(aNbPlanes,1,-1) :
134 aCutPlanes.SetNbPlanes(i)
135 aX = math.pi/2.0*(aNbPlanes-i)/aNbPlanes
136 aY = math.pi/2.0*(aNbPlanes-i)/aNbPlanes
137 aCutPlanes.SetOrientation(anOrientation,aX,aY)
142 aCutPlanes.SetOrientation(VISU.CutPlanes.ZX,0,0)
143 for i in range(1,aNbPlanes) :
144 aCutPlanes.SetNbPlanes(i)
148 myView.SaveViewParams('AAA')
149 print "myView.SaveViewParams('AAA')"
152 aCutPlanes.SetOrientation(VISU.CutPlanes.XY,0,0)
153 myView.RemoveScale();
155 print "myView.Update()"
157 print "myView.FitAll()"
162 myView = myViewManager.Create3DView();
163 print "myViewManager.Create3DView()"
165 myView.SetTitle("IsoSurface's viewer")
167 print "myView.SetBackground(...)"
168 aColor = SALOMEDS.Color(1.0,0.7,0.0)
169 myView.SetBackground(aColor);
172 aIsoSurfaces = myVisu.IsoSurfacesOnField(myResult, aMeshName, anEntity, myFieldName, aTimeStampId)
174 myView.DisplayOnly(aIsoSurfaces);
176 print "myView.DisplayOnly(aCutPlanes)"
179 aNbSurfaces = aIsoSurfaces.GetNbSurfaces()
181 for i in range(2,aNbSurfaces) :
182 aIsoSurfaces.SetNbSurfaces(i)
186 aIsoSurfaces.SetNbSurfaces(10)
188 print "myView.Update()"
190 print "myView.FitAll()"
195 myView = myViewManager.Create3DView();
196 myView.SetTitle("The viewer for CutLines")
197 print "myViewManager.Create3DView()"
200 print "myView.SetBackground(...)"
201 aColor = SALOMEDS.Color(0.7,0.7,0.7)
202 myView.SetBackground(aColor);
205 aCutLines = myVisu.CutLinesOnField(myResult, aMeshName, anEntity, myFieldName, aTimeStampId)
206 aCutLines.SetOrientation(VISU.CutPlanes.ZX,0,0)
207 aCutLines.SetOrientation2(VISU.CutPlanes.YZ,0,0)
209 myView.DisplayOnly(aCutLines);
211 print "myView.DisplayOnly(aCutLines)"
214 aSObj = myStudy.FindObjectIOR(aCutLines.GetID())
215 aTable = myVisu.CreateTable( aSObj.GetID() )
216 print "myVisu.CreateTable(...)"
218 aTableView = myViewManager.CreateTableView(aTable)
219 aTableView.SetTitle('Changed Title')
221 aContainer = myVisu.CreateContainer()
222 print "myVisu.CreateContainer(...)"
224 aNbCurve = aTable.GetNbRows() - 1
225 for i in range(2,aNbCurve):
226 aCurve = myVisu.CreateCurve( aTable, 1, i )
228 aContainer.AddCurve(aCurve)
231 myView = myViewManager.CreateXYPlot();
232 myView.SetTitle("The viewer for Curves from CutLines")
233 print "myViewManager.CreateXYPlot()"
236 myView.Display(aContainer)
240 myView = myViewManager.Create3DView();
241 myView.SetTitle("The viewer for Animation")
242 print "myViewManager.Create3DView()"
245 medFile = "TimeStamps.med"
246 myFieldName = "vitesse";
248 medFile = os.getenv('KERNEL_ROOT_DIR') + '/examples/' + medFile
249 myResult = myVisu.ImportFile(medFile)
251 anAnim = myVisu.CreateAnimation(myView);
252 aSObj = myStudy.FindObjectIOR(myResult.GetID())
253 aSObj = aSObj.FindSubObject(1)[1]
254 aSObj = aSObj.FindSubObject(2)[1]
255 aSObj = aSObj.FindSubObject(2)[1]
256 anAnim.addField(aSObj)
257 anAnim.setPresentationType(0,VISU.TISOSURFACE)
258 print "Generate presentations"
259 anAnim.generatePresentations(0)
260 print "Generate frames"
261 anAnim.generateFrames()
262 print "Start Animation"
264 #anAnim.setCycling(1)
265 anAnim.startAnimation()
269 if not anAnim.isRunning():
270 anAnim.stopAnimation()