source: trunk/VUT/GtpVisibility/include/CullingManager.h @ 59

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

completely changed file structure plus software design

Line 
1#ifndef _CullingManager_H__
2#define _CullingManager_H__
3
4#include "HierarchyInterface.h"
5
6namespace GtpVisibility {
7
8/** This abstract class implements an interface for a specific culling
9        algorithm. The algorithm is either used to render a scene or to make a visibility query.
10*/
11class CullingManager
12{
13public:
14        /** Constructor taking a scene traverser for a specific type of hierarchy as argument.
15        */
16        CullingManager(HierarchyInterface *hierarchyInterface);
17        /** Renders the scene using a specific occlusion culling algorithm, e.g., coherent
18                hierarchical culling or stop and wait.
19        */
20        virtual void RenderScene() = 0;
21        /** Sets the hierarchy interface.
22                @param hierarchyInterface
23                @remark the hierarchy interface encapsulates the hierarchy we are working on
24        */
25        void SetHierarchyInterface(HierarchyInterface *hierarchyInterface);
26
27protected:
28
29        unsigned int mNumQueryCulledNodes;
30        unsigned int mNumFrustumCulledNodes;
31
32        unsigned int mVisibilityThreshold;
33        HierarchyInterface *mHierarchyInterface;
34};
35} // namespace GtpVisibility
36#endif // CullingManager
Note: See TracBrowser for help on using the repository browser.