Salome HOME
Merge from V6_5_BR 05/06/2012
[modules/smesh.git] / doc / salome / gui / SMESH / input / selection_filter_library.doc
1 /*!
2
3 \page selection_filter_library_page Selection filter library
4
5 \n Selection filter library is a powerful tool enabling to create
6 filters to be used on meshes. You can access to it from the Main Menu
7 via <b>Tools / Selection filter library</b>.
8
9 \image html selectionfilterlibrary.png
10
11 <b>Library file name</b> shows the path and the file name where your
12 filters will be stored. By clicking the <em>Browse</em> button you can
13 load an existing filter library.
14 \n <b>Names of filters</b> lists the filters created or uploaded for
15 the current study. You can \b Add or \b Delete filters.
16 \n In <b>Filter name</b> box you can specify the name for your
17 filter. By default it is prefixed with the corresponding entity type.
18 \n Each filter can be applicable to \b Nodes, \b Edges, \b Faces or \b
19 Volumes. You can combine many criteria in one filter, but they all
20 must be of the same <b>Entity type</b>.
21 \n The \b Add button creates a new criterion at the end of the list of
22 criteria. The \b Insert button creates a new criterion before the
23 selected criterion. The \b Remove button deletes the selected
24 criterion. The \b Clear button deletes all criteria.
25 \n Each <b>Entity type</b> has its specific list of criteria, however all
26 filters have common syntax. For each criterion you should specify the
27 <b>Threshold Value</b> and whether we search for the elements that should be
28 \b More, \b Less or \b Equal to this \b Value. You can also reverse the
29 sense of a criterion using \b Unary operator Not and you should
30 specify logical relations between criteria using \b Binary operators
31 Or and And.
32 \n Some criteria should have the additional parameter of \b Tolerance.
33
34 When we create a group using filters (for this click
35 <b>Set Filters</b> button in the <b>Create Group</b> dialog), the menu
36 for setting filters looks a bit differently (see below). Switching
37 on <b>Insert filter in viewer</b> checkbox limits selection of elements
38 in the Viewer using your current filter.
39 <br>
40 In the \b Source field you choose if the filter will be applied to
41 the whole \b Mesh, the <b>Initial Selection</b> or the <b>Current
42 Group</b>. If \b Mesh is chosen, the elements satisfying the filter
43 will be selected in the 3D Viewer. If <b> Initial Selection</b> is
44 chosen, the filter will be applied to the selected elements and the
45 elements rejected by the filter will be deseleced. If <b>Current
46 Group</b> is chosen, the filter will be applied to the list of
47 elements in the <em>Greate Croup</em> dialog and the elements rejected
48 by the filter will be removed from the list.
49 <br>
50 <b>Copy from...</b> button gives you a possibility to load an
51 existing filter from <b>Selection filter library</b> and <b>Add
52 to...</b> button gives you a possibility to save your current filter
53 in the Library.
54 <br>
55 <b>Note:</b> If the button <b>Apply and Close</b> is disabled, there
56 is no selected mesh in the Object Browser and the filter can not be
57 created. You have to select the mesh and the button will be enabled.
58
59 \image html a-filteronfaces.png
60
61 Some criteria are applicable to all <b>Entity types</b>:
62 <ul><li>
63 <b>Belong to Geom</b> selects entities whose all nodes
64 lie on the shape defined by <b>Threshold Value</b>.
65 If the threshold shape is a sub-shape of the main shape of the mesh
66 the algorithm works faster, if this is any other
67 shape the algorithm works slower.
68 </li><li>
69 <b>Lying on Geom</b> selects entities whose at least one node
70 lies on the shape defined by the <b>Threshold Value</b>.
71 If the hreshold shape is a sub-shape of the main shape of the mesh the
72 algorithm works faster, if this is any other
73 shape, the algorithm works slower.
74 </li><li>
75 <b>Range of IDs</b> allows selection of entities with the specified
76 IDs. 
77 <b>Threshold Value</b> can be, for example: "1,2,3,50-60,63,67,70-78"
78 </li><li>
79 <b>Color of Group</b> allows selection of entities belonging to the Group with
80 the color defined by the <b>Threshold Value</b>.
81 </li>
82 </ul>
83
84 Some criteria are applicable to all <b>Entity types</b>, except for
85 <b>Nodes</b>
86 <ul><li>
87 <b>Linear</b> allows selection of Linear or Quadratic elements (if Unary is set to "Not")
88 </li><li>
89 <b>Geometry type</b> allows selection of elements by their geometric type
90 defined by the <b>Threshold Value</b>. The list of available geometric
91 types depends on the element entity type defined by the <b>Threshold Value</b>.
92 </li>
93 </ul>
94
95 The following criteria are applicable to all <b>Entity types</b>
96 except for <b>Volumes</b>:
97 <ul><li>
98 <b>Belong to Plane</b> selects entities whose all nodes belong to a
99 specified plane within a given <b>Tolerance</b>.
100 </li><li>
101 <b>Belong to Cylinder</b> selects entities whose all nodes belong to a
102 specified cylinder within a given <b>Tolerance</b>.
103 </li><li>
104 <b>Belong to Surface</b> selects entities whose all nodes belong to a
105 specified arbitrary surface within a given <b>Tolerance</b>.
106 </li>
107 </ul>
108
109 The following criteria allow selecting mesh <b>Nodes</b>:
110 <ul><li>
111 <b>Free nodes</b> selects nodes not belonging to any mesh element.
112 </li><li>
113 <b>Double nodes</b> selects a node coincident with other nodes 
114 (within a given <b>Tolerance</b>). 
115 See also \ref tui_double_nodes_control "Double Nodes quality control".
116 </li>
117 </ul>
118
119 The following criteria allow selecting mesh <b>Edges</b>:
120 <ul><li>
121 <b>Free Borders</b> selects free 1D mesh elements, i.e. edges belonging to 
122 one face only. See also a
123 \ref free_borders_page "Free Borders quality control".
124 </li><li>
125 <b>Double edges</b> selects 1D mesh elements basing on the same set of nodes.
126 See also \ref filter_double_elements "Double Elements quality control".
127 </li><li>
128 <b>Borders at Multi-Connections</b> selects edges belonging to several faces.
129 The number of faces should be more, less or equal (within a given <b>Tolerance</b>)
130 to the predefined <b>Threshold Value</b>. See also a
131 \ref borders_at_multi_connection_page "Borders at Multi-Connection quality control".
132 </li><li>
133 <b>Length</b> selects edges with a value of length, which is more, less or equal
134 (within a given <b>Tolerance</b>) to the predefined <b>Threshold Value</b>.
135 See also a
136 \ref length_page "Length quality control".
137 </li>
138 </ul>
139
140 The following criteria allow selecting mesh <b>Faces</b>:
141 <ul><li>
142 <b>Aspect ratio</b> selects 2D mesh elements with an aspect ratio (see also an
143 \ref aspect_ratio_page "Aspect Ratio quality control"), which is more, less or equal
144 (within a given <b>Tolerance</b>) to the predefined <b>Threshold Value</b>.
145 </li><li>
146 <b>Warping</b> selects quadrangles with warping angle (see also a
147 \ref warping_page "Warping quality control"), which is more, less or equal
148 (within a given <b>Tolerance</b>) to the predefined <b>Threshold Value</b>.
149 </li><li>
150 <b>Minimum angle</b> selects triangles and quadrangles with minimum angle (see also a
151 \ref minimum_angle_page "Minimum angle quality control"), which is more, less or equal
152 (within a given <b>Tolerance</b>) to the predefined <b>Threshold Value</b>.
153 </li><li>
154 <b>Taper</b> selects quadrangles cells with taper value (see also a
155 \ref taper_page "Taper quality control"), which is more, less or equal (within a given
156 <b>Tolerance</b>) to the predefined <b>Threshold Value</b>.
157 </li><li>
158 <b>Skew</b> selects triangles and quadrangles with skew value (see also a
159 \ref skew_page "Skew quality control"), which is more, less or equal (within a given
160 <b>Tolerance</b>) to the predefined <b>Threshold Value</b>.
161 </li><li>
162 <b>Area</b> selects triangles and quadrangles with a value of area (see also an
163 \ref area_page "Area quality control"), which is more, less or equal (within a given
164 <b>Tolerance</b>) to the predefined <b>Threshold Value</b>.
165 </li><li>
166 <b>Free edges</b> selects 2D mesh elements consisting of edges belonging to 
167 one element of mesh only. See also a
168 \ref free_edges_page "Free Edges quality control".
169 </li><li>
170 <b>Free faces</b> selects 2D mesh elements wich belong to less than two volumes.
171 </li><li>
172 <b>Double faces</b> selects 2D mesh elements basing on the same set of nodes.
173 See also \ref filter_double_elements "Double Elements quality control".
174 </li><li>
175 <b>Faces with bare border</b> selects 2D mesh elements having a free border without an edge on it.
176 See also \ref bare_border_faces_page "Bare border faces quality control".
177 </li><li>
178 <b>Over-constrained faces</b> selects 2D mesh elements having only one border shared 
179 with other 2D elements.
180 See also \ref over_constrained_faces_page "Over-constrained faces quality control".
181 </li><li>
182 <b>Borders at Multi-Connections 2D</b> selects cells consisting of edges belonging to
183 several elements of mesh. The number of mesh elements should be more, less or equal
184 (within a given <b>Tolerance</b>) to the predefined <b>Threshold Value</b>.
185 See also a
186 \ref borders_at_multi_connection_2d_page "Borders at Multi-Connection 2D quality control".
187 </li><li>
188 <b>Length 2D</b> selects triangles and quadrangles combining of the edges with a value of
189 length, which is more, less or equal (within a given <b>Tolerance</b>) to the predefined
190 <b>Threshold Value</b>. See also a
191 \ref length_2d_page "Length 2D quality control".
192 </li><li>
193 <b>Coplanar faces</b> selects mesh faces neighboring the one selected
194 by ID in <b>Threshold Value</b> field, if the angle between the
195 normal to the neighboring face and the normal to the selected face is less then the
196 angular tolerance (defined in degrees). Selection continues among all neighbor faces of already 
197 selected ones.<br>
198 </li><li>
199 <b>Element Diameter 2D</b> selects triangles and quadrangles composed of the edges and
200 diagonals with a value of length, which is more, less or equal
201 (within a given <b>Tolerance</b>) to the predefined <b>Threshold Value</b>. See also a
202 \ref max_element_length_2d_page "Element Diameter 2D quality control".
203 </li>
204 </ul>
205
206 The following criteria allow selecting  mesh <b>Volumes</b>:
207 <ul><li>
208 <b>Aspect ratio 3D</b> selects 3D mesh elements with an aspect ratio (see also an
209 \ref aspect_ratio_3d_page "Aspect Ratio 3D quality control"), which is more, less or equal
210 (within a given <b>Tolerance</b>) to the predefined <b>Threshold Value</b>.
211 </li><li>
212 <b>Volume</b> selects 3D mesh elements with a value of volume (see also a
213 \ref volume_page "Volume quality control"), which is more, less or equal (within a given
214 <b>Tolerance</b>) to the predefined <b>Threshold Value</b>.
215 </li><li>
216 <b>Element Diameter 3D</b> selects 3D mesh elements composed of the edges and
217 diagonals with a value of length, which is more, less or equal
218 (within a given <b>Tolerance</b>) to the predefined <b>Threshold Value</b>. See also a
219 \ref max_element_length_3d_page "Element Diameter 3D quality control".
220 </li><li>
221 <b>Double volumes</b> selects 3D mesh elements basing on the same set of nodes.
222 See also \ref filter_double_elements "Double Elements quality control".
223 </li><li>
224 <b>Bad oriented volume</b> selects mesh volumes, which are incorrectly oriented from
225 the point of view of MED convention.
226 </li><li>
227 <b>Over-constrained volumes</b> selects mesh volumes having only one border shared 
228 with other volumes.
229 See also \ref over_constrained_volumes_page "Over-constrained volumes quality control".
230 </li><li>
231 <b>Volumes with bare border</b> selects 3D mesh elements having a free border without a face on it.
232 See also \ref bare_border_volumes_page "Bare border volumes quality control".
233 </li>
234 </ul>
235
236
237 */