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_InteriorSensitivePointSet_HeaderFile
0017 #define _Select3D_InteriorSensitivePointSet_HeaderFile
0018
0019 #include <Select3D_SensitivePoly.hxx>
0020 #include <Select3D_SensitiveSet.hxx>
0021
0022 class SelectMgr_EntityOwner;
0023
0024 typedef NCollection_Vector<Handle(Select3D_SensitivePoly)> Select3D_VectorOfHPoly;
0025
0026
0027
0028
0029 class Select3D_InteriorSensitivePointSet : public Select3D_SensitiveSet
0030 {
0031 public:
0032
0033
0034 Standard_EXPORT Select3D_InteriorSensitivePointSet (const Handle(SelectMgr_EntityOwner)& theOwnerId,
0035 const TColgp_Array1OfPnt& thePoints);
0036
0037
0038
0039 Standard_EXPORT virtual void GetPoints (Handle(TColgp_HArray1OfPnt)& theHArrayOfPnt);
0040
0041
0042 Standard_EXPORT virtual Standard_Integer Size() const Standard_OVERRIDE;
0043
0044
0045 Standard_EXPORT virtual Select3D_BndBox3d Box (const Standard_Integer theIdx) const Standard_OVERRIDE;
0046
0047
0048
0049 Standard_EXPORT virtual Standard_Real Center (const Standard_Integer theIdx,
0050 const Standard_Integer theAxis) const Standard_OVERRIDE;
0051
0052
0053 Standard_EXPORT virtual void Swap (const Standard_Integer theIdx1,
0054 const Standard_Integer theIdx2) Standard_OVERRIDE;
0055
0056
0057
0058 Standard_EXPORT virtual Select3D_BndBox3d BoundingBox() Standard_OVERRIDE;
0059
0060
0061
0062 Standard_EXPORT virtual gp_Pnt CenterOfGeometry() const Standard_OVERRIDE;
0063
0064
0065 Standard_EXPORT virtual Standard_Integer NbSubElements() const Standard_OVERRIDE;
0066
0067
0068 Standard_EXPORT virtual void DumpJson (Standard_OStream& theOStream, Standard_Integer theDepth = -1) const Standard_OVERRIDE;
0069
0070 DEFINE_STANDARD_RTTIEXT(Select3D_InteriorSensitivePointSet,Select3D_SensitiveSet)
0071
0072 protected:
0073
0074
0075
0076 Standard_EXPORT virtual Standard_Boolean overlapsElement (SelectBasics_PickResult& thePickResult,
0077 SelectBasics_SelectingVolumeManager& theMgr,
0078 Standard_Integer theElemIdx,
0079 Standard_Boolean theIsFullInside) Standard_OVERRIDE;
0080
0081
0082 Standard_EXPORT virtual Standard_Boolean elementIsInside (SelectBasics_SelectingVolumeManager& theMgr,
0083 Standard_Integer theElemIdx,
0084 Standard_Boolean theIsFullInside) Standard_OVERRIDE;
0085
0086
0087
0088 Standard_EXPORT virtual Standard_Real distanceToCOG (SelectBasics_SelectingVolumeManager& theMgr) Standard_OVERRIDE;
0089
0090 protected:
0091
0092 Select3D_VectorOfHPoly myPlanarPolygons;
0093 Handle(TColStd_HArray1OfInteger) myPolygonsIdxs;
0094 gp_Pnt myCOG;
0095 Select3D_BndBox3d myBndBox;
0096 };
0097
0098 DEFINE_STANDARD_HANDLE(Select3D_InteriorSensitivePointSet, Select3D_SensitiveSet)
0099
0100 #endif