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