+ /*
+ 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 : Volume3D_i
+ Description : Functor for calculating volume of 3D element
+ */
+ class Volume3D_i: public virtual POA_SMESH::Volume3D,
+ public virtual NumericalFunctor_i
+ {
+ public:
+ Volume3D_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 : Length2D_i
+ Description : Functor for calculating length of edge
+ */
+ class 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 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 MultiConnection2D_i: public virtual POA_SMESH::MultiConnection2D,
+ public virtual NumericalFunctor_i
+ {
+ public:
+ MultiConnection2D_i();
+ SMESH::MultiConnection2D::Values* GetValues();
+ FunctorType GetFunctorType();
+
+ protected:
+ Controls::MultiConnection2DPtr myMulticonnection2DPtr;
+ };
+
+
+ /*
+ 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();
+
+ 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 BadOrientedVolume_i: public virtual POA_SMESH::BadOrientedVolume,
+ public virtual Predicate_i
+ {
+ public:
+ BadOrientedVolume_i();
+ FunctorType GetFunctorType();
+ };
+
+ /*
+ Class : BelongToGeom_i
+ Description : Predicate for selection on geometrical support
+ */
+ class 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();
+
+ protected:
+ Controls::BelongToGeomPtr myBelongToGeomPtr;
+ char* myShapeName;
+ char* myShapeID;
+ };
+
+ /*
+ Class : BelongToSurface_i
+ Description : Verify whether mesh element lie in pointed Geom planar object
+ */
+ class 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();
+
+ 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 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 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 : LyingOnGeom_i
+ Description : Predicate for selection on geometrical support(lying or partially lying)
+ */
+ class 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();
+
+ protected:
+ Controls::LyingOnGeomPtr myLyingOnGeomPtr;
+ char* myShapeName;
+ char* myShapeID;
+ };
+
+ /*
+ Class : FreeBorders_i
+ Description : Predicate for free borders
+ */
+ class 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 FreeEdges_i: public virtual POA_SMESH::FreeEdges,
+ public virtual Predicate_i
+ {
+ public:
+ FreeEdges_i();
+ SMESH::FreeEdges::Borders* GetBorders();
+ FunctorType GetFunctorType();
+
+ protected:
+ Controls::FreeEdgesPtr myFreeEdgesPtr;
+ };
+
+
+ /*
+ Class : RangeOfIds_i
+ Description : Predicate for Range of Ids
+ */
+ class RangeOfIds_i: public virtual POA_SMESH::RangeOfIds,
+ public virtual Predicate_i
+ {
+ public:
+ RangeOfIds_i();
+ void SetRange( const SMESH::long_array& theIds );
+ CORBA::Boolean SetRangeStr( const char* theRange );
+ char* GetRangeStr();
+
+ void SetElementType( ElementType theType );
+ FunctorType GetFunctorType();
+
+ protected:
+ Controls::RangeOfIdsPtr myRangeOfIdsPtr;
+ };
+
+ /*
+ Class : Comparator_i
+ Description : Base class for comparators
+ */
+ class Comparator_i: public virtual POA_SMESH::Comparator,
+ public virtual Predicate_i
+ {
+ public:
+ virtual ~Comparator_i();
+
+ virtual void SetMargin( CORBA::Double );
+ virtual void SetNumFunctor( NumericalFunctor_ptr );
+
+ Controls::ComparatorPtr GetComparator();
+ NumericalFunctor_i* GetNumFunctor_i();
+ CORBA::Double GetMargin();
+
+ protected:
+ Comparator_i();
+ protected:
+ Controls::ComparatorPtr myComparatorPtr;
+ NumericalFunctor_i* myNumericalFunctor;
+ };
+
+
+ /*
+ Class : LessThan_i
+ Description : Comparator "<"
+ */
+ class LessThan_i: public virtual POA_SMESH::LessThan,
+ public virtual Comparator_i
+ {
+ public:
+ LessThan_i();
+ FunctorType GetFunctorType();
+ };
+
+
+ /*
+ Class : MoreThan_i
+ Description : Comparator ">"
+ */
+ class MoreThan_i: public virtual POA_SMESH::MoreThan,
+ public virtual Comparator_i
+ {
+ public:
+ MoreThan_i();
+ FunctorType GetFunctorType();
+ };
+
+
+ /*
+ Class : EqualTo_i
+ Description : Comparator "="
+ */
+ class EqualTo_i: public virtual POA_SMESH::EqualTo,
+ public virtual Comparator_i
+ {
+ public:
+ EqualTo_i();
+ virtual void SetTolerance( CORBA::Double );
+ CORBA::Double GetTolerance();
+ FunctorType GetFunctorType();
+
+ protected:
+ Controls::EqualToPtr myEqualToPtr;
+ };
+
+
+ /*
+ Class : LogicalNOT_i
+ Description : Logical NOT predicate
+ */
+ class LogicalNOT_i: public virtual POA_SMESH::LogicalNOT,
+ public virtual Predicate_i
+ {
+ public:
+ LogicalNOT_i();