3 \page tui_filters_page Filters usage
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.
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.
16 Mesh filters can use the functionality of mesh quality controls to filter
17 mesh nodes / elements by a specific characteristic (Area, Length, etc).
19 This page provides a short description of the existing mesh filters,
20 describes required parameters and gives simple examples of usage in
23 \sa \ref tui_quality_controls_page
25 \section filter_aspect_ratio Aspect ratio
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)
32 \tui_script{filters_ex01.py}
34 \sa \ref tui_aspect_ratio
36 \section filter_aspect_ratio_3d Aspect ratio 3D
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)
43 \tui_script{filters_ex02.py}
45 \sa \ref tui_aspect_ratio_3d
47 \section filter_warping_angle Warping angle
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)
54 \tui_script{filters_ex03.py}
58 \section filter_minimum_angle Minimum angle
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)
65 \tui_script{filters_ex04.py}
67 \sa \ref tui_minimum_angle
69 \section filter_taper Taper
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)
76 \tui_script{filters_ex05.py}
80 \section filter_skew Skew
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)
87 \tui_script{filters_ex06.py}
91 \section filter_area Area
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)
98 \tui_script{filters_ex07.py}
102 \section filter_volume Volume
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)
109 \tui_script{filters_ex08.py}
113 \section filter_free_borders Free borders
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
120 \tui_script{filters_ex09.py}
122 \sa \ref tui_free_borders
124 \section filter_free_edges Free edges
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
132 \tui_script{filters_ex10.py}
134 \sa \ref tui_free_edges
136 \section filter_free_nodes Free nodes
139 - element type is \a SMESH.NODE
140 - functor type is \a SMESH.FT_FreeNodes
141 - threshold value is not required
143 \tui_script{filters_ex11.py}
145 \sa \ref tui_free_nodes
147 \section filter_free_faces Free faces
150 - element type is \a SMESH.FACE
151 - functor type is \a SMESH.FT_FreeFaces
152 - threshold value is not required
154 \tui_script{filters_ex12.py}
156 \sa \ref tui_free_faces
158 \section filter_bare_border_faces Bare border faces
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
165 \tui_script{filters_ex13.py}
167 \sa \ref tui_bare_border_faces
169 \section filter_coplanar_faces Coplanar faces
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
177 \tui_script{filters_ex14.py}
179 \section filter_over_constrained_faces Over-constrained faces
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
186 \tui_script{filters_ex15.py}
188 \sa \ref tui_over_constrained_faces
190 \section filter_double_elements Double edges, Double faces, Double volumes
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
198 \tui_script{filters_ex16.py}
201 \section tui_double_nodes_control Double nodes
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
209 \tui_script{filters_ex17.py}
212 \section filter_borders_multiconnection Borders at multi-connection
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)
220 \tui_script{filters_ex18.py}
222 \sa \ref tui_borders_at_multiconnection
224 \section filter_borders_multiconnection_2d Borders at multi-connection 2D
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)
232 \tui_script{filters_ex19.py}
234 \sa \ref tui_borders_at_multiconnection_2d
236 \section filter_length Length
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)
243 \tui_script{filters_ex20.py}
245 \sa \ref tui_length_1d
247 \section filter_length_2d Length 2D
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)
255 \tui_script{filters_ex21.py}
257 \sa \ref tui_length_2d
259 \section filter_max_element_length_2d Element Diameter 2D
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)
267 \tui_script{filters_ex22.py}
269 \sa \ref tui_max_element_length_2d
271 \section filter_max_element_length_3d Element Diameter 3D
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)
279 \tui_script{filters_ex23.py}
281 \sa \ref tui_max_element_length_3d
283 \section filter_bare_border_volumes Bare border volumes
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
291 \tui_script{filters_ex24.py}
293 \sa \ref tui_bare_border_volumes
295 \section filter_over_constrained_volumes Over-constrained volumes
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
302 \tui_script{filters_ex25.py}
304 \sa \ref tui_over_constrained_faces
306 \section filter_belong_to_group Belong to Mesh Group
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
314 \tui_script{filters_belong2group.py}
316 \section filter_belong_to_geom Belong to Geom
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.
326 \tui_script{filters_ex26.py}
328 \section filter_lying_on_geom Lying on Geom
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.
338 \tui_script{filters_ex27.py}
340 \section filter_belong_to_plane Belong to Plane
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
349 \tui_script{filters_ex28.py}
351 \section filter_belong_to_cylinder Belong to Cylinder
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
360 \tui_script{filters_ex29.py}
362 \section filter_belong_to_surface Belong to Surface
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
371 \tui_script{filters_ex30.py}
373 \section filter_range_of_ids Range of IDs
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"
381 \tui_script{filters_ex31.py}
383 \section filter_bad_oriented_volume Badly oriented volume
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
391 \tui_script{filters_ex32.py}
393 \section filter_linear_or_quadratic Linear / quadratic
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
402 \tui_script{filters_ex33.py}
404 \section filter_group_color Group color
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
411 \tui_script{filters_ex34.py}
413 \section filter_geom_type Geometry type
415 filters mesh elements by the geometric type defined with the threshold
416 value. The list of available geometric types depends on the element
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.
422 \tui_script{filters_ex35.py}
424 \section filter_entity_type Entity type
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.
431 \tui_script{filters_ex37.py}
433 \section filter_ball_diam Ball diameter
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)
440 \tui_script{filters_ex38.py}
442 \section filter_domain Elements of a domain
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.
449 \tui_script{filters_ex39.py}
451 \section combining_filters How to combine several criteria into a filter?
453 Several criteria can be combined into a filter.
457 \tui_script{filters_ex36.py}