Salome HOME
A revison of documentation for the new Salome version.
[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 A depends on object B;</li></ul>
65 \image html tree_unidir_link.png
66
67 <ul><li><b>Bidirectional link</b> - shows that object A depends on 
68 object B and, at the same time, object B depends on object A;</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 
75 some nodes.</li></ul>
76 \image html tree_cycldep_link.png
77
78 <hr>
79 \anchor dependency_tree_operations_anchor <h2>Viewer Operations</h2>
80
81 The dependency tree of a chosen %GEOM object is displayed in 
82 the dedicated 2D view window.
83 \n The functionalities of 2D viewer are available via its Viewer 
84 Toolbar. 
85
86 Buttons marked with small downward triangles have extended 
87 functionality which can be accessed by locking on them with left 
88 mouse button.
89
90 \image tree_tool_bar
91
92 <b>Dump View</b> - exports the current scene in bmp, png or jpeg image format.
93 \image html tree_view_dump.png
94
95 <b>Fit all</b> - scales the presentation so that it could fit within
96 the Viewer boundaries.
97 \image html tree_view_fitall.png
98
99 <b>Fit area</b> - resizes the view to place in the visible area only
100 the contents of a frame drawn with pressed left mouse button.
101 \image html tree_view_fitarea.png
102
103 <b>Fit selection</b> - resizes the view to fit in the visible area
104 only currently selected objects.
105 \image html tree_view_fitselect.png
106
107 <b>Zoom</b> - allows to zoom in and out.
108 \image html tree_view_zoom.png
109
110 <b>Panning</b> - if the represented objects are greater that the
111 visible area and you don't wish to use <b>Fit all</b> functionality,
112 click on this button and you'll be able to drag the scene to see its
113 remote parts.
114 \image html tree_view_pan.png
115
116 <b>Global panning</b> - allows to select a point to be the center of
117 the presentation showing all displayed objects in the visible ares.
118 \image html tree_view_glpan.png
119
120 <b>Hierarchy depth</b> - allows to change the number of hierarchy 
121 levels to be shown in the dependency tree.
122 \image html tree_hierarchy_type.png
123 <ul>
124 <li>Level 1 corresponds to the parents and children of the selected 
125 object(s);</li>
126 <li>Level 2 adds the grand-parents and grand-children 
127 of the selected object(s);</li>
128 <li>etc...</li>
129 </ul>
130
131 <b>Display ascendants</b> - allows showing/hiding the ascendants.
132 \image html tree_disp_ascendants.png
133
134 <b>Display descendants</b> - allows showing/hiding the descendants.
135 \image html tree_disp_descendants.png
136
137 <b>Move nodes</b> -if checked, it is possible to move nodes in the viewer.
138 \image html tree_move_nodes.png
139
140 <b>Update</b> - updates the dependency tree view, reflecting changes introduced in the hierarchy.
141 \image html tree_button_update.png
142
143 <hr>
144 \anchor dependency_tree_navigation_anchor <h2>Selection and Shortcuts</h2>
145
146 <ul>
147 <li>It is possible to select multiple nodes in the view by rectangle selection or by clicking nodes when \b Shift button 
148 is pressed.</li>
149 </ul>
150
151 Holding \b Ctrl key with pressed mouse buttons performs 
152 the following view transformations:
153 <ul>
154 <li>Ctrl + left mouse button - zooming;</li>
155 <li>Ctrl + middle mouse button - panning;</li>
156 </ul>
157
158 <hr>
159 \anchor dependency_tree_popup_menu_anchor <h2>Context Menu</h2>
160
161 The following operations are available from the context menu of the selected object.
162
163 \image html tree_popup_menu1.png
164
165 <ul>
166 <li>\b Show - shows the selected object(s) in OCC 3D Viewer;</li>
167 <li><b> Show Only</b> - shows only the selected object(s) in OCC 3D Viewer;</li>
168 <li><b> Rebuild the tree</b> - rebuilds the dependency tree 
169 for selected object(s);</li>
170 <li>\ref reduce_study_page "Reduce study" - allows reducing the study.</li>
171
172 \image html tree_popup_menu2.png
173
174 <li>It is also possible to customize the background of Dependency Tree 2D Viewer using the 
175 corresponding context menu command.</li>  
176 </ul>
177
178 */