Salome HOME
12d0387e26d7c8ca5a9c70ee7a6e2dcd936143bb
[modules/geom.git] / doc / salome / gui / GEOM / input / dependency_tree.doc
1 /*!
2
3 \page dependency_tree_page Dependency Tree
4
5 \n In order to better understand the relations between the %GEOM 
6 objects in a study the user has a possibility to display the 
7 ascendants and descendant of the object(s) in a family tree.
8
9 User can build the dependency tree by selecting desirable object 
10 in Object Browser or OCC Viewer and calling "Show dependency tree" 
11 popup item. It will open a new or clear the existing "Dependency 
12 Tree" view window (only one view is supported) and display a 
13 dependency tree for the selected object or objects (multiple 
14 selection is supported). Also user can rebuild the tree if to select 
15 some object(s) right in the "Dependency Tree" view and call 
16 "Rebuild the tree" popup menu item.
17
18 \image html tree_example.png
19
20 User can change all necessary parameters of Dependency Tree Viewer 
21 in \ref pref_dependency_tree "Preferences".
22
23 <hr>
24 \anchor dependency_tree_nodes <h2>Nodes</h2>
25
26 Tree nodes in the Dependency Viewer are named according to the study 
27 names of the corresponding objects. 
28
29 Non-published objects are shown in the tree as "unpublished" and 
30 colored in special color.
31
32 All nodes have the fixed size, so the long names are cut and shown 
33 with ellipsis; full name of the object can be seen in the tooltip 
34 if to keep the cursor over the node.
35
36 "Dependency Tree" view supports the following states of nodes:
37
38 <ul><li><b>Main node</b> - node of main object(s), which were selected in Object 
39 Browser, OCC Viewer or Dependency Tree Viewer in order to build the 
40 dependency tree;</li></ul>
41 \image html tree_main_node.png
42
43 <ul><li><b>Default node</b> - node of published in study object, which participate in building of 
44 dependency tree as ascendant or descendant;</li></ul>
45 \image html tree_default_node.png
46
47 <ul><li><b>Unpublished node</b> - the same as "Default node", but 
48 corresponding object was not published in study;</li></ul>
49 \image html tree_unpublished_node.png
50
51 <ul><li><b>Highlighted node</b> - the state of node when mouse 
52 cursor is over it;</li></ul>
53 \image html tree_highlighted_node.png
54
55 <ul><li><b>Selected node</b> - the state of node when user 
56 clicks the left mouse button on node.</li></ul>
57 \image html tree_selected_node.png
58
59 <hr>
60 \anchor dependency_tree_links <h2>Links</h2>
61
62 Dependency Tree Viewer shows oriented links between nodes to 
63 represent dependency direction. Viewer supports the following states 
64 of links:
65
66 <ul><li><b>Unidirectional link</b> - shows that A object depends on 
67 B object;</li></ul>
68 \image html tree_unidir_link.png
69
70 <ul><li><b>Bidirectional link</b> - shows that A object depends on 
71 B object and, at the same time, B object depends on 
72 A object;</li></ul>
73 \image html tree_bidir_link.png
74
75 <ul><li><b>Self-dependency link</b> - shows that object depends on 
76 itself;</li></ul>
77 \image html tree_selfdep_link.png
78
79 <ul><li><b>Cyclic dependency links</b> - shows cyclic dependency of 
80 some nodes.</li></ul>
81 \image html tree_cycldep_link.png
82
83 <hr>
84 \anchor dependency_tree_operations <h2>Operations</h2>
85
86 The dependency tree of a chosen %GEOM object is displayed in 
87 the dedicated 2D view window.
88 \n The functionalities of 2D viewer are available via its Viewer 
89 Toolbar. 
90
91 Buttons marked with small downward triangles have extended 
92 functionality which can be accessed by locking on them with left 
93 mouse button.
94
95 \image tree_tool_bar
96
97 <b>Dump View</b> - exports an object from the viewer in bmp, png or
98 jpeg image format.
99 \image html tree_view_dump.png
100
101 <b>Fit all</b> - scales the presentation so that it could fit within
102 the Viewer boundaries.
103 \image html tree_view_fitall.png
104
105 <b>Fit area</b> - resizes the view to place in the visible area only
106 the contents of a frame drawn with pressed left mouse button.
107 \image html tree_view_fitarea.png
108
109 <b>Fit selection</b> - resizes the view to fit in the visible area
110 only currently selected objects.
111 \image html tree_view_fitselect.png
112
113 <b>Zoom</b> - allows to zoom in and out.
114 \image html tree_view_zoom.png
115
116 <b>Panning</b> - if the represented objects are greater that the
117 visible area and you don't wish to use <b>Fit all</b> functionality,
118 click on this button and you'll be able to drag the scene to see its
119 remote parts.
120 \image html tree_view_pan.png
121
122 <b>Global panning</b> - allows to select a point to be the center of
123 the presentation showing all displayed objects in the visible ares.
124 \image html tree_view_glpan.png
125
126 <b>Hierarchy depth</b> - allows to change the number of hierarchy 
127 levels to be shown in the dependency tree.
128 \image html tree_hierarchy_type.png
129 <ul>
130 <li>Level 1 corresponds to the parents and children of the selected 
131 object(s);</li>
132 <li>Level 2 is Level 1 plus the grand-parents and grand-children 
133 of the selected object(s);</li>
134 <li>etc...</li>
135 </ul>
136
137 <b>Display ascendants</b> - allows user to control the displaying 
138 of ascendants.
139 \image html tree_disp_ascendants.png
140
141 <b>Display descendants</b> - allows user to control the displaying 
142 of descendants.
143 \image html tree_disp_descendants.png
144
145 <b>Move nodes</b> - enables/disables of moving the nodes.
146 \image html tree_move_nodes.png
147
148 <b>Update</b> - allows user to update a dependency tree model and the view.
149 \image html tree_button_update.png
150
151 <hr>
152 \anchor dependency_tree_navigation <h2>Navigation</h2>
153
154 Dependency Tree 2D Viewer supports the following navigation mode:
155
156 <ul>
157 <li>rectangle selection in this mode is performed by the left mouse 
158 button</li>;
159 <li>multiple selection is available when \b Shift button 
160 is pressed.</li>
161 </ul>
162
163 Also, holding \b Ctrl key with pressed mouse buttons performs 
164 the following view transformations:
165 <ul>
166 <li>Ctrl + left mouse button - zooming;</li>
167 <li>Ctrl + middle mouse button - panning;</li>
168 </ul>
169
170 <hr>
171 \anchor dependency_tree_popup_menu <h2>Popup Menu</h2>
172
173 After the object has appeared in the Dependency Tree 2D Viewer, 
174 user can select it with left mouse click to change its presentation 
175 parameters and get access to other useful options by right-clicking on 
176 the selected object.
177
178 \image html tree_popup_menu1.png
179
180 <ul>
181 <li>\b Show - allows to show selected object(s) in OCC 3D Viewer;</li>
182 <li><b> Show Only</b> - allows to show only selected object(s) 
183 in OCC 3D Viewer;</li>
184 <li><b> Rebuild the tree</b> - allows to rebuild the dependency tree 
185 for selected object(s);</li>
186 <li>\ref reduce_study_page "Reduce study" - allows to reduce study.</li>
187 </ul>
188
189 Some functionalities are available through right-clicking on 
190 the viewer background:
191
192 \image html tree_popup_menu2.png
193
194 Dependency Tree 2D Viewer background can be customized using the 
195 "Change background" popup menu command that opens standard 
196 "Select Color" dialog box:
197
198 \image html selectcolor.png
199
200 */