]> SALOME platform Git repositories - modules/visu.git/blob - src/VISU_SWIG/visu_view3d.py
Salome HOME
Place TableDlg into a separate unit GUITOOLS to make available using it in VISU_I
[modules/visu.git] / src / VISU_SWIG / visu_view3d.py
1 #  VISU VISU_SWIG : binding of C++ implementation and Python
2 #
3 #  Copyright (C) 2003  CEA/DEN, EDF R&D
4 #
5 #
6 #
7 #  File   : batchmode_visu_view3d.py
8 #  Module : VISU
9
10 import os
11 import time
12 import math
13 import VISU
14 import SALOMEDS
15 from visu_gui import *
16
17 aDelay = 0
18
19 #mySession = batchmode_visu.mySession
20
21 myViewManager = myVisu.GetViewManager();
22
23 myView = myViewManager.Create3DView();
24 myView.SetTitle("The window will be soon destroyed!")
25 print "myViewManager.Create3DView()"
26 time.sleep(aDelay)
27
28 myView.Maximize()
29 print "myView.Maximize()"
30 time.sleep(aDelay)
31
32 myView.Restore()
33 print "myView.Restore()"
34 time.sleep(aDelay)
35
36 myView.Minimize()
37 print "myView.Minimize()"
38 time.sleep(aDelay)
39
40 myViewManager.Destroy(myView)
41 print "myViewManager.Destroy(myView)"
42 time.sleep(aDelay)
43
44
45
46 medFile = "fra.med"
47 myFieldName = "VITESSE";
48
49 aMeshName ="LE VOLUME"
50 anEntity = VISU.NODE
51 aTimeStampId = 1
52
53 medFile = os.getenv('KERNEL_ROOT_DIR') + '/examples/' + medFile
54 myResult = myVisu.ImportFile(medFile)
55
56
57
58 myView = myViewManager.Create3DView();
59
60 print "myView.SetBackground(...)"
61 aColor = SALOMEDS.Color(0.0,0.3,1.0)
62 myView.SetBackground(aColor);
63
64 myView.SetTitle("The viewer will display ScalarMap")
65 print "myViewManager.Create3DView()"
66
67 aScalarMap = myVisu.ScalarMapOnField(myResult,aMeshName,anEntity,myFieldName,aTimeStampId)
68
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(...)"
75 myView.FitAll();
76
77 aMax = aScalarMap.GetMax()
78 aMin = aScalarMap.GetMin()
79 aDelta = (aMax - aMin)/2.0
80 aNbColors = aScalarMap.GetNbColors()
81 aNbColors = 64
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)
87     myView.Update();
88     time.sleep(aDelay)
89
90 aScalarMap.SetRange(aMin,aMax)
91
92 print "myView.Update()"
93 myView.Update();
94 print "myView.FitAll()"
95 myView.FitAll();
96
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
102
103
104 myView = myViewManager.Create3DView();
105 myView.SetTitle("Here we will display CutPlanes")
106
107 print "myView.SetBackground(...)"
108 aColor = SALOMEDS.Color(0.0,0.7,0.0)
109 myView.SetBackground(aColor);
110
111 aCutPlanes = myVisu.CutPlanesOnField(myResult,aMeshName,anEntity,myFieldName,aTimeStampId)
112 print "myVisu.CutPlanesOnField(...)"
113
114 myView.DisplayOnly(aCutPlanes);
115 print "myView.DisplayOnly(aCutPlanes)"
116
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(...)"
124 time.sleep(aDelay)
125
126 myView.FitAll();
127
128 aNbPlanes = aCutPlanes.GetNbPlanes()
129 aNbPlanes = 30
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)
138     myView.Update();
139     time.sleep(aDelay)
140
141 aNbPlanes = 10
142 aCutPlanes.SetOrientation(VISU.CutPlanes.ZX,0,0)
143 for i in range(1,aNbPlanes) :
144     aCutPlanes.SetNbPlanes(i)
145     myView.Update();
146     time.sleep(aDelay)
147
148 myView.SaveViewParams('AAA')
149 print "myView.SaveViewParams('AAA')"
150 time.sleep(aDelay)
151
152 aCutPlanes.SetOrientation(VISU.CutPlanes.XY,0,0)
153 myView.RemoveScale();
154
155 print "myView.Update()"
156 myView.Update();
157 print "myView.FitAll()"
158 myView.FitAll();
159
160
161
162 myView = myViewManager.Create3DView();
163 print "myViewManager.Create3DView()"
164
165 myView.SetTitle("IsoSurface's viewer")
166
167 print "myView.SetBackground(...)"
168 aColor = SALOMEDS.Color(1.0,0.7,0.0)
169 myView.SetBackground(aColor);
170 time.sleep(aDelay)
171
172 aIsoSurfaces = myVisu.IsoSurfacesOnField(myResult, aMeshName, anEntity, myFieldName, aTimeStampId)
173
174 myView.DisplayOnly(aIsoSurfaces);
175 myView.FitAll();
176 print "myView.DisplayOnly(aCutPlanes)"
177 time.sleep(aDelay)
178
179 aNbSurfaces = aIsoSurfaces.GetNbSurfaces()
180 aNbSurfaces = 32
181 for i in range(2,aNbSurfaces) :
182     aIsoSurfaces.SetNbSurfaces(i)
183     myView.Update();
184     time.sleep(aDelay)
185
186 aIsoSurfaces.SetNbSurfaces(10)
187
188 print "myView.Update()"
189 myView.Update();
190 print "myView.FitAll()"
191 myView.FitAll();
192
193
194
195 myView = myViewManager.Create3DView();
196 myView.SetTitle("The viewer for CutLines")
197 print "myViewManager.Create3DView()"
198 time.sleep(aDelay)
199
200 print "myView.SetBackground(...)"
201 aColor = SALOMEDS.Color(0.7,0.7,0.7)
202 myView.SetBackground(aColor);
203 time.sleep(aDelay)
204
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)
208
209 myView.DisplayOnly(aCutLines);
210 myView.FitAll();
211 print "myView.DisplayOnly(aCutLines)"
212 time.sleep(aDelay)
213
214 aSObj = myStudy.FindObjectIOR(aCutLines.GetID())
215 aTable = myVisu.CreateTable( aSObj.GetID() )
216 print "myVisu.CreateTable(...)"
217
218 aTableView = myViewManager.CreateTableView(aTable)
219 aTableView.SetTitle('Changed Title')
220
221 aContainer = myVisu.CreateContainer()
222 print "myVisu.CreateContainer(...)"
223
224 aNbCurve = aTable.GetNbRows() - 1
225 for i in range(2,aNbCurve):
226    aCurve = myVisu.CreateCurve( aTable, 1, i )
227    print i, aCurve
228    aContainer.AddCurve(aCurve)
229
230
231 myView = myViewManager.CreateXYPlot();
232 myView.SetTitle("The viewer for Curves from CutLines")
233 print "myViewManager.CreateXYPlot()"
234 time.sleep(aDelay)
235
236 myView.Display(aContainer)
237
238
239
240 myView = myViewManager.Create3DView();
241 myView.SetTitle("The viewer for Animation")
242 print "myViewManager.Create3DView()"
243 time.sleep(aDelay)
244
245 medFile = "TimeStamps.med"
246 myFieldName = "vitesse";
247
248 medFile = os.getenv('KERNEL_ROOT_DIR') + '/examples/' + medFile
249 myResult = myVisu.ImportFile(medFile)
250
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"
263 anAnim.setSpeed(99)
264 #anAnim.setCycling(1)
265 anAnim.startAnimation()
266 myView.FitAll()
267 while 1:
268     time.sleep(1+aDelay)
269     if not anAnim.isRunning():
270         anAnim.stopAnimation()
271         break
272
273 #anAnim.clearView()