#include <spd.h>
Public Member Functions | |
| SPD () | |
| virtual | ~SPD () |
| float | sample (const float lambda) const |
| void | sample (u_int n, const float lambda[], float *p) const |
| float | Y () const |
| XYZColor | ToXYZ () const |
| void | AllocateSamples (int n) |
| void | FreeSamples () |
| void | Normalize () |
| void | Clamp () |
| void | Scale (float s) |
| void | Whitepoint (float temp) |
Protected Attributes | |
| int | nSamples |
| float | lambdaMin |
| float | lambdaMax |
| float | delta |
| float | invDelta |
| float * | samples |
Definition at line 30 of file spd.h.
| lux::SPD::SPD | ( | ) | [inline] |
| virtual lux::SPD::~SPD | ( | ) | [inline, virtual] |
Definition at line 37 of file spd.h.
References FreeSamples().
| void SPD::AllocateSamples | ( | int | n | ) |
Definition at line 32 of file spd.cpp.
References samples.
Referenced by lux::RGBReflSPD::init(), lux::RGBIllumSPD::init(), lux::RegularSPD::init(), lux::IrregularSPD::init(), lux::GaussianSPD::init(), lux::FrequencySPD::init(), lux::EqualSPD::init(), and lux::BlackbodySPD::init().
| void SPD::Clamp | ( | ) |
Definition at line 56 of file spd.cpp.
References nSamples, and samples.
Referenced by lux::RGBReflSPD::init(), lux::RGBIllumSPD::init(), lux::GaussianSPD::init(), lux::FrequencySPD::init(), lux::EqualSPD::init(), and lux::BlackbodySPD::init().
| void SPD::FreeSamples | ( | ) |
Definition at line 37 of file spd.cpp.
References lux::FreeAligned(), and samples.
Referenced by ~SPD().
| void SPD::Normalize | ( | ) |
Definition at line 43 of file spd.cpp.
References cimg_library::cimg::max(), nSamples, and samples.
Referenced by lux::BlackbodySPD::init().
| void lux::SPD::sample | ( | u_int | n, | |
| const float | lambda[], | |||
| float * | p | |||
| ) | const [inline] |
Definition at line 52 of file spd.h.
References Floor2Int(), invDelta, lambdaMax, lambdaMin, Lerp(), cimg_library::cimg::min(), nSamples, and samples.
| float lux::SPD::sample | ( | const float | lambda | ) | const [inline] |
Definition at line 40 of file spd.h.
References Floor2Int(), invDelta, lambdaMax, lambdaMin, Lerp(), cimg_library::cimg::min(), nSamples, and samples.
Referenced by lux::SkyLight::ChromaticityToSpectrum(), lux::SpectrumWavelengths::Sample(), lux::SunLight::SunLight(), lux::SWCSpectrum::SWCSpectrum(), ToXYZ(), and Y().
| void SPD::Scale | ( | float | s | ) |
Definition at line 63 of file spd.cpp.
References nSamples, and samples.
Referenced by lux::RGBReflSPD::init(), lux::RGBIllumSPD::init(), lux::GaussianSpectrumTexture< T >::SetPower(), lux::FrequencySpectrumTexture< T >::SetPower(), lux::ConstantRGBColorTexture< T >::SetPower(), lux::BlackBodySpectrumTexture< T >::SetPower(), lux::SpectrumWavelengths::SpectrumWavelengths(), and lux::SunLight::SunLight().
| XYZColor SPD::ToXYZ | ( | ) | const |
Definition at line 102 of file spd.cpp.
References lux::Color::c, lux::CIE_X, lux::CIE_Y, lux::CIE_Z, lux::CIEstart, lux::nCIE, and sample().
| void SPD::Whitepoint | ( | float | temp | ) |
| float SPD::Y | ( | ) | const |
Definition at line 95 of file spd.cpp.
References lux::CIE_Y, lux::CIEstart, lux::nCIE, and sample().
Referenced by lux::GaussianSpectrumTexture< T >::SetPower(), lux::FrequencySpectrumTexture< T >::SetPower(), lux::ConstantRGBColorTexture< T >::SetPower(), and lux::BlackBodySpectrumTexture< T >::SetPower().
float lux::SPD::delta [protected] |
Definition at line 81 of file spd.h.
Referenced by lux::RGBReflSPD::init(), lux::RGBIllumSPD::init(), lux::RegularSPD::init(), lux::IrregularSPD::init(), lux::GaussianSPD::init(), lux::FrequencySPD::init(), lux::EqualSPD::init(), lux::BlackbodySPD::init(), SPD(), and Whitepoint().
float lux::SPD::invDelta [protected] |
Definition at line 81 of file spd.h.
Referenced by lux::RGBReflSPD::init(), lux::RGBIllumSPD::init(), lux::RegularSPD::init(), lux::IrregularSPD::init(), lux::GaussianSPD::init(), lux::FrequencySPD::init(), lux::EqualSPD::init(), lux::BlackbodySPD::init(), sample(), and SPD().
float lux::SPD::lambdaMax [protected] |
Definition at line 80 of file spd.h.
Referenced by lux::RGBReflSPD::init(), lux::RGBIllumSPD::init(), lux::RegularSPD::init(), lux::IrregularSPD::init(), lux::GaussianSPD::init(), lux::FrequencySPD::init(), lux::EqualSPD::init(), lux::BlackbodySPD::init(), lux::IrregularSPD::IrregularSPD(), sample(), and SPD().
float lux::SPD::lambdaMin [protected] |
Definition at line 80 of file spd.h.
Referenced by lux::RGBReflSPD::init(), lux::RGBIllumSPD::init(), lux::RegularSPD::init(), lux::IrregularSPD::init(), lux::GaussianSPD::init(), lux::FrequencySPD::init(), lux::EqualSPD::init(), lux::BlackbodySPD::init(), lux::IrregularSPD::IrregularSPD(), sample(), SPD(), and Whitepoint().
int lux::SPD::nSamples [protected] |
Definition at line 79 of file spd.h.
Referenced by lux::RGBReflSPD::AddWeighted(), lux::RGBIllumSPD::AddWeighted(), Clamp(), lux::RGBReflSPD::init(), lux::RGBIllumSPD::init(), lux::RegularSPD::init(), lux::IrregularSPD::init(), lux::GaussianSPD::init(), lux::FrequencySPD::init(), lux::EqualSPD::init(), lux::BlackbodySPD::init(), Normalize(), sample(), Scale(), SPD(), and Whitepoint().
float* lux::SPD::samples [protected] |
Definition at line 82 of file spd.h.
Referenced by lux::RGBReflSPD::AddWeighted(), lux::RGBIllumSPD::AddWeighted(), AllocateSamples(), Clamp(), FreeSamples(), lux::RGBReflSPD::init(), lux::RGBIllumSPD::init(), lux::RegularSPD::init(), lux::IrregularSPD::init(), lux::GaussianSPD::init(), lux::FrequencySPD::init(), lux::EqualSPD::init(), lux::BlackbodySPD::init(), Normalize(), sample(), Scale(), SPD(), and Whitepoint().
1.6.2-20100208