File indexing completed on 2026-09-23 09:18:47
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _Select3D_SensitiveCircle_HeaderFile
0018 #define _Select3D_SensitiveCircle_HeaderFile
0019
0020 #include <Select3D_SensitiveEntity.hxx>
0021
0022 #include <gp_Circ.hxx>
0023
0024
0025 class Select3D_SensitiveCircle : public Select3D_SensitiveEntity
0026 {
0027 DEFINE_STANDARD_RTTIEXT(Select3D_SensitiveCircle, Select3D_SensitiveEntity)
0028 public:
0029
0030
0031 Standard_EXPORT Select3D_SensitiveCircle(const occ::handle<SelectMgr_EntityOwner>& theOwnerId,
0032 const gp_Circ& theCircle,
0033 const bool theIsFilled = false);
0034
0035
0036
0037
0038 Standard_DEPRECATED("Deprecated constructor, theNbPnts parameter will be ignored")
0039 Select3D_SensitiveCircle(const occ::handle<SelectMgr_EntityOwner>& theOwnerId,
0040 const gp_Circ& theCircle,
0041 const bool theIsFilled,
0042 const int )
0043 : Select3D_SensitiveCircle(theOwnerId, theCircle, theIsFilled)
0044 {
0045 }
0046
0047
0048 Standard_EXPORT bool Matches(SelectBasics_SelectingVolumeManager& theMgr,
0049 SelectBasics_PickResult& thePickResult) override;
0050
0051
0052 Standard_EXPORT occ::handle<Select3D_SensitiveEntity> GetConnected() override;
0053
0054
0055
0056 Standard_EXPORT Select3D_BndBox3d BoundingBox() override;
0057
0058
0059 bool ToBuildBVH() const override { return false; }
0060
0061
0062 int NbSubElements() const override { return 1; }
0063
0064
0065 Standard_EXPORT gp_Pnt CenterOfGeometry() const override;
0066
0067
0068
0069 const gp_Trsf& Transformation() const { return myTrsf; }
0070
0071
0072 gp_Circ Circle() const { return gp_Circ(gp::XOY().Transformed(myTrsf), myRadius); }
0073
0074
0075 double Radius() const { return myRadius; }
0076
0077 private:
0078 Select3D_TypeOfSensitivity mySensType;
0079 gp_Trsf myTrsf;
0080 double myRadius;
0081 };
0082
0083 #endif