src/rcrt/lights/PointLight.h

Go to the documentation of this file.
00001 #ifndef POINTLIGHT_H_
00002 #define POINTLIGHT_H_
00003 
00004 #include "Light.h"
00005 #include "../math/rcrtmath.h"
00006 
00007 namespace rcrt
00008 {
00009 
00010 class PointLight : public Light
00011 {
00012 private:
00013         Point3D position;
00014         
00015 public:
00016         PointLight(RGBColor p, Point3D pos);
00017         virtual ~PointLight();
00018         const Point3D& getPosition() const;
00019         virtual LightSample illuminate(const Point3D& p, const Vec3D& no) const;
00020         virtual void illuminate(const Point3D& p, const Vec3D& no, std::vector<LightSample>& samples,
00021                         const int& noSamples, Scene* s) const;
00022         virtual RGBColor getEmitted(const Vec3D& dir, const Point3D& pos) const;
00023         
00024         virtual void emitPhoton(Photon* photon) const;
00025 };
00026 
00027 }
00028 
00029 #endif /*POINTLIGHT_H_*/

Generated on Thu Jan 31 19:26:19 2008 for RenderingCompetitionRayTracer by  doxygen 1.5.3