0022098: EDF 2036 SMESH: Create groups from none conected parts of a mesh

+    FT_ConnectedElements,

+  interface ConnectedElements : Predicate {
This commit is contained in:
eap 2013-05-16 17:14:04 +00:00
parent 7eb6b6fa33
commit ab30b9ea23

View File

@ -53,7 +53,7 @@ module SMESH
FT_FreeEdges, FT_FreeEdges,
FT_FreeNodes, FT_FreeNodes,
FT_FreeFaces, FT_FreeFaces,
FT_EqualNodes, // IMPORTANT: when a new item is added, please FT_EqualNodes, // IMPORTANT: when a new item is added, don't forget to
FT_EqualEdges, // 1) update getFunctNames() in SMESH_Filter_i.cxx: line 3910 FT_EqualEdges, // 1) update getFunctNames() in SMESH_Filter_i.cxx: line 3910
FT_EqualFaces, // 2) update fixFunctorType() in SMESH_2smeshpy.cxx: line 234 FT_EqualFaces, // 2) update fixFunctorType() in SMESH_2smeshpy.cxx: line 234
FT_EqualVolumes, FT_EqualVolumes,
@ -78,6 +78,7 @@ module SMESH
FT_EntityType, FT_EntityType,
FT_CoplanarFaces, FT_CoplanarFaces,
FT_BallDiameter, FT_BallDiameter,
FT_ConnectedElements,
FT_LessThan, FT_LessThan,
FT_MoreThan, FT_MoreThan,
FT_EqualTo, FT_EqualTo,
@ -317,7 +318,7 @@ module SMESH
* Logical functor (predicate) "Free borders". * Logical functor (predicate) "Free borders".
* Verify whether 1D mesh element is free ( i.e. connected to one face only ) * Verify whether 1D mesh element is free ( i.e. connected to one face only )
*/ */
interface FreeBorders: Predicate{}; interface FreeBorders: Predicate {};
/*! /*!
* Logical functor (predicate) "Free edges". * Logical functor (predicate) "Free edges".
@ -338,13 +339,13 @@ module SMESH
* Logical functor (predicate) "Free nodes". * Logical functor (predicate) "Free nodes".
* Verify whether mesh has free nodes( i.e. nodes are not connected to any element ) * Verify whether mesh has free nodes( i.e. nodes are not connected to any element )
*/ */
interface FreeNodes: Predicate{}; interface FreeNodes: Predicate {};
/*! /*!
* Logical functor (predicate) "Free faces". * Logical functor (predicate) "Free faces".
* Verify whether 2D mesh element is free ( i.e. connected to one volume only ) * Verify whether 2D mesh element is free ( i.e. connected to one volume only )
*/ */
interface FreeFaces: Predicate{}; interface FreeFaces: Predicate {};
/*! /*!
* Abstract logical functor (predicate) "RangeOfIds". * Abstract logical functor (predicate) "RangeOfIds".
@ -380,7 +381,7 @@ module SMESH
/*! /*!
* Logical predicates are intended for compose predicates using boolean operations * Logical predicates are intended for compose predicates using boolean operations
*/ */
interface Logical: Predicate{}; interface Logical: Predicate {};
interface LogicalNOT: Logical interface LogicalNOT: Logical
{ {
@ -405,43 +406,59 @@ module SMESH
}; };
/*! /*!
* Functor "Group Color" * Predicate "Group Color"
* Returns color of group to which mesh element belongs to * Returns color of group to which mesh element belongs to
*/ */
interface GroupColor : Predicate{ interface GroupColor : Predicate {
void SetElementType( in ElementType theType ); void SetElementType( in ElementType theType );
void SetColorStr( in string theColor ); void SetColorStr( in string theColor );
string GetColorStr(); string GetColorStr();
}; };
/*! /*!
* Functor "Element geometry type" * Predicate "Element geometry type"
* Returns is element has indicated geometry type * Returns is element has indicated geometry type
*/ */
interface ElemGeomType : Predicate{ interface ElemGeomType : Predicate {
void SetElementType ( in ElementType theType ); void SetElementType ( in ElementType theType );
void SetGeometryType( in GeometryType theType ); void SetGeometryType( in GeometryType theType );
}; };
/*! /*!
* Functor "Element entity type" * Predicate "Element entity type"
* Returns is element has indicated entity type * Returns is element has indicated entity type
*/ */
interface ElemEntityType : Predicate{ interface ElemEntityType : Predicate {
void SetElementType ( in ElementType theType ); void SetElementType ( in ElementType theType );
void SetEntityType( in EntityType theSetEntityType ); void SetEntityType( in EntityType theSetEntityType );
}; };
/*! /*!
* Functor "Coplanar faces" * Predicate "Coplanar faces"
* Returns true if a mesh face is a coplanar neighbour to a given one. It checks * Returns true if a mesh face is a coplanar neighbour to a given one. It checks
* if normal of a face has angle with the threshold face less than a tolerance. * if normal of a face has angle with the threshold face less than a tolerance.
*/ */
interface CoplanarFaces : Predicate{ interface CoplanarFaces : Predicate {
void SetFace ( in long theFaceID ); void SetFace ( in long theFaceID );
void SetTolerance( in double theToler ); void SetTolerance( in double theToler );
}; };
/*!
* Predicate "Connected Elements"
* Returns true if an element is connected via other elements to the element
* located at a given point.
*/
interface ConnectedElements : Predicate {
enum ThresholdType { POINT, VERTEX, NODE, NONE };
void SetElementType( in ElementType type );
void SetPoint ( in double x, in double y, in double z );
void SetVertex ( in GEOM::GEOM_Object vertex );
void SetNode ( in long nodeID );
string GetThreshold ( out ThresholdType type );
void SetThreshold ( in string threshold, in ThresholdType type )
raises (SALOME::SALOME_Exception);
};
/*! /*!
* Filter * Filter
*/ */
@ -456,14 +473,16 @@ module SMESH
* BinaryOp - binary logical operation FT_LogicalAND, FT_LogicalOR or * BinaryOp - binary logical operation FT_LogicalAND, FT_LogicalOR or
* (FT_Undefined must be for the last criterion) * (FT_Undefined must be for the last criterion)
* ThresholdStr - Threshold value defined as string. Used for: * ThresholdStr - Threshold value defined as string. Used for:
* 1. Diapason of identifiers. Example: "1,2,3,5-10,12,27-29" * 1. Diapason of identifiers. Example: "1,2,3,5-10,12,27-29".
* 2. BelongToGeom predicate for storing name of shape * 2. Storing name of shape.
* 3. GroupColor predicate for storing group color "0.2;0;0.5" * 3. Storing group color "0.2;0;0.5".
* 4. Storing point coordinates.
* ThresholdID - One more threshold value defined as string. Used for: * ThresholdID - One more threshold value defined as string. Used for:
* 1. BelongToGeom predicate for storing id of shape * 1. Storing id of shape
* Tolerance - Tolerance is used for comparators (EqualTo comparision) and for * Tolerance - Tolerance is used for
* "Belong to plane", "Belong to cylinder" etc predicates * 1. Comparison of real values.
* TypeOfElement - type of element SMESH::NODE, SMESH::FACE (used by BelongToGeom predicate only) * 2. Detection of geometrical coincidence.
* TypeOfElement - type of element SMESH::NODE, SMESH::FACE etc.
* Precision - Precision of numerical functors * Precision - Precision of numerical functors
*/ */
struct Criterion struct Criterion
@ -586,6 +605,7 @@ module SMESH
ElemGeomType CreateElemGeomType(); ElemGeomType CreateElemGeomType();
ElemEntityType CreateElemEntityType(); ElemEntityType CreateElemEntityType();
CoplanarFaces CreateCoplanarFaces(); CoplanarFaces CreateCoplanarFaces();
ConnectedElements CreateConnectedElements();
/*! /*!
* Create comparators ( predicates ) * Create comparators ( predicates )