Salome HOME
IPAL53011: Order of sub-mesh in meshing process does't work
[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, 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, a filtering criterion can
14 be reverted using logical operator \a NOT.
15
16 Mesh filters can 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 filters 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 filters 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 filters 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 filters 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 filters 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 filters 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 filters 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 filters 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 filters 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 filters 2D mesh elements (faces) having edges (i.e. links between
127 nodes, not mesh segments) belonging to one face 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 filters 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 filters 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 filters 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 filters coplanar faces:
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 filters 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 filters 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 filters 1D mesh elements (segments) according to the specified number of
215 connections (faces and volumes on whose border the segment lies):
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 filters 2D mesh elements (faces) with the specified maximal number of
227 faces connected to a border (link between nodes, not mesh segment):
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 filters 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 filters 2D mesh elements (faces) according to the maximum length of its
250 edges (links between nodes):
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 filters 2D mesh elements (faces) according to the maximum length
262 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 (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 filters 3D mesh elements (volumes) according to the maximum length
274 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 filters 3D mesh elements with bare borders, i.e. having a facet not
286 shared with other volumes and without a face on it:
287 - element type is \a SMESH.VOLUME
288 - functor type is \a SMESH.FT_BareBorderVolume
289 - threshold value is not required
290
291 \tui_script{filters_ex24.py}
292
293 \sa \ref tui_bare_border_volumes
294
295 \section filter_over_constrained_volumes Over-constrained volumes
296
297 filters over-constrained volumes, whose all nodes are on the mesh boundary:
298 - element type is \a SMESH.VOLUME
299 - functor type is \a SMESH.FT_OverConstrainedVolume
300 - threshold value is not required
301
302 \tui_script{filters_ex25.py}
303
304 \sa \ref tui_over_constrained_faces
305
306 \section filter_belong_to_group Belong to Mesh Group
307
308 filters mesh entities (nodes or elements) included in a mesh group
309 defined by threshold value:
310 - element type can be any, from \a  SMESH.NODE to \a SMESH.BALL
311 - functor type should be \a SMESH.FT_BelongToMeshGroup
312 - threshold is mesh group object
313
314 \tui_script{filters_belong2group.py}
315
316 \section filter_belong_to_geom Belong to Geom
317
318 filters mesh entities (nodes or elements) which all nodes lie on the
319 shape defined by threshold value:
320 - element type can be any, from \a  SMESH.NODE to \a SMESH.BALL
321 - functor type should be \a SMESH.FT_BelongToGeom
322 - threshold is geometrical object
323 - tolerance is a distance between a node and the geometrical object;
324 it is used if an node is not associated to any geometry.
325
326 \tui_script{filters_ex26.py}
327
328 \section filter_lying_on_geom Lying on Geom
329
330 filters mesh entities (nodes or elements) at least one node of which lies on the
331 shape defined by threshold value:
332 - element type can be any, from \a  SMESH.NODE to \a SMESH.BALL
333 - functor type should be \a SMESH.FT_LyingOnGeom
334 - threshold is geometrical object
335 - tolerance is a distance between a node and the geometrical object;
336 it is used if an node is not associated to any geometry.
337
338 \tui_script{filters_ex27.py}
339
340 \section filter_belong_to_plane Belong to Plane
341
342 filters mesh entities (nodes or elements) which all nodes belong to the
343 plane defined by threshold value with the given tolerance:
344 - element type can be any except \a  SMESH.VOLUME
345 - functor type should be \a SMESH.FT_BelongToPlane
346 - threshold is geometrical object (plane)
347 - default tolerance is 1.0e-7
348
349 \tui_script{filters_ex28.py}
350
351 \section filter_belong_to_cylinder Belong to Cylinder
352
353 filters mesh entities (nodes or elements) which all nodes belong to the
354 cylindrical face defined by threshold value with the given tolerance:
355 - element type can be any except \a  SMESH.VOLUME
356 - functor type should be \a SMESH.FT_BelongToCylinder
357 - threshold is geometrical object (cylindrical face)
358 - default tolerance is 1.0e-7
359
360 \tui_script{filters_ex29.py}
361
362 \section filter_belong_to_surface Belong to Surface
363
364 filters mesh entities (nodes or elements) which all nodes belong to the
365 arbitrary surface defined by threshold value with the given tolerance:
366 - element type can be any except \a  SMESH.VOLUME
367 - functor type should be \a SMESH.FT_BelongToGenSurface
368 - threshold is geometrical object (arbitrary surface)
369 - default tolerance is 1.0e-7
370
371 \tui_script{filters_ex30.py}
372
373 \section filter_range_of_ids Range of IDs
374
375 filters mesh entities elements (nodes or elements) according to the
376 specified identifiers range:
377 - element type can be any, from \a  SMESH.NODE to \a SMESH.BALL
378 - functor type is \a SMESH.FT_RangeOfIds
379 - threshold is string listing required IDs and/or ranges of IDs, e.g."1,2,3,50-60,63,67,70-78"  
380
381 \tui_script{filters_ex31.py}
382
383 \section filter_bad_oriented_volume Badly oriented volume
384
385 filters 3D mesh elements (volumes), which are incorrectly oriented from
386 the point of view of MED convention. 
387 - element type should be \a SMESH.VOLUME
388 - functor type is \a SMESH.FT_BadOrientedVolume
389 - threshold is not required
390
391 \tui_script{filters_ex32.py}
392
393 \section filter_linear_or_quadratic Linear / quadratic
394
395 filters linear / quadratic mesh elements:
396 - element type should be either \a SMESH.EDGE, \a SMESH.FACE or \a SMESH.VOLUME
397 - functor type is \a SMESH.FT_LinearOrQuadratic
398 - threshold is not required
399 - if unary operator is set to SMESH.FT_LogicalNOT, the quadratic
400 elements are selected, otherwise (by default) linear elements are selected
401
402 \tui_script{filters_ex33.py}
403
404 \section filter_group_color Group color
405
406 filters mesh entities, belonging to the group with the color defined by the threshold value.
407 - element type can be any, from \a  SMESH.NODE to \a SMESH.BALL
408 - functor type is \a SMESH.FT_GroupColor
409 - threshold should be of SALOMEDS.Color type
410
411 \tui_script{filters_ex34.py}
412
413 \section filter_geom_type Geometry type
414
415 filters mesh elements by the geometric type defined with the threshold
416 value. The list of available geometric types depends on the element
417 entity type.
418 - element type can be any, e.g.: \a SMESH.EDGE, \a SMESH.FACE, \a SMESH.VOLUME, etc.
419 - functor type should be \a SMESH.FT_ElemGeomType
420 - threshold is either of smesh.GeometryType values. Type \a SMESH.GeometryType._items in the Python Console to see all geometric types.
421
422 \tui_script{filters_ex35.py}
423
424 \section filter_entity_type Entity type
425
426 filters mesh elements by the geometric type and number of nodes. 
427 - element type can be any, e.g.: \a SMESH.EDGE, \a SMESH.FACE, \a SMESH.VOLUME, etc.
428 - functor type should be \a SMESH.FT_EntityType
429 - threshold is either of SMESH.EntityType values. Type \a SMESH.EntityType._items in the Python Console to see all entity types.
430
431 \tui_script{filters_ex37.py}
432
433 \section filter_ball_diam Ball diameter
434
435 filters ball elements by diameter. 
436 - element type should be \a SMESH.BALL
437 - functor type should be \a SMESH.FT_BallDiameter
438 - threshold is floating point value (ball diameter)
439
440 \tui_script{filters_ex38.py}
441
442 \section filter_domain Elements of a domain
443
444 filters elements of a specified domain. 
445 - element type can be any, e.g.: \a SMESH.EDGE, \a SMESH.FACE, \a SMESH.VOLUME, etc.
446 - functor type should be \a SMESH.FT_ConnectedElements
447 - threshold is either (1) node ID or (2)  geometrical vertex or (3) 3 coordinates of a point.
448
449 \tui_script{filters_ex39.py}
450
451 \section combining_filters How to combine several criteria into a filter?
452
453 Several criteria can be combined into a filter.
454
455 Example :
456
457 \tui_script{filters_ex36.py}
458
459
460 */