Salome HOME
Fix compilation error (conflict of OK name between OCCT Plate_Plate.hxx and GEOM...
[modules/geom.git] / doc / salome / gui / GEOM / input / dependency_tree.doc
1 /*!
2
3 \page dependency_tree_page Dependency Tree
4
5 <ul>
6 <li>\ref dependency_tree_general_description_anchor "General description"</li>
7 <li>\ref dependency_tree_nodes_anchor "Nodes" </li>
8 <li>\ref dependency_tree_links_anchor "Links" </li>
9 <li>\ref dependency_tree_operations_anchor "Operations" </li>
10 <li>\ref dependency_tree_navigation_anchor "Navigation" </li>
11 <li>\ref dependency_tree_popup_menu_anchor "Context menu"</li>
12 </ul>
13
14 \anchor dependency_tree_general_description_anchor <h2>General description</h2>
15
16 You can display the ascendants and descendants of object(s) in a tree structure to better understand the relations between the %GEOM 
17 objects in a study .
18
19 To build the dependency tree, select the necessary object or objects (multiple 
20 selection is supported) in the Object Browser or OCC Viewer and call "Show dependency tree" context menu item. 
21
22 \image html tree_example.png
23
24
25 "Dependency Tree" view window will display the dependency tree for the selected object. 
26 It is also possible to select an object(s) directly in the "Dependency Tree" view and to rebuild the tree by selecting 
27 "Rebuild the tree" context menu item.
28
29 All necessary parameters of Dependency Tree Viewer can be edited in the \ref pref_dependency_tree "Preferences".
30
31 \note This functionality is available only if the GUI module is built with Graphics view (option SALOME_USE_GRAPHICSVIEW is ON when building GUI module).
32
33 <hr>
34 \anchor dependency_tree_nodes_anchor <h2>Nodes</h2>
35
36 Tree nodes in the Dependency Viewer are named according to the study 
37 names of the corresponding objects. 
38
39 All nodes have fixed size, so long names are cut; the full object name can be seen in the tool-tip 
40 when the cursor is hovered over the node.
41
42 "Dependency Tree" view supports the following states of nodes:
43
44 <ul><li><b>Main node</b> - corresponds to the main object(s) selected in Object 
45 Browser, OCC Viewer or Dependency Tree Viewer;</li></ul>
46 \image html tree_main_node.png
47
48 <ul><li><b>Default node</b> - ascendant or descendant node of the dependency tree corresponding to an object published in the study;</li></ul>
49 \image html tree_default_node.png
50
51 <ul><li><b>Unpublished node</b> - corresponds to an object that was not published in the study;</li></ul>
52 \image html tree_unpublished_node.png
53
54 <ul><li><b>Highlighted node</b> - the state of a node when the mouse cursor is hovered over it;</li></ul>
55 \image html tree_highlighted_node.png
56
57 <ul><li><b>Selected node</b> - the state of node when the user clicks the left mouse button it.</li></ul>
58 \image html tree_selected_node.png
59
60 <hr>
61 \anchor dependency_tree_links_anchor <h2>Links</h2>
62
63 Dependency Tree Viewer shows oriented links between nodes to 
64 represent the dependency direction. The viewer supports the following states of links:
65
66 <ul><li><b>Unidirectional link</b> - shows that object \b B depends on object \b A;</li></ul>
67 \image html tree_unidir_link.png
68
69 <ul><li><b>Bidirectional link</b> - shows that object \b B depends on 
70 object \b A and, at the same time, object \b A depends on object \b B;</li></ul>
71 \image html tree_bidir_link.png
72
73 <ul><li><b>Self-dependency link</b> - shows that an object depends on itself;</li></ul>
74 \image html tree_selfdep_link.png
75
76 <ul><li><b>Cyclic dependency links</b> - shows cyclic dependency of some nodes.</li></ul>
77 \image html tree_cycldep_link.png
78
79 <hr>
80 \anchor dependency_tree_operations_anchor <h2>Viewer Operations</h2>
81
82 The dependency tree of a chosen %GEOM object is displayed in 
83 the dedicated 2D view window.
84 \n The functionalities of 2D viewer are available via its Viewer 
85 Toolbar. 
86
87 Buttons marked with small downward triangles have extended 
88 functionality which can be accessed by locking on them with left 
89 mouse button.
90
91 \image html tree_tool_bar.png
92
93 <b>Dump View</b> - exports the current scene in bmp, png or jpeg image format.
94 \image html tree_view_dump.png
95
96 <b>Fit all</b> - scales the presentation so that it could fit within
97 the Viewer boundaries.
98 \image html tree_view_fitall.png
99
100 <b>Fit area</b> - resizes the view to place in the visible area only
101 the contents of a frame drawn with pressed left mouse button.
102 \image html tree_view_fitarea.png
103
104 <b>Fit selection</b> - resizes the view to fit in the visible area
105 only currently selected objects.
106 \image html tree_view_fitselect.png
107
108 <b>Zoom</b> - allows to zoom in and out.
109 \image html tree_view_zoom.png
110
111 <b>Panning</b> - if the represented objects are greater that the
112 visible area and you don't wish to use <b>Fit all</b> functionality,
113 click on this button and you'll be able to drag the scene to see its
114 remote parts.
115 \image html tree_view_pan.png
116
117 <b>Global panning</b> - allows to select a point to be the center of
118 the presentation showing all displayed objects in the visible ares.
119 \image html tree_view_glpan.png
120
121 <b>Hierarchy depth</b> - allows to change the number of hierarchy 
122 levels to be shown in the dependency tree.
123 \image html tree_hierarchy_type.png
124 <ul>
125 <li>Level 1 corresponds to the parents and children of the selected 
126 object(s);</li>
127 <li>Level 2 adds the grand-parents and grand-children 
128 of the selected object(s);</li>
129 <li>etc...</li>
130 </ul>
131
132 <b>Display ascendants</b> - allows showing/hiding the ascendants.
133 \image html tree_disp_ascendants.png
134
135 <b>Display descendants</b> - allows showing/hiding the descendants.
136 \image html tree_disp_descendants.png
137
138 <b>Move nodes</b> -if checked, it is possible to move nodes in the viewer.
139 \image html tree_move_nodes.png
140
141 <b>Update</b> - updates the dependency tree view, reflecting changes introduced in the hierarchy.
142 \image html tree_button_update.png
143
144 <hr>
145 \anchor dependency_tree_navigation_anchor <h2>Selection and Shortcuts</h2>
146
147 <ul>
148 <li>It is possible to select multiple nodes in the view by rectangle selection or by clicking nodes when \b Shift button 
149 is pressed.</li>
150 </ul>
151
152 Holding \b Ctrl key with pressed mouse buttons performs 
153 the following view transformations:
154 <ul>
155 <li>Ctrl + left mouse button - zooming;</li>
156 <li>Ctrl + middle mouse button - panning;</li>
157 </ul>
158
159 <hr>
160 \anchor dependency_tree_popup_menu_anchor <h2>Context Menu</h2>
161
162 The following operations are available from the context menu of the selected object.
163
164 \image html tree_popup_menu1.png
165
166 <ul>
167 <li>\b Show - shows the selected object(s) in OCC 3D Viewer;</li>
168 <li><b> Show Only</b> - shows only the selected object(s) in OCC 3D Viewer;</li>
169 <li><b> Rebuild the tree</b> - rebuilds the dependency tree 
170 for selected object(s);</li>
171 <li>\ref reduce_study_page "Reduce study" - allows reducing the study.</li>
172
173 \image html tree_popup_menu2.png
174
175 <li>It is also possible to customize the background of Dependency Tree 2D Viewer using the 
176 corresponding context menu command.</li>  
177 </ul>
178
179 */