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 batchmode_visu 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('DATA_DIR') + '/MedFiles/' + 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()"
99 myView = myViewManager.Create3DView();
100 myView.SetTitle("Here we will display CutPlanes")
102 print "myView.SetBackground(...)"
103 aColor = SALOMEDS.Color(0.0,0.7,0.0)
104 myView.SetBackground(aColor);
106 aCutPlanes = myVisu.CutPlanesOnField(myResult,aMeshName,anEntity,myFieldName,aTimeStampId)
107 print "myVisu.CutPlanesOnField(...)"
109 myView.DisplayOnly(aCutPlanes);
110 print "myView.DisplayOnly(aCutPlanes)"
112 aPoint = myView.GetPointOfView();
113 aPoint[0] = aPoint[0] + 10;
114 myView.SetPointOfView(aPoint);
115 print "myView.SetPointOfView(...)"
116 myView.ScaleView(VISU.View3D.YAxis,10.0);
117 myView.ScaleView(VISU.View3D.XAxis,3.0);
118 print "myView.ScaleView(...)"
123 aNbPlanes = aCutPlanes.GetNbPlanes()
125 aXAngle = aCutPlanes.GetRotateX()
126 aYAngle = aCutPlanes.GetRotateY()
127 anOrientation = aCutPlanes.GetOrientationType()
128 for i in range(aNbPlanes,1,-1) :
129 aCutPlanes.SetNbPlanes(i)
130 aX = math.pi/2.0*(aNbPlanes-i)/aNbPlanes
131 aY = math.pi/2.0*(aNbPlanes-i)/aNbPlanes
132 aCutPlanes.SetOrientation(anOrientation,aX,aY)
137 aCutPlanes.SetOrientation(VISU.CutPlanes.ZX,0,0)
138 for i in range(1,aNbPlanes) :
139 aCutPlanes.SetNbPlanes(i)
143 myView.SaveViewParams('AAA')
144 print "myView.SaveViewParams('AAA')"
147 aCutPlanes.SetOrientation(VISU.CutPlanes.XY,0,0)
148 myView.RemoveScale();
150 print "myView.Update()"
152 print "myView.FitAll()"
157 myView = myViewManager.Create3DView();
158 print "myViewManager.Create3DView()"
160 myView.SetTitle("IsoSurface's viewer")
162 print "myView.SetBackground(...)"
163 aColor = SALOMEDS.Color(1.0,0.7,0.0)
164 myView.SetBackground(aColor);
167 aIsoSurfaces = myVisu.IsoSurfacesOnField(myResult, aMeshName, anEntity, myFieldName, aTimeStampId)
169 myView.DisplayOnly(aIsoSurfaces);
171 print "myView.DisplayOnly(aCutPlanes)"
174 aNbSurfaces = aIsoSurfaces.GetNbSurfaces()
176 for i in range(2,aNbSurfaces) :
177 aIsoSurfaces.SetNbSurfaces(i)
181 aIsoSurfaces.SetNbSurfaces(10)
183 print "myView.Update()"
185 print "myView.FitAll()"
190 myView = myViewManager.Create3DView();
191 myView.SetTitle("The viewer for CutLines")
192 print "myViewManager.Create3DView()"
195 print "myView.SetBackground(...)"
196 aColor = SALOMEDS.Color(0.7,0.7,0.7)
197 myView.SetBackground(aColor);
200 aCutLines = myVisu.CutLinesOnField(myResult, aMeshName, anEntity, myFieldName, aTimeStampId)
201 aCutLines.SetOrientation(VISU.CutPlanes.ZX,0,0)
202 aCutLines.SetOrientation2(VISU.CutPlanes.YZ,0,0)
204 myView.DisplayOnly(aCutLines);
206 print "myView.DisplayOnly(aCutLines)"
209 aSObj = myStudy.FindObjectIOR(aCutLines.GetID())
210 aTable = myVisu.CreateTable( aSObj.GetID() )
211 print "myVisu.CreateTable(...)"
213 aTableView = myViewManager.CreateTableView(aTable)
214 aTableView.SetTitle('Changed Title')
216 aContainer = myVisu.CreateContainer()
217 print "myVisu.CreateContainer(...)"
219 aNbCurve = aTable.GetNbRows() - 1
220 for i in range(2,aNbCurve):
221 aCurve = myVisu.CreateCurve( aTable, 1, i )
223 aContainer.AddCurve(aCurve)
226 myView = myViewManager.CreateXYPlot();
227 myView.SetTitle("The viewer for Curves from CutLines")
228 print "myViewManager.CreateXYPlot()"
231 myView.Display(aContainer)
235 myView = myViewManager.Create3DView();
236 myView.SetTitle("The viewer for Animation")
237 print "myViewManager.Create3DView()"
240 medFile = "TimeStamps.med"
241 myFieldName = "vitesse";
243 medFile = os.getenv('DATA_DIR') + '/MedFiles/' + medFile
244 myResult = myVisu.ImportFile(medFile)
246 anAnim = myVisu.CreateAnimation(myView);
247 aSObj = myStudy.FindObjectIOR(myResult.GetID())
248 aSObj = aSObj.FindSubObject(1)[1]
249 aSObj = aSObj.FindSubObject(2)[1]
250 aSObj = aSObj.FindSubObject(2)[1]
251 anAnim.addField(aSObj)
252 anAnim.setPresentationType(0,VISU.TISOSURFACE)
253 print "Generate presentations"
254 anAnim.generatePresentations(0)
255 print "Generate frames"
256 anAnim.generateFrames()
257 print "Start Animation"
259 #anAnim.setCycling(1)
260 anAnim.startAnimation()
264 if not anAnim.isRunning():
265 anAnim.stopAnimation()