mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-05-21 10:55:33 +03:00
87 lines
2.9 KiB
C++
Executable File
87 lines
2.9 KiB
C++
Executable File
// 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 <Standard_Macro.hxx>
|
|
#include <Standard_DefineHandle.hxx>
|
|
|
|
|
|
#include <Standard_Integer.hxx>
|
|
#include <gp_Pnt2d.hxx>
|
|
#include <Select3D_SensitiveEntity.hxx>
|
|
#include <SelectBasics_EntityOwner.hxx>
|
|
#include <Standard_Boolean.hxx>
|
|
#include <Standard_Real.hxx>
|
|
class SelectBasics_EntityOwner;
|
|
class gp_Pnt2d;
|
|
#include <SelectBasics_ListOfBox2d.hxx>
|
|
#include "TColgp_HArray1OfPnt2d.hxx"
|
|
#include <Geom2d_Curve.hxx>
|
|
|
|
|
|
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
|