00001 00005 #ifndef PointLight_h 00006 #define PointLight_h 00007 00008 #include "Light.h" 00009 #include "Point.h" 00010 #include "Color.h" 00011 00012 class PointLight : public Light { 00013 public: 00014 PointLight(const Point& position, const Color& color); 00015 virtual ~PointLight(); 00016 00017 virtual void preprocess(); 00018 virtual double getLight(Color& light_color, Vector& light_direction, 00019 const RenderContext& context, const Point& pos) const; 00020 00021 private: 00022 PointLight(const PointLight&); 00023 PointLight& operator=(const PointLight&); 00024 00025 Point position; 00026 Color color; 00027 }; 00028 00029 #endif 00030