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")
109 print "myView.SetBackground(...)"
110 aColor = SALOMEDS.Color(0.0,0.7,0.0)
111 myView.SetBackground(aColor);
113 aCutPlanes = myVisu.CutPlanesOnField(myResult,aMeshName,anEntity,myFieldName,aTimeStampId)
114 print "myVisu.CutPlanesOnField(...)"
116 myView.DisplayOnly(aCutPlanes);
117 print "myView.DisplayOnly(aCutPlanes)"
119 aPoint = myView.GetPointOfView();
120 aPoint[0] = aPoint[0] + 10;
121 myView.SetPointOfView(aPoint);
122 print "myView.SetPointOfView(...)"
123 myView.ScaleView(VISU.View3D.YAxis,10.0);
124 myView.ScaleView(VISU.View3D.XAxis,3.0);
125 print "myView.ScaleView(...)"
130 aNbPlanes = aCutPlanes.GetNbPlanes()
132 aXAngle = aCutPlanes.GetRotateX()
133 aYAngle = aCutPlanes.GetRotateY()
134 anOrientation = aCutPlanes.GetOrientationType()
135 for i in range(aNbPlanes,1,-1) :
136 aCutPlanes.SetNbPlanes(i)
137 aX = math.pi/2.0*(aNbPlanes-i)/aNbPlanes
138 aY = math.pi/2.0*(aNbPlanes-i)/aNbPlanes
139 aCutPlanes.SetOrientation(anOrientation,aX,aY)
144 aCutPlanes.SetOrientation(VISU.CutPlanes.ZX,0,0)
145 for i in range(1,aNbPlanes) :
146 aCutPlanes.SetNbPlanes(i)
150 myView.SaveViewParams('AAA')
151 print "myView.SaveViewParams('AAA')"
154 aCutPlanes.SetOrientation(VISU.CutPlanes.XY,0,0)
155 myView.RemoveScale();
157 print "myView.Update()"
159 print "myView.FitAll()"
164 myView = myViewManager.Create3DView();
165 print "myViewManager.Create3DView()"
167 myView.SetTitle("IsoSurface's viewer")
169 print "myView.SetBackground(...)"
170 aColor = SALOMEDS.Color(1.0,0.7,0.0)
171 myView.SetBackground(aColor);
174 aIsoSurfaces = myVisu.IsoSurfacesOnField(myResult, aMeshName, anEntity, myFieldName, aTimeStampId)
176 myView.DisplayOnly(aIsoSurfaces);
178 print "myView.DisplayOnly(aCutPlanes)"
181 aNbSurfaces = aIsoSurfaces.GetNbSurfaces()
183 for i in range(2,aNbSurfaces) :
184 aIsoSurfaces.SetNbSurfaces(i)
188 aIsoSurfaces.SetNbSurfaces(10)
190 print "myView.Update()"
192 print "myView.FitAll()"
197 myView = myViewManager.Create3DView();
198 myView.SetTitle("The viewer for CutLines")
199 print "myViewManager.Create3DView()"
202 print "myView.SetBackground(...)"
203 aColor = SALOMEDS.Color(0.7,0.7,0.7)
204 myView.SetBackground(aColor);
207 aCutLines = myVisu.CutLinesOnField(myResult, aMeshName, anEntity, myFieldName, aTimeStampId)
208 aCutLines.SetOrientation(VISU.CutPlanes.ZX,0,0)
209 aCutLines.SetOrientation2(VISU.CutPlanes.YZ,0,0)
211 myView.DisplayOnly(aCutLines);
213 print "myView.DisplayOnly(aCutLines)"
216 aSObj = myStudy.FindObjectIOR(aCutLines.GetID())
217 aTable = myVisu.CreateTable( aSObj.GetID() )
218 print "myVisu.CreateTable(...)"
220 aTableView = myViewManager.CreateTableView(aTable)
221 aTableView.SetTitle('Changed Title')
223 aContainer = myVisu.CreateContainer()
224 print "myVisu.CreateContainer(...)"
226 aNbCurve = aTable.GetNbRows() - 1
227 for i in range(2,aNbCurve):
228 aCurve = myVisu.CreateCurve( aTable, 1, i )
230 aContainer.AddCurve(aCurve)
233 myView = myViewManager.CreateXYPlot();
234 myView.SetTitle("The viewer for Curves from CutLines")
235 print "myViewManager.CreateXYPlot()"
238 myView.Display(aContainer)
242 myView = myViewManager.Create3DView();
243 myView.SetTitle("The viewer for Animation")
244 print "myViewManager.Create3DView()"
247 medFile = "TimeStamps.med"
248 myFieldName = "vitesse";
250 medFile = os.getenv('KERNEL_ROOT_DIR') + '/examples/' + medFile
251 myResult = myVisu.ImportFile(medFile)
253 anAnim = myVisu.CreateAnimation(myView);
254 aSObj = myStudy.FindObjectIOR(myResult.GetID())
255 aSObj = aSObj.FindSubObject(1)[1]
256 aSObj = aSObj.FindSubObject(2)[1]
257 aSObj = aSObj.FindSubObject(2)[1]
258 anAnim.addField(aSObj)
259 anAnim.setPresentationType(0,VISU.TISOSURFACE)
260 print "Generate presentations"
261 anAnim.generatePresentations(0)
262 print "Generate frames"
263 anAnim.generateFrames()
264 print "Start Animation"
266 #anAnim.setCycling(1)
267 anAnim.startAnimation()
271 if not anAnim.isRunning():
272 anAnim.stopAnimation()