-/*
- Class : Functor_i
- Description : An abstact class for all functors
-*/
-class Functor_i: public virtual POA_SMESH::Functor,
- public virtual SALOME::GenericObj_i
-{
-public:
- void SetMesh( SMESH_Mesh_ptr theMesh );
- Controls::FunctorPtr GetFunctor(){ return myFunctorPtr;}
- ElementType GetElementType();
-
-protected:
- Functor_i();
-protected:
- Controls::FunctorPtr myFunctorPtr;
-};
-
-
-/*
- Class : NumericalFunctor_i
- Description : Base class for numerical functors
-*/
-class NumericalFunctor_i: public virtual POA_SMESH::NumericalFunctor,
- public virtual Functor_i
-{
-public:
- CORBA::Double GetValue( CORBA::Long theElementId );
- void SetPrecision( CORBA::Long thePrecision );
- CORBA::Long GetPrecision();
- Controls::NumericalFunctorPtr GetNumericalFunctor();
-
-protected:
- Controls::NumericalFunctorPtr myNumericalFunctorPtr;
-};
-
-
-/*
- Class : SMESH_MinimumAngleFunct
- Description : Functor for calculation of minimum angle
-*/
-class MinimumAngle_i: public virtual POA_SMESH::MinimumAngle,
- public virtual NumericalFunctor_i
-{
-public:
- MinimumAngle_i();
- FunctorType GetFunctorType();
-};
-
-
-/*
- Class : AspectRatio_i
- Description : Functor for calculating aspect ratio
-*/
-class AspectRatio_i: public virtual POA_SMESH::AspectRatio,
- public virtual NumericalFunctor_i
-{
-public:
- AspectRatio_i();
- FunctorType GetFunctorType();
-};
-
-
-/*
- Class : Warping_i
- Description : Functor for calculating warping
-*/
-class Warping_i: public virtual POA_SMESH::Warping,
- public virtual NumericalFunctor_i
-{
-public:
- Warping_i();
- FunctorType GetFunctorType();
-};
-
-
-/*
- Class : Taper_i
- Description : Functor for calculating taper
-*/
-class Taper_i: public virtual POA_SMESH::Taper,
- public virtual NumericalFunctor_i
-{
-public:
- Taper_i();
- FunctorType GetFunctorType();
-};
-
-
-/*
- Class : Skew_i
- Description : Functor for calculating skew in degrees
-*/
-class Skew_i: public virtual POA_SMESH::Skew,
- public virtual NumericalFunctor_i
-{
-public:
- Skew_i();
- FunctorType GetFunctorType();
-};
-
-
-/*
- Class : Area_i
- Description : Functor for calculating area
-*/
-class Area_i: public virtual POA_SMESH::Area,
- public virtual NumericalFunctor_i
-{
-public:
- Area_i();
- FunctorType GetFunctorType();
-};
-
-
-/*
- Class : Length_i
- Description : Functor for calculating length of edge
-*/
-class Length_i: public virtual POA_SMESH::Length,
- public virtual NumericalFunctor_i
-{
-public:
- Length_i();
- FunctorType GetFunctorType();
-};
-
-
-/*
- Class : MultiConnection_i
- Description : Functor for calculating number of faces conneted to the edge
-*/
-class MultiConnection_i: public virtual POA_SMESH::MultiConnection,
- public virtual NumericalFunctor_i
-{
-public:
- MultiConnection_i();
- FunctorType GetFunctorType();
-};
-
-
-/*
- PREDICATES
-*/
-/*
- Class : Predicate_i
- Description : Base class for all predicates
-*/
-class Predicate_i: public virtual POA_SMESH::Predicate,
- public virtual Functor_i
-{
-public:
- CORBA::Boolean IsSatisfy( CORBA::Long theElementId );
- Controls::PredicatePtr GetPredicate();
+ /*
+ Class : Warping_i
+ Description : Functor for calculating warping
+ */
+ class SMESH_I_EXPORT Warping_i: public virtual POA_SMESH::Warping,
+ public virtual NumericalFunctor_i
+ {
+ public:
+ Warping_i();
+ FunctorType GetFunctorType();
+ };
+
+
+ /*
+ Class : Taper_i
+ Description : Functor for calculating taper
+ */
+ class SMESH_I_EXPORT Taper_i: public virtual POA_SMESH::Taper,
+ public virtual NumericalFunctor_i
+ {
+ public:
+ Taper_i();
+ FunctorType GetFunctorType();
+ };
+
+
+ /*
+ Class : Skew_i
+ Description : Functor for calculating skew in degrees
+ */
+ class SMESH_I_EXPORT Skew_i: public virtual POA_SMESH::Skew,
+ public virtual NumericalFunctor_i
+ {
+ public:
+ Skew_i();
+ FunctorType GetFunctorType();
+ };
+
+
+ /*
+ Class : Area_i
+ Description : Functor for calculating area
+ */
+ class SMESH_I_EXPORT Area_i: public virtual POA_SMESH::Area,
+ public virtual NumericalFunctor_i
+ {
+ public:
+ Area_i();
+ FunctorType GetFunctorType();
+ };
+
+
+ /*
+ Class : Volume3D_i
+ Description : Functor for calculating volume of 3D element
+ */
+ class SMESH_I_EXPORT Volume3D_i: public virtual POA_SMESH::Volume3D,
+ public virtual NumericalFunctor_i
+ {
+ public:
+ Volume3D_i();
+ FunctorType GetFunctorType();
+ };
+
+
+ /*
+ Class : MaxElementLength2D_i
+ Description : Functor for calculating maximum length of 2D element
+ */
+ class SMESH_I_EXPORT MaxElementLength2D_i: public virtual POA_SMESH::MaxElementLength2D,
+ public virtual NumericalFunctor_i
+ {
+ public:
+ MaxElementLength2D_i();
+ FunctorType GetFunctorType();
+ };
+
+
+ /*
+ Class : MaxElementLength3D_i
+ Description : Functor for calculating maximum length of 3D element
+ */
+ class SMESH_I_EXPORT MaxElementLength3D_i: public virtual POA_SMESH::MaxElementLength3D,
+ public virtual NumericalFunctor_i
+ {
+ public:
+ MaxElementLength3D_i();
+ FunctorType GetFunctorType();
+ };
+
+
+ /*
+ Class : Length_i
+ Description : Functor for calculating length of edge
+ */
+ class SMESH_I_EXPORT Length_i: public virtual POA_SMESH::Length,
+ public virtual NumericalFunctor_i
+ {
+ public:
+ Length_i();
+ FunctorType GetFunctorType();
+ };
+
+ /*
+ Class : Length2D_i
+ Description : Functor for calculating length of edge
+ */
+ class SMESH_I_EXPORT Length2D_i: public virtual POA_SMESH::Length2D,
+ public virtual NumericalFunctor_i
+ {
+ public:
+ Length2D_i();
+ SMESH::Length2D::Values* GetValues();
+ FunctorType GetFunctorType();
+
+ protected:
+ Controls::Length2DPtr myLength2DPtr;
+ };
+
+ /*
+ Class : MultiConnection_i
+ Description : Functor for calculating number of faces conneted to the edge
+ */
+ class SMESH_I_EXPORT MultiConnection_i: public virtual POA_SMESH::MultiConnection,
+ public virtual NumericalFunctor_i
+ {
+ public:
+ MultiConnection_i();
+ FunctorType GetFunctorType();
+ };
+
+ /*
+ Class : MultiConnection2D_i
+ Description : Functor for calculating number of faces conneted to the edge
+ */
+ class SMESH_I_EXPORT MultiConnection2D_i: public virtual POA_SMESH::MultiConnection2D,
+ public virtual NumericalFunctor_i
+ {
+ public:
+ MultiConnection2D_i();
+ SMESH::MultiConnection2D::Values* GetValues();
+ FunctorType GetFunctorType();
+
+ protected:
+ Controls::MultiConnection2DPtr myMulticonnection2DPtr;
+ };
+
+ /*
+ Class : BallDiameter_i
+ Description : Functor returning diameter of a ball element
+ */
+ class SMESH_I_EXPORT BallDiameter_i: public virtual POA_SMESH::BallDiameter,
+ public virtual NumericalFunctor_i
+ {
+ public:
+ BallDiameter_i();
+ FunctorType GetFunctorType();
+ };
+
+
+ /*
+ PREDICATES
+ */
+ /*
+ Class : Predicate_i
+ Description : Base class for all predicates
+ */
+ class SMESH_I_EXPORT Predicate_i: public virtual POA_SMESH::Predicate,
+ public virtual Functor_i
+ {
+ public:
+ CORBA::Boolean IsSatisfy( CORBA::Long theElementId );
+ Controls::PredicatePtr GetPredicate();
+
+ protected:
+ Controls::PredicatePtr myPredicatePtr;
+ };
+
+
+ /*
+ Class : BadOrientedVolume_i
+ Description : Verify whether a mesh volume is incorrectly oriented from
+ the point of view of MED convention
+ */
+ class SMESH_I_EXPORT BadOrientedVolume_i: public virtual POA_SMESH::BadOrientedVolume,
+ public virtual Predicate_i
+ {
+ public:
+ BadOrientedVolume_i();
+ FunctorType GetFunctorType();
+ };
+
+ /*
+ Class : BareBorderVolume_i
+ Description : Verify whether a mesh volume has a free facet without a face on it
+ */
+ class SMESH_I_EXPORT BareBorderVolume_i: public virtual POA_SMESH::BareBorderVolume,
+ public virtual Predicate_i
+ {
+ public:
+ BareBorderVolume_i();
+ FunctorType GetFunctorType();
+ };
+
+ /*
+ Class : BareBorderFace_i
+ Description : Verify whether a mesh face has a free border without an edge on it
+ */
+ class SMESH_I_EXPORT BareBorderFace_i: public virtual POA_SMESH::BareBorderFace,
+ public virtual Predicate_i
+ {
+ public:
+ BareBorderFace_i();
+ FunctorType GetFunctorType();
+ };
+
+ /*
+ Class : OverConstrainedVolume_i
+ Description : Verify whether a mesh volume has only one facet shared with other volumes
+ */
+ class SMESH_I_EXPORT OverConstrainedVolume_i: public virtual POA_SMESH::OverConstrainedVolume,
+ public virtual Predicate_i
+ {
+ public:
+ OverConstrainedVolume_i();
+ FunctorType GetFunctorType();
+ };
+
+ /*
+ Class : OverConstrainedFace_i
+ Description : Verify whether a mesh face has only one border shared with other faces
+ */
+ class SMESH_I_EXPORT OverConstrainedFace_i: public virtual POA_SMESH::OverConstrainedFace,
+ public virtual Predicate_i
+ {
+ public:
+ OverConstrainedFace_i();
+ FunctorType GetFunctorType();
+ };
+
+ /*
+ Class : BelongToGeom_i
+ Description : Predicate for selection on geometrical support
+ */
+ class SMESH_I_EXPORT BelongToGeom_i: public virtual POA_SMESH::BelongToGeom,
+ public virtual Predicate_i
+ {
+ public:
+ BelongToGeom_i();
+ virtual ~BelongToGeom_i();
+
+ void SetGeom( GEOM::GEOM_Object_ptr theGeom );
+ void SetElementType( ElementType theType );
+ FunctorType GetFunctorType();
+
+ void SetGeom( const TopoDS_Shape& theShape );
+
+ void SetShapeName( const char* theName );
+ void SetShape( const char* theID, const char* theName );
+ char* GetShapeName();
+ char* GetShapeID();
+
+ void SetTolerance( CORBA::Double );
+ CORBA::Double GetTolerance();
+
+ protected:
+ Controls::BelongToGeomPtr myBelongToGeomPtr;
+ char* myShapeName;
+ char* myShapeID;
+ };
+
+ /*
+ Class : BelongToSurface_i
+ Description : Verify whether mesh element lie in pointed Geom planar object
+ */
+ class SMESH_I_EXPORT BelongToSurface_i: public virtual POA_SMESH::BelongToSurface,
+ public virtual Predicate_i
+ {
+ public:
+ BelongToSurface_i( const Handle(Standard_Type)& );
+ virtual ~BelongToSurface_i();
+
+ void SetSurface( GEOM::GEOM_Object_ptr theGeom, ElementType theType );
+
+ void SetShapeName( const char* theName, ElementType theType );
+ void SetShape( const char* theID, const char* theName, ElementType theType );
+ char* GetShapeName();
+ char* GetShapeID();
+
+ void SetTolerance( CORBA::Double );
+ CORBA::Double GetTolerance();
+
+ void SetUseBoundaries( CORBA::Boolean theUseBndRestrictions );
+ CORBA::Boolean GetUseBoundaries();
+
+ protected:
+ Controls::ElementsOnSurfacePtr myElementsOnSurfacePtr;
+ char* myShapeName;
+ char* myShapeID;
+ Handle(Standard_Type) mySurfaceType;
+ };
+
+ /*
+ Class : BelongToPlane_i
+ Description : Verify whether mesh element lie in pointed Geom planar object
+ */
+ class SMESH_I_EXPORT BelongToPlane_i: public virtual POA_SMESH::BelongToPlane,
+ public virtual BelongToSurface_i
+ {
+ public:
+ BelongToPlane_i();
+ void SetPlane( GEOM::GEOM_Object_ptr theGeom, ElementType theType );
+ FunctorType GetFunctorType();
+ };
+
+ /*
+ Class : BelongToCylinder_i
+ Description : Verify whether mesh element lie in pointed Geom cylindrical object
+ */
+ class SMESH_I_EXPORT BelongToCylinder_i: public virtual POA_SMESH::BelongToCylinder,
+ public virtual BelongToSurface_i
+ {
+ public:
+ BelongToCylinder_i();
+ void SetCylinder( GEOM::GEOM_Object_ptr theGeom, ElementType theType );
+ FunctorType GetFunctorType();
+ };
+
+ /*
+ Class : BelongToGenSurface_i
+ Description : Verify whether mesh element lie on pointed Geom surfasic object
+ */
+ class BelongToGenSurface_i: public virtual POA_SMESH::BelongToGenSurface,
+ public virtual BelongToSurface_i
+ {
+ public:
+ BelongToGenSurface_i();
+ void SetSurface( GEOM::GEOM_Object_ptr theGeom, ElementType theType );
+ FunctorType GetFunctorType();
+ };
+
+ /*
+ Class : LyingOnGeom_i
+ Description : Predicate for selection on geometrical support(lying or partially lying)
+ */
+ class SMESH_I_EXPORT LyingOnGeom_i: public virtual POA_SMESH::LyingOnGeom,
+ public virtual Predicate_i
+ {
+ public:
+ LyingOnGeom_i();
+ virtual ~LyingOnGeom_i();
+
+ void SetGeom( GEOM::GEOM_Object_ptr theGeom );
+ void SetElementType( ElementType theType );
+ FunctorType GetFunctorType();
+
+ void SetGeom( const TopoDS_Shape& theShape );
+
+ void SetShapeName( const char* theName );
+ void SetShape( const char* theID, const char* theName );
+ char* GetShapeName();
+ char* GetShapeID();
+
+ void SetTolerance( CORBA::Double );
+ CORBA::Double GetTolerance();
+
+ protected:
+ Controls::LyingOnGeomPtr myLyingOnGeomPtr;
+ char* myShapeName;
+ char* myShapeID;
+ };
+
+ /*
+ Class : FreeBorders_i
+ Description : Predicate for free borders
+ */
+ class SMESH_I_EXPORT FreeBorders_i: public virtual POA_SMESH::FreeBorders,
+ public virtual Predicate_i
+ {
+ public:
+ FreeBorders_i();
+ FunctorType GetFunctorType();
+ };
+
+
+ /*
+ Class : FreeEdges_i
+ Description : Predicate for free edges
+ */
+ class SMESH_I_EXPORT FreeEdges_i: public virtual POA_SMESH::FreeEdges,
+ public virtual Predicate_i
+ {
+ public:
+ FreeEdges_i();
+ SMESH::FreeEdges::Borders* GetBorders();
+ FunctorType GetFunctorType();
+
+ protected:
+ Controls::FreeEdgesPtr myFreeEdgesPtr;
+ };