namespace Controls
{
-
+
/*
Class : BelongToGeom
Description : Predicate for verifying whether entiy belong to
{
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<BelongToGeom> BelongToGeomPtr;
-
+
/*
Class : LyingOnGeom
Description : Predicate for verifying whether entiy lying or partially lying on
TopoDS_Shape GetShape();
const SMESHDS_Mesh* GetMeshDS() const;
+
+ void SetTolerance( double );
+ double GetTolerance();
virtual bool Contains( const SMESHDS_Mesh* theMeshDS,
const TopoDS_Shape& theShape,
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<LyingOnGeom> LyingOnGeomPtr;
}
void SetShape( const char* theID, const char* theName );
char* GetShapeName();
char* GetShapeID();
+
+ void SetTolerance( CORBA::Double );
+ CORBA::Double GetTolerance();
protected:
Controls::BelongToGeomPtr myBelongToGeomPtr;
void SetTolerance( CORBA::Double );
CORBA::Double GetTolerance();
+
+ void SetUseBoundaries( CORBA::Boolean theUseBndRestrictions );
+ CORBA::Boolean GetUseBoundaries();
protected:
Controls::ElementsOnSurfacePtr myElementsOnSurfacePtr;
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)
void SetShape( const char* theID, const char* theName );
char* GetShapeName();
char* GetShapeID();
+
+ void SetTolerance( CORBA::Double );
+ CORBA::Double GetTolerance();
protected:
Controls::LyingOnGeomPtr myLyingOnGeomPtr;
BelongToGeom_ptr CreateBelongToGeom();
BelongToPlane_ptr CreateBelongToPlane();
BelongToCylinder_ptr CreateBelongToCylinder();
+ BelongToGenSurface_ptr CreateBelongToGenSurface();
LyingOnGeom_ptr CreateLyingOnGeom();