X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=src%2FMoof%2FOctree.hh;h=155995934728e73b7721cc7c3f4765567d6bacb6;hp=ca464a575efa16ad44ade5269005ab9e6c3f4ae4;hb=837bae9f2bf7b25e1d3d2625eeaf39c1d2f48827;hpb=a31d65a998121df0651c57bfb68782e2a07d2e2f diff --git a/src/Moof/Octree.hh b/src/Moof/Octree.hh index ca464a5..1559959 100644 --- a/src/Moof/Octree.hh +++ b/src/Moof/Octree.hh @@ -1,30 +1,13 @@ -/******************************************************************************* - - Copyright (c) 2009, Charles McGarvey - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*******************************************************************************/ +/*] Copyright (c) 2009-2010, Charles McGarvey [************************** +**] All rights reserved. +* +* vi:ts=4 sw=4 tw=75 +* +* Distributable under the terms and conditions of the 2-clause BSD license; +* see the file COPYING for a complete text of the license. +* +**************************************************************************/ #ifndef _MOOF_OCTREE_HH_ #define _MOOF_OCTREE_HH_ @@ -33,7 +16,6 @@ #include #include - #include #include @@ -52,7 +34,7 @@ struct OctreeInsertable { virtual ~OctreeInsertable() {} - virtual int getOctant(const Aabb& aabb) const = 0; + virtual int getOctant(const Aabb<3>& aabb) const = 0; }; @@ -65,7 +47,7 @@ class Octree : public Entity { std::list objects; - Node(const Aabb& aabb) + Node(const Aabb<3>& aabb) { mAabb = aabb; mSphere.point = mAabb.getCenter(); @@ -79,7 +61,7 @@ class Octree : public Entity void printSize() { - logDebug("size of node %d", objects.size()); + logInfo << "size of node " << objects.size() << std::endl; } void getAll(std::list& insertables) const @@ -114,8 +96,8 @@ private: ASSERT(node.valid() && "invalid node passed"); ASSERT(entity && "null entity passed"); - Aabb entityAabb = entity->getAabb(); - Aabb nodeAabb = node->getAabb(); + Aabb<3> entityAabb = entity->getAabb(); + Aabb<3> nodeAabb = node->getAabb(); if (!(entityAabb.max[0] < nodeAabb.max[0] && entityAabb.min[0] > nodeAabb.min[0] && @@ -162,7 +144,7 @@ private: { ASSERT(node.valid() && "invalid node passed"); - Aabb octant; + Aabb<3> octant; for (int i = mTree.children(node); i <= index; ++i) { @@ -194,7 +176,7 @@ private: } else { - logDebug("getting all the rest..."); + logInfo("getting all the rest..."); getAll(insertables, node); } } @@ -272,8 +254,8 @@ public: void print(NodeP node) { logInfo("-----"); - logInfo("depth to node: %d", mTree.depth(node)); - logInfo("size of node: %d", mTree.size(node)); + logInfo << "depth to node: " << mTree.depth(node) << std::endl; + logInfo << "size of node: " << mTree.size(node) << std::endl; } static Ptr alloc(const Node& rootNode) @@ -357,9 +339,9 @@ public: void getNearbyObjects(std::list& insertables, const OctreeInsertable& entity) const { - logDebug("--- GETTING NEARBY"); + logInfo("--- GETTING NEARBY"); getNearbyObjects(insertables, entity, mTree.root()); - logDebug("---"); + logInfo("---"); savedObj = &entity; } }; @@ -369,5 +351,3 @@ public: #endif // _MOOF_OCTREE_HH_ -/** vim: set ts=4 sw=4 tw=80: *************************************************/ -