00001 #ifndef _Manager_H__ 00002 #define _Manager_H__ 00003 00004 #include "CullingManager.h" 00005 #include "VisibilityEnvironment.h" 00006 00007 00013 namespace GtpVisibility { 00014 00015 class QueryManager; 00016 class PreprocessingManager; 00017 00022 class VisibilityManager 00023 { 00024 public: 00028 VisibilityManager(VisibilityEnvironment *visEnvironment); 00029 00030 ~VisibilityManager(); 00035 void SetCullingManager(VisibilityEnvironment::CullingManagerType ocmType); 00038 CullingManager *GetCullingManager(); 00039 00043 void ApplyVisibilityCulling(); 00044 00045 protected: 00046 00047 CullingManager *mCullingManager; 00048 QueryManager *mQueryManager; 00049 PreprocessingManager *mPreprocessingManager; 00050 VisibilityEnvironment *mVisibilityEnvironment; 00051 VisibilityEnvironment::CullingManagerType mCullingManagerType; 00052 }; 00053 } // namespace GtpVisibility 00054 #endif // VisibilityManager