RiSpectralCurve

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 ]

Quick Index

DESCRIPTION
PATTERN
WARNING

Class Summary

class RiSpectralCurve
{
public:
~RiSpectralCurve() ;
operator RiSpectrum() const;
RiReal GetValue(RiReal lambda) const; // pure virtual
RiReal operator()(RiReal lambda) const ;
protected:
RiSpectrum Integrate(RiReal stepSize) const;
}; // 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

public:
operator RiSpectrum() const;
RiReal GetValue(RiReal lambda) const; // pure virtual
RiReal operator()(RiReal lambda) const ;
protected:
RiSpectrum Integrate(RiReal stepSize) const;

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 .