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