Salome HOME
Merge remote-tracking branch 'origin/master'
[modules/smesh.git] / doc / salome / gui / SMESH / input / tui_filters.doc
index 9f8bff80dd0aa730388735d68af7445e7c57e8df..d77c447e6c2940b6a42a6d54d229d19edfbe3ca4 100755 (executable)
@@ -2,16 +2,18 @@
 
 \page tui_filters_page Filters usage
 
+\tableofcontents
+
 Filters allow picking only the mesh elements satisfying to a
 specific condition or a set of conditions. Filters can be used to create
-or edit mesh groups, remove elements from the mesh object, control
+or edit mesh groups, remove elements from the mesh, control
 mesh quality by different parameters, etc.
 
-Several filters can be combined together by using logical operators \a
-AND and \a OR. In addition, applied filter criterion can be reverted
-using logical operator \a NOT.
+Several filtering criteria can be combined together by using logical
+operators \a AND and \a OR. In addition, a filtering criterion can
+be reverted using logical operator \a NOT.
 
-Mesh filters use the functionality of mesh quality controls to filter
+Mesh filters can use the functionality of mesh quality controls to filter
 mesh nodes / elements by a specific characteristic (Area, Length, etc).
 
 This page provides a short description of the existing mesh filters,
@@ -22,7 +24,7 @@ Python scripts.
 
 \section filter_aspect_ratio Aspect ratio
 
-Filter 2D mesh elements (faces) according to the aspect ratio value:
+filters 2D mesh elements (faces) according to the aspect ratio value:
 - element type should be \a SMESH.FACE
 - functor type should be \a SMESH.FT_AspectRatio
 - threshold is floating point value (aspect ratio)
@@ -33,7 +35,7 @@ Filter 2D mesh elements (faces) according to the aspect ratio value:
 
 \section filter_aspect_ratio_3d Aspect ratio 3D
 
-Filter 3D mesh elements (volumes) according to the aspect ratio value:
+filters 3D mesh elements (volumes) according to the aspect ratio value:
 - element type is \a SMESH.VOLUME
 - functor type is \a SMESH.FT_AspectRatio3D
 - threshold is floating point value (aspect ratio)
@@ -44,7 +46,7 @@ Filter 3D mesh elements (volumes) according to the aspect ratio value:
 
 \section filter_warping_angle Warping angle
 
-Filter 2D mesh elements (faces) according to the warping angle value:
+filters 2D mesh elements (faces) according to the warping angle value:
 - element type is \a SMESH.FACE
 - functor type is \a SMESH.FT_Warping
 - threshold is floating point value (warping angle)
@@ -55,7 +57,7 @@ Filter 2D mesh elements (faces) according to the warping angle value:
 
 \section filter_minimum_angle Minimum angle
 
-Filter 2D mesh elements (faces) according to the minimum angle value:
+filters 2D mesh elements (faces) according to the minimum angle value:
 - element type is \a SMESH.FACE
 - functor type is \a SMESH.FT_MinimumAngle
 - threshold is floating point value (minimum angle)
@@ -66,7 +68,7 @@ Filter 2D mesh elements (faces) according to the minimum angle value:
 
 \section filter_taper Taper
 
-Filter 2D mesh elements (faces) according to the taper value:
+filters 2D mesh elements (faces) according to the taper value:
 - element type is \a SMESH.FACE
 - functor type is \a SMESH.FT_Taper
 - threshold is floating point value (taper)
@@ -77,7 +79,7 @@ Filter 2D mesh elements (faces) according to the taper value:
 
 \section filter_skew Skew
 
-Filter 2D mesh elements (faces) according to the skew value:
+filters 2D mesh elements (faces) according to the skew value:
 - element type is \a SMESH.FACE
 - functor type is \a SMESH.FT_Skew
 - threshold is floating point value (skew)
@@ -88,7 +90,7 @@ Filter 2D mesh elements (faces) according to the skew value:
 
 \section filter_area Area
 
-Filter 2D mesh elements (faces) according to the area value:
+filters 2D mesh elements (faces) according to the area value:
 - element type is \a SMESH.FACE
 - functor type is \a SMESH.FT_Area
 - threshold is floating point value (area)
@@ -99,7 +101,7 @@ Filter 2D mesh elements (faces) according to the area value:
 
 \section filter_volume Volume
 
-Filter 3D mesh elements (volumes) according to the volume value:
+filters 3D mesh elements (volumes) according to the volume value:
 - element type is \a SMESH.VOLUME
 - functor type is \a SMESH.FT_Volume3D
 - threshold is floating point value (volume)
@@ -110,7 +112,7 @@ Filter 3D mesh elements (volumes) according to the volume value:
 
 \section filter_free_borders Free borders
 
-Filter 1D mesh elements (edges) which represent free borders of a mesh:
+filters 1D mesh elements (edges) which represent free borders of a mesh:
 - element type is \a SMESH.EDGE
 - functor type is \a SMESH.FT_FreeBorders
 - threshold value is not required
@@ -121,8 +123,8 @@ Filter 1D mesh elements (edges) which represent free borders of a mesh:
 
 \section filter_free_edges Free edges
 
-Filter 2D mesh elements (faces) consisting of edges belonging to one
-element of mesh only:
+filters 2D mesh elements (faces) having edges (i.e. links between
+nodes, not mesh segments) belonging to one face of mesh only:
 - element type is \a SMESH.FACE
 - functor type is \a SMESH.FT_FreeEdges
 - threshold value is not required
@@ -133,7 +135,7 @@ element of mesh only:
 
 \section filter_free_nodes Free nodes
 
-Filter free nodes:
+filters free nodes:
 - element type is \a SMESH.NODE
 - functor type is \a SMESH.FT_FreeNodes
 - threshold value is not required
@@ -144,7 +146,7 @@ Filter free nodes:
 
 \section filter_free_faces Free faces
 
-Filter free faces:
+filters free faces:
 - element type is \a SMESH.FACE
 - functor type is \a SMESH.FT_FreeFaces
 - threshold value is not required
@@ -155,7 +157,7 @@ Filter free faces:
 
 \section filter_bare_border_faces Bare border faces
 
-Filter faces with bare borders:
+filters faces with bare borders:
 - element type is \a SMESH.FACE
 - functor type is \a SMESH.FT_BareBorderFace
 - threshold value is not required
@@ -166,7 +168,7 @@ Filter faces with bare borders:
 
 \section filter_coplanar_faces Coplanar faces
 
-Filter faces with bare borders:
+filters coplanar faces:
 - element type is \a SMESH.FACE
 - functor type is \a SMESH.FT_CoplanarFaces
 - threshold value is the face ID
@@ -176,7 +178,7 @@ Filter faces with bare borders:
 
 \section filter_over_constrained_faces Over-constrained faces
 
-Filter over-constrained faces:
+filters over-constrained faces:
 - element type is \a SMESH.FACE
 - functor type is \a SMESH.FT_OverConstrainedFace
 - threshold value is not required
@@ -187,8 +189,8 @@ Filter over-constrained faces:
 
 \section filter_double_elements Double edges, Double faces, Double volumes
 
-filter mesh elements basing on the same set of nodes:
-- element type is either \a smesh.EGDE, \a SMESH.FACE or \a SMESH.VOLUME
+filters mesh elements basing on the same set of nodes:
+- element type is either \a SMESH.EDGE, \a SMESH.FACE or \a SMESH.VOLUME
 - functor type is either \a SMESH.FT_EqualEdges, \a
           SMESH.FT_EqualFaces or \a SMESH.FT_EqualVolumes,
 - threshold value is not required
@@ -207,10 +209,20 @@ filters mesh nodes which are coincident with other nodes (within a given toleran
 \tui_script{filters_ex17.py}
 
 
+\section filter_node_nb_conn Node connectivity number
+
+filters nodes according to a number of elements of highest dimension connected to a node:
+- element type should be \a SMESH.NODE
+- functor type should be \a SMESH.FT_NodeConnectivityNumber
+- threshold is an integer value (number of elements)
+
+\tui_script{filters_node_nb_conn.py}
+
+
 \section filter_borders_multiconnection Borders at multi-connection
 
-Filter border 1D mesh elements (edges) according to the specified number of
-connections (faces belonging the border edges)
+filters 1D mesh elements (segments) according to the specified number of
+connections (faces and volumes on whose border the segment lies):
 - element type is \a SMESH.EDGE
 - functor type is \a SMESH.FT_MultiConnection
 - threshold is integer value (number of connections)
@@ -221,8 +233,8 @@ connections (faces belonging the border edges)
 
 \section filter_borders_multiconnection_2d Borders at multi-connection 2D
 
-Filter 2D mesh elements (faces) which consist of edges belonging
-to the specified number of mesh elements
+filters 2D mesh elements (faces) with the specified maximal number of
+faces connected to a border (link between nodes, not mesh segment):
 - element type is \a SMESH.FACE
 - functor type is \a SMESH.FT_MultiConnection2D
 - threshold is integer value (number of connections)
@@ -233,7 +245,7 @@ to the specified number of mesh elements
 
 \section filter_length Length
 
-Filter 1D mesh elements (edges) according to the edge length value:
+filters 1D mesh elements (edges) according to the edge length value:
 - element type should be \a SMESH.EDGE
 - functor type should be \a SMESH.FT_Length
 - threshold is floating point value (length)
@@ -244,8 +256,8 @@ Filter 1D mesh elements (edges) according to the edge length value:
 
 \section filter_length_2d Length 2D
 
-Filter 2D mesh elements (faces) corresponding to the maximum length.
-value of its edges:
+filters 2D mesh elements (faces) according to the maximum length of its
+edges (links between nodes):
 - element type should be \a SMESH.FACE
 - functor type should be \a SMESH.FT_Length2D
 - threshold is floating point value (edge length)
@@ -256,11 +268,11 @@ value of its edges:
 
 \section filter_max_element_length_2d Element Diameter 2D
 
-Filter 2D mesh elements (faces) corresponding to the maximum length
-value of its edges and diagonals:
+filters 2D mesh elements (faces) according to the maximum length
+of its edges and diagonals:
 - element type should be \a SMESH.FACE
 - functor type should be \a SMESH.FT_MaxElementLength2D
-- threshold is floating point value (edge/diagonal length)
+- threshold is floating point value (length)
 
 \tui_script{filters_ex22.py}
 
@@ -268,8 +280,8 @@ value of its edges and diagonals:
 
 \section filter_max_element_length_3d Element Diameter 3D
 
-Filter 3D mesh elements (volumes) corresponding to the maximum length
-value of its edges and diagonals:
+filters 3D mesh elements (volumes) according to the maximum length
+of its edges and diagonals:
 - element type should be \a SMESH.VOLUME
 - functor type should be \a SMESH.FT_MaxElementLength3D
 - threshold is floating point value (edge/diagonal length)
@@ -280,7 +292,8 @@ value of its edges and diagonals:
 
 \section filter_bare_border_volumes Bare border volumes
 
-Filter 3D mesh elements with bare borders:
+filters 3D mesh elements with bare borders, i.e. having a facet not
+shared with other volumes and without a face on it:
 - element type is \a SMESH.VOLUME
 - functor type is \a SMESH.FT_BareBorderVolume
 - threshold value is not required
@@ -291,7 +304,7 @@ Filter 3D mesh elements with bare borders:
 
 \section filter_over_constrained_volumes Over-constrained volumes
 
-Filter over-constrained volumes:
+filters over-constrained volumes, whose all nodes are on the mesh boundary:
 - element type is \a SMESH.VOLUME
 - functor type is \a SMESH.FT_OverConstrainedVolume
 - threshold value is not required
@@ -300,31 +313,45 @@ Filter over-constrained volumes:
 
 \sa \ref tui_over_constrained_faces
 
+\section filter_belong_to_group Belong to Mesh Group
+
+filters mesh entities (nodes or elements) included in a mesh group
+defined by threshold value:
+- element type can be any, from \a  SMESH.NODE to \a SMESH.BALL
+- functor type should be \a SMESH.FT_BelongToMeshGroup
+- threshold is mesh group object
+
+\tui_script{filters_belong2group.py}
+
 \section filter_belong_to_geom Belong to Geom
 
-Filter mesh entities (nodes or elements) which all nodes lie on the
+filters mesh entities (nodes or elements) which all nodes lie on the
 shape defined by threshold value:
-- element type can be any entity type, from \a  SMESH.NODE to \a SMESH.VOLUME
+- element type can be any, from \a  SMESH.NODE to \a SMESH.BALL
 - functor type should be \a SMESH.FT_BelongToGeom
 - threshold is geometrical object
+- tolerance is a distance between a node and the geometrical object;
+it is used if an node is not associated to any geometry.
 
 \tui_script{filters_ex26.py}
 
 \section filter_lying_on_geom Lying on Geom
 
-Filter mesh entities (nodes or elements) at least one node of which lies on the
+filters mesh entities (nodes or elements) at least one node of which lies on the
 shape defined by threshold value:
-- element type can be any entity type, from \a  SMESH.NODE to \a SMESH.VOLUME
+- element type can be any, from \a  SMESH.NODE to \a SMESH.BALL
 - functor type should be \a SMESH.FT_LyingOnGeom
 - threshold is geometrical object
+- tolerance is a distance between a node and the geometrical object;
+it is used if an node is not associated to any geometry.
 
 \tui_script{filters_ex27.py}
 
 \section filter_belong_to_plane Belong to Plane
 
-Filter mesh entities (nodes or elements) which all nodes belong to the
+filters mesh entities (nodes or elements) which all nodes belong to the
 plane defined by threshold value with the given tolerance:
-- element type can be: \a  SMESH.NODE, \a SMESH.EDGE, \a SMESH.FACE
+- element type can be any except \a  SMESH.VOLUME
 - functor type should be \a SMESH.FT_BelongToPlane
 - threshold is geometrical object (plane)
 - default tolerance is 1.0e-7
@@ -333,9 +360,9 @@ plane defined by threshold value with the given tolerance:
 
 \section filter_belong_to_cylinder Belong to Cylinder
 
-Filter mesh entities (nodes or elements) which all nodes belong to the
+filters mesh entities (nodes or elements) which all nodes belong to the
 cylindrical face defined by threshold value with the given tolerance:
-- element type can be: \a , \a SMESH.EDGE, \a SMESH.FACE
+- element type can be any except \a  SMESH.VOLUME
 - functor type should be \a SMESH.FT_BelongToCylinder
 - threshold is geometrical object (cylindrical face)
 - default tolerance is 1.0e-7
@@ -344,9 +371,9 @@ cylindrical face defined by threshold value with the given tolerance:
 
 \section filter_belong_to_surface Belong to Surface
 
-Filter mesh entities (nodes or elements) which all nodes belong to the
+filters mesh entities (nodes or elements) which all nodes belong to the
 arbitrary surface defined by threshold value with the given tolerance:
-- element type can be: \a  SMESH.NODE, \a SMESH.EDGE, \a SMESH.FACE
+- element type can be any except \a  SMESH.VOLUME
 - functor type should be \a SMESH.FT_BelongToGenSurface
 - threshold is geometrical object (arbitrary surface)
 - default tolerance is 1.0e-7
@@ -355,9 +382,9 @@ arbitrary surface defined by threshold value with the given tolerance:
 
 \section filter_range_of_ids Range of IDs
 
-Filter mesh entities elements (nodes or elements) according to the
+filters mesh entities elements (nodes or elements) according to the
 specified identifiers range:
-- element type can be any entity type, from \a  SMESH.NODE to \a SMESH.VOLUME
+- element type can be any, from \a  SMESH.NODE to \a SMESH.BALL
 - functor type is \a SMESH.FT_RangeOfIds
 - threshold is string listing required IDs and/or ranges of IDs, e.g."1,2,3,50-60,63,67,70-78" 
 
@@ -365,7 +392,7 @@ specified identifiers range:
 
 \section filter_bad_oriented_volume Badly oriented volume
 
-Filter 3D mesh elements (volumes), which are incorrectly oriented from
+filters 3D mesh elements (volumes), which are incorrectly oriented from
 the point of view of MED convention. 
 - element type should be \a SMESH.VOLUME
 - functor type is \a SMESH.FT_BadOrientedVolume
@@ -375,8 +402,8 @@ the point of view of MED convention.
 
 \section filter_linear_or_quadratic Linear / quadratic
 
-Filter linear / quadratic mesh elements:
-- element type should be any element type, e.g.: \a SMESH.EDGE, \a SMESH.FACE, \a SMESH.VOLUME
+filters linear / quadratic mesh elements:
+- element type should be either \a SMESH.EDGE, \a SMESH.FACE or \a SMESH.VOLUME
 - functor type is \a SMESH.FT_LinearOrQuadratic
 - threshold is not required
 - if unary operator is set to SMESH.FT_LogicalNOT, the quadratic
@@ -386,8 +413,8 @@ elements are selected, otherwise (by default) linear elements are selected
 
 \section filter_group_color Group color
 
-Filter mesh entities, belonging to the group with the color defined by the threshold value.
-- element type can be any entity type, from \a  SMESH.NODE to \a SMESH.VOLUME
+filters mesh entities, belonging to the group with the color defined by the threshold value.
+- element type can be any, from \a  SMESH.NODE to \a SMESH.BALL
 - functor type is \a SMESH.FT_GroupColor
 - threshold should be of SALOMEDS.Color type
 
@@ -395,18 +422,45 @@ Filter mesh entities, belonging to the group with the color defined by the thres
 
 \section filter_geom_type Geometry type
 
-Filter mesh elements by the geometric type defined with the threshold
+filters mesh elements by the geometric type defined with the threshold
 value. The list of available geometric types depends on the element
 entity type.
-- element type should be any element type, e.g.: \a SMESH.EDGE, \a SMESH.FACE, \a SMESH.VOLUME
+- element type can be any, e.g.: \a SMESH.EDGE, \a SMESH.FACE, \a SMESH.VOLUME, etc.
 - functor type should be \a SMESH.FT_ElemGeomType
-- threshold is of smesh.GeometryType value
+- threshold is either of smesh.GeometryType values. Type \a SMESH.GeometryType._items in the Python Console to see all geometric types.
 
 \tui_script{filters_ex35.py}
 
-\section combining_filters How to combine filters with Criterion structures?
+\section filter_entity_type Entity type
+
+filters mesh elements by the geometric type and number of nodes. 
+- element type can be any, e.g.: \a SMESH.EDGE, \a SMESH.FACE, \a SMESH.VOLUME, etc.
+- functor type should be \a SMESH.FT_EntityType
+- threshold is either of SMESH.EntityType values. Type \a SMESH.EntityType._items in the Python Console to see all entity types.
+
+\tui_script{filters_ex37.py}
+
+\section filter_ball_diam Ball diameter
+
+filters ball elements by diameter. 
+- element type should be \a SMESH.BALL
+- functor type should be \a SMESH.FT_BallDiameter
+- threshold is floating point value (ball diameter)
+
+\tui_script{filters_ex38.py}
+
+\section filter_domain Elements of a domain
+
+filters elements of a specified domain. 
+- element type can be any, e.g.: \a SMESH.EDGE, \a SMESH.FACE, \a SMESH.VOLUME, etc.
+- functor type should be \a SMESH.FT_ConnectedElements
+- threshold is either (1) node ID or (2)  geometrical vertex or (3) 3 coordinates of a point.
+
+\tui_script{filters_ex39.py}
+
+\section combining_filters How to combine several criteria into a filter?
 
-Filters can be combined by making use of "criteria".
+Several criteria can be combined into a filter.
 
 Example :