/*!
\page dependency_tree_page Dependency Tree
- \ref dependency_tree_general_description_anchor "General description"
- \ref dependency_tree_nodes_anchor "Nodes"
- \ref dependency_tree_links_anchor "Links"
- \ref dependency_tree_operations_anchor "Operations"
- \ref dependency_tree_navigation_anchor "Navigation"
- \ref dependency_tree_popup_menu_anchor "Context menu"
\anchor dependency_tree_general_description_anchor General description
You can display the ascendants and descendants of object(s) in a tree structure to better understand the relations between the %GEOM
objects in a study .
To build the dependency tree, select the necessary object or objects (multiple
selection is supported) in the Object Browser or OCC Viewer and call "Show dependency tree" context menu item.
\image html tree_example.png
"Dependency Tree" view window will display the dependency tree for the selected object.
It is also possible to select an object(s) directly in the "Dependency Tree" view and to rebuild the tree by selecting
"Rebuild the tree" context menu item.
All necessary parameters of Dependency Tree Viewer can be edited in the \ref pref_dependency_tree "Preferences".
\anchor dependency_tree_nodes_anchor Nodes
Tree nodes in the Dependency Viewer are named according to the study
names of the corresponding objects.
All nodes have fixed size, so long names are cut; the full object name can be seen in the tooltip
when the cursor is hovered over the node.
"Dependency Tree" view supports the following states of nodes:
- Main node - corresponds to the main object(s) selected in Object
Browser, OCC Viewer or Dependency Tree Viewer;
\image html tree_main_node.png
- Default node - ascendant or descendant node of the dependency tree corresponding to an object published in the study;
\image html tree_default_node.png
- Unpublished node - corresponds to an object that was not published in the study;
\image html tree_unpublished_node.png
- Highlighted node - the state of a node when the mouse cursor is hovered over it;
\image html tree_highlighted_node.png
- Selected node - the state of node when the user clicks the left mouse button it.
\image html tree_selected_node.png
\anchor dependency_tree_links_anchor Links
Dependency Tree Viewer shows oriented links between nodes to
represent the dependency direction. The viewer supports the following states of links:
- Unidirectional link - shows that object B depends on object A;
\image html tree_unidir_link.png
- Bidirectional link - shows that object B depends on
object A and, at the same time, object A depends on object B;
\image html tree_bidir_link.png
- Self-dependency link - shows that an object depends on itself;
\image html tree_selfdep_link.png
- Cyclic dependency links - shows cyclic dependency of some nodes.
\image html tree_cycldep_link.png
\anchor dependency_tree_operations_anchor Viewer Operations
The dependency tree of a chosen %GEOM object is displayed in
the dedicated 2D view window.
\n The functionalities of 2D 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 button.
\image tree_tool_bar
Dump View - exports the current scene in bmp, png or jpeg image format.
\image html tree_view_dump.png
Fit all - scales the presentation so that it could fit within
the Viewer boundaries.
\image html tree_view_fitall.png
Fit area - resizes the view to place in the visible area only
the contents of a frame drawn with pressed left mouse button.
\image html tree_view_fitarea.png
Fit selection - resizes the view to fit in the visible area
only currently selected objects.
\image html tree_view_fitselect.png
Zoom - allows to zoom in and out.
\image html tree_view_zoom.png
Panning - if the represented objects are greater that the
visible area and you don't wish to use Fit all functionality,
click on this button and you'll be able to drag the scene to see its
remote parts.
\image html tree_view_pan.png
Global panning - allows to select a point to be the center of
the presentation showing all displayed objects in the visible ares.
\image html tree_view_glpan.png
Hierarchy depth - allows to change the number of hierarchy
levels to be shown in the dependency tree.
\image html tree_hierarchy_type.png
- Level 1 corresponds to the parents and children of the selected
object(s);
- Level 2 adds the grand-parents and grand-children
of the selected object(s);
- etc...
Display ascendants - allows showing/hiding the ascendants.
\image html tree_disp_ascendants.png
Display descendants - allows showing/hiding the descendants.
\image html tree_disp_descendants.png
Move nodes -if checked, it is possible to move nodes in the viewer.
\image html tree_move_nodes.png
Update - updates the dependency tree view, reflecting changes introduced in the hierarchy.
\image html tree_button_update.png
\anchor dependency_tree_navigation_anchor Selection and Shortcuts
- It is possible to select multiple nodes in the view by rectangle selection or by clicking nodes when \b Shift button
is pressed.
Holding \b Ctrl key with pressed mouse buttons performs
the following view transformations:
- Ctrl + left mouse button - zooming;
- Ctrl + middle mouse button - panning;
\anchor dependency_tree_popup_menu_anchor Context Menu
The following operations are available from the context menu of the selected object.
\image html tree_popup_menu1.png
- \b Show - shows the selected object(s) in OCC 3D Viewer;
- Show Only - shows only the selected object(s) in OCC 3D Viewer;
- Rebuild the tree - rebuilds the dependency tree
for selected object(s);
- \ref reduce_study_page "Reduce study" - allows reducing the study.
\image html tree_popup_menu2.png
- It is also possible to customize the background of Dependency Tree 2D Viewer using the
corresponding context menu command.
*/