+
+ /*
+ BareBorderVolume
+ */
+ class SMESHCONTROLS_EXPORT BareBorderVolume: public Predicate
+ {
+ public:
+ BareBorderVolume():myMesh(0) {}
+ virtual void SetMesh( const SMDS_Mesh* theMesh ) { myMesh = theMesh; }
+ virtual SMDSAbs_ElementType GetType() const { return SMDSAbs_Volume; }
+ virtual bool IsSatisfy( long theElementId );
+ protected:
+ const SMDS_Mesh* myMesh;
+ };
+ typedef boost::shared_ptr<BareBorderVolume> BareBorderVolumePtr;
+
+ /*
+ BareBorderFace
+ */
+ class SMESHCONTROLS_EXPORT BareBorderFace: public Predicate
+ {
+ public:
+ BareBorderFace():myMesh(0) {}
+ virtual void SetMesh( const SMDS_Mesh* theMesh ) { myMesh = theMesh; }
+ virtual SMDSAbs_ElementType GetType() const { return SMDSAbs_Face; }
+ virtual bool IsSatisfy( long theElementId );
+ protected:
+ const SMDS_Mesh* myMesh;
+ std::vector< const SMDS_MeshNode* > myLinkNodes;
+ };
+ typedef boost::shared_ptr<BareBorderFace> BareBorderFacePtr;
+
+ /*
+ OverConstrainedVolume
+ */
+ class SMESHCONTROLS_EXPORT OverConstrainedVolume: public Predicate
+ {
+ public:
+ OverConstrainedVolume():myMesh(0) {}
+ virtual void SetMesh( const SMDS_Mesh* theMesh ) { myMesh = theMesh; }
+ virtual SMDSAbs_ElementType GetType() const { return SMDSAbs_Volume; }
+ virtual bool IsSatisfy( long theElementId );
+ protected:
+ const SMDS_Mesh* myMesh;
+ };
+ typedef boost::shared_ptr<OverConstrainedVolume> OverConstrainedVolumePtr;
+
+ /*
+ OverConstrainedFace
+ */
+ class SMESHCONTROLS_EXPORT OverConstrainedFace: public Predicate
+ {
+ public:
+ OverConstrainedFace():myMesh(0) {}
+ virtual void SetMesh( const SMDS_Mesh* theMesh ) { myMesh = theMesh; }
+ virtual SMDSAbs_ElementType GetType() const { return SMDSAbs_Face; }
+ virtual bool IsSatisfy( long theElementId );
+ protected:
+ const SMDS_Mesh* myMesh;
+ };
+ typedef boost::shared_ptr<OverConstrainedFace> OverConstrainedFacePtr;