Salome HOME
Add "Deflection 2D" quality control
[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 \tableofcontents
6
7 \section selection_filter_library Filter library
8
9 \n Selection filter library allows creating and storing in files
10 the filters that can be later reused for operations on meshes. You can
11 access it from the Main Menu via <b>Tools / Selection filter library</b>.
12 It is also possible to save/load a filter by invoking the filter library
13 from \ref filtering_elements "Filter dialog" launched from any mesh operation.
14
15 \image html selectionfilterlibrary.png
16
17 <b>Library file name</b> shows the path and the file name where your
18 filters will be stored. By clicking the <em>Browse</em> button you can
19 load an existing filter library.
20 \n <b>Names of filters</b> lists the filters created or uploaded for
21 the current study. You can \b Add or \b Delete filters.
22 \n In <b>Filter name</b> box you can specify the name for your
23 filter. By default it is prefixed with the corresponding entity type.
24
25 \section filtering_elements Filter Dialog
26
27 When we use filters during group creation or another operation (by 
28 clicking <b>Set Filter</b> button in the corresponding dialog), the
29 dialog for setting filters looks as shown below.
30
31 \image html a-filteronfaces.png
32
33 The \b Add button creates a new criterion at the end of the list of
34 criteria. The \b Insert button creates a new criterion before the
35 selected criterion. The \b Remove button deletes the selected
36 criterion. The \b Clear button deletes all criteria.\n
37 If there is a choice of <b>Entity type</b> in the dialog, only
38 criteria of currently selected type are used to create or change a
39 filter, and criteria of hidden types (if were specified) are ignored.
40 \n Each <b>Entity type</b> has its specific list of criteria, however all
41 filters have common syntax. The <b>Threshold Value</b> should be specified 
42 for most criteria. For numerical criteria it is necessary to indicate if 
43 the found elements should be \b More, \b Less or \b Equal to this
44 \b Value. You can also reverse the sense of a criterion using \b Unary
45 operator \a Not and you should specify logical relations between
46 criteria using \b Binary operators \a Or and \a And.
47 \n Some criteria have the additional parameter of \b Tolerance.<br> 
48 Switching on <b>Insert filter in viewer</b> check-box limits
49 selection of elements in the Viewer to the current filter.
50 <br>
51 In the \b Source field you choose if the filter will be applied to
52 the whole \b Mesh, the <b>Initial Selection</b> or the <b>Current
53 Dialog</b>. If \b Mesh is chosen, the elements satisfying the filter
54 will be selected in the 3D Viewer. If <b> Initial Selection</b> is
55 chosen, the filter will be applied to the selected elements and the
56 elements rejected by the filter will be deselected. If <b>Current
57 Dialog</b> is chosen, the filter will be applied to the list of
58 elements in the current dialog and the elements rejected
59 by the filter will be removed from the list.
60 <br>
61 <b>Copy from...</b> button gives you a possibility to load an
62 existing filter from <b>Selection filter library</b> and <b>Add
63 to...</b> button gives you a possibility to save your current filter
64 in the Library.
65 <br>
66 <b>Note:</b> If the button <b>Apply and Close</b> is disabled, there
67 is no selected mesh in the Object Browser and the filter can not be
68 created. You have to select the mesh and the button will be enabled.
69
70 \section filtering_criteria Filtering Criteria
71
72 Some criteria are applicable to all <b>Entity types</b>:
73 <ul><li>
74 <b>Belong to Geom</b> selects entities whose all nodes lie on the
75 shape defined by <b>Threshold Value</b>. 
76 If the threshold shape is a sub-shape of the main shape of the mesh,
77 the filtering algorithm works faster because node-to-shape association
78 is used instead of measuring distance between nodes and the shape, and
79 \b Tolerance is not used. If the threshold shape is any other shape,
80 the algorithm works slower because distance between nodes and the
81 shape is measured and is compared with \b Tolerance. The latter
82 approach (distance measurement) is also used if an element is not
83 associated to any shape.
84 </li><li>
85 <b>Lying on Geom</b> selects entities whose at least one node
86 lies on the shape defined by the <b>Threshold Value</b>.
87 If the threshold shape is a sub-shape of the main shape of the mesh,
88 the filtering algorithm works faster because node-to-shape association
89 is used instead of measuring distance between nodes and the shape, and
90 \b Tolerance is not used. If the threshold shape is any other shape,
91 the algorithm works slower because distance between nodes and the
92 shape is measured and is compared with \b Tolerance. The latter
93 approach (distance measurement) is also used if an element is not
94 associated to any shape.
95 </li><li>
96 <b>Belong to Mesh Group</b> selects entities included into the mesh group
97 defined by the <b>Threshold Value</b>.
98 </li><li>
99 <b>Range of IDs</b> allows selection of entities with the specified
100 IDs. 
101 <b>Threshold Value</b> can be, for example: "1,2,3,50-60,63,67,70-78"
102 </li><li>
103 <b>Color of Group</b> allows selection of entities belonging to the Group with
104 the color defined by the <b>Threshold Value</b>.
105 </li><li>
106 <b>Elements of a domain</b> allows selection of entities belonging to
107 one domain of a mesh. The domain is mesh part not connected to
108 other parts. <b>Threshold Value</b> locating any element of the domain can be either
109 - node ID (that you can pick in the Viewer) or
110 - geometrical vertex (that you can pick either in the Viewer or in the
111   Object Browser) or
112 - 3 coordinates of a point (that you can enter in TUI mode only).
113
114 </li>
115 </ul>
116
117 Some criteria are applicable to entities of dimension
118 more than zero, i.e. to \b Edges, \b Faces and \b Volumes:
119 <ul><li>
120 <b>Linear</b> allows selection of Linear or Quadratic elements (if Unary is set to "Not")
121 </li><li>
122 <b>Geometry type</b> allows selection of elements by their geometric type
123 defined by the <b>Threshold Value</b>. The list of available geometric
124 types depends on the current entity type.
125 </li><li>
126 <b>Entity type</b> allows selection of elements by their type defined
127 as a combination of geometry type and the number of nodes.
128 </li>
129 </ul>
130
131 The following criteria are applicable to Entities of \b all types
132 except for \a Volumes:
133 <ul><li>
134 <b>Belong to Plane</b> selects entities whose all nodes belong to a
135 specified plane within a given <b>Tolerance</b>.
136 </li><li>
137 <b>Belong to Cylinder</b> selects entities whose all nodes belong to a
138 specified cylinder within a given <b>Tolerance</b>.
139 </li><li>
140 <b>Belong to Surface</b> selects entities whose all nodes belong to a
141 specified arbitrary surface within a given <b>Tolerance</b>.
142 </li>
143 </ul>
144
145 The following criteria allow selecting mesh <b>Nodes</b>:
146 <ul><li>
147 <b>Free nodes</b> selects nodes not belonging to any mesh element.
148 </li><li>
149 <b>Double nodes</b> selects a node coincident with other nodes 
150 (within a given <b>Tolerance</b>). 
151 See also \ref tui_double_nodes_control "Double Nodes quality control".
152 </li><li>
153 <b>Connectivity number</b> selects nodes with a number of connected
154 elements, which is more, less or equal to the predefined <b>Threshold
155   Value</b>. Elements of the highest dimension are countered only.
156 </li>
157 </ul>
158
159 The following criteria allow selecting mesh <b>Edges</b>:
160 <ul><li>
161 <b>Free Borders</b> selects free 1D mesh elements, i.e. edges belonging to 
162 one element (face or volume) only. See also a
163 \ref free_borders_page "Free Borders quality control".
164 </li><li>
165 <b>Double edges</b> selects 1D mesh elements basing on the same set of nodes.
166 See also \ref filter_double_elements "Double Elements quality control".
167 </li><li>
168 <b>Borders at Multi-Connections</b> selects edges belonging to several faces.
169 The number of faces should be more, less or equal (within a given <b>Tolerance</b>)
170 to the predefined <b>Threshold Value</b>. See also a
171 \ref borders_at_multi_connection_page "Borders at Multi-Connection quality control".
172 </li><li>
173 <b>Length</b> selects edges with a value of length, which is more, less or equal
174 (within a given <b>Tolerance</b>) to the predefined <b>Threshold Value</b>.
175 See also a
176 \ref length_page "Length quality control".
177 </li>
178 </ul>
179
180 The following criteria allow selecting mesh <b>Faces</b>:
181 <ul><li>
182 <b>Aspect ratio</b> selects 2D mesh elements with an aspect ratio (see also an
183 \ref aspect_ratio_page "Aspect Ratio quality control"), which is more, less or equal
184 (within a given <b>Tolerance</b>) to the predefined <b>Threshold Value</b>.
185 </li><li>
186 <b>Warping</b> selects quadrangles with warping angle (see also a
187 \ref warping_page "Warping quality control"), which is more, less or equal
188 (within a given <b>Tolerance</b>) to the predefined <b>Threshold Value</b>.
189 </li><li>
190 <b>Minimum angle</b> selects triangles and quadrangles with minimum angle (see also a
191 \ref minimum_angle_page "Minimum angle quality control"), which is more, less or equal
192 (within a given <b>Tolerance</b>) to the predefined <b>Threshold Value</b>.
193 </li><li>
194 <b>Taper</b> selects quadrangles cells with taper value (see also a
195 \ref taper_page "Taper quality control"), which is more, less or equal (within a given
196 <b>Tolerance</b>) to the predefined <b>Threshold Value</b>.
197 </li><li>
198 <b>Skew</b> selects triangles and quadrangles with skew value (see also a
199 \ref skew_page "Skew quality control"), which is more, less or equal (within a given
200 <b>Tolerance</b>) to the predefined <b>Threshold Value</b>.
201 </li><li>
202 <b>Area</b> selects triangles and quadrangles with a value of area (see also an
203 \ref area_page "Area quality control"), which is more, less or equal (within a given
204 <b>Tolerance</b>) to the predefined <b>Threshold Value</b>.
205 </li><li>
206 <b>Free edges</b> selects 2D mesh elements having at least one 
207 edge, which is not shared with other faces. See also a
208 \ref free_edges_page "Free Edges quality control".
209 </li><li>
210 <b>Free faces</b> selects 2D mesh elements, which belong to less than two volumes.
211 </li><li>
212 <b>Double faces</b> selects 2D mesh elements basing on the same set of nodes.
213 See also \ref filter_double_elements "Double Elements quality control".
214 </li><li>
215 <b>Faces with bare border</b> selects 2D mesh elements having a free border without an edge on it.
216 See also \ref bare_border_faces_page "Bare border faces quality control".
217 </li><li>
218 <b>Over-constrained faces</b> selects 2D mesh elements having only one border shared 
219 with other 2D elements.
220 See also \ref over_constrained_faces_page "Over-constrained faces quality control".
221 </li><li>
222 <b>Borders at Multi-Connections 2D</b> selects cells consisting of edges belonging to
223 several elements of mesh. The number of mesh elements should be more, less or equal
224 (within a given <b>Tolerance</b>) to the predefined <b>Threshold Value</b>.
225 See also a
226 \ref borders_at_multi_connection_2d_page "Borders at Multi-Connection 2D quality control".
227 </li><li>
228 <b>Length 2D</b> selects triangles and quadrangles combining of the edges with a value of
229 length, which is more, less or equal (within a given <b>Tolerance</b>) to the predefined
230 <b>Threshold Value</b>. See also a
231 \ref length_2d_page "Length 2D quality control".
232 </li><li>
233 <b>Coplanar faces</b> selects mesh faces neighboring the one selected
234 by ID in <b>Threshold Value</b> field, if the angle between the
235 normal to the neighboring face and the normal to the selected face is less then the
236 angular tolerance (defined in degrees). Selection continues among all neighbor faces of already 
237 selected ones.<br>
238 </li><li>
239 <b>Deflection 2D</b> selects 2D mesh elements having distance between their gravity
240 centers and underlying surfaces, which is more, less or equal (within a given <b>Tolerance</b>) to the predefined <b>Threshold Value</b>. See also a
241 \ref deflection_2d_page "Deflection 2D quality control".
242 </li><li>
243 <b>Element Diameter 2D</b> selects triangles and quadrangles composed of the edges and
244 diagonals with a value of length, which is more, less or equal
245 (within a given <b>Tolerance</b>) to the predefined <b>Threshold Value</b>. See also a
246 \ref max_element_length_2d_page "Element Diameter 2D quality control".
247 </li>
248 </ul>
249
250 The following criteria allow selecting mesh <b>Volumes</b>:
251 <ul><li>
252 <b>Aspect ratio 3D</b> selects 3D mesh elements with an aspect ratio (see also an
253 \ref aspect_ratio_3d_page "Aspect Ratio 3D quality control"), which is more, less or equal
254 (within a given <b>Tolerance</b>) to the predefined <b>Threshold Value</b>.
255 </li><li>
256 <b>Volume</b> selects 3D mesh elements with a value of volume (see also a
257 \ref volume_page "Volume quality control"), which is more, less or equal (within a given
258 <b>Tolerance</b>) to the predefined <b>Threshold Value</b>.
259 </li><li>
260 <b>Element Diameter 3D</b> selects 3D mesh elements composed of the edges and
261 diagonals with a value of length, which is more, less or equal
262 (within a given <b>Tolerance</b>) to the predefined <b>Threshold Value</b>. See also a
263 \ref max_element_length_3d_page "Element Diameter 3D quality control".
264 </li><li>
265 <b>Double volumes</b> selects 3D mesh elements basing on the same set of nodes.
266 See also \ref filter_double_elements "Double Elements quality control".
267 </li><li>
268 <b>Bad oriented volume</b> selects mesh volumes, which are incorrectly oriented from
269 the point of view of MED convention.
270 </li><li>
271 <b>Over-constrained volumes</b> selects mesh volumes having only one facet shared 
272 with other volumes.
273 See also \ref over_constrained_volumes_page "Over-constrained volumes quality control".
274 </li><li>
275 <b>Volumes with bare border</b> selects 3D mesh elements having a free border without a face on it.
276 See also \ref bare_border_volumes_page "Bare border volumes quality control".
277 </li>
278 </ul>
279
280
281 */