1 # Show some results presentations in different 3D and 2D viewers
2 # with different options (view parameters and display modes).
3 # Uses MED files fra.med and TimeStamps.med from ${DATA_DIR}/MedFiles directory.
5 # Pay attention to a viewer title to know its purpose.
7 # This script is equivalent to script VISU_SWIG/visu_view3d.py
14 from visu_gui import *
18 myViewManager = myVisu.GetViewManager();
20 myView = myViewManager.Create3DView();
21 myView.SetTitle("The window will be soon destroyed!")
22 print "myViewManager.Create3DView()"
26 print "myView.Maximize()"
30 print "myView.Restore()"
34 print "myView.Minimize()"
37 myViewManager.Destroy(myView)
38 print "myViewManager.Destroy(myView)"
43 myFieldName = "VITESSE";
45 aMeshName ="LE VOLUME"
49 medFile = os.getenv('DATA_DIR') + '/MedFIles/' + medFile
50 myResult = myVisu.ImportFile(medFile)
52 myView = myViewManager.Create3DView();
54 print "myView.SetBackground(...)"
55 aColor = SALOMEDS.Color(0.0,0.3,1.0)
56 myView.SetBackground(aColor);
58 myView.SetTitle("The viewer will display ScalarMap")
59 print "myViewManager.Create3DView()"
61 aScalarMap = myVisu.ScalarMapOnField(myResult,aMeshName,anEntity,myFieldName,aTimeStampId)
63 myView.Display(aScalarMap);
64 print "myView.Display(aScalarMap)"
65 myView.SetFocalPoint([0,0,0]);
66 print "myView.SetFocalPoint(...)"
67 myView.SetParallelScale(2);
68 print "myView.SetParallelScale(...)"
71 aMax = aScalarMap.GetMax()
72 aMin = aScalarMap.GetMin()
73 aDelta = (aMax - aMin)/2.0
74 aNbColors = aScalarMap.GetNbColors()
76 for i in range(2,aNbColors) :
77 aScalarMap.SetNbColors(i)
78 aX = aMin + aDelta*i/aNbColors
79 aY = aMax - aDelta*i/aNbColors
80 aScalarMap.SetRange(aX,aY)
84 aScalarMap.SetRange(aMin,aMax)
86 print "myView.Update()"
88 print "myView.FitAll()"
92 myView = myViewManager.Create3DView();
93 myView.SetTitle("Here we will display CutPlanes")
95 print "myView.SetBackground(...)"
96 aColor = SALOMEDS.Color(0.0,0.7,0.0)
97 myView.SetBackground(aColor);
99 aCutPlanes = myVisu.CutPlanesOnField(myResult,aMeshName,anEntity,myFieldName,aTimeStampId)
100 print "myVisu.CutPlanesOnField(...)"
102 myView.DisplayOnly(aCutPlanes);
103 print "myView.DisplayOnly(aCutPlanes)"
105 aPoint = myView.GetPointOfView();
106 aPoint[0] = aPoint[0] + 10;
107 myView.SetPointOfView(aPoint);
108 print "myView.SetPointOfView(...)"
109 myView.ScaleView(VISU.View3D.YAxis,10.0);
110 myView.ScaleView(VISU.View3D.XAxis,3.0);
111 print "myView.ScaleView(...)"
116 aNbPlanes = aCutPlanes.GetNbPlanes()
118 aXAngle = aCutPlanes.GetRotateX()
119 aYAngle = aCutPlanes.GetRotateY()
120 anOrientation = aCutPlanes.GetOrientationType()
121 for i in range(aNbPlanes,1,-1) :
122 aCutPlanes.SetNbPlanes(i)
123 aX = math.pi/2.0*(aNbPlanes-i)/aNbPlanes
124 aY = math.pi/2.0*(aNbPlanes-i)/aNbPlanes
125 aCutPlanes.SetOrientation(anOrientation,aX,aY)
130 aCutPlanes.SetOrientation(VISU.CutPlanes.ZX,0,0)
131 for i in range(1,aNbPlanes) :
132 aCutPlanes.SetNbPlanes(i)
136 myView.SaveViewParams('AAA')
137 print "myView.SaveViewParams('AAA')"
140 aCutPlanes.SetOrientation(VISU.CutPlanes.XY,0,0)
141 myView.RemoveScale();
143 print "myView.Update()"
145 print "myView.FitAll()"
149 myView = myViewManager.Create3DView();
150 print "myViewManager.Create3DView()"
152 myView.SetTitle("IsoSurface's viewer")
154 print "myView.SetBackground(...)"
155 aColor = SALOMEDS.Color(1.0,0.7,0.0)
156 myView.SetBackground(aColor);
159 aIsoSurfaces = myVisu.IsoSurfacesOnField(myResult, aMeshName, anEntity, myFieldName, aTimeStampId)
161 myView.DisplayOnly(aIsoSurfaces);
163 print "myView.DisplayOnly(aCutPlanes)"
166 aNbSurfaces = aIsoSurfaces.GetNbSurfaces()
168 for i in range(2,aNbSurfaces) :
169 aIsoSurfaces.SetNbSurfaces(i)
173 aIsoSurfaces.SetNbSurfaces(10)
175 print "myView.Update()"
177 print "myView.FitAll()"
181 myView = myViewManager.Create3DView();
182 myView.SetTitle("The viewer for CutLines")
183 print "myViewManager.Create3DView()"
186 print "myView.SetBackground(...)"
187 aColor = SALOMEDS.Color(0.7,0.7,0.7)
188 myView.SetBackground(aColor);
191 aCutLines = myVisu.CutLinesOnField(myResult, aMeshName, anEntity, myFieldName, aTimeStampId)
192 aCutLines.SetOrientation(VISU.CutPlanes.ZX,0,0)
193 aCutLines.SetOrientation2(VISU.CutPlanes.YZ,0,0)
195 myView.DisplayOnly(aCutLines);
197 print "myView.DisplayOnly(aCutLines)"
200 aSObj = myStudy.FindObjectIOR(aCutLines.GetID())
201 aTable = myVisu.CreateTable( aSObj.GetID() )
202 print "myVisu.CreateTable(...)"
204 aTableView = myViewManager.CreateTableView(aTable)
205 aTableView.SetTitle('Changed Title')
207 aContainer = myVisu.CreateContainer()
208 print "myVisu.CreateContainer(...)"
210 aNbCurve = aTable.GetNbRows() - 1
211 for i in range(2,aNbCurve):
212 aCurve = myVisu.CreateCurve( aTable, 1, i )
214 aContainer.AddCurve(aCurve)
217 myView = myViewManager.CreateXYPlot();
218 myView.SetTitle("The viewer for Curves from CutLines")
219 print "myViewManager.CreateXYPlot()"
222 myView.Display(aContainer)
225 myView = myViewManager.Create3DView();
226 myView.SetTitle("The viewer for Animation")
227 print "myViewManager.Create3DView()"
230 medFile = "TimeStamps.med"
231 myFieldName = "vitesse";
233 medFile = os.getenv('DATA_DIR') + '/MedFiles/' + medFile
234 myResult = myVisu.ImportFile(medFile)
236 anAnim = myVisu.CreateAnimation(myView);
237 aSObj = myStudy.FindObjectIOR(myResult.GetID())
238 aSObj = aSObj.FindSubObject(1)[1]
239 aSObj = aSObj.FindSubObject(2)[1]
240 aSObj = aSObj.FindSubObject(2)[1]
241 anAnim.addField(aSObj)
242 anAnim.setPresentationType(0,VISU.TISOSURFACE)
243 print "Generate presentations"
244 anAnim.generatePresentations(0)
245 print "Generate frames"
246 anAnim.generateFrames()
247 print "Start Animation"
249 anAnim.startAnimation()
253 if not anAnim.isRunning():
254 anAnim.stopAnimation()