/*!
-\page common_functionality_page Common functionality
+\page common_functionality_page Functionality common for OCC and VTK viewers
\anchor viewer_background
<h2>Background</h2>
The following types of the background are supported:
-- Single color: the background is colored with the solid color
+- <b> Single color: </b> the background is colored with the solid color
specified by the user in the dialog box.
-- Gradient background: the background is gradiently colored according
+- <b> Gradient background: </b> the background is gradiently colored according
to two colors and the gradient type specified in the dialog box. The
following types of background are supported:
- Fourth corner
-- Image: allows to set image as viewer background and define filling type:
+- \b Image: allows to set image as viewer background and define filling type:
- - Center: the image is located at the center of the viewer backgound
+ - \b Center: the image is located at the center of the viewer backgound
- - Tile: the image fills the entire viewer backgound one by one
+ - \b Tile: the image fills the entire viewer backgound one by one
- - Stretch: the image is stretched to the entire viewer backgound.
+ - \b Stretch: the image is stretched to the entire viewer backgound.
Default background for the OCC viewer is specified via the
\ref occ_preferences "OCC 3D Viewer Preferences" and for the
<h2>Selection</h2>
-For selecting it is necessary to click by left mouse button on the required
-element. Thus, this element will be selected.
+An element can be selected by clicking on it with the left mouse button.
+Selecting objects with locked <b>Shift</b> key produces a multi selection.
-Also, holding down the <b>Shift</b> key while selecting objects will
-produce multi selection.
-
-In the viewers there are two mechanism for selecting: rectangle and
+In the viewers there are two selection mechanisms: rectangle and
polyline selection.
<h3>Rectangle selection</h3>
-The Rectangle Selection tool is designed to select rectangular regions:
-it is the most basic of the selection tools and very commonly used.
+Rectangle Selection is the basic and commonly used selection tool.
-For selecting area by rectangle press left mouse button and draw it on
-the viewer holding down the left mouse button.
-
-To add an area to the existing selection it is necessary to hold down
-<b>Shift</b> key while selecting.
+To select a rectangle area press and hold the left mouse button while drawing the diagonal of the selection rectangle in the viewer.
\image html rectselectionvtk.png
-As a result, only a rectangle is selected.
+
+As a result, the objects within the rectangle are selected.
+
\image html rectselectionvtk2.png
+
+\note It is possible to add an area to the existing selection by holding down
+<b>Shift</b> key while selecting.
+
+
<h3>Polyline selection</h3>
-OCC and VTK Viewers features a special Polyline Selection mechanism,
-which allows selecting an arbitraty part of the graphic area using a
+OCC and VTK Viewers feature a special Polyline Selection mechanism,
+which allows selecting an arbitrary part of the graphic area using a
polygon frame (rubber band), instead of the usual selection with a
rectangular frame.
-To produce a Polyline Selection, lock the right mouse button and draw
-the first side of the polygon, then change the direction by clicking
-the left mouse button add draw another side, etc. The whole selection
-frame is drawn with the locked right mouse button.
+To produce a Polyline Selection, press and hold the right mouse button and draw
+the first side of the selection polygon, then change the direction by clicking
+the left mouse button add draw another side, etc.
+
+\image html polyselectionvtk11.png
+
+As a result, the objects within the polygon are selected.
+
+\image html polyselectionvtk21.png
To add an area to the existing selection it is necessary to hold down
<b>Shift</b> key while selecting.
-\image html polyselectionvtk11.png
-As a result, only the faces within the frame are selected.
-\image html polyselectionvtk21.png
<hr>
- <b>Salome standard controls</b>
- Rectangle selection in this mode is performed by left mouse button,
- polyline selection is done by right mouse button;
+ Rectangle selection in this mode is performed by the left mouse button
+ and polyline selection by the right mouse button;
multiple selection is available when \b Shift button is pressed.
- Also, holding \b Ctrl key pressed in conjunction with
- mouse buttons performs view transformations:
+ Also, holding \b Ctrl key with pressed mouse buttons performs the following view transformations:
- \b Ctrl + left mouse button - zooming;
- \b Ctrl + middle mouse button - panning;
- \b Ctrl + right mouse button - rotation.
- <b>Keyboard free style</b>
- This mode allows to process all view transformations without using
- keyboard (only by mouse):
+ This mode allows performing all view transformations without using the
+ keyboard (only by the mouse):
- \b Left mouse button performs view rotation;
- \b Middle mouse button performs panning;
- \b Right mouse button makes zooming.
- .
-
- In this style selection of objects in view is performed by pressing
- "S" key or by left mouse button click. Rectangle selection is done
- by left mouse button when holding \b Ctrl key; polyline selection
- is done by right mouse button with \b Ctrl key pressed.
+ .
+ In this style selection of objects in the viewer is performed by pressing
+ "S" key or by the left mouse button click. Rectangle selection is done
+ by the left mouse button with \b Ctrl key pressed; polyline selection
+ is done by the right mouse button with \b Ctrl key pressed.
*/
\image html occ_view_preselection.png
-<b>Enable/Disable preselection</b> - enables or disables preselection in the view.
+<b>Enable/Disable preselection</b> - enables or disables preselection (highlighting) in the view.
<hr>
\image html occ_view_selection.png
<hr>
\anchor clipping_planes
-\image html occ_view_clipping.png
-<b>Clipping</b> - allows to create cross-section views (clipping
-planes) of geometrical objects.
+\b Clipping allows creating cross-section views (clipping planes)
+of your mesh.
-To start, click on the \em New button.
+To create a clipping plane, click on the \b New button in the dialog and choose how it is definition by \b Absolute or \b Relative coordinates.
-Now you must specify what mode of creating plane you want to choose:
-absolute or relative.
-
-<b>Absolute mode</b>
+<b>Absolute Coordinates</b>
\image html Clipping_Absolute.png
-- <b>Base point</b> - allows to define the coordinates of the base
+- <b>Base point</b> - allows defining the coordinates of the base
point for the clipping plane.
- <b>Reset</b> - returns the base point to coordinate origin.
-- <b>Direction</b> - allows to define the orientation of the
+- <b>Direction</b> - allows defining the orientation of the
clipping plane.
- - <b>Invert</b> - allows to select which part of the object will be
+ - <b>Invert</b> - allows selecting, which part of the object will be
removed and which will remain after clipping.
<b>Relative mode</b>
\image html Clipping_Relative.png
- \b Orientation ( ||X-Y, ||X-Z or ||Y-Z).
+
- \b Distance between the opposite extremities of the boundary box of
selected objects, if it is set to 0.5 the boundary box is split in two halves.
+
- \b Rotation (in angle degrees) <b>around X</b> (Y to Z) and <b>around
Y</b> (X to Z) (depending on the chosen Orientation)
+The other parameters are available in both modes :
+- <b>Preview</b> check-box shows the clipping plane in the <b>3D Viewer</b>.
+- <b>Auto Apply</b> check-box shows button is on, you can preview the
+cross-section in the <b>3D Viewer</b>.
-If the <b>Show preview</b> button is on, you can see the clipping plane
-in the viewer.
-
-If the <b>Auto Apply</b> button is on, you can preview the
-cross-section in the viewer.
+It is also possible to interact with the clipping plane directly in 3D
+view using the mouse.
<hr>
the other view.
<hr>
-\anchor occ_background
-<h2>Background</h2>
-
-OCC Viewer background can be customized using the "Change background"
-popup menu command that opens the following dialog box:
-
-\image html change_background_dlg.png
-
-The following types of the background are supported:
-
-- Single color: the background is colored with the solid color
- specified by the user in the dialog box.
-
-- Gradient background: the background is gradiently colored according
- to two colors and the gradient type specified in the dialog box. The
- following types of background are supported:
-
- - Horizontal
-
- - Vertical
-
- - First diagonal
-
- - Second diagonal
-
- - First corner
-
- - Second corner
-
- - Third corner
-
- - Fourth corner
-
-- Image: allows to set image as viewer background and define filling type:
-
- - Center: the image is located at the center of the viewer backgound
-
- - Tile: the image fills the entire viewer backgound one by one
-
- - Stretch: the image is stretched to the entire viewer backgound.
-
-Default background for the viewer is specified via the
-\ref occ_preferences "application preferences".
-
-<h2>Polyline selection</h2>
-
-OCC Viewer features a special <b>Polyline Selection</b> mechanism,
-which allows selecting an arbitraty part of the graphic area using a
-polygon frame (rubber band), instead of the usual selection with a
-rectangular frame.
-
-To produce a Polyline Selection, lock the right mouse button and draw
-the first side of the polygon, then change the direction by clicking
-the left mouse button add draw another side, etc. The whole selection
-frame is drawn with the locked right mouse button.
-
-\image html polyselection1.png
-
-As a result, only the nodes within the frame are selected.
-
-\image html polyselection2.png
*/
etc. Third party modules optionally can have GUI, but in any case they always connected with KERNEL.
<li>\b Geometry : facilitates construction and optimization of geometrical models using a wide range of CAD functions.
<li>\b Mesh : generates meshes on geometrical models previously created or imported by the Geometry component.
-<li>\b Post-Pro : performs data visualization and post-processing.
+<li>\b ParaVis : performs data visualization and post-processing.
<li>\b MED : allows to work with MED files.
</ul>
-All software components (Post-Pro, Geometry, Mesh...) integrated into
+All software components (Geometry, Mesh...) integrated into
\b SALOME platform implement predefined interfaces. Each component
provides data for the \b SALOME study in a form of links (stored in
the Study) to the specific data created and stored in the
\page salome_desktop_page SALOME desktop
<b>Multi-Desktop Approach</b> used in Salome means that there is a separate Desktop
-for each Study and all windows connected to one Study (viewers, dockable
-windows etc) are placed in one container.
+for each Study and all windows connected to the same Study (viewers, dockable
+windows, etc.) are placed in one container.
This approach positively differs from the classic multi document interface
if many windows are used, i.e. when one document contains a lot of
viewers, dialogs, etc. Each desktop also has its own menu and toolbar.
-The main SALOME Desktop consists of the following sections and
-toolbars:
+The main SALOME Desktop consists of the following sections and toolbars:
\image html desktop.png
<ul>
<li><b>Main menu</b> - This is a set of context-sensitive menus, which will
be updated according to the functionality of the currently active component. In
-general, these menus contain all functional options of SALOME
-platform.</li>
-<li><b>Standard toolbar</b> - This toolbar contains standard actions
+general, these menus contain all functional options of SALOME platform.</li>
+<li><b>Standard toolbar</b> - contains standard actions
that allow creating new or opening existing study, saving study, deleting
objects etc.</li>
-<li><b>Components toolbar</b> - This toolbar allows activating
+<li><b>Components toolbar</b> - allows activating
components in SALOME platform.</li>
-<li><b>Module toolbars</b> - These toolbars contain actions specific to the
+<li><b>Module toolbars</b> - contains actions specific to the
currently active module.</li>
-<li><b>Viewer toolbar</b> - This is a set of tools destined for visualization
+<li><b>Viewer toolbar</b> - provides a set of tools destined for visualization
of the presentations in the viewer.</li>
</ul>
- All toolbars in the
-\b SALOME Platform are context-sensitive. Loading of a definite component
-(Geometry, Post-Pro, Mesh etc.) will automatically add some additional
-toolbars specific to this component. To display/hide a definite
-toolbar, in the main menu choose <b>View > Toolbars</b>, and from this
-submenu check or uncheck the toolbar, you would like to display/hide.
+All toolbars in the \b SALOME Platform are context-sensitive. Loading of a definite component
+(Geometry, Mesh etc.) will automatically add some additional
+toolbars specific to this component. To display/hide a toolbar, in the main menu choose <b>View > Toolbars</b>, and from this submenu check or uncheck the toolbar that you would like to display/hide.
- By default all
-toolbars are located on the top of the SALOME desktop. But you can
-relocate toolbars by dragging with the mouse and dropping it in any
-place of the window.
+By default all toolbars are located on top of the SALOME desktop, but you can relocate a toolbar by dragging it with the mouse and dropping in any place of the window.
<b>Parts of the study window:</b>
<ul>
<b>Copy/Paste/SelectAll/ClearAll</b> options.</li>
</ul>
- Object Browser, Python
-Console, MenuBar, etc are, in fact, separate dockable windows.
+Object Browser, Python Console, MenuBar, etc are, in fact, separate dockable windows.
Dockable windows can be placed in special areas, on the borders of
desktop like toolbars. You can change the size and the position of
dockable windows, hide them or even place outside desktop. SALOME
necessary for working, and only they will be displayed when this
module is active.
-All parts of Salome desktop and study window can be managed through \b
-View menu.
+All parts of Salome desktop and study window can be managed through \b View menu.
\image html viewmenu.png
<li>\b Windows - allows to show and hide dockable windows, such as
Object Browser and Python Console</li>
<li><b> Status Bar </b> allows showing and hiding the Status Bar.</li>
-<li>\ref themes_page "Theme" - allows to select and edit the style (colors and fonts) for
-Salome session.</li>
+<li>\ref themes_page "Theme" - allows to select and edit the style (colors and fonts) for Salome session.</li>
</ul>
-If there are several viewer windows in your current study and
-you want to display more then one at the same time, you can use the
-functionalities provided by the \b Window menu.
+If there are several viewer windows in your current study and you want to display more then one at the same time, you can use the functionalities provided by the \b Window menu.
\image html windowmenu.png
<ul>
-<li><b>New window </b> - allows to open a new instance of any
-viewer.</li>
+<li><b>New window </b> - allows to open a new instance of any viewer.</li>
<li><b>Close</b> - closes the currently active viewer window.</li>
<li><b>Close all</b> - closes all viewer windows.</li>
<li><b>Group all</b> - arranges all created viewer windows on the same desktop</li>
-<li><b>Arrange Views</b> - choice of split scheme and list of used views.
+<li><b>Arrange Views</b> - allows choosing the necessary views and their layout.
+
\image html arrange_views_dlg.png
-- <b>Views Layout</b>
-
- - Three radio-buttons to specify numbers of the views to arrange (2, 3 or 4).
-
- - Buttons (depending on the chosen number of views) with images to specify
- view layout.
-
- - Buttons "Previous" and "Next" for possibility to change split schemas.
-
-- <b>Views List</b>
-
- - The list of opened view windows - the user have to select corresponding
- views to be arranged.
-
- - Two radio-buttons that specify an action to be applied to the remaining views.
-
- - "Close the remaining views" - all remaining views will be closed.
-
- - "Stack the remaining views" - all remaining views will be stacker to the
- last tab area.
+- The radio-buttons in <b>Views Layout</b> section allow choosing the number of views to be arranged (2, 3 or 4). The buttons with images allow choosing the view layout (depending on the chosen number of views).
+- <b>Views List</b> contains the list of opened view windows, where it is possible to check in the necessary views.
+- <b>Close the remaining views</b> check-box allows closing all non-selected views.
+- <b>Stack the remaining views</b> check-box allows stacking all non-selected views in the last tab area.
-<li><b>Split Vertically</b> and <b>Split Horizontally</b> allows to split
-the representation area into two parts, in horizontal or vertical
-direction.</li>
-<li>List of all opened viewer windows provides fast access to
-them.</li>
-<li>\b Rename - allows to rename the currently selected viewer
-window. </li>
+<li><b>Split Vertically</b> and <b>Split Horizontally</b> allow splitting
+the representation area into two parts, in horizontal or vertical direction.</li>
+<li>List of all opened viewer windows provides fast access to them.</li>
+<li>\b Rename - allows renaming the currently selected viewer window. </li>
</ul>
\image html objectbrowser2.png
-<ul>
-<li>\b Entry - Identification index of the object in the structure of
-the study</li>
-<li>\b IOR - Interoperable Object Reference</li>
-<li><b>Reference entry</b> - Identification index of the references
-to the objects</li>
-<li>\b Value - Displays the value of the first object attribute</li>
-</ul>
+- \b Name;
+- \b Entry - Identification index of the object in the structure of the study;
+- \b IOR - Interoperable Object Reference;
+- <b>Reference entry</b> - Identification index of the references to the objects;
+- \b Value - Displays the value of the first object attribute.
\note <b>Entry, IOR and Reference entry</b> attributes are displayed for debugging purposes only.
-<h2> Enable sorting </h2>
+<h2> Sorting </h2>
By default the objects in the object browser are sorted in the creation order.
\n
-However, it is possible to enable sorting
-in the alphabetical order (or the reverse alphabetical order) by right
-clicking in the header of the tree (near the "Name" field) and
-checking "enable sorting" in the popup menu.
+However, it is possible to enable sorting in the alphabetical order (or the reverse alphabetical order) by right clicking in the header of the tree (near the \b Name field) and checking "enable sorting" in the context menu.
\n
It is possible to use the arrow near "Name" to reverse the order.
If "enable sorting" is unchecked, the objects are sorted in the default order again.
\page viewers_page Viewers
-SALOME provides a set of viewers for data representation. SALOME GUI
-module includes several 2D and 3D viewers, that are used for
+
+
+SALOME GUI module includes several 2D and 3D viewers, that are used for
different purposes within the platform:
- \subpage occ_3d_viewer_page has been developed on
the basis of Open CASCADE Technology (http://www.opencascade.org).
-This is the default viewer for SALOME Geometry module, it provids good
+This is the default viewer for SALOME Geometry module, it provides good
representation of construction and transformation of geometrical objects.
- \subpage vtk_3d_viewer_page has been developed
basing on Kitware Visualization ToolKit library (http://www.vtk.org).
This is the default viewer for SALOME Mesh module, where it is used
-for visualization of meshes. It is also used in SALOME Post-Pro module
-for all 3D presentations.
+for visualization of meshes.
+
+OCC and VTK 3d viewers share some \subpage common_functionality_page "common functionality".
- \subpage plot2d_viewer_page has been developed
basing on the open-source Qwt library (http://qwt.sourceforge.net).
-It is used, for example, for the representation of 2D plots and graphs
-in the SALOME Post-Pro module.
+It can be used, for example, for the representation of 2D plots and graphs.
- \subpage gl_2d_viewer_page is a general purpose
OpenGL-based viewer, which can be used for visualization of 2D
developed on the basis of Qt QGraphicsView scene. This viewer is used
in SALOME YACS module for visualization of computation schemes.
-- \subpage common_functionality_page used in OCC and VTK 3d viewers.
+
*/
The functionalities of VTK viewer are available via its Viewer
Toolbar. Buttons marked with small downward triangles have extended
-functionality which can be accessed by locking on them with left mouse
+functionality, which can be accessed by locking on them with left mouse
button.
\image html vtkviewer_toolbar.png
\image html vtk_view_camera_dump.png
-<b>Dump View</b> - exports an object from the viewer in bmp, png or
-jpeg image format.
+<b>Dump View</b> - exports an object from the viewer in bmp, png or jpeg image format.
<hr>
\image html vtk_view_style_switch.png
\image html vtk_view_highlight.png
-These buttons allow to switch between three pre-selection modes.
-Possible choices:
-- <b>Standard preselection mode</b> - pre-selection is enabled in a standard mode;
-- <b>Dynamic preselection mode</b> - when the dynamic pre-selection is chosen,
-an objects can be selected by clicking the point/cell belonging to
-this object, with some performance loss. Switch dynamic pre-selection
-off to have a good performance on big objects (for example, huge meshes);
-- <b>Disable preselection</b> - pre-selection is disabled.
+These buttons allow switching between three pre-selection (highlighting) modes:
+- <b>Static pre-selection mode</b> - pre-selection is done in terms of bounding boxes;
+- <b>Dynamic pre-selection mode</b> - pre-selection is done in terms of cells, i.e. an object can be selected by clicking the point/cell belonging to this object. This mode causes some performance loss. It is advisable to switch dynamic pre-selection off to have a good performance on big objects (for example, huge meshes);
+- <b>Disable pre-selection</b> - pre-selection is disabled.
<hr>
\image html vtk_view_pan.png
<b>Panning</b> - if the represented objects are greater that the
-visible area and you don't wish to use <b>Fit all</b> functionality,
-click on this button and you'll be able to drag the scene to see its
-remote parts.
+visible area and you do not wish to use <b>Fit all</b> functionality,
+click on this button to drag the scene to see its remote parts.
<hr>
\image html vtk_view_glpan.png
<b>Global panning</b> - allows to select a point to be the center of
-the presentation showing all displayed objects in the visible ares.
+the presentation showing all displayed objects in the visible area.
<hr>
\image html vtk_view_rotation_point.png
\image html set_rotation_point_dialog2.png
-Unchecking <b>Use Bounding Box Center</b> checkbox allows you to
+Unchecking <b>Use Bounding Box Center</b> check-box allows you to
define the coordinates of the rotation point manually.
- <b>Set to Origin</b> button restores the default rotation point
\image html vtk_view_anticlockwise.png
-<b>Rotate counterclockwise</b> - rotates view 90° counterclockwise.
+<b>Rotate counter-clockwise</b> - rotates view 90° counter-clockwise.
<hr>
\image html vtk_view_clockwise.png
\image html vtk_view_parameters.png
-<b>Change View Parameters</b> - this button provides access to the
-dialog box allowing customization different parameters of the view.
+<b>Change View Parameters</b> - this button gives access to the
+dialog for customization of various view parameters.
\image html vtk_view_parameters_dlg.png
-- <b>Projection Mode</b> - switchs to the Orthogonal / Perspective
- projection mode
+- <b>Projection Mode</b> - switches between the \b Orthogonal and \b Perspective projection modes.
- <b>Focal Point</b> - allows to specify the focal point of the view
- <b>Set to Bounding Box Center</b> - chooses the center of the
- bounding box of the current scene as the focal point.
-
+ bounding box of the current scene as the focal point;
- <b>Set to Origin</b> - chooses the global coordinates system origin as
- the focal point
-
+ the focal point;
- <b>Select Point from View</b> - allows to specify the focal point by the
- direct selection of a point in the view window
-
+ direct selection of a point in the view window;
- <b>X</b>, <b>Y</b>, <b>Z</b> - allows to input the coordinates of the focal
- point directly
+ point directly.
- <b>Camera Position</b> - allows to specify the position of the view camera:
-
- - <b>Absolute Coordinates</b> - either in absolute coordinates,
-
- - <b>Relative to Focal Point</b> - or as a offset to the focal point;
-
+ - <b>Absolute Coordinates</b> - in absolute coordinates;
+ - <b>Relative to Focal Point</b> - as a offset to the focal point;
- <b>Projection Direction</b> - allows specify the direction of the
projection vector;
+ - <b>Focal Distance</b> - the focal distance value.
- - <b>Focal Distance</b> - the focal distance value;
-
- - <b>View Up Direction</b> - direction of the "view up" vector.
+- <b>View Up Direction</b> - direction of the "view up" vector.
-- <b>Zooming</b> - the current zoom factor (available in the <b>Orthogonal
- mode</b> only)
+- <b>Zooming</b>
-- <b>View Angle</b> - the current view angle (available in the <b>Perspective
- mode</b> only)
+ - \b Scale - the current zoom factor (available in the <b>Orthogonal
+ mode</b> only);
+ - <b>View Angle</b> - the current view angle (available in the <b>Perspective
+ mode</b> only).
<hr>
<b>Synchronize view</b> - allows to synchronize 3d view
parameters. This button has two states - checked and
-unchecked. Clicking on this button opens a drop-down menu listing the
-compatible 3d views. As soon as the user selects any view from the
-list, the parameters (view point, position, zoom coefficient, etc.) of
-the current view are synchronized with the selected view (static
+unchecked. Clicking on this button opens a drop-down menu listing
+compatible 3d views. When a view is selected in the list , the parameters (view point, position, zoom coefficient, etc.) of the current view are synchronized with the selected view (static
synchronization).
-In addition, when this button is in the "checked" state, the dynamic
-synchronization of the views is performed, i.e. any zoom, pan, rotate
-or other view operation done in one view is automatically applied to
-the other view.
+In addition, when this button is "checked", the
+views are synchronized dynamically, i.e. any zoom, pan, rotate
+or other view operation done in one view is automatically applied to the other view.
<hr>
\image html vtk_view_parallel.png