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