#include <Select3D_SensitivePoly.hxx>
#include <Select3D_Pnt.hxx>
-#include <Handle_Geom_Circle.hxx>
-#include <Handle_SelectBasics_EntityOwner.hxx>
-#include <Handle_TColgp_HArray1OfPnt.hxx>
+#include <TColgp_HArray1OfPnt.hxx>
#include <SelectMgr_SelectingVolumeManager.hxx>
#include <Select3D_TypeOfSensitivity.hxx>
class Standard_ConstructionError;
class Standard_OutOfRange;
class SelectBasics_EntityOwner;
-class TColgp_HArray1OfPnt;
-class TColgp_Array1OfPnt;
class gp_Pnt;
class TopLoc_Location;
//! Builds BVH tree for a circle's edge segments if needed
Standard_EXPORT virtual void BVH() Standard_OVERRIDE;
- DEFINE_STANDARD_RTTI(Select3D_SensitiveCircle, Select3D_SensitivePoly)
+ DEFINE_STANDARD_RTTIEXT(Select3D_SensitiveCircle,Select3D_SensitivePoly)
+
+protected:
+
+ //! Calculates distance from the 3d projection of used-picked screen point
+ //! to center of the geometry
+ virtual Standard_Real distanceToCOG (SelectBasics_SelectingVolumeManager& theMgr) Standard_OVERRIDE;
private:
Select3D_TypeOfSensitivity mySensType; //!< True if type of selection is interior, false otherwise
gp_Pnt myCenter3D; //!< Center of a circle
- Handle_Geom_Circle myCircle; //!< Points of the circle
+ Handle(Geom_Circle) myCircle; //!< Points of the circle
Standard_Real myStart; //!< Sensitive arc parameter
Standard_Real myEnd; //!< Sensitive arc parameter
};