BsOctreeSceneManager.h 693 B

1234567891011121314151617181920212223242526
  1. #pragma once
  2. #include "BsOctreeSMPrerequisites.h"
  3. #include "BsSceneManager.h"
  4. namespace BansheeEngine
  5. {
  6. class BS_SM_EXPORT OctreeSceneManager : public SceneManager
  7. {
  8. public:
  9. OctreeSceneManager() {}
  10. ~OctreeSceneManager() {}
  11. const CM::Vector<HCamera>::type& getAllCameras() const { return mCachedCameras; }
  12. CM::Vector<HRenderable>::type getVisibleRenderables(const HCamera& camera) const;
  13. void updateRenderableBounds();
  14. private:
  15. void notifyComponentAdded(const CM::HComponent& component);
  16. void notifyComponentRemoved(const CM::HComponent& component);
  17. CM::Vector<HCamera>::type mCachedCameras;
  18. CM::Vector<HRenderable>::type mRenderables;
  19. };
  20. }