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 #ifndef _Select3D_SensitiveCylinder_HeaderFile
0017 #define _Select3D_SensitiveCylinder_HeaderFile
0018
0019 #include <Select3D_SensitiveEntity.hxx>
0020
0021
0022 class Select3D_SensitiveCylinder : public Select3D_SensitiveEntity
0023 {
0024 DEFINE_STANDARD_RTTIEXT (Select3D_SensitiveCylinder, Select3D_SensitiveEntity)
0025
0026 public:
0027
0028
0029
0030
0031 Standard_EXPORT Select3D_SensitiveCylinder (const Handle(SelectMgr_EntityOwner)& theOwnerId,
0032 const Standard_Real theBottomRad,
0033 const Standard_Real theTopRad,
0034 const Standard_Real theHeight,
0035 const gp_Trsf& theTrsf,
0036 const Standard_Boolean theIsHollow = Standard_False);
0037
0038
0039 Standard_EXPORT virtual Standard_Boolean Matches (SelectBasics_SelectingVolumeManager& theMgr,
0040 SelectBasics_PickResult& thePickResult) Standard_OVERRIDE;
0041
0042
0043 Standard_EXPORT virtual Handle (Select3D_SensitiveEntity) GetConnected() Standard_OVERRIDE;
0044
0045
0046
0047 Standard_EXPORT virtual Select3D_BndBox3d BoundingBox() Standard_OVERRIDE;
0048
0049
0050 virtual Standard_Boolean ToBuildBVH() const Standard_OVERRIDE { return Standard_False; }
0051
0052
0053 virtual Standard_Integer NbSubElements() const Standard_OVERRIDE { return 1; }
0054
0055
0056 Standard_EXPORT virtual gp_Pnt CenterOfGeometry() const Standard_OVERRIDE;
0057
0058
0059 const gp_Trsf& Transformation() const { return myTrsf; }
0060
0061
0062 Standard_Real TopRadius() const { return myTopRadius; }
0063
0064
0065 Standard_Real BottomRadius() const { return myBottomRadius; }
0066
0067
0068 Standard_Real Height() const { return myHeight; }
0069
0070
0071 Standard_Boolean IsHollow() const { return myIsHollow; }
0072
0073 protected:
0074 gp_Trsf myTrsf;
0075 Standard_Real myBottomRadius;
0076 Standard_Real myTopRadius;
0077 Standard_Real myHeight;
0078 Standard_Boolean myIsHollow;
0079 };
0080
0081 #endif