Photon Engine 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
ph::TReceiverMeasurementEstimator< SamplingFilmType, EstimationType > Class Template Reference

#include <TReceiverMeasurementEstimator.h>

Inheritance diagram for ph::TReceiverMeasurementEstimator< SamplingFilmType, EstimationType >:
ph::IReceivedRayProcessor ph::TStepperReceiverMeasurementEstimator< SamplingFilmType, EstimationType >

Public Types

using Estimator = TIRayEstimator<EstimationType>
 

Public Member Functions

 TReceiverMeasurementEstimator ()=default
 
 TReceiverMeasurementEstimator (std::size_t numFilms, std::size_t numEstimations, Integrand integrand, SampleFilter filter)
 
 TReceiverMeasurementEstimator (TReceiverMeasurementEstimator &&other)
 
void process (const math::Vector2D &rasterCoord, const Ray &sensedRay, const math::Spectrum &quantityWeight, SampleFlow &sampleFlow) override
 
void addEstimator (const Estimator *estimator)
 
void addFilmEstimation (std::size_t filmIndex, std::size_t estimationIndex)
 
void setFilmDimensions (const math::TVector2< int64 > &actualResPx, const math::TAABB2D< int64 > &effectiveWindowPx, bool useSoftEdge=true)
 
void clearFilms ()
 
void clearFilm (std::size_t index)
 
void mergeFilmTo (std::size_t fromIndex, SamplingFilmType &toFilm)
 
std::size_t numEstimations () const
 
math::TAABB2D< int64 > getFilmEffectiveWindowPx () const
 
SamplingFilmDimensions getFilmDimensions () const
 
bool isSoftEdgedFilm () const
 
TReceiverMeasurementEstimatoroperator= (TReceiverMeasurementEstimator &&other)
 
- Public Member Functions inherited from ph::IReceivedRayProcessor
virtual ~IReceivedRayProcessor ()=default
 
virtual void onBatchStart (uint64 batchNumber)
 
virtual void onBatchFinish (uint64 batchNumber)
 

Protected Types

using EstimationToFilmMap = std::vector<std::pair<std::size_t, std::size_t>>
 

Protected Attributes

SampleFilter m_filter
 
TEstimationArray< EstimationType > m_estimations
 
math::Vector2D m_filmActualResFPx
 
std::vector< SamplingFilmType > m_films
 
std::vector< const Estimator * > m_estimators
 
Integrand m_integrand
 
EstimationToFilmMap m_estimationToFilm
 

Member Typedef Documentation

◆ EstimationToFilmMap

template<typename SamplingFilmType , typename EstimationType >
using ph::TReceiverMeasurementEstimator< SamplingFilmType, EstimationType >::EstimationToFilmMap = std::vector<std::pair<std::size_t, std::size_t>>
protected

◆ Estimator

template<typename SamplingFilmType , typename EstimationType >
using ph::TReceiverMeasurementEstimator< SamplingFilmType, EstimationType >::Estimator = TIRayEstimator<EstimationType>

Constructor & Destructor Documentation

◆ TReceiverMeasurementEstimator() [1/3]

template<typename SamplingFilmType , typename EstimationType >
ph::TReceiverMeasurementEstimator< SamplingFilmType, EstimationType >::TReceiverMeasurementEstimator ( )
default

◆ TReceiverMeasurementEstimator() [2/3]

template<typename SamplingFilmType , typename EstimationType >
ph::TReceiverMeasurementEstimator< SamplingFilmType, EstimationType >::TReceiverMeasurementEstimator ( std::size_t numFilms,
std::size_t numEstimations,
Integrand integrand,
SampleFilter filter )
inline

◆ TReceiverMeasurementEstimator() [3/3]

template<typename SamplingFilmType , typename EstimationType >
ph::TReceiverMeasurementEstimator< SamplingFilmType, EstimationType >::TReceiverMeasurementEstimator ( TReceiverMeasurementEstimator< SamplingFilmType, EstimationType > && other)
inline

Member Function Documentation

◆ addEstimator()

template<typename SamplingFilmType , typename EstimationType >
auto ph::TReceiverMeasurementEstimator< SamplingFilmType, EstimationType >::addEstimator ( const Estimator * estimator)
inline

◆ addFilmEstimation()

template<typename SamplingFilmType , typename EstimationType >
auto ph::TReceiverMeasurementEstimator< SamplingFilmType, EstimationType >::addFilmEstimation ( std::size_t filmIndex,
std::size_t estimationIndex )
inline

◆ clearFilm()

template<typename SamplingFilmType , typename EstimationType >
auto ph::TReceiverMeasurementEstimator< SamplingFilmType, EstimationType >::clearFilm ( std::size_t index)
inline

◆ clearFilms()

template<typename SamplingFilmType , typename EstimationType >
auto ph::TReceiverMeasurementEstimator< SamplingFilmType, EstimationType >::clearFilms ( )
inline

◆ getFilmDimensions()

template<typename SamplingFilmType , typename EstimationType >
auto ph::TReceiverMeasurementEstimator< SamplingFilmType, EstimationType >::getFilmDimensions ( ) const
inline

◆ getFilmEffectiveWindowPx()

template<typename SamplingFilmType , typename EstimationType >
auto ph::TReceiverMeasurementEstimator< SamplingFilmType, EstimationType >::getFilmEffectiveWindowPx ( ) const
inline

◆ isSoftEdgedFilm()

template<typename SamplingFilmType , typename EstimationType >
auto ph::TReceiverMeasurementEstimator< SamplingFilmType, EstimationType >::isSoftEdgedFilm ( ) const
inline

◆ mergeFilmTo()

template<typename SamplingFilmType , typename EstimationType >
auto ph::TReceiverMeasurementEstimator< SamplingFilmType, EstimationType >::mergeFilmTo ( std::size_t fromIndex,
SamplingFilmType & toFilm )
inline

◆ numEstimations()

template<typename SamplingFilmType , typename EstimationType >
auto ph::TReceiverMeasurementEstimator< SamplingFilmType, EstimationType >::numEstimations ( ) const
inline

◆ operator=()

template<typename SamplingFilmType , typename EstimationType >
auto ph::TReceiverMeasurementEstimator< SamplingFilmType, EstimationType >::operator= ( TReceiverMeasurementEstimator< SamplingFilmType, EstimationType > && other)
inline

◆ process()

template<typename SamplingFilmType , typename EstimationType >
auto ph::TReceiverMeasurementEstimator< SamplingFilmType, EstimationType >::process ( const math::Vector2D & rasterCoord,
const Ray & sensedRay,
const math::Spectrum & quantityWeight,
SampleFlow & sampleFlow )
inlineoverridevirtual

◆ setFilmDimensions()

template<typename SamplingFilmType , typename EstimationType >
auto ph::TReceiverMeasurementEstimator< SamplingFilmType, EstimationType >::setFilmDimensions ( const math::TVector2< int64 > & actualResPx,
const math::TAABB2D< int64 > & effectiveWindowPx,
bool useSoftEdge = true )
inline

Member Data Documentation

◆ m_estimations

template<typename SamplingFilmType , typename EstimationType >
TEstimationArray<EstimationType> ph::TReceiverMeasurementEstimator< SamplingFilmType, EstimationType >::m_estimations
protected

◆ m_estimationToFilm

template<typename SamplingFilmType , typename EstimationType >
EstimationToFilmMap ph::TReceiverMeasurementEstimator< SamplingFilmType, EstimationType >::m_estimationToFilm
protected

◆ m_estimators

template<typename SamplingFilmType , typename EstimationType >
std::vector<const Estimator*> ph::TReceiverMeasurementEstimator< SamplingFilmType, EstimationType >::m_estimators
protected

◆ m_filmActualResFPx

template<typename SamplingFilmType , typename EstimationType >
math::Vector2D ph::TReceiverMeasurementEstimator< SamplingFilmType, EstimationType >::m_filmActualResFPx
protected

◆ m_films

template<typename SamplingFilmType , typename EstimationType >
std::vector<SamplingFilmType> ph::TReceiverMeasurementEstimator< SamplingFilmType, EstimationType >::m_films
protected

◆ m_filter

template<typename SamplingFilmType , typename EstimationType >
SampleFilter ph::TReceiverMeasurementEstimator< SamplingFilmType, EstimationType >::m_filter
protected

◆ m_integrand

template<typename SamplingFilmType , typename EstimationType >
Integrand ph::TReceiverMeasurementEstimator< SamplingFilmType, EstimationType >::m_integrand
protected

The documentation for this class was generated from the following files: