#pragma once #include "BsOctreeSMPrerequisites.h" #include "BsSceneManager.h" namespace BansheeEngine { class BS_SM_EXPORT OctreeSceneManager : public SceneManager { public: OctreeSceneManager() {} ~OctreeSceneManager() {} const CM::Vector::type& getAllCameras() const { return mCachedCameras; } CM::Vector::type getVisibleRenderables(const HCamera& camera) const; void updateRenderableBounds(); private: void notifyComponentAdded(const CM::HComponent& component); void notifyComponentRemoved(const CM::HComponent& component); CM::Vector::type mCachedCameras; CM::Vector::type mRenderables; }; }