#ifndef _VisibilityOptionsManager_H__ #define _VisibilityOptionsManager_H__ #include #include #include "VisibilityManager.h" #include "OgrePlatformHierarchyInterface.h" namespace Ogre { /** Helper class for setting and getting different options directly related to visibility culling. */ class VisibilityOptionsManager { public: /** Contructor. @param visManager current visibility manager handling the culling options @param hierarchInterface current hierarchy interface for handling the traversal options */ VisibilityOptionsManager(GtpVisibility::VisibilityManager *visManager, PlatformHierarchyInterface *hierarchyInterface); /** Sets the given option for the scene traverser. @remarks Options are: "Algorithm", "Threshold"; */ bool setOption(const String &, const void *); /** Gets the given option for the scene traverser. @remarks See setOption */ bool getOption(const String &, void *); bool getOptionKeys( StringVector &refKeys ); protected: GtpVisibility::VisibilityManager *mVisibilityManager; PlatformHierarchyInterface *mHierarchyInterface; }; } #endif // VisibilityOptionsManager_H