Salome HOME
7e52093bbe03132e9eaf206ec0eea5121db7b19c
[modules/visu.git] / src / VISU_SWIG / visu_split_views.py
1 #  -*- coding: iso-8859-1 -*-
2 # Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE
3 #
4 # Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
5 # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 #
7 # This library is free software; you can redistribute it and/or
8 # modify it under the terms of the GNU Lesser General Public
9 # License as published by the Free Software Foundation; either
10 # version 2.1 of the License.
11 #
12 # This library is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15 # Lesser General Public License for more details.
16 #
17 # You should have received a copy of the GNU Lesser General Public
18 # License along with this library; if not, write to the Free Software
19 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
20 #
21 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
22 #
23
24 import VISU
25 import SALOMEDS
26 import salome
27 from visu_gui import *
28 from time import sleep
29
30 DELAY = 2
31
32 myVisu.SetCurrentStudy(salome.myStudy)
33
34 myViewManager = myVisu.GetViewManager()
35
36 ################################################
37
38 medFile = "fra.med"
39 myFieldName = "VITESSE";
40
41 aMeshName ="LE VOLUME"
42 anEntity = VISU.NODE
43 aTimeStampId = 1
44
45 medFile = os.path.join(os.getenv('DATA_DIR'), 'MedFiles', medFile)
46 myResult = myVisu.ImportFile(medFile)
47
48 ################################################
49
50 myView1 = myViewManager.Create3DView()
51 print "myView1 = myViewManager.Create3DView()"
52 myView1.SetTitle("The window will be soon destroyed!")
53
54 myView1.Maximize()
55 print "myView1.Maximize()"
56
57 myView1.Restore()
58 print "myView1.Restore()"
59
60 myView1.Minimize()
61 print "myView1.Minimize()"
62
63 sleep(DELAY)
64
65 myViewManager.Destroy(myView1)
66 print "myViewManager.Destroy(myView1)"
67
68 ################################################
69
70 myView2 = myViewManager.Create3DView()
71 print "myView2 = myViewManager.Create3DView()"
72 myView2.SetTitle("The window to display Scalar Map")
73
74 aColor = SALOMEDS.Color(0.0,0.3,1.0)
75 print "aColor = SALOMEDS.Color(0.0,0.3,1.0)"
76 myView2.SetBackground(aColor)
77 print "myView2.SetBackground(aColor)"
78
79 aScalarMap = myVisu.ScalarMapOnField(myResult,aMeshName,anEntity,myFieldName,aTimeStampId)
80 print "myVisu.ScalarMapOnField(...)"
81
82 myView2.Display(aScalarMap);
83 print "myView2.Display(aScalarMap)"
84
85 myView2.SetFocalPoint([0,0,0])
86 print "myView2.SetFocalPoint([0,0,0])"
87 myView2.SetParallelScale(2)
88 print "myView2.SetParallelScale(2)"
89
90 myView2.FitAll()
91 print "myView3.FitAll"
92
93 sleep(DELAY)
94
95 ################################################
96
97 myView3 = myViewManager.Create3DView()
98 print "myView3 = myViewManager.Create3DView()"
99 myView3.SetTitle("The window to display Cut Planes")
100
101 myView3.SplitRight()
102 print "myView3.SplitRight()"
103
104 aColor = SALOMEDS.Color(0.0,0.7,0.0)
105 print "aColor = SALOMEDS.Color(0.0,0.7,0.0)"
106 myView3.SetBackground(aColor)
107 print "myView3.SetBackground(aColor)"
108
109 aCutPlanes = myVisu.CutPlanesOnField(myResult,aMeshName,anEntity,myFieldName,aTimeStampId)
110 print "myVisu.CutPlanesOnField(...)"
111 aCutPlanes.SetOrientation(VISU.CutPlanes.XY,0,0)
112 print "aCutPlanes.SetOrientation(...)"
113
114 myView3.DisplayOnly(aCutPlanes);
115 print "myView3.DisplayOnly(aCutPlanes)"
116
117 aPoint = myView3.GetPointOfView()
118 aPoint[0] = aPoint[0] + 10
119 myView3.SetPointOfView(aPoint)
120 print "myView3.SetPointOfView(...)"
121 myView3.ScaleView(VISU.View3D.YAxis,10.0)
122 myView3.ScaleView(VISU.View3D.XAxis,3.0)
123 print "myView3.ScaleView(...)"
124
125 myView3.FitAll()
126
127 myView3.SaveViewParams('AAA')
128 print "myView3.SaveViewParams('AAA')"
129
130 myView3.RemoveScale()
131 print "myView3.RemoveScale()"
132
133 myView3.Update()
134 print "myView3.Update()"
135 myView3.FitAll()
136 print "myView3.FitAll()"
137
138 sleep(DELAY)
139
140 ################################################
141
142 myView4 = myViewManager.Create3DView()
143 print "myView4 = myViewManager.Create3DView()"
144 myView4.SetTitle("The window to display Iso Surfaces")
145
146 aColor = SALOMEDS.Color(1.0,0.7,0.0)
147 print "aColor = SALOMEDS.Color(1.0,0.7,0.0)"
148 myView4.SetBackground(aColor)
149 print "myView4.SetBackground(aColor)"
150
151 aIsoSurfaces = myVisu.IsoSurfacesOnField(myResult, aMeshName, anEntity, myFieldName, aTimeStampId)
152 print "aIsoSurfaces = myVisu.IsoSurfacesOnField(...)"
153 aIsoSurfaces.SetNbSurfaces(10)
154 print "aIsoSurfaces.SetNbSurfaces(10)"
155
156 myView4.DisplayOnly(aIsoSurfaces)
157 print "myView4.DisplayOnly(aIsoSurfaces)"
158
159 myView4.FitAll()
160 print "myView4.FitAll()"
161
162 sleep(DELAY)
163
164 ################################################
165
166 myView5 = myViewManager.Create3DView()
167 print "myView5 = myViewManager.Create3DView()"
168 myView5.SetTitle("The window to display Cut Lines")
169
170 myView5.SplitBottom()
171 print "myView5.SplitBottom()"
172
173 aColor = SALOMEDS.Color(0.7,0.7,0.7)
174 print "aColor = SALOMEDS.Color(0.7,0.7,0.7)"
175 myView5.SetBackground(aColor)
176 print "myView5.SetBackground(aColor)"
177
178 aCutLines = myVisu.CutLinesOnField(myResult, aMeshName, anEntity, myFieldName, aTimeStampId)
179 print "aCutLines = myVisu.CutLinesOnField(...)"
180 aCutLines.SetOrientation(VISU.CutPlanes.ZX,0,0)
181 print "aCutLines.SetOrientation(VISU.CutPlanes.ZX,0,0)"
182 aCutLines.SetOrientation2(VISU.CutPlanes.YZ,0,0)
183 print "aCutLines.SetOrientation2(VISU.CutPlanes.YZ,0,0)"
184
185 myView5.DisplayOnly(aCutLines)
186 print "myView5.DisplayOnly(aCutLines)"
187 myView5.FitAll()
188 print "myView5.FitAll()"
189
190 sleep(DELAY)
191
192 ################################################
193
194 myView6 = myViewManager.CreateXYPlot()
195 print "myView6 = myViewManager.CreateXYPlot()"
196 myView6.SetTitle("The window to display curves")
197
198 aSObj = myStudy.FindObjectIOR(aCutLines.GetID())
199 aTable = myVisu.CreateTable( aSObj.GetID() )
200 print "aTable = myVisu.CreateTable(...)"
201
202 aContainer = myVisu.CreateContainer()
203 print "aContainer = myVisu.CreateContainer(...)"
204
205 aNbCurve = aTable.GetNbRows() - 1
206 for i in range(2,aNbCurve):
207    aCurve = myVisu.CreateCurve( aTable, 1, i )
208    print "myVisu.CreateCurve(aTable, 1, %d)" % i
209    aContainer.AddCurve(aCurve)
210    pass
211
212 myView6.Display(aContainer)
213 print "myView6.Display(aContainer)"
214
215 sleep(DELAY)
216
217 ################################################
218
219 myView7 = myViewManager.Create3DView()
220 print "myView7 = myViewManager.Create3DView()"
221 myView7.SetTitle("The window to display Cut Segment")
222
223 aCutSegment = myVisu.CutSegmentOnField(myResult, aMeshName, anEntity, myFieldName, aTimeStampId)
224 print "aCutSegment = myVisu.CutSegmentOnField(...)"
225 aCutSegment.SetPoint1(0.0,0.0,0.0)
226 print "aCutSegment.SetPoint1(0.0,0.0,0.0)"
227 aCutSegment.SetPoint2(0.4,0.05,1.0)
228 print "aCutSegment.SetPoint2(0.4,0.05,1.0)"
229
230 myView7.DisplayOnly(aCutSegment)
231 print "myView7.DisplayOnly(aCutSegment)"
232
233 myView7.FitAll();
234 print "myView7.FitAll()"
235
236 sleep(DELAY)
237
238 ################################################
239
240 myView4.Attract(myView2)
241 print "myView4.Attract(myView2)"
242
243 sleep(DELAY)
244
245 myView7.OnTop()
246 print "myView6.OnTop()"
247
248 sleep(DELAY)