00001 #ifndef _VisibilityDotSceneManager_H__ 00002 #define _VisibilityDotSceneManager_H__ 00003 00004 #include <OgreSceneNode.h> 00005 #include <DotSceneManager.h> 00006 #include <OgrePrerequisites.h> 00007 #include "VisibilityManager.h" 00008 #include "OgreSceneNodeHierarchyInterface.h" 00009 00010 namespace Ogre { 00011 00018 class VisibilityDotSceneManager: public DotSceneManager 00019 { 00020 public: 00021 VisibilityDotSceneManager(GtpVisibility::VisibilityManager *visManager); 00022 ~VisibilityDotSceneManager(); 00023 00024 void _renderVisibleObjects(); 00025 void _findVisibleObjects(Camera* cam, bool onlyShadowCasters); 00026 void _updateSceneGraph(Camera* cam); 00027 00033 virtual bool setOption(const String &, const void *); 00038 virtual bool getOption(const String &, void *); 00039 00040 bool getOptionValues(const String & key, StringVector &refValueList); 00041 bool getOptionKeys(StringVector &refKeys); 00042 00046 void setVisibilityManager(GtpVisibility::VisibilityManager *visManager); 00049 GtpVisibility::VisibilityManager *getVisibilityManager(); 00050 00051 protected: 00052 00053 Ogre::SceneNodeHierarchyInterface *mHierarchyInterface; 00054 GtpVisibility::VisibilityManager *mVisibilityManager; 00055 }; 00056 } // namespace Ogre 00057 00058 #endif // VisibilityDotSceneManager_H