source: trunk/VUT/Ogre/include/OgreSceneNodeHierarchyInterface.h @ 112

Revision 112, 1.5 KB checked in by mattausch, 19 years ago (diff)
Line 
1#ifndef _SceneNodeHierarchyInterface_H__
2#define _SceneNodeHierarchyInterface_H__
3
4#include "OgrePlatformHierarchyInterface.h"
5
6namespace Ogre {
7
8/**
9        This class implements the hierarchy interface for the Ogre scene node hierarchy.
10*/
11class SceneNodeHierarchyInterface: public PlatformHierarchyInterface
12{
13public:
14        /** Construction taking the current scene manager and the current
15                rendersystem as argument
16                @param sm current scene manager
17                @param rsys current render system
18        */
19        SceneNodeHierarchyInterface(SceneManager *sm, RenderSystem *rsys);
20       
21        bool IsLeaf(GtpVisibility::HierarchyNode *node) const;
22       
23        void TraverseNode(GtpVisibility::HierarchyNode *node);
24        void RenderNode(GtpVisibility::HierarchyNode *node);
25        void PullUpVisibility(GtpVisibility::HierarchyNode *node);
26        bool HasGeometry(GtpVisibility::HierarchyNode *node) const;
27        float GetSquaredDistance(GtpVisibility::HierarchyNode *node) const;
28
29        void SetNodeVisible(GtpVisibility::HierarchyNode *node, const bool visible);
30        void SetLastVisited(GtpVisibility::HierarchyNode *node,
31                                                const unsigned int frameId);
32
33        bool IsNodeVisible(GtpVisibility::HierarchyNode *node) const;
34        unsigned int LastVisited(GtpVisibility::HierarchyNode *node) const;
35
36        AxisAlignedBox *GetBoundingBox(GtpVisibility::HierarchyNode *node);
37
38        void VisualizeCulledNode(GtpVisibility::HierarchyNode *node,
39                                                        GtpVisibility::CullingType type);
40};
41
42} // namespace Ogre
43#endif // SceneNodeHierarchyInterface_H
Note: See TracBrowser for help on using the repository browser.