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

Revision 59, 1.4 KB checked in by mattausch, 19 years ago (diff)

completely changed file structure plus software design

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);
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);
27        bool HasGreaterDistance(GtpVisibility::HierarchyNode *node1,
28                                                    GtpVisibility::HierarchyNode *node2);
29
30        void SetNodeVisible(GtpVisibility::HierarchyNode *node, const bool visible);
31        void SetLastVisited(GtpVisibility::HierarchyNode *node, const int frameId);
32
33        bool IsNodeVisible(GtpVisibility::HierarchyNode *node);
34        int LastVisited(GtpVisibility::HierarchyNode *node);
35
36        AxisAlignedBox *GetBoundingBox(GtpVisibility::HierarchyNode *node);
37
38protected:
39       
40       
41};
42
43} // namespace Ogre
44#endif // SceneNodeHierarchyInterface_H
Note: See TracBrowser for help on using the repository browser.