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_SensitiveFace_HeaderFile
0018 #define _Select3D_SensitiveFace_HeaderFile
0019
0020 #include <Select3D_TypeOfSensitivity.hxx>
0021 #include <Select3D_SensitiveSet.hxx>
0022 #include <TColgp_HArray1OfPnt.hxx>
0023 #include <SelectBasics_SelectingVolumeManager.hxx>
0024
0025
0026
0027
0028
0029 class Select3D_SensitiveFace : public Select3D_SensitiveEntity
0030 {
0031 DEFINE_STANDARD_RTTIEXT(Select3D_SensitiveFace, Select3D_SensitiveEntity)
0032 public:
0033
0034
0035
0036
0037
0038 Standard_EXPORT Select3D_SensitiveFace (const Handle(SelectMgr_EntityOwner)& theOwnerId,
0039 const TColgp_Array1OfPnt& thePoints,
0040 const Select3D_TypeOfSensitivity theType);
0041
0042
0043
0044
0045
0046 Standard_EXPORT Select3D_SensitiveFace (const Handle(SelectMgr_EntityOwner)& theOwnerId,
0047 const Handle(TColgp_HArray1OfPnt)& thePoints,
0048 const Select3D_TypeOfSensitivity theType);
0049
0050
0051
0052 Standard_EXPORT void GetPoints (Handle(TColgp_HArray1OfPnt)& theHArrayOfPnt);
0053
0054
0055 Standard_EXPORT virtual Standard_Boolean Matches (SelectBasics_SelectingVolumeManager& theMgr,
0056 SelectBasics_PickResult& thePickResult) Standard_OVERRIDE;
0057
0058 Standard_EXPORT virtual Handle(Select3D_SensitiveEntity) GetConnected() Standard_OVERRIDE;
0059
0060
0061
0062 Standard_EXPORT virtual Select3D_BndBox3d BoundingBox() Standard_OVERRIDE;
0063
0064
0065
0066 Standard_EXPORT virtual gp_Pnt CenterOfGeometry() const Standard_OVERRIDE;
0067
0068
0069 Standard_EXPORT virtual void BVH() Standard_OVERRIDE;
0070
0071
0072 virtual Standard_Boolean ToBuildBVH() const Standard_OVERRIDE { return myFacePoints->ToBuildBVH(); }
0073
0074
0075 Standard_EXPORT virtual Standard_Integer NbSubElements() const Standard_OVERRIDE;
0076
0077
0078 Standard_EXPORT virtual void DumpJson (Standard_OStream& theOStream, Standard_Integer theDepth = -1) const Standard_OVERRIDE;
0079
0080 private:
0081
0082 Select3D_TypeOfSensitivity mySensType;
0083 Handle(Select3D_SensitiveSet) myFacePoints;
0084 };
0085
0086 DEFINE_STANDARD_HANDLE(Select3D_SensitiveFace, Select3D_SensitiveEntity)
0087
0088 #endif