OgreBspHierarchyInterface.h

Go to the documentation of this file.
00001 #ifndef _BspHierarchyInterface_H__
00002 #define _BspHierarchyInterface_H__
00003 
00004 #include "OgrePlatformHierarchyInterface.h"
00005 
00006 namespace Ogre {
00010 class BspHierarchyInterface : public PlatformHierarchyInterface
00011 {
00012 public:
00013         BspHierarchyInterface(SceneManager *sm, RenderSystem *rsys);
00014 
00019         //bool getOption( const String &, void * );
00020         //bool getOptionKeys( StringVector &refKeys );
00021         void PullUpVisibility(GtpVisibility::HierarchyNode *node);
00026         void TraverseNode(GtpVisibility::HierarchyNode *node);
00027         void RenderNode(GtpVisibility::HierarchyNode *node);
00028         bool IsLeaf(GtpVisibility::HierarchyNode *node);
00029         bool HasGeometry(GtpVisibility::HierarchyNode *node);
00030         bool HasGreaterDistance(GtpVisibility::HierarchyNode *node1, 
00031                                                     GtpVisibility::HierarchyNode *node2);
00032         
00033         void SetNodeVisible(GtpVisibility::HierarchyNode *node, const bool visible);
00034         void SetLastVisited(GtpVisibility::HierarchyNode *node, const int frameId);
00035 
00036         bool IsNodeVisible(GtpVisibility::HierarchyNode *node);
00037         int LastVisited(GtpVisibility::HierarchyNode *node);
00038 
00039 protected:
00044         AxisAlignedBox *GetBoundingBox(GtpVisibility::HierarchyNode *node);
00049         Real GetSquaredViewDepth(const Camera* cam, const AxisAlignedBox* box) const;
00050         unsigned int mNumOctreeNodes;
00051 };
00052 } // namespace Ogre
00053 
00054 #endif // BspHierarchyInterface_H

Generated on Fri Apr 29 19:47:56 2005 for GameTools Visibility Modules by  doxygen 1.4.2