00001 #ifndef VECTORLIGHTLIST_H_ 00002 #define VECTORLIGHTLIST_H_ 00003 00004 #include "irender.h" 00005 #include "generic/callback.h" 00006 00010 class VectorLightList: public LightList 00011 { 00012 typedef std::vector<const RendererLight*> Lights; 00013 Lights m_lights; 00014 public: 00015 ~VectorLightList () 00016 { 00017 } 00018 void addLight (const RendererLight& light) 00019 { 00020 m_lights.push_back(&light); 00021 } 00022 void clear () 00023 { 00024 m_lights.clear(); 00025 } 00026 void evaluateLights () const 00027 { 00028 } 00029 void lightsChanged () const 00030 { 00031 } 00032 void forEachLight (const RendererLightCallback& callback) const 00033 { 00034 for (Lights::const_iterator i = m_lights.begin(); i != m_lights.end(); ++i) { 00035 callback(*(*i)); 00036 } 00037 } 00038 }; 00039 00040 #endif /*VECTORLIGHTLIST_H_*/