source: obsolete/tags/VUT/0.4/Ogre/include/OgreSceneNodeHierarchyInterface.h @ 345

Revision 345, 1.7 KB checked in by mattausch, 19 years ago (diff)

fixed bug in chc when traversing node two times because of priority queue. left debug info in there

Line 
1#ifndef _SceneNodeHierarchyInterface_H__
2#define _SceneNodeHierarchyInterface_H__
3
4#include "OgrePlatformHierarchyInterface.h"
5#include "VisibilityInfo.h"
6#include "QueryManager.h"
7
8
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       
24        bool IsLeaf(GtpVisibility::HierarchyNode *node) const;
25       
26        void TraverseNode(GtpVisibility::HierarchyNode *node);
27        void RenderNode(GtpVisibility::HierarchyNode *node);
28        void PullUpVisibility(GtpVisibility::HierarchyNode *node) const;
29        bool HasGeometry(GtpVisibility::HierarchyNode *node) const;
30        float GetSquaredDistance(GtpVisibility::HierarchyNode *node) const;
31
32        void SetNodeVisible(GtpVisibility::HierarchyNode *node, const bool visible) const;
33        void SetLastVisited(GtpVisibility::HierarchyNode *node,
34                                                const unsigned int frameId) const;
35
36        bool IsNodeVisible(GtpVisibility::HierarchyNode *node) const;
37        unsigned int LastVisited(GtpVisibility::HierarchyNode *node) const;
38
39        AxisAlignedBox *GetBoundingBox(GtpVisibility::HierarchyNode *node);
40
41        void VisualizeCulledNode(GtpVisibility::HierarchyNode *node,
42                                                        GtpVisibility::CullingType type) const;
43       
44        void GetNodeGeometryList(GtpVisibility::HierarchyNode *node,   
45                                         GtpVisibility::GeometryList *geometryList,
46                                         bool includeChildren);
47
48};
49
50} // namespace Ogre
51#endif // SceneNodeHierarchyInterface_H
Note: See TracBrowser for help on using the repository browser.