X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FControls%2FSMESH_ControlsDef.hxx;h=8a2ff7e245becdcf4147fa98c3ce0dc4c98cb65f;hb=b22e182dd1a2c30be324b21074158390d00714b3;hp=7c01c4b281911567b393eb4368b860fe9f588a55;hpb=6bac08c1a81f34d3f21c550bd92f83654b2546a5;p=modules%2Fsmesh.git diff --git a/src/Controls/SMESH_ControlsDef.hxx b/src/Controls/SMESH_ControlsDef.hxx index 7c01c4b28..8a2ff7e24 100644 --- a/src/Controls/SMESH_ControlsDef.hxx +++ b/src/Controls/SMESH_ControlsDef.hxx @@ -37,7 +37,6 @@ #include #include #include -#include #include #include @@ -54,6 +53,7 @@ class SMDS_Mesh; class SMESHDS_Mesh; class SMESHDS_SubMesh; +class SMESHDS_GroupBase; class gp_Pnt; @@ -67,7 +67,7 @@ namespace SMESH{ public: TSequenceOfXYZ(); - TSequenceOfXYZ(size_type n); + explicit TSequenceOfXYZ(size_type n); TSequenceOfXYZ(size_type n, const gp_XYZ& t); @@ -92,8 +92,16 @@ namespace SMESH{ size_type size() const; + + void setElement(const SMDS_MeshElement* e) { myElem = e; } + + const SMDS_MeshElement* getElement() const { return myElem; } + + SMDSAbs_EntityType getElementEntity() const; + private: - std::vector myArray; + std::vector myArray; + const SMDS_MeshElement* myElem; }; /*! @@ -763,8 +771,8 @@ namespace SMESH{ TMapOfLink& theNonManifold, SMDS_MeshFace* theNextFace ) const; - void getFacesByLink( const Link& theLink, - TVectorOfFacePtr& theFaces ) const; + void getFacesByLink( const Link& theLink, + TVectorOfFacePtr& theFaces ) const; private: const SMDS_Mesh* myMesh; @@ -779,6 +787,27 @@ namespace SMESH{ }; typedef boost::shared_ptr ManifoldPartPtr; + /* + Class : BelongToMeshGroup + Description : Verify whether a mesh element is included into a mesh group + */ + class SMESHCONTROLS_EXPORT BelongToMeshGroup : public virtual Predicate + { + public: + BelongToMeshGroup(); + virtual void SetMesh( const SMDS_Mesh* theMesh ); + virtual bool IsSatisfy( long theElementId ); + virtual SMDSAbs_ElementType GetType() const; + + void SetGroup( SMESHDS_GroupBase* g ); + void SetStoreName( const std::string& sn ); + const SMESHDS_GroupBase* GetGroup() const { return myGroup; } + + private: + SMESHDS_GroupBase* myGroup; + std::string myStoreName; + }; + typedef boost::shared_ptr BelongToMeshGroupPtr; /* Class : ElementsOnSurface @@ -809,7 +838,6 @@ namespace SMESH{ TMeshModifTracer myMeshModifTracer; TColStd_MapOfInteger myIds; SMDSAbs_ElementType myType; - //Handle(Geom_Surface) mySurf; TopoDS_Face mySurf; double myToler; bool myUseBoundaries; @@ -953,6 +981,7 @@ namespace SMESH{ virtual void init(); TopoDS_Shape myShape; + TColStd_MapOfInteger mySubShapesIDs; const SMESHDS_Mesh* myMeshDS; SMDSAbs_ElementType myType; bool myIsSubshape;