00001 #ifndef LIGHTLOADER_H_ 00002 #define LIGHTLOADER_H_ 00003 00004 #include "XMLLoader.h" 00005 00006 namespace rcrt 00007 { 00008 00009 class Light; 00010 00011 enum LightType{ 00012 POINT, 00013 AREA, 00014 DIR, 00015 SPHERE, 00016 }; 00017 00021 class LightLoader : public rcrt::XMLLoader 00022 { 00023 private: 00024 Light* light; 00025 LightType type; 00026 std::string name; 00027 bool initialised; 00028 00029 void init(); 00030 void initPoint(); 00031 void initArea(); 00032 void initDir(); 00033 void initSphere(); 00034 00035 public: 00036 LightLoader(std::string lightFile); 00037 virtual ~LightLoader(); 00038 00039 Light* getLight(); 00040 00041 //TODO animated lights 00042 bool nextFrame(); 00043 bool goToFrame(const int& n); 00044 }; 00045 00046 } 00047 00048 #endif /*LIGHTLOADER_H_*/