File indexing completed on 2025-01-18 10:04:52
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
0032 Standard_EXPORT Select3D_SensitiveCircle (const Handle(SelectMgr_EntityOwner)& theOwnerId,
0033 const gp_Circ& theCircle,
0034 const Standard_Boolean theIsFilled = Standard_False);
0035
0036
0037
0038
0039 Standard_DEPRECATED("Deprecated constructor, theNbPnts parameter will be ignored")
0040 Select3D_SensitiveCircle (const Handle(SelectMgr_EntityOwner)& theOwnerId,
0041 const gp_Circ& theCircle,
0042 const Standard_Boolean theIsFilled,
0043 const Standard_Integer )
0044 : Select3D_SensitiveCircle (theOwnerId, theCircle, theIsFilled)
0045 { }
0046
0047
0048 Standard_EXPORT virtual Standard_Boolean Matches (SelectBasics_SelectingVolumeManager& theMgr,
0049 SelectBasics_PickResult& thePickResult) Standard_OVERRIDE;
0050
0051
0052 Standard_EXPORT virtual Handle(Select3D_SensitiveEntity) GetConnected() Standard_OVERRIDE;
0053
0054
0055
0056 Standard_EXPORT virtual Select3D_BndBox3d BoundingBox() Standard_OVERRIDE;
0057
0058
0059 virtual Standard_Boolean ToBuildBVH() const Standard_OVERRIDE { return Standard_False; }
0060
0061
0062 virtual Standard_Integer NbSubElements() const Standard_OVERRIDE { return 1; }
0063
0064
0065 Standard_EXPORT virtual gp_Pnt CenterOfGeometry() const Standard_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 Standard_Real Radius() const { return myRadius; }
0076
0077 private:
0078
0079 Select3D_TypeOfSensitivity mySensType;
0080 gp_Trsf myTrsf;
0081 Standard_Real myRadius;
0082 };
0083
0084 DEFINE_STANDARD_HANDLE(Select3D_SensitiveCircle, Select3D_SensitiveEntity)
0085
0086 #endif