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