// File generated by CPPExt (Transient) // // Copyright (C) 1991,1995 by // // MATRA DATAVISION, FRANCE // // This software is furnished in accordance with the terms and conditions // of the contract and with the inclusion of the above copyright notice. // This software or any other copy thereof may not be provided or otherwise // be made available to any other person. No title to an ownership of the // software is hereby transferred. // // At the termination of the contract, the software and all copies of this // software must be deleted. // #ifndef _ISession2D_SensitiveCurve_HeaderFile #define _ISession2D_SensitiveCurve_HeaderFile #include #include #include #include #include #include #include #include class SelectBasics_EntityOwner; class gp_Pnt2d; #include #include "TColgp_HArray1OfPnt2d.hxx" #include DEFINE_STANDARD_HANDLE(ISession2D_SensitiveCurve,Select3D_SensitiveEntity) class ISession2D_SensitiveCurve : public Select3D_SensitiveEntity { public: // Methods PUBLIC // Standard_EXPORT ISession2D_SensitiveCurve(const Handle(SelectBasics_EntityOwner)& OwnerId, const Handle(Geom2d_Curve)& C, const Standard_Real CDeflect, const Standard_Integer MaxRect = 3); inline void SetMaxBoxes(const Standard_Integer MaxRect) ; inline virtual Standard_Integer MaxBoxes() const; inline void SetCurve(const Handle(Geom2d_Curve) aCurve) ; inline Handle(Geom2d_Curve) GetCurve() ; void Compute(); Standard_EXPORT void Areas(SelectBasics_ListOfBox2d& aSeq) ; Standard_EXPORT Standard_Boolean Matches(const Standard_Real XMin,const Standard_Real YMin,const Standard_Real XMax,const Standard_Real YMax,const Standard_Real aTol) ; Standard_EXPORT Standard_Boolean Matches(const Standard_Real X,const Standard_Real Y,const Standard_Real aTol,Standard_Real& DMin) ; Handle(TColgp_HArray1OfPnt2d) SensitivePolygon(); DEFINE_STANDARD_RTTI(ISession2D_SensitiveCurve) private: // Fields PRIVATE // Standard_Real myCDeflect; Standard_Integer myMaxRect; Handle(Geom2d_Curve) myCurve; Handle(TColgp_HArray1OfPnt2d) myPolyP2d; }; inline Standard_Integer ISession2D_SensitiveCurve:: MaxBoxes() const {return myMaxRect;} inline void ISession2D_SensitiveCurve:: SetMaxBoxes(const Standard_Integer nbrect) {myMaxRect = nbrect;} inline void ISession2D_SensitiveCurve:: SetCurve(const Handle(Geom2d_Curve) aCurve) {myCurve = aCurve;} inline Handle(Geom2d_Curve) ISession2D_SensitiveCurve:: GetCurve() {return myCurve;} #endif