00001 #ifndef LIGHTSAMPLE_H_ 00002 #define LIGHTSAMPLE_H_ 00003 00004 #include "../RGBColor.h" 00005 #include "../math/Point3D.h" 00006 00007 namespace rcrt 00008 { 00009 00013 class LightSample 00014 { 00015 private: 00016 float weightV; 00017 Vec3D dirV; 00018 float distV; 00019 RGBColor powerV; 00020 00021 public: 00022 LightSample(const float& weight, const Vec3D& dirToLight, const float& dis, const RGBColor& power); 00023 virtual ~LightSample(); 00024 00025 const float& weight() const; 00026 const Vec3D& dirToLight() const; 00027 const float& dist() const; 00028 const RGBColor& power() const; 00029 00030 void setWeight(const float& w); 00031 }; 00032 00033 } 00034 00035 #endif /*LIGHTSAMPLE_H_*/