3#include <Engine/RaEngine.hpp>
11#include <Core/Utils/Index.hpp>
12#include <Core/Utils/IndexMap.hpp>
15#include <Engine/Rendering/RenderObjectTypes.hpp>
23class RA_ENGINE_API RenderObjectManager final
26 RenderObjectManager();
27 ~RenderObjectManager();
29 Core::Utils::Index addRenderObject( Rendering::RenderObject* renderObject );
30 void removeRenderObject(
const Core::Utils::Index& index );
32 size_t getRenderObjectsCount();
41 const Core::Utils::IndexMap<std::shared_ptr<Rendering::RenderObject>>& getRenderObjects()
const;
49 const Rendering::RenderObjectType& type )
const;
56 bool exists(
const Core::Utils::Index& index )
const;
62 void renderObjectExpired(
const Ra::Core::Utils::Index& idx );
68 size_t getNumFaces()
const;
74 size_t getNumVertices()
const;
77 Core::Utils::IndexMap<std::shared_ptr<Rendering::RenderObject>> m_renderObjects;
hepler function to manage enum as underlying types in VariableSet