]> SALOME platform Git repositories - modules/visu.git/blob - doc/salome/gui/VISU/input/tui_view_3d.doc
Salome HOME
Merge from V6_main_20120808 08Aug12
[modules/visu.git] / doc / salome / gui / VISU / input / tui_view_3d.doc
1 /*!
2
3 \page tui_view_3d_page Viewing 3D presentations
4
5 Examples of using 3D viewer functionaly from Python:
6
7 \code
8 import os
9 from time import sleep
10
11 import salome
12
13 import VISU
14 from visu_gui import *
15
16 # Set the delay
17 delay = 4
18
19 # Set the directory containing MED files
20 datadir = os.getenv("DATA_DIR")
21
22 # Create a temporary 3D view
23 print "Create a temporary 3D view..."
24 myViewManager = myVisu.GetViewManager()
25 myTempView = myViewManager.Create3DView()
26 myTempView.SetTitle("The window will be soon destroyed!")
27 sleep(delay)
28
29 # Destroy the view
30 print "Destroy the view..."
31 myViewManager.Destroy(myTempView)
32 sleep(delay)
33
34 # Import a MED file 
35 medFile = os.path.join(datadir,"MedFiles","fra.med")
36 myResult = myVisu.ImportFile(medFile)
37
38 # Create a scalar map
39 meshName = 'LE VOLUME'
40 fieldEntity = VISU.NODE
41 fieldName = 'VITESSE'
42 timestampId = 1
43 myScalarMap = myVisu.ScalarMapOnField(myResult, meshName, fieldEntity, fieldName, timestampId)
44
45 # Create a new 3D view
46 print "Create a new 3D view..."
47 myView = myViewManager.Create3DView()
48
49 # Set the background
50 print "Set a blue background..."
51 bgColor = SALOMEDS.Color(0.0, 0.3, 1.0)
52 myView.SetBackground(bgColor)
53 myView.Update()
54 sleep(delay)
55
56 # Display the newly created scalar map
57 print "Display the scalar map..."
58 myView.Display(myScalarMap)
59 sleep(delay)
60
61 # Fit all
62 print "Fit all..."
63 myView.FitAll()
64 sleep(delay)
65
66 # Set the point of sight of the camera
67 print "Set the point of sight of the camera..."
68 myView.SetFocalPoint([1,5,10])
69 myView.Update()
70 sleep(delay)
71
72 # Fit all
73 print "Fit all..."
74 myView.FitAll()
75 sleep(delay)
76
77 # Change the scalar map range
78 print "Change the scalar map range..."
79 myScalarMap.SetRange(0.2, 0.9)
80 sleep(delay)
81
82 # Update the view
83 print "Update the view..."
84 myView.Update()
85 sleep(delay)
86
87 # Scale the view
88 print "Scale the view..."
89 myView.ScaleView(VISU.View3D.YAxis,10.0)
90 myView.ScaleView(VISU.View3D.XAxis,3.0)
91 myView.Update()
92 sleep(delay)
93
94 # Set the camera position in 3D space
95 print "Set the the camera position in 3D space..."
96 myView.SetPointOfView([0.01, 0.05, 0.03])
97 myView.Update()
98 sleep(delay)
99
100 # Fit all
101 print "Fit all..."
102 myView.FitAll()
103 sleep(delay)
104
105 # Store view parameters
106 stateName = "State1"
107 myView.SaveViewParams(stateName)
108
109 # Remove scale
110 print "Remove scale..."
111 myView.RemoveScale()
112 sleep(delay)
113
114 # Change the background
115 print "Set a dark background..."
116 bgColor = SALOMEDS.Color(0.0, 0.1, 0.2)
117 myView.SetBackground(bgColor)
118 sleep(delay)
119
120 # Update the view
121 print "Update the view..."
122 myView.Update()
123 sleep(delay)
124
125 # Set the top view
126 print "Set the top view..."
127 myView.SetView(VISU.View3D.TOP)
128 sleep(delay)
129
130 # Zooming out
131 print "Zooming out..."
132 aScale = myView.GetParallelScale()
133 for i in range(0,50) :
134     aScale = aScale + 0.05
135     myView.SetParallelScale(aScale)
136     myView.Update()
137     
138 sleep(delay)
139
140 # Zooming in
141 print "Zooming in..."
142 for i in range(0,75) :
143     aScale = aScale - 0.05
144     myView.SetParallelScale(aScale)
145     myView.Update()
146     
147 sleep(delay)
148
149 # Set the vertical line of the camera in 3D space
150 print "Set the vertical line of the camera in 3D space..."
151 aViewUp = myView.GetViewUp()
152 for i in range(0,40) :
153     aViewUp[0] = aViewUp[0] + 0.1
154     myView.SetViewUp(aViewUp) 
155     myView.Update()
156
157 sleep(delay)
158
159 # Rotating Y
160 print "Rotating Y..."
161 aPoint = myView.GetPointOfView()
162 for i in range(0,150) :
163     aPoint[1] = aPoint[1] + 1
164     myView.SetPointOfView(aPoint) 
165     myView.Update()
166
167 sleep(delay)
168
169 # Restore view parameters
170 print "Restore view parameters..."
171 myView.RestoreViewParams(stateName)
172 sleep(delay)
173
174 # Change presentation parameters:
175
176 # Make the scalar map shrinked
177 print "Make the scalar map shrinked..."
178 myView.SetShrinked(myScalarMap, True)
179 sleep(delay)
180
181 # Set the presentation type
182 print "Set the presentation type to SURFACEFRAME..."
183 myView.SetPresentationType(myScalarMap, VISU.SURFACEFRAME)
184 sleep(delay)
185
186 print "Set the presentation type to FEATURE_EDGES..."
187 myView.SetPresentationType(myScalarMap, VISU.FEATURE_EDGES)
188 sleep(delay)
189
190 # Update the object browser
191 salome.sg.updateObjBrowser(1)
192 \endcode
193
194 <br>Please, see \ref VISU.View3D "View3D interface reference documentation" 
195 for more details.
196
197 */