File indexing completed on 2025-01-18 10:03:47
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef _Graphic3d_BvhCStructureSet_HeaderFile
0017 #define _Graphic3d_BvhCStructureSet_HeaderFile
0018
0019 #include <BVH_PrimitiveSet3d.hxx>
0020 #include <Graphic3d_BndBox3d.hxx>
0021 #include <NCollection_IndexedMap.hxx>
0022
0023 class Graphic3d_CStructure;
0024
0025
0026 class Graphic3d_BvhCStructureSet : public BVH_PrimitiveSet3d
0027 {
0028 DEFINE_STANDARD_RTTIEXT(Graphic3d_BvhCStructureSet, BVH_PrimitiveSet3d)
0029 protected:
0030
0031 using BVH_PrimitiveSet3d::Box;
0032
0033 public:
0034
0035
0036 Standard_EXPORT Graphic3d_BvhCStructureSet();
0037
0038
0039 Standard_EXPORT virtual Standard_Integer Size() const Standard_OVERRIDE;
0040
0041
0042 Standard_EXPORT virtual Graphic3d_BndBox3d Box (const Standard_Integer theIdx) const Standard_OVERRIDE;
0043
0044
0045 Standard_EXPORT virtual Standard_Real Center (const Standard_Integer theIdx,
0046 const Standard_Integer theAxis) const Standard_OVERRIDE;
0047
0048
0049 Standard_EXPORT virtual void Swap (const Standard_Integer theIdx1,
0050 const Standard_Integer theIdx2) Standard_OVERRIDE;
0051
0052
0053
0054 Standard_EXPORT Standard_Boolean Add (const Graphic3d_CStructure* theStruct);
0055
0056
0057
0058 Standard_EXPORT Standard_Boolean Remove (const Graphic3d_CStructure* theStruct);
0059
0060
0061 Standard_EXPORT void Clear();
0062
0063
0064 Standard_EXPORT const Graphic3d_CStructure* GetStructureById (Standard_Integer theId);
0065
0066
0067 const NCollection_IndexedMap<const Graphic3d_CStructure*>& Structures() const { return myStructs; }
0068
0069 private:
0070
0071 NCollection_IndexedMap<const Graphic3d_CStructure*> myStructs;
0072
0073 };
0074
0075 #endif