source: GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreSceneNodeHierarchyInterface.h @ 2292

Revision 2292, 2.0 KB checked in by mattausch, 17 years ago (diff)
RevLine 
[59]1#ifndef _SceneNodeHierarchyInterface_H__
2#define _SceneNodeHierarchyInterface_H__
3
4#include "OgrePlatformHierarchyInterface.h"
[370]5#include "VisibilityInfo.h"
[130]6#include "QueryManager.h"
[59]7
[130]8
[59]9namespace Ogre {
10
11/**
12        This class implements the hierarchy interface for the Ogre scene node hierarchy.
13*/
14class SceneNodeHierarchyInterface: public PlatformHierarchyInterface
15{
16public:
17        /** Construction taking the current scene manager and the current
18                rendersystem as argument
19                @param sm current scene manager
20                @param rsys current render system
21        */
22        SceneNodeHierarchyInterface(SceneManager *sm, RenderSystem *rsys);
23       
[74]24        bool IsLeaf(GtpVisibility::HierarchyNode *node) const;
[59]25       
[158]26        void TraverseNode(GtpVisibility::HierarchyNode *node);
[59]27        void RenderNode(GtpVisibility::HierarchyNode *node);
[345]28        void PullUpVisibility(GtpVisibility::HierarchyNode *node) const;
[74]29        bool HasGeometry(GtpVisibility::HierarchyNode *node) const;
[87]30        float GetSquaredDistance(GtpVisibility::HierarchyNode *node) const;
[59]31
[345]32        void SetNodeVisible(GtpVisibility::HierarchyNode *node, const bool visible) const;
[74]33        void SetLastVisited(GtpVisibility::HierarchyNode *node,
[345]34                                                const unsigned int frameId) const;
[59]35
[74]36        bool IsNodeVisible(GtpVisibility::HierarchyNode *node) const;
37        unsigned int LastVisited(GtpVisibility::HierarchyNode *node) const;
[59]38
39        AxisAlignedBox *GetBoundingBox(GtpVisibility::HierarchyNode *node);
[112]40
41        void VisualizeCulledNode(GtpVisibility::HierarchyNode *node,
[345]42                                                        GtpVisibility::CullingType type) const;
[130]43       
[155]44        void GetNodeGeometryList(GtpVisibility::HierarchyNode *node,   
[2280]45                                                         GeometryVector *geometryList,
46                                                         bool includeChildren);
[154]47
[2258]48        void DetermineFullVisibility(GtpVisibility::HierarchyNode *node) const {}
[2292]49
[2259]50        GtpVisibility::HierarchyNode *GetRandomLeaf(GtpVisibility::HierarchyNode *root) { return NULL;}
[2292]51
[2258]52        bool IsNodeFullyVisible(GtpVisibility::HierarchyNode *node) const { return false;}
53
[2292]54        void CollectLeaves(GtpVisibility::HierarchyNode *root, GtpVisibility::HierarchyNodeContainer &nodes) {};
[59]55};
56
57} // namespace Ogre
58#endif // SceneNodeHierarchyInterface_H
Note: See TracBrowser for help on using the repository browser.