Salome HOME
Fix misprint in the documentation
[modules/gui.git] / doc / salome / gui / input / occ_3d_viewer.rst
1 .. _occ_3d_viewer_page: 
2
3 *************
4 OCC 3D Viewer
5 *************
6
7 Operations
8 ##########
9
10 The functionalities of OCC viewer are available via its Viewer
11 Toolbar. Buttons marked with small downward triangles have extended
12 functionality which can be accessed by locking on them with left mouse
13 button.
14
15 .. image:: ../images/occviewer_toolbar.png
16         :align: center
17
18 ____
19
20 .. image:: ../../../../src/OCCViewer/resources/occ_view_camera_dump.png
21         :align: center
22
23 **Dump View** - exports an object from the viewer in bmp, png, jpeg or another image format.
24
25 ____
26
27 .. image:: ../../../../src/OCCViewer/resources/occ_view_style_switch.png
28         :align: center
29
30 **Interaction style switch** - allows to switch between standard
31 and "keyboard free" interaction styles. "Keyboard free" style allows
32 to process all view transformations without using keyboard (only by
33 mouse). By default, rotation in this mode is performed by left mouse
34 button, panning - by middle mouse button, zooming - by right mouse 
35 button. Selection in view by pressing "s" key works in both
36 styles.
37
38 ____
39
40 .. image:: ../../../../src/OCCViewer/resources/occ_view_zooming_style_switch.png
41         :align: center
42
43 **Zooming style switch** - allows to switch between standard
44 (zooming at the center of the view) and advanced (zooming at the
45 current cursor position) zooming styles.
46
47 ____
48
49 .. image:: ../../../../src/OCCViewer/resources/occ_view_triedre.png
50         :align: center
51
52 **Show/Hide Trihedron** - shows or hides coordinate axes.
53
54 ____
55
56 .. image:: ../../../../src/OCCViewer/resources/occ_view_preselection.png
57         :align: center
58
59 **Enable/Disable preselection** - enables or disables preselection (highlighting) in the view.
60
61 ____
62
63 .. image:: ../../../../src/OCCViewer/resources/occ_view_selection.png
64         :align: center
65
66 **Enable/Disable selection** - enables or disables selection in the view.
67
68 ____
69
70 .. image:: ../../../../src/OCCViewer/resources/occ_view_rect_style.png
71         :align: center
72
73 **Advanced selection by polygon** - enables advanced selection by polygon.
74
75 ____
76
77 .. image:: ../../../../src/OCCViewer/resources/occ_view_circle_style.png
78         :align: center
79
80 **Advanced selection by cyrcle** - enables advanced selection by circle.
81
82 ____
83
84 .. image:: ../../../../src/OCCViewer/resources/occ_view_fitall.png
85         :align: center
86
87 **Fit all** - represents all displayed objects in the
88 visible area.
89
90 ____
91
92 .. image:: ../../../../src/OCCViewer/resources/occ_view_fitarea.png
93         :align: center
94
95 **Fit area** - resizes the view to place in the visible area only
96 the contents of a frame drawn with pressed left mouse button.
97
98 ____
99
100 .. image:: ../../../../src/OCCViewer/resources/occ_view_fitselection.png
101         :align: center
102
103 **Fit selection** - fits view contents to the current selection.
104
105 ____
106
107 .. image:: ../../../../src/OCCViewer/resources/occ_view_zoom.png
108         :align: center
109
110 **Zoom** - allows to zoom in and out.
111
112 ____
113
114 .. image:: ../../../../src/OCCViewer/resources/occ_view_pan.png
115         :align: center
116
117 **Panning** - if the represented objects are greater that the
118 visible area and you don't wish to use **Fit all** functionality,
119 click on this button and you'll be able to drag the scene to see its
120 remote parts.
121
122 ____
123
124 .. image:: ../../../../src/OCCViewer/resources/occ_view_glpan.png
125         :align: center
126
127 **Global panning** - allows to select a point to be the center of a scene
128 representing all displayed objects in the visible area.
129
130 ____
131
132 .. image:: ../../../../src/OCCViewer/resources/occ_view_rotation_point.png
133         :align: center
134
135 **Change rotation point** - allows to choose the point around
136 which the rotation is performed.
137
138 .. image:: ../images/set_rotation_point_dialog1.png
139         :align: center
140
141 By default the rotation point is located in the Center of the bounding
142 box of represented objects.
143
144 .. image:: ../images/set_rotation_point_dialog2.png
145         :align: center
146
147 Unchecking **Use Bounding Box Center** check-box allows you to
148 change rotation point:
149
150 - **Set to Origin** button sets the rotation point to origin of coordinates: (0, 0, 0).
151 - **Gravity Center of Selected Object** button allows using the gravity center of the object selected in the viewer as the center of the rotation point. When you click this button, you should first choose the type of selectable object: Point, Edge, Face or Solid and only then proceed with selection in the viewer.
152 - Also you can define the coordinates of the rotation point manually.
153
154 ____
155
156 .. image:: ../../../../src/OCCViewer/resources/occ_view_rotate.png
157         :align: center
158
159 **Rotation** - allows to rotate the scene using the mouse.
160
161 ____
162
163 .. image:: ../../../../src/OCCViewer/resources/occ_view_front.png
164         :align: center
165
166 .. image:: ../../../../src/OCCViewer/resources/occ_view_back.png
167         :align: center
168
169 .. image:: ../../../../src/OCCViewer/resources/occ_view_top.png
170         :align: center
171
172 .. image:: ../../../../src/OCCViewer/resources/occ_view_bottom.png
173         :align: center
174
175 .. image:: ../../../../src/OCCViewer/resources/occ_view_left.png
176         :align: center
177
178 .. image:: ../../../../src/OCCViewer/resources/occ_view_right.png
179         :align: center
180
181 These buttons orientate the scene strictly about coordinate axes:
182 **Front**, **Back**, **Top**, **Bottom**, **Left** or **Right** side.
183
184 ____
185
186 .. image:: ../../../../src/OCCViewer/resources/occ_view_anticlockwise.png
187         :align: center
188
189 **Rotate counterclockwise** - rotates view 90 @htmlonly ° @endhtmlonly counterclockwise.
190
191 ____
192
193 .. image:: ../../../../src/OCCViewer/resources/occ_view_clockwise.png
194         :align: center
195
196 **Rotate clockwise** - rotates view 90 @htmlonly ° @endhtmlonly clockwise.
197
198 ____
199
200 .. image:: ../../../../src/OCCViewer/resources/occ_view_orthographic.png
201         :align: center
202
203 **Ortographic projection** - default OCC viewer projection mode.
204
205 ____
206
207 .. image:: ../../../../src/OCCViewer/resources/occ_view_perspective.png
208         :align: center
209
210 **Perspective projection** - perspective OCC viewer projection mode.
211
212 ____
213
214 .. image:: ../../../../src/OCCViewer/resources/occ_view_stereo.png
215         :align: center
216
217 **Stereo projection** - stereoscopic rendering of the view.
218 .. note:: Activation of this mode also switches the view to perpective projection in case if the orthographic one has been active.
219 .. note:: By default, quad-buffered stereo is activated, if it is supported by the graphic card. If no stereo capabilities are available, an error message is shown.
220 .. note:: The stereoscopic view settings can be defined in :ref:`occ_preferences` preferences.
221
222 ____
223
224 .. image:: ../../../../src/OCCViewer/resources/occ_view_reset.png
225         :align: center
226
227 **Reset** - restores the default position (isometric) of objects in
228 the scene.
229
230 ____
231
232 .. image:: ../../../../src/OCCViewer/resources/occ_view_shoot.png
233         :align: center
234
235 **Memorize view** - saves the current position of objects in the
236 scene.
237
238 ____
239
240 .. image:: ../../../../src/OCCViewer/resources/occ_view_presets.png
241         :align: center
242
243 **Restore view** - restores the saved position of objects in the
244 scene.
245
246 ____
247
248 .. image:: ../../../../src/OCCViewer/resources/occ_view_clone.png
249         :align: center
250
251 **Clone view** - opens a new duplicate scene.
252
253 ____
254
255 .. _clipping_planes:
256
257 Clipping Planes
258 ###############
259
260 **Clipping** allows creating cross-section views (clipping planes)
261 of your mesh.
262
263 To create a clipping plane, click on the **New** button in the dialog and choose how it will be defined by **Absolute** or **Relative** coordinates.
264
265 **Absolute Coordinates**
266
267 .. image:: ../images/Clipping_Absolute.png
268         :align: center
269
270 - **Base point** - allows defining the coordinates of the base point for the clipping plane.
271
272   - **Reset** - returns the base point to coordinate origin.
273
274 - **Direction** - allows defining the orientation of the clipping plane.
275
276         - **Invert** - allows selecting, which part of the object will be removed and which will remain after clipping.
277
278     
279 **Relative mode**  
280
281 .. image:: ../images/Clipping_Relative.png
282         :align: center
283
284 - **Orientation** ( ||X-Y, ||X-Z or ||Y-Z).
285
286 - **Distance** between the opposite extremities of the boundary box of represented objects, if it is set to 0.5 the boundary box is split in two halves.
287
288 - **Rotation** (in angle degrees) **around X** (Y to Z) and **around Y** (X to Z) (depending on the chosen Orientation)
289
290 The other parameters are available in both modes : 
291
292 - **Active** checkbox is used to apply/erase current plane and it's affect to/from view.
293 - **Delete** removes the active clipping plane and discards it's view changes.
294 - **Disable all** deactivates all created clipping planes and clears **Auto Apply** checkbox.
295 - **Preview** check-box shows the clipping plane in the **3D Viewer**.
296 - **Auto Apply** check-box allows you to see the result of clipping in the **3D Viewer** immediately. Be careful, it is not a preview 2and Close button could not cancel the applied modifications.
297
298 It is also possible to interact with the clipping plane directly in 3D 
299 view using the mouse. 
300
301 ____
302
303 .. image:: ../../../../src/OCCViewer/resources/occ_view_scaling.png
304         :align: center
305
306 **Scaling** - represents objects deformed (stretched or stuffed)
307 along the axes of coordinates.
308
309 ____
310
311 .. image:: ../../../../src/OCCViewer/resources/occ_view_graduated_axes.png
312         :align: center
313
314 **Graduated axes** - allows to define axes parameters and graduate
315 them.
316
317 .. image:: ../images/graduatedaxes2.png
318         :align: center
319
320 - **Axis name** - if checked the axis name is displayed in the viewer.
321
322   - **Name** - allows to redefine the axis name.
323
324   - **Font** - allows to define the font color of the axis name.
325
326 - **Labels** - if checked the labels are displayed in the viewer.
327
328   - **Number** - allows to define the number of labels.
329
330   - **Offset** - allows to define the distance between axis and labels.
331
332   - **Font** - allows to define the font color of labels names.
333
334 - **Tick marks** - if checked the tick marks are displayed in the viewer.
335
336   - **Length** - allows to define the length of tick marks.
337
338 - **Is visible** - if checked the graduated axes are displayed in the viewer.
339
340 ____
341
342 .. image:: ../../../../src/OCCViewer/resources/occ_view_ambient.png
343         :align: center
344
345 **Toggle ambient light** - toggle "keep only ambient light" flag
346 on/off.
347
348 ____
349
350 .. image:: ../../../../src/OCCViewer/resources/occ_view_minimized.png
351         :align: center
352
353 |
354
355 .. image:: ../../../../src/OCCViewer/resources/occ_view_maximized.png
356         :align: center
357
358 **Minimize/Maximize** - these buttons allow switching the current
359 view area to the minimized / maximized state.
360
361 ____
362
363 .. image:: ../../../../src/OCCViewer/resources/occ_view_return_3d_view.png
364         :align: center
365
366 **Return to 3D** - this button switches from 2D view projection back to the 3D view mode.
367
368 ____
369
370 .. image:: ../images/occ_view_sync.png
371         :align: center
372
373 **Synchronize view** - allows to synchronize 3d view
374 parameters. This button has two states - checked and
375 unchecked. Clicking on this button opens a drop-down menu listing the
376 compatible 3d views. As soon as the user selects any view from the
377 list, the parameters (view point, position, zoom coefficient, etc.) of
378 the current view are synchronized with the selected view (static
379 synchronization).
380
381 In addition, when this button is in the "checked" state, the dynamic
382 synchronization of the views is performed, i.e. any zoom, pan, rotate
383 or other view operation done in one view is automatically applied to
384 the other view.
385
386 ____
387
388 .. image:: ../../../../src/OCCViewer/resources/occ_view_ray_tracing.png
389         :align: center
390
391 .. _ray_tracing:
392
393 Ray tracing
394 ===========
395
396 **Ray tracing** - allows to switch between rendering methods in run-time 
397 in the current OCCT 3D view. It can be used to produce images with photorealistic quality.
398
399 .. image:: ../images/doc_ray_tracing.png
400         :align: center
401
402 - **Ray tracing** - specifies rendering mode: OpenGL rasterization (by default) or GPU ray-tracing.
403
404   - **Depth** - defines maximum ray-tracing depth.
405   
406   - **Specular reflections** - enables/disables specular reflections.
407   
408   - **Adaptive anti-aliasing** - enables/disables adaptive anti-aliasing.
409     
410   - **Shadows rendering** - enables/disables shadows rendering.
411   
412   - **Transparent shadow** - enables/disables light propagation through transparent media.
413   
414 ____
415
416 .. image:: ../../../../src/OCCViewer/resources/occ_view_env_texture.png
417         :align: center
418
419 .. _env_texture:
420
421 Environment texture
422 ###################
423
424 **Environment texture** - allows to set parameters for environment texture.
425 This is a special mode of texture mapping when specular reflection of environment texture 
426 is simulated by OpenGL using a special texture coordinates generation algorithm (a sphere map).
427
428 .. image:: ../images/doc_env_texture.png
429         :align: center
430
431 - **Environment texture** - enables/disables environment texture in the current OCCT 3D view.
432
433 User can select one of 7 predefined environment texture from the list or define its texture from file by 
434 choosing item **"Custom..."** in a combo box.
435
436 .. note:: 
437         Environment texture file should normally satisfy the following requirements in order to produce good visual result:
438                 * The image file should have 2:1 width-to-height ratio.
439                 * It should constitute a 360-degrees panoramic image created using a fish-eye lens. 
440
441 ____
442
443 .. image:: ../../../../src/OCCViewer/resources/occ_view_light_source.png
444         :align: center
445
446 .. _light_source:
447
448 Light source
449 ============
450
451 **Light source** - allows to set parameters for light source.
452
453 It's possible to choose a type of light source between directional and positional light.
454
455 .. image:: ../images/doc_dir_light_source.png
456         :align: center
457
458 **Directional** light - creates a directional light source in the viewer.
459 It is defined by direction coordinates, color and headlight parameter.
460
461 .. image:: ../images/doc_pos_light_source.png
462         :align: center
463
464 **Positional** light - creates an isolated light source X,Y,Z in the viewer. 
465 It is also defined by the color and headlight parameter.
466
467 Click:
468
469 - **Apply and Close** to apply defined light source to the OCC 3D Viewer.
470
471 - **Default** to restore default values of light source.
472
473 - **Close** to return parameters of light source on initial values.
474
475
476