/*! \file bv_tree.h \brief Definition of a bounding volume tree */ #ifndef _BV_TREE_H #define _BV_TREE_H #include "base_object.h" // FORWARD DEFINITION class BoundingVolume; class sVec3D; //! A class that represents a bounding volume tree class BVTree : public BaseObject { public: BVTree(); virtual ~BVTree(); virtual void spawnBVTree(int depth); virtual void flushTree(); BoundingVolume* getBV(int index) const; virtual void collideWith(const BVTree &tree); virtual void drawBV(int currentDepth, const int depth) const; virtual void drawBVPolygon(int currentDepth, const int depth) const; virtual void drawBVBlended(int currentDepth, const int depth) const; protected: sVec3D* vertices; private: BoundingVolume* firstElement; }; #endif /* _BV_TREE_H */