- An abstract class that represents a function over the visible
spectrum. RI_SPECTRUM_MIN_LAMBDA to RI_SPECTRUM_MAX_LAMBDA
This is an abstract class and cannot be directly instanced.
[
Color |
Source |
Search |
Keywords |
Summary | Ancestors | All Members | Descendants ]
- DESCRIPTION
- PATTERN
- WARNING
Class Summary
class RiSpectralCurve
{
}; // RiSpectralCurve
DESCRIPTION
This class allows us to represent any spectral data. RiSpectrum
can then use this interface to convert any arbitrary spectral data
to an RiSpectrum. There are minimal restrictions on this class.
It will be used to represent energy, sensitivity curves, and
possibly reflectances.
PATTERN
abstract function
WARNING
The conversion operator to RiSpectrum samples the spectral function
at 1nm increments. If you have data that contains higher frequencies,
(sodium vapor lamp maybe, lazer) either smooth it a little or
write your own conversion operator if you want to get an RiSpectrum out of it.
Obviously, an RiSpectrum is a really bad represenation of the original
data.
~RiSpectralCurve() ;
Virtual destructor so everything works fine for derived classes
virtual ~RiSpectralCurve()
;
Function is currently defined inline.
operator RiSpectrum() const;
Conversion operator to RiSpectrum
virtual operator RiSpectrum() const;
RiReal GetValue(RiReal lambda) const;
Return the value of the function at lambda
virtual RiReal GetValue(RiReal lambda) const;
RiReal operator()(RiReal lambda) const ;
overload the function call operator for convenience
RiReal operator()(RiReal lambda) const
;
Function is currently defined inline.
RiSpectrum Integrate(RiReal stepSize) const;
allow a little efficiency into the conversion to Spectrum
RiSpectrum Integrate(RiReal stepSize) const;
All Members
Ancestors
Class does not inherit from any other class.
Descendants
Generated from source by the Cocoon utilities on Fri Feb 25 15:15:01 2000
.