Changeset 1319


Ignore:
Timestamp:
09/04/06 00:27:46 (18 years ago)
Author:
mattausch
Message:
 
Location:
GTP/trunk/Lib/Vis/OnlineCullingCHC
Files:
1 edited
10 moved

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreBvHierarchy.h

    r1316 r1319  
    88*/ 
    99 
    10 #ifndef _OgreKdTree_H__ 
    11 #define _OgreKdTree_H__ 
     10#ifndef _OgreBvHierarchy_H__ 
     11#define _OgreBvHierarchy_H__ 
    1212 
    1313#define KDNODE_CAST(a) (static_cast<KdTree::Node>(a)) 
     
    2929#include <stack> 
    3030 
    31 #include "OgreKdTreeCamera.h" 
     31#include "OgreBvHierarchyCamera.h" 
    3232#include "HierarchyInterface.h" 
    3333 
     
    3535namespace Ogre 
    3636{ 
    37         class KdTreeCamera; 
    38         class KdRenderable; 
     37        class BvHierarchyCamera; 
     38        class BvRenderable; 
    3939        struct SplitInfo; 
    4040 
     
    6666                { }; 
    6767 
    68                 PlaneEvent(KdRenderable *rend, const Vector3& pos, PlaneEvent::Dimension dim, PlaneEvent::Type type): 
     68                PlaneEvent(BvRenderable *rend, const Vector3& pos, PlaneEvent::Dimension dim, PlaneEvent::Type type): 
    6969                        mRenderable(rend), mPosition(pos), mDimension(dim), mType(type)  
    7070                { }; 
     
    125125                } 
    126126 
    127                 KdRenderable * getRenderable() const //?? 
     127                BvRenderable * getRenderable() const //?? 
    128128                { 
    129129                        return mRenderable; 
     
    139139        protected: 
    140140                // event info 
    141                 KdRenderable *                  mRenderable; 
     141                BvRenderable *                  mRenderable; 
    142142                Vector3                                 mPosition; 
    143143                PlaneEvent::Dimension   mDimension; 
     
    186186 
    187187        typedef std::list<PlaneEvent> PlaneEventList; 
    188         typedef std::list<KdRenderable *> KdRenderableList; 
     188        typedef std::list<BvRenderable *> BvRenderableList; 
    189189         
    190190        class KdTree 
     
    397397 
    398398                        // a leaf is empty when it does not posses renderables 
    399                         virtual bool isEmpty() const { return mKdRenderables.empty(); } 
     399                        virtual bool isEmpty() const { return mBvRenderables.empty(); } 
    400400 
    401401                        // a leaf has geometry when it has renderables 
    402                         virtual bool hasGeometry() const { return !mKdRenderables.empty(); } 
     402                        virtual bool hasGeometry() const { return !mBvRenderables.empty(); } 
    403403 
    404404                        // a leaf adds itself to the leaf set 
     
    417417                        virtual void _updateBounds(bool recurse = true); 
    418418 
    419                         virtual void remove(KdRenderable * rend) 
    420                         { 
    421                                 mKdRenderables.remove(rend); 
    422                                 //mKdRenderables.erase(find(mKdRenderables.begin(), mKdRenderables.end(), rend)); 
     419                        virtual void remove(BvRenderable * rend) 
     420                        { 
     421                                mBvRenderables.remove(rend); 
     422                                //mBvRenderables.erase(find(mBvRenderables.begin(), mBvRenderables.end(), rend)); 
    423423                        }; 
    424424 
    425                         virtual void insert(KdRenderable * rend) 
    426                         { 
    427                                 mKdRenderables.push_back(rend); 
     425                        virtual void insert(BvRenderable * rend) 
     426                        { 
     427                                mBvRenderables.push_back(rend); 
    428428                        }; 
    429429 
    430                         KdRenderableList mKdRenderables; 
     430                        BvRenderableList mBvRenderables; 
    431431                }; 
    432432 
     
    562562 
    563563                // insert a new scene node into an existing kd-tree 
    564                 void insert(KdRenderable * rend); 
     564                void insert(BvRenderable * rend); 
    565565                // remove a scene node from the tree 
    566                 void remove(KdRenderable * rend); 
     566                void remove(BvRenderable * rend); 
    567567                // function to initialize a kd-tree based on the contents of the scene 
    568                 void build(KdRenderable * sceneRoot); 
     568                void build(BvRenderable * sceneRoot); 
    569569 
    570570                // test visibility of objects and add to render queue 
    571                 void queueVisibleObjects(KdTreeCamera* cam, RenderQueue* queue, bool onlyShadowCasters,  
     571                void queueVisibleObjects(BvHierarchyCamera* cam, RenderQueue* queue, bool onlyShadowCasters,  
    572572                        bool showBoxes, KdTree::NodeList& visibleNodes); 
    573573 
     
    594594                void init(); 
    595595                // recursive insert funciton 
    596                 void recInsert(KdTree::Node * node, KdRenderable * rend); 
     596                void recInsert(KdTree::Node * node, BvRenderable * rend); 
    597597                // helper functions for insert 
    598                 void recInsertNew(KdTree::Branch * parent, PlaneEvent::Side side, KdRenderable * rend); 
     598                void recInsertNew(KdTree::Branch * parent, PlaneEvent::Side side, BvRenderable * rend); 
    599599                void splitBox(const KdTree::Branch& parent, AxisAlignedBox& left, AxisAlignedBox& right); 
    600                 void rebuildSubtree(KdTree::Node * node, KdRenderable * rend); 
     600                void rebuildSubtree(KdTree::Node * node, BvRenderable * rend); 
    601601                // build scene from a list of nodes rather than a hierarchy 
    602                 KdTree::Node * buildFromList(KdRenderableList& nodelist, KdTree::Branch * parent, AxisAlignedBox& aabb); 
    603                 void addRendToList(KdTree::Node * node, KdRenderableList& nodelist); 
     602                KdTree::Node * buildFromList(BvRenderableList& nodelist, KdTree::Branch * parent, AxisAlignedBox& aabb); 
     603                void addRendToList(KdTree::Node * node, BvRenderableList& nodelist); 
    604604 
    605605                // recursively delete empty nodes 
     
    615615 
    616616                // recursive rendering function 
    617                 void recQueueVisibleObjects(KdTree::Node * node, unsigned long currentFrame, KdTreeCamera* cam, 
     617                void recQueueVisibleObjects(KdTree::Node * node, unsigned long currentFrame, BvHierarchyCamera* cam, 
    618618                        RenderQueue* queue, bool onlyShadowCasters, bool showBoxes,  
    619619                        KdTree::NodeList& visibleNodes, bool fullVis = false); 
     
    659659                // allows choosing between regular vis (NONE/PART, same es isVisible) 
    660660                // and enhaced vis (NONE/PART/FULL) for early traversal abort 
    661                 KdTreeCamera::NodeVisibility (KdTreeCamera::*getVisibility)(const AxisAlignedBox& box) const; 
     661                BvHierarchyCamera::NodeVisibility (BvHierarchyCamera::*getVisibility)(const AxisAlignedBox& box) const; 
    662662 
    663663                // DEBUG 
     
    668668} // namespace Ogre 
    669669 
    670 #endif // _OgreKdTree_H__ 
     670#endif // _OgreBvHierarchy_H__ 
Note: See TracChangeset for help on using the changeset viewer.