- All Superinterfaces:
DoubleToDouble
,Spectrum
- All Known Implementing Classes:
Collector3d
,Collector3dList
,CollectorW3d
This interface is used to store more information during the computation
of the
LightModel
. Its an extension of the Spectrum
interface,
which means, that every Collector - instance can handled as a Spectrum
instance.
Every implementation of this interface is also a certain specialized
Spectrum
.- Author:
- Stephan Rogge
-
Method Summary
Modifier and TypeMethodDescriptionvoid
This method combines to collectors to one single collector by add every corresponding value.void
addToStatistic
(Tuple3d tuple, Spectrum spectrum, double scaleFactor, boolean isPrimary) Here the information ofLightModel
computation are stored.clone()
Returns a clone of this collector.void
getCollectedValues
(Tuple3d sumDir, Tuple3d sumSquareDir, Tuple3d sumSpec, Tuple3d sumSquareSpec) void
Set the arithmetic mean of all directions (not normalized) tovector
.void
getDirectionVariance
(Tuple3d tuple) This methods returns the variance of the light-direction (not normalized).long
Returns the number of rays, which hits the corresponding object.void
getSpectrumArithmeticMean
(Spectrum spectrum) Set the arithmetic mean of all spectra tovector
.void
getSpectrumVariance
(Spectrum spectrum) This methods returns the variance of the spectra.boolean
Return the state if this instance working as Collector or just as anSpectrum
.Returns a new instance of the class of this collector.void
The collector works like aSpectrum
after initializing.
-
Method Details
-
clone
Collector clone()Returns a clone of this collector. -
newInstance
Collector newInstance()Returns a new instance of the class of this collector. It is initialized to the zero function.- Specified by:
newInstance
in interfaceSpectrum
- Returns:
- new instance of same class
-
getRayCount
long getRayCount()Returns the number of rays, which hits the corresponding object.- Returns:
- Number of rays.
-
add
This method combines to collectors to one single collector by add every corresponding value.- Parameters:
collector
- which has to be added to the corresponding instance.
-
setAsCollector
void setAsCollector()The collector works like aSpectrum
after initializing. Thats useful when this Collector-instance is used for the calculations inLightModel
. -
isCollector
boolean isCollector()Return the state if this instance working as Collector or just as anSpectrum
.- Returns:
-
addToStatistic
Here the information ofLightModel
computation are stored. -
getSpectrumArithmeticMean
Set the arithmetic mean of all spectra tovector
. The parametervector
should be initialized before.- Parameters:
vector
- Returns the arithmetic mean of all spectra for this Collector-instance.
-
getSpectrumVariance
This methods returns the variance of the spectra. The calculation for this is: sigma^2 = 1/N * ((sum of all spectra^2) - (N * x^2)) N ... The number of rays x ... The arithmetic mean of all spectra To get the standard deviation, just extract the root of the variance. For more information see . -
getDirectionArithmeticMean
Set the arithmetic mean of all directions (not normalized) tovector
. The parametervector
should be initialized before.- Parameters:
vector
- Returns the arithmetic mean of all direction for this Collector-instance.
-
getDirectionVariance
This methods returns the variance of the light-direction (not normalized). The calculation for this is: sigma^2 = 1/N * ((sum of all directions^2) - (N * x^2)) N ... The number of rays x ... The arithmetic mean of all direction To get the standard deviation, just extract the root of the variance. For more information see . -
getCollectedValues
-