Salome HOME
bf3a1f72e23a4180e163ca9407571d6cd1dfaede
[modules/smesh.git] / doc / salome / gui / SMESH / input / tui_filters.doc
1 /*!
2
3 \page tui_filters_page Filters usage
4
5 \tableofcontents
6
7 Filters allow picking only the mesh elements satisfying to a
8 specific condition or a set of conditions. Filters can be used to create
9 or edit mesh groups, remove elements from the mesh object, control
10 mesh quality by different parameters, etc.
11
12 Several filtering criteria can be combined together by using logical
13 operators \a AND and \a OR. In addition, applied filter criterion can
14 be reverted using logical operator \a NOT.
15
16 Mesh filters use the functionality of mesh quality controls to filter
17 mesh nodes / elements by a specific characteristic (Area, Length, etc).
18
19 This page provides a short description of the existing mesh filters,
20 describes required parameters and gives simple examples of usage in
21 Python scripts.
22
23 \sa \ref tui_quality_controls_page
24
25 \section filter_aspect_ratio Aspect ratio
26
27 Filter 2D mesh elements (faces) according to the aspect ratio value:
28 - element type should be \a SMESH.FACE
29 - functor type should be \a SMESH.FT_AspectRatio
30 - threshold is floating point value (aspect ratio)
31
32 \tui_script{filters_ex01.py}
33
34 \sa \ref tui_aspect_ratio
35
36 \section filter_aspect_ratio_3d Aspect ratio 3D
37
38 Filter 3D mesh elements (volumes) according to the aspect ratio value:
39 - element type is \a SMESH.VOLUME
40 - functor type is \a SMESH.FT_AspectRatio3D
41 - threshold is floating point value (aspect ratio)
42
43 \tui_script{filters_ex02.py}
44
45 \sa \ref tui_aspect_ratio_3d
46
47 \section filter_warping_angle Warping angle
48
49 Filter 2D mesh elements (faces) according to the warping angle value:
50 - element type is \a SMESH.FACE
51 - functor type is \a SMESH.FT_Warping
52 - threshold is floating point value (warping angle)
53
54 \tui_script{filters_ex03.py}
55
56 \sa \ref tui_warping
57
58 \section filter_minimum_angle Minimum angle
59
60 Filter 2D mesh elements (faces) according to the minimum angle value:
61 - element type is \a SMESH.FACE
62 - functor type is \a SMESH.FT_MinimumAngle
63 - threshold is floating point value (minimum angle)
64
65 \tui_script{filters_ex04.py}
66
67 \sa \ref tui_minimum_angle
68
69 \section filter_taper Taper
70
71 Filter 2D mesh elements (faces) according to the taper value:
72 - element type is \a SMESH.FACE
73 - functor type is \a SMESH.FT_Taper
74 - threshold is floating point value (taper)
75
76 \tui_script{filters_ex05.py}
77
78 \sa \ref tui_taper
79
80 \section filter_skew Skew
81
82 Filter 2D mesh elements (faces) according to the skew value:
83 - element type is \a SMESH.FACE
84 - functor type is \a SMESH.FT_Skew
85 - threshold is floating point value (skew)
86
87 \tui_script{filters_ex06.py}
88
89 \sa \ref tui_skew
90
91 \section filter_area Area
92
93 Filter 2D mesh elements (faces) according to the area value:
94 - element type is \a SMESH.FACE
95 - functor type is \a SMESH.FT_Area
96 - threshold is floating point value (area)
97
98 \tui_script{filters_ex07.py}
99
100 \sa \ref tui_area
101
102 \section filter_volume Volume
103
104 Filter 3D mesh elements (volumes) according to the volume value:
105 - element type is \a SMESH.VOLUME
106 - functor type is \a SMESH.FT_Volume3D
107 - threshold is floating point value (volume)
108
109 \tui_script{filters_ex08.py}
110
111 \sa \ref tui_volume
112
113 \section filter_free_borders Free borders
114
115 Filter 1D mesh elements (edges) which represent free borders of a mesh:
116 - element type is \a SMESH.EDGE
117 - functor type is \a SMESH.FT_FreeBorders
118 - threshold value is not required
119
120 \tui_script{filters_ex09.py}
121
122 \sa \ref tui_free_borders
123
124 \section filter_free_edges Free edges
125
126 Filter 2D mesh elements (faces) consisting of edges belonging to one
127 element of mesh only:
128 - element type is \a SMESH.FACE
129 - functor type is \a SMESH.FT_FreeEdges
130 - threshold value is not required
131
132 \tui_script{filters_ex10.py}
133
134 \sa \ref tui_free_edges
135
136 \section filter_free_nodes Free nodes
137
138 Filter free nodes:
139 - element type is \a SMESH.NODE
140 - functor type is \a SMESH.FT_FreeNodes
141 - threshold value is not required
142
143 \tui_script{filters_ex11.py}
144
145 \sa \ref tui_free_nodes
146
147 \section filter_free_faces Free faces
148
149 Filter free faces:
150 - element type is \a SMESH.FACE
151 - functor type is \a SMESH.FT_FreeFaces
152 - threshold value is not required
153
154 \tui_script{filters_ex12.py}
155
156 \sa \ref tui_free_faces
157
158 \section filter_bare_border_faces Bare border faces
159
160 Filter faces with bare borders:
161 - element type is \a SMESH.FACE
162 - functor type is \a SMESH.FT_BareBorderFace
163 - threshold value is not required
164
165 \tui_script{filters_ex13.py}
166
167 \sa \ref tui_bare_border_faces
168
169 \section filter_coplanar_faces Coplanar faces
170
171 Filter faces with bare borders:
172 - element type is \a SMESH.FACE
173 - functor type is \a SMESH.FT_CoplanarFaces
174 - threshold value is the face ID
175 - tolerance is in degrees
176
177 \tui_script{filters_ex14.py}
178
179 \section filter_over_constrained_faces Over-constrained faces
180
181 Filter over-constrained faces:
182 - element type is \a SMESH.FACE
183 - functor type is \a SMESH.FT_OverConstrainedFace
184 - threshold value is not required
185
186 \tui_script{filters_ex15.py}
187
188 \sa \ref tui_over_constrained_faces
189
190 \section filter_double_elements Double edges, Double faces, Double volumes
191
192 filter mesh elements basing on the same set of nodes:
193 - element type is either \a SMESH.EGDE, \a SMESH.FACE or \a SMESH.VOLUME
194 - functor type is either \a SMESH.FT_EqualEdges, \a
195           SMESH.FT_EqualFaces or \a SMESH.FT_EqualVolumes,
196 - threshold value is not required
197
198 \tui_script{filters_ex16.py}
199
200
201 \section tui_double_nodes_control Double nodes
202
203 filters mesh nodes which are coincident with other nodes (within a given tolerance):
204 - element type is \a SMESH.NODE
205 - functor type is \a SMESH.FT_EqualNodes
206 - threshold value is not required
207 - default tolerance is 1.0e-7
208
209 \tui_script{filters_ex17.py}
210
211
212 \section filter_borders_multiconnection Borders at multi-connection
213
214 Filter border 1D mesh elements (edges) according to the specified number of
215 connections (faces belonging the border edges)
216 - element type is \a SMESH.EDGE
217 - functor type is \a SMESH.FT_MultiConnection
218 - threshold is integer value (number of connections)
219
220 \tui_script{filters_ex18.py}
221
222 \sa \ref tui_borders_at_multiconnection
223
224 \section filter_borders_multiconnection_2d Borders at multi-connection 2D
225
226 Filter 2D mesh elements (faces) which consist of edges belonging
227 to the specified number of mesh elements
228 - element type is \a SMESH.FACE
229 - functor type is \a SMESH.FT_MultiConnection2D
230 - threshold is integer value (number of connections)
231
232 \tui_script{filters_ex19.py}
233
234 \sa \ref tui_borders_at_multiconnection_2d
235
236 \section filter_length Length
237
238 Filter 1D mesh elements (edges) according to the edge length value:
239 - element type should be \a SMESH.EDGE
240 - functor type should be \a SMESH.FT_Length
241 - threshold is floating point value (length)
242
243 \tui_script{filters_ex20.py}
244
245 \sa \ref tui_length_1d
246
247 \section filter_length_2d Length 2D
248
249 Filter 2D mesh elements (faces) corresponding to the maximum length.
250 value of its edges:
251 - element type should be \a SMESH.FACE
252 - functor type should be \a SMESH.FT_Length2D
253 - threshold is floating point value (edge length)
254
255 \tui_script{filters_ex21.py}
256
257 \sa \ref tui_length_2d
258
259 \section filter_max_element_length_2d Element Diameter 2D
260
261 Filter 2D mesh elements (faces) corresponding to the maximum length
262 value of its edges and diagonals:
263 - element type should be \a SMESH.FACE
264 - functor type should be \a SMESH.FT_MaxElementLength2D
265 - threshold is floating point value (edge/diagonal length)
266
267 \tui_script{filters_ex22.py}
268
269 \sa \ref tui_max_element_length_2d
270
271 \section filter_max_element_length_3d Element Diameter 3D
272
273 Filter 3D mesh elements (volumes) corresponding to the maximum length
274 value of its edges and diagonals:
275 - element type should be \a SMESH.VOLUME
276 - functor type should be \a SMESH.FT_MaxElementLength3D
277 - threshold is floating point value (edge/diagonal length)
278
279 \tui_script{filters_ex23.py}
280
281 \sa \ref tui_max_element_length_3d
282
283 \section filter_bare_border_volumes Bare border volumes
284
285 Filter 3D mesh elements with bare borders:
286 - element type is \a SMESH.VOLUME
287 - functor type is \a SMESH.FT_BareBorderVolume
288 - threshold value is not required
289
290 \tui_script{filters_ex24.py}
291
292 \sa \ref tui_bare_border_volumes
293
294 \section filter_over_constrained_volumes Over-constrained volumes
295
296 Filter over-constrained volumes:
297 - element type is \a SMESH.VOLUME
298 - functor type is \a SMESH.FT_OverConstrainedVolume
299 - threshold value is not required
300
301 \tui_script{filters_ex25.py}
302
303 \sa \ref tui_over_constrained_faces
304
305 \section filter_belong_to_group Belong to Mesh Group
306
307 Filter mesh entities (nodes or elements) included in a mesh group
308 defined by threshold value:
309 - element type can be any entity type, from \a  SMESH.NODE to \a SMESH.VOLUME
310 - functor type should be \a SMESH.FT_BelongToMeshGroup
311 - threshold is mesh group object
312
313 \tui_script{filters_belong2group.py}
314
315 \section filter_belong_to_geom Belong to Geom
316
317 Filter mesh entities (nodes or elements) which all nodes lie on the
318 shape defined by threshold value:
319 - element type can be any entity type, from \a  SMESH.NODE to \a SMESH.VOLUME
320 - functor type should be \a SMESH.FT_BelongToGeom
321 - threshold is geometrical object
322
323 \tui_script{filters_ex26.py}
324
325 \section filter_lying_on_geom Lying on Geom
326
327 Filter mesh entities (nodes or elements) at least one node of which lies on the
328 shape defined by threshold value:
329 - element type can be any entity type, from \a  SMESH.NODE to \a SMESH.VOLUME
330 - functor type should be \a SMESH.FT_LyingOnGeom
331 - threshold is geometrical object
332
333 \tui_script{filters_ex27.py}
334
335 \section filter_belong_to_plane Belong to Plane
336
337 Filter mesh entities (nodes or elements) which all nodes belong to the
338 plane defined by threshold value with the given tolerance:
339 - element type can be: \a  SMESH.NODE, \a SMESH.EDGE, \a SMESH.FACE
340 - functor type should be \a SMESH.FT_BelongToPlane
341 - threshold is geometrical object (plane)
342 - default tolerance is 1.0e-7
343
344 \tui_script{filters_ex28.py}
345
346 \section filter_belong_to_cylinder Belong to Cylinder
347
348 Filter mesh entities (nodes or elements) which all nodes belong to the
349 cylindrical face defined by threshold value with the given tolerance:
350 - element type can be: \a , \a SMESH.EDGE, \a SMESH.FACE
351 - functor type should be \a SMESH.FT_BelongToCylinder
352 - threshold is geometrical object (cylindrical face)
353 - default tolerance is 1.0e-7
354
355 \tui_script{filters_ex29.py}
356
357 \section filter_belong_to_surface Belong to Surface
358
359 Filter mesh entities (nodes or elements) which all nodes belong to the
360 arbitrary surface defined by threshold value with the given tolerance:
361 - element type can be: \a  SMESH.NODE, \a SMESH.EDGE, \a SMESH.FACE
362 - functor type should be \a SMESH.FT_BelongToGenSurface
363 - threshold is geometrical object (arbitrary surface)
364 - default tolerance is 1.0e-7
365
366 \tui_script{filters_ex30.py}
367
368 \section filter_range_of_ids Range of IDs
369
370 Filter mesh entities elements (nodes or elements) according to the
371 specified identifiers range:
372 - element type can be any entity type, from \a  SMESH.NODE to \a SMESH.VOLUME
373 - functor type is \a SMESH.FT_RangeOfIds
374 - threshold is string listing required IDs and/or ranges of IDs, e.g."1,2,3,50-60,63,67,70-78"  
375
376 \tui_script{filters_ex31.py}
377
378 \section filter_bad_oriented_volume Badly oriented volume
379
380 Filter 3D mesh elements (volumes), which are incorrectly oriented from
381 the point of view of MED convention. 
382 - element type should be \a SMESH.VOLUME
383 - functor type is \a SMESH.FT_BadOrientedVolume
384 - threshold is not required
385
386 \tui_script{filters_ex32.py}
387
388 \section filter_linear_or_quadratic Linear / quadratic
389
390 Filter linear / quadratic mesh elements:
391 - element type should be any element type, e.g.: \a SMESH.EDGE, \a SMESH.FACE, \a SMESH.VOLUME
392 - functor type is \a SMESH.FT_LinearOrQuadratic
393 - threshold is not required
394 - if unary operator is set to SMESH.FT_LogicalNOT, the quadratic
395 elements are selected, otherwise (by default) linear elements are selected
396
397 \tui_script{filters_ex33.py}
398
399 \section filter_group_color Group color
400
401 Filter mesh entities, belonging to the group with the color defined by the threshold value.
402 - element type can be any entity type, from \a  SMESH.NODE to \a SMESH.VOLUME
403 - functor type is \a SMESH.FT_GroupColor
404 - threshold should be of SALOMEDS.Color type
405
406 \tui_script{filters_ex34.py}
407
408 \section filter_geom_type Geometry type
409
410 Filter mesh elements by the geometric type defined with the threshold
411 value. The list of available geometric types depends on the element
412 entity type.
413 - element type should be any element type, e.g.: \a SMESH.EDGE, \a SMESH.FACE, \a SMESH.VOLUME
414 - functor type should be \a SMESH.FT_ElemGeomType
415 - threshold is of smesh.GeometryType value
416
417 \tui_script{filters_ex35.py}
418
419 \section combining_filters How to combine filters with Criterion structures?
420
421 Filters can be combined by making use of "criteria".
422
423 Example :
424
425 \tui_script{filters_ex36.py}
426
427
428 */