Package org.sunflow.image

# Class SpectralCurve

java.lang.Object
org.sunflow.image.SpectralCurve

Direct Known Subclasses:
  `BlackbodySpectrum`, `ChromaticitySpectrum`, `ConstantSpectralCurve`, `IrregularSpectralCurve`, `RegularSpectralCurve`

public abstract class SpectralCurve extends Object
This class is an abstract interface to sampled or analytic spectral data.

## Constructor Summary

Constructors
Constructor
Description
`SpectralCurve()`

## Method Summary

Modifier and Type
Method
Description
`abstract float`
`sample(float lambda)`
This function determines the actual spectral curve data.
`final 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 Details

### SpectralCurve

public SpectralCurve()

## Method Details

### 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