X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=doc%2Fsalome%2Fgui%2FSMESH%2Finput%2Ftui_filters.doc;h=d77c447e6c2940b6a42a6d54d229d19edfbe3ca4;hp=eaf5d2803c54fee01d1f6a02921eb27f2362486c;hb=f6825d843153c333e95e1345ef7c7fc2d0fe5698;hpb=88b3dbe23b236bd1746405155ae33a76aaf59ecd diff --git a/doc/salome/gui/SMESH/input/tui_filters.doc b/doc/salome/gui/SMESH/input/tui_filters.doc index eaf5d2803..d77c447e6 100755 --- a/doc/salome/gui/SMESH/input/tui_filters.doc +++ b/doc/salome/gui/SMESH/input/tui_filters.doc @@ -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,9 +24,9 @@ Python scripts. \section filter_aspect_ratio Aspect ratio -Filter 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 +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) \tui_script{filters_ex01.py} @@ -33,9 +35,9 @@ 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: -- element type is \a smesh.VOLUME -- functor type is \a smesh.FT_AspectRatio3D +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) \tui_script{filters_ex02.py} @@ -44,9 +46,9 @@ 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: -- element type is \a smesh.FACE -- functor type is \a smesh.FT_Warping +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) \tui_script{filters_ex03.py} @@ -55,9 +57,9 @@ 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: -- element type is \a smesh.FACE -- functor type is \a smesh.FT_MinimumAngle +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) \tui_script{filters_ex04.py} @@ -66,9 +68,9 @@ 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: -- element type is \a smesh.FACE -- functor type is \a smesh.FT_Taper +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) \tui_script{filters_ex05.py} @@ -77,9 +79,9 @@ Filter 2D mesh elements (faces) according to the taper value: \section filter_skew Skew -Filter 2D mesh elements (faces) according to the skew value: -- element type is \a smesh.FACE -- functor type is \a smesh.FT_Skew +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) \tui_script{filters_ex06.py} @@ -88,9 +90,9 @@ Filter 2D mesh elements (faces) according to the skew value: \section filter_area Area -Filter 2D mesh elements (faces) according to the area value: -- element type is \a smesh.FACE -- functor type is \a smesh.FT_Area +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) \tui_script{filters_ex07.py} @@ -99,9 +101,9 @@ Filter 2D mesh elements (faces) according to the area value: \section filter_volume Volume -Filter 3D mesh elements (volumes) according to the volume value: -- element type is \a smesh.VOLUME -- functor type is \a smesh.FT_Volume3D +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) \tui_script{filters_ex08.py} @@ -110,9 +112,9 @@ 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: -- element type is \a smesh.EDGE -- functor type is \a smesh.FT_FreeBorders +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 \tui_script{filters_ex09.py} @@ -121,10 +123,10 @@ 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: -- element type is \a smesh.FACE -- functor type is \a smesh.FT_FreeEdges +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 \tui_script{filters_ex10.py} @@ -133,9 +135,9 @@ element of mesh only: \section filter_free_nodes Free nodes -Filter free nodes: -- element type is \a smesh.NODE -- functor type is \a smesh.FT_FreeNodes +filters free nodes: +- element type is \a SMESH.NODE +- functor type is \a SMESH.FT_FreeNodes - threshold value is not required \tui_script{filters_ex11.py} @@ -144,9 +146,9 @@ Filter free nodes: \section filter_free_faces Free faces -Filter free faces: -- element type is \a smesh.FACE -- functor type is \a smesh.FT_FreeFaces +filters free faces: +- element type is \a SMESH.FACE +- functor type is \a SMESH.FT_FreeFaces - threshold value is not required \tui_script{filters_ex12.py} @@ -155,9 +157,9 @@ Filter free faces: \section filter_bare_border_faces Bare border faces -Filter faces with bare borders: -- element type is \a smesh.FACE -- functor type is \a smesh.FT_BareBorderFace +filters faces with bare borders: +- element type is \a SMESH.FACE +- functor type is \a SMESH.FT_BareBorderFace - threshold value is not required \tui_script{filters_ex13.py} @@ -166,9 +168,9 @@ Filter faces with bare borders: \section filter_coplanar_faces Coplanar faces -Filter faces with bare borders: -- element type is \a smesh.FACE -- functor type is \a smesh.FT_CoplanarFaces +filters coplanar faces: +- element type is \a SMESH.FACE +- functor type is \a SMESH.FT_CoplanarFaces - threshold value is the face ID - tolerance is in degrees @@ -176,9 +178,9 @@ Filter faces with bare borders: \section filter_over_constrained_faces Over-constrained faces -Filter over-constrained faces: -- element type is \a smesh.FACE -- functor type is \a smesh.FT_OverConstrainedFace +filters over-constrained faces: +- element type is \a SMESH.FACE +- functor type is \a SMESH.FT_OverConstrainedFace - threshold value is not required \tui_script{filters_ex15.py} @@ -187,10 +189,10 @@ 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 -- functor type is either \a smesh.FT_EqualEdges, \a - smesh.FT_EqualFaces or \a smesh.FT_EqualVolumes, +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 \tui_script{filters_ex16.py} @@ -199,20 +201,30 @@ filter mesh elements basing on the same set of nodes: \section tui_double_nodes_control Double nodes filters mesh nodes which are coincident with other nodes (within a given tolerance): -- element type is \a smesh.NODE -- functor type is \a smesh.FT_EqualNodes +- element type is \a SMESH.NODE +- functor type is \a SMESH.FT_EqualNodes - threshold value is not required - default tolerance is 1.0e-7 \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) -- element type is \a smesh.EDGE -- functor type is \a smesh.FT_MultiConnection +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) \tui_script{filters_ex18.py} @@ -221,10 +233,10 @@ 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 -- element type is \a smesh.FACE -- functor type is \a smesh.FT_MultiConnection2D +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) \tui_script{filters_ex19.py} @@ -233,9 +245,9 @@ to the specified number of mesh elements \section filter_length Length -Filter 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 +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) \tui_script{filters_ex20.py} @@ -244,10 +256,10 @@ 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: -- element type should be \a smesh.FACE -- functor type should be \a smesh.FT_Length2D +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) \tui_script{filters_ex21.py} @@ -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: -- element type should be \a smesh.FACE -- functor type should be \a smesh.FT_MaxElementLength2D -- threshold is floating point value (edge/diagonal length) +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 (length) \tui_script{filters_ex22.py} @@ -268,10 +280,10 @@ 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: -- element type should be \a smesh.VOLUME -- functor type should be \a smesh.FT_MaxElementLength3D +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) \tui_script{filters_ex23.py} @@ -280,9 +292,10 @@ value of its edges and diagonals: \section filter_bare_border_volumes Bare border volumes -Filter 3D mesh elements with bare borders: -- element type is \a smesh.VOLUME -- functor type is \a smesh.FT_BareBorderVolume +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 \tui_script{filters_ex24.py} @@ -291,41 +304,55 @@ Filter 3D mesh elements with bare borders: \section filter_over_constrained_volumes Over-constrained volumes -Filter over-constrained volumes: -- element type is \a smesh.VOLUME -- functor type is \a smesh.FT_OverConstrainedVolume +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 \tui_script{filters_ex25.py} \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 -- functor type should be \a smesh.FT_BelongToGeom +- 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 -- functor type should be \a smesh.FT_LyingOnGeom +- 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 -- functor type should be \a smesh.FT_BelongToPlane +- 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,10 +360,10 @@ 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 smesh.NODE, \a smesh.EDGE, \a smesh.FACE -- functor type should be \a smesh.FT_BelongToCylinder +- 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,10 +371,10 @@ 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 -- functor type should be \a smesh.FT_BelongToGenSurface +- 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,58 +382,85 @@ 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 -- functor type is \a smesh.FT_RangeOfIds +- 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" \tui_script{filters_ex31.py} \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 +- element type should be \a SMESH.VOLUME +- functor type is \a SMESH.FT_BadOrientedVolume - threshold is not required \tui_script{filters_ex32.py} \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 -- functor type is \a smesh.FT_LinearOrQuadratic +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 +- if unary operator is set to SMESH.FT_LogicalNOT, the quadratic elements are selected, otherwise (by default) linear elements are selected \tui_script{filters_ex33.py} \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 -- functor type is \a smesh.FT_GroupColor +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 \tui_script{filters_ex34.py} \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 -- functor type should be \a smesh.FT_ElemGeomType -- threshold is of smesh.GeometryType value +- 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 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 :