| @@ -20,8 +20,8 @@ namespace lol | |||||
| //------ AABB TREE SYSTEM ----- | //------ AABB TREE SYSTEM ----- | ||||
| template <typename TE, typename TV, typename TB, size_t child_nb> class AABBTree; | template <typename TE, typename TV, typename TB, size_t child_nb> class AABBTree; | ||||
| template <typename TE> class QuadTree; | |||||
| template <typename TE> class OcTree; | |||||
| template <typename TE> class Quadtree; | |||||
| template <typename TE> class Octree; | |||||
| //-- | //-- | ||||
| namespace Debug { | namespace Debug { | ||||
| @@ -67,13 +67,13 @@ void DrawInner(TREE *tree, Array<TBB, vec4> &boxes, | |||||
| //-- | //-- | ||||
| template <typename TE> | template <typename TE> | ||||
| void Draw(QuadTree<TE>* tree, vec4 color) | |||||
| void Draw(Quadtree<TE>* tree, vec4 color) | |||||
| { | { | ||||
| Array<box2, vec4> boxes; | Array<box2, vec4> boxes; | ||||
| Array<TE*, int, vec4> elements; | Array<TE*, int, vec4> elements; | ||||
| Array<int, box2> leaves; | Array<int, box2> leaves; | ||||
| DrawInner<QuadTree<TE>, TE, box2>(tree, boxes, elements, leaves, 4, color); | |||||
| DrawInner<Quadtree<TE>, TE, box2>(tree, boxes, elements, leaves, 4, color); | |||||
| vec3 off = vec3::v010 * .1f; | vec3 off = vec3::v010 * .1f; | ||||
| vec3 add = vec3::v010 * .1f; | vec3 add = vec3::v010 * .1f; | ||||
| @@ -98,13 +98,13 @@ void Draw(QuadTree<TE>* tree, vec4 color) | |||||
| } | } | ||||
| //-- | //-- | ||||
| template <typename TE> | template <typename TE> | ||||
| void Draw(OcTree<TE>* tree, vec4 color) | |||||
| void Draw(Octree<TE>* tree, vec4 color) | |||||
| { | { | ||||
| Array<box3, vec4> boxes; | Array<box3, vec4> boxes; | ||||
| Array<TE*, int, vec4> elements; | Array<TE*, int, vec4> elements; | ||||
| Array<int, box3> leaves; | Array<int, box3> leaves; | ||||
| DrawInner<OcTree<TE>, TE, box3>(tree, boxes, elements, leaves, 8, color); | |||||
| DrawInner<Octree<TE>, TE, box3>(tree, boxes, elements, leaves, 8, color); | |||||
| vec3 off = vec3::v010 * .1f; | vec3 off = vec3::v010 * .1f; | ||||
| vec3 add = vec3::v010 * .1f; | vec3 add = vec3::v010 * .1f; | ||||
| @@ -356,12 +356,12 @@ protected: | |||||
| //-- | //-- | ||||
| template <typename TE> | template <typename TE> | ||||
| class QuadTree : public AABBTree<TE, vec2, box2, 4> | |||||
| class Quadtree : public AABBTree<TE, vec2, box2, 4> | |||||
| { | { | ||||
| friend void Debug::Draw<TE>(OcTree<TE>* tree, vec4 color); | |||||
| friend void Debug::Draw<TE>(Octree<TE>* tree, vec4 color); | |||||
| public: | public: | ||||
| QuadTree() { m_debug_y_offset = 0.f; } | |||||
| virtual ~QuadTree() { } | |||||
| Quadtree() { m_debug_y_offset = 0.f; } | |||||
| virtual ~Quadtree() { } | |||||
| float m_debug_y_offset; | float m_debug_y_offset; | ||||
| protected: | protected: | ||||
| virtual vec2 GetSubOffset(int sub) { return vec2(ivec2(sub % 2, sub / 2)); } | virtual vec2 GetSubOffset(int sub) { return vec2(ivec2(sub % 2, sub / 2)); } | ||||
| @@ -369,12 +369,12 @@ protected: | |||||
| //-- | //-- | ||||
| template <typename TE> | template <typename TE> | ||||
| class OcTree : public AABBTree<TE, vec3, box3, 8> | |||||
| class Octree : public AABBTree<TE, vec3, box3, 8> | |||||
| { | { | ||||
| friend void Debug::Draw<TE>(OcTree<TE>* tree, vec4 color); | |||||
| friend void Debug::Draw<TE>(Octree<TE>* tree, vec4 color); | |||||
| public: | public: | ||||
| OcTree() { } | |||||
| virtual ~OcTree() { } | |||||
| Octree() { } | |||||
| virtual ~Octree() { } | |||||
| protected: | protected: | ||||
| virtual vec3 GetSubOffset(int sub) { return vec3(ivec3(sub % 2, sub / 4, (sub % 4) / 2)); } | virtual vec3 GetSubOffset(int sub) { return vec3(ivec3(sub % 2, sub / 4, (sub % 4) / 2)); } | ||||
| }; | }; | ||||