Warning, file /include/opencascade/Select3D_SensitiveBox.hxx was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _Select3D_SensitiveBox_HeaderFile
0018 #define _Select3D_SensitiveBox_HeaderFile
0019
0020 #include <Select3D_SensitiveEntity.hxx>
0021
0022
0023 class Select3D_SensitiveBox : public Select3D_SensitiveEntity
0024 {
0025 DEFINE_STANDARD_RTTIEXT(Select3D_SensitiveBox, Select3D_SensitiveEntity)
0026 public:
0027
0028
0029 Standard_EXPORT Select3D_SensitiveBox(const occ::handle<SelectMgr_EntityOwner>& theOwnerId,
0030 const Bnd_Box& theBox);
0031
0032
0033
0034
0035
0036
0037
0038 Standard_EXPORT Select3D_SensitiveBox(const occ::handle<SelectMgr_EntityOwner>& theOwnerId,
0039 const double theXMin,
0040 const double theYMin,
0041 const double theZMin,
0042 const double theXMax,
0043 const double theYMax,
0044 const double theZMax);
0045
0046
0047 Standard_EXPORT int NbSubElements() const override;
0048
0049 Standard_EXPORT occ::handle<Select3D_SensitiveEntity> GetConnected() override;
0050
0051
0052 Standard_EXPORT bool Matches(SelectBasics_SelectingVolumeManager& theMgr,
0053 SelectBasics_PickResult& thePickResult) override;
0054
0055 Bnd_Box Box() const
0056 {
0057 Bnd_Box aBox;
0058 aBox.Update(myBox.CornerMin().x(),
0059 myBox.CornerMin().y(),
0060 myBox.CornerMin().z(),
0061 myBox.CornerMax().x(),
0062 myBox.CornerMax().y(),
0063 myBox.CornerMax().z());
0064
0065 return aBox;
0066 }
0067
0068
0069
0070 Standard_EXPORT gp_Pnt CenterOfGeometry() const override;
0071
0072
0073
0074 Standard_EXPORT Select3D_BndBox3d BoundingBox() override;
0075
0076
0077 bool ToBuildBVH() const override { return false; }
0078
0079
0080 Standard_EXPORT void DumpJson(Standard_OStream& theOStream, int theDepth = -1) const override;
0081
0082 private:
0083 Select3D_BndBox3d myBox;
0084 gp_Pnt myCenter3d;
0085 };
0086
0087 #endif