org.sunflow.image
Class SpectralCurve

java.lang.Object
  extended by org.sunflow.image.SpectralCurve
Direct Known Subclasses:
BlackbodySpectrum, ChromaticitySpectrum, ConstantSpectralCurve, IrregularSpectralCurve, RegularSpectralCurve

public abstract class SpectralCurve
extends java.lang.Object

This class is an abstract interface to sampled or analytic spectral data.


Constructor Summary
SpectralCurve()
           
 
Method Summary
abstract  float sample(float lambda)
          This function determines the actual spectral curve data.
 XYZColor toXYZ()
          Convert this curve to a tristimulus CIE XYZ color by integrating against the CIE color matching functions.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SpectralCurve

public SpectralCurve()
Method Detail

sample

public abstract float sample(float lambda)
This function determines the actual spectral curve data. Note that the lambda parameter is assumed to be in nanometers.

Parameters:
lambda - wavelength to sample in nanometers
Returns:
the value of the spectral curve at this point

toXYZ

public final XYZColor toXYZ()
Convert this curve to a tristimulus CIE XYZ color by integrating against the CIE color matching functions.

Returns:
XYZColor that represents this spectra