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