X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESH_I%2FSMESH_Filter_i.hxx;h=87684f25715f4357d158a4475f472038c02d9e37;hp=fa9436722ee7435cb9689dbd7e6de5dcddcff1a8;hb=67dba15dfdd0b7f7a2671a70ad831a080a9c0487;hpb=b47c58114142779e28b8071a0332619cd2a71a3b diff --git a/src/SMESH_I/SMESH_Filter_i.hxx b/src/SMESH_I/SMESH_Filter_i.hxx index fa9436722..87684f257 100644 --- a/src/SMESH_I/SMESH_Filter_i.hxx +++ b/src/SMESH_I/SMESH_Filter_i.hxx @@ -41,94 +41,8 @@ #include -class SMESHDS_Mesh; - namespace SMESH { - - // ================================================================================ - namespace Controls - { - - /* - Class : BelongToGeom - Description : Predicate for verifying whether entiy belong to - specified geometrical support - */ - class SMESH_I_EXPORT BelongToGeom: public virtual Predicate - { - public: - BelongToGeom(); - - virtual void SetMesh( const SMDS_Mesh* theMesh ); - virtual void SetGeom( const TopoDS_Shape& theShape ); - - virtual bool IsSatisfy( long theElementId ); - - virtual void SetType( SMDSAbs_ElementType theType ); - virtual SMDSAbs_ElementType GetType() const; - - TopoDS_Shape GetShape(); - const SMESHDS_Mesh* GetMeshDS() const; - - void SetTolerance( double ); - double GetTolerance(); - - private: - virtual void init(); - - TopoDS_Shape myShape; - const SMESHDS_Mesh* myMeshDS; - SMDSAbs_ElementType myType; - bool myIsSubshape; - double myTolerance; // only if myIsSubshape == false - Controls::ElementsOnShapePtr myElementsOnShapePtr; // only if myIsSubshape == false - }; - typedef boost::shared_ptr BelongToGeomPtr; - - /* - Class : LyingOnGeom - Description : Predicate for verifying whether entiy lying or partially lying on - specified geometrical support - */ - class SMESH_I_EXPORT LyingOnGeom: public virtual Predicate - { - public: - LyingOnGeom(); - - virtual void SetMesh( const SMDS_Mesh* theMesh ); - virtual void SetGeom( const TopoDS_Shape& theShape ); - - virtual bool IsSatisfy( long theElementId ); - - virtual void SetType( SMDSAbs_ElementType theType ); - virtual SMDSAbs_ElementType GetType() const; - - TopoDS_Shape GetShape(); - const SMESHDS_Mesh* GetMeshDS() const; - - void SetTolerance( double ); - double GetTolerance(); - - virtual bool Contains( const SMESHDS_Mesh* theMeshDS, - const TopoDS_Shape& theShape, - const SMDS_MeshElement* theElem, - TopAbs_ShapeEnum theFindShapeEnum, - TopAbs_ShapeEnum theAvoidShapeEnum = TopAbs_SHAPE ); - private: - virtual void init(); - - TopoDS_Shape myShape; - const SMESHDS_Mesh* myMeshDS; - SMDSAbs_ElementType myType; - bool myIsSubshape; - double myTolerance; // only if myIsSubshape == false - Controls::ElementsOnShapePtr myElementsOnShapePtr; // only if myIsSubshape == false - }; - typedef boost::shared_ptr LyingOnGeomPtr; - - } // namespace Controls - // ================================================================================ /* FUNCTORS @@ -162,7 +76,11 @@ namespace SMESH { public: CORBA::Double GetValue( CORBA::Long theElementId ); - SMESH::Histogram* GetHistogram(CORBA::Short nbIntervals, CORBA::Boolean isLogarithmic); + SMESH::Histogram* GetHistogram(CORBA::Short nbIntervals, + CORBA::Boolean isLogarithmic); + SMESH::Histogram* GetLocalHistogram(CORBA::Short nbIntervals, + CORBA::Boolean isLogarithmic, + SMESH::SMESH_IDSource_ptr object); void SetPrecision( CORBA::Long thePrecision ); CORBA::Long GetPrecision(); Controls::NumericalFunctorPtr GetNumericalFunctor(); @@ -383,6 +301,7 @@ namespace SMESH { public: CORBA::Boolean IsSatisfy( CORBA::Long theElementId ); + CORBA::Long NbSatisfying( SMESH::SMESH_IDSource_ptr obj ); Controls::PredicatePtr GetPredicate(); protected: @@ -1029,6 +948,7 @@ namespace SMESH // ========================= virtual SMESH::long_array* GetIDs(); virtual SMESH::long_array* GetMeshInfo(); + virtual SMESH::long_array* GetNbElementsByType(); virtual SMESH::array_of_ElementType* GetTypes(); virtual SMESH::SMESH_Mesh_ptr GetMesh(); virtual bool IsMeshInfoCorrect() { return true; }