#ifndef _VisibilityEnvironment_H__ #define _VisibilityEnvironment_H__ #include namespace GtpVisibilityPreprocessor { class Environment; } namespace GtpVisibility { /** This class provides different parameters for the visibility manager. */ class VisibilityEnvironment { public: VisibilityEnvironment(); ~VisibilityEnvironment(); /** Different types of occlusion culling algorithms */ enum CullingManagerType {COHERENT_HIERARCHICAL_CULLING, FRUSTUM_CULLING, STOP_AND_WAIT_CULLING, NUM_CULLING_MANAGERS}; /** Loads an environment from disk. */ bool LoadEnvironment(std::string filename); /** Returns filename of scene. */ std::string getSceneFileName(); /** Returns filename of view cells file. */ std::string getViewCellsFileName(); GtpVisibilityPreprocessor::Environment *GetPreprocessorEnvironment(); protected: //GtpVisibilityPreprocessor::Environment *Environment::GetSingleton(); }; } // namespace GtpVisibility #endif // VisibilityEnvironment_H