1#include <Engine/Scene/DefaultLightManager.hpp>
3#include <Engine/RadiumEngine.hpp>
9DefaultLightManager::DefaultLightManager() {
10 m_data = std::make_unique<DefaultLightStorage>();
21DefaultLightStorage::DefaultLightStorage() =
default;
26 m_lights.emplace( li->
getType(), li );
30 auto range = m_lights.equal_range( li->
getType() );
31 for (
auto i = range.first; i != range.second; ++i ) {
32 if ( i->second == li ) {
40 return m_lights.size();
48 auto iterator = m_lights.begin();
50 return iterator->second;
const Scene::Light * getLight(size_t li) const override
Get a pointer to the li-th Light.
void addLight(const Scene::Light *li) override
void add(const Scene::Light *i) override
Add a Light to the container.
void upload() const override
size_t size() const override
Returns the container size.
void remove(const Scene::Light *li) override
Remove a Light from the container.
const Scene::Light * operator[](unsigned int n) override
Access the container.
void clear() override
Clear the container.
std::unique_ptr< LightStorage > m_data
Stores the object that stores the lights...
const LightType & getType() const
hepler function to manage enum as underlying types in VariableSet