MobileRT  1.0
A multi platform C++ CPU progressive Ray Tracer.
Components::StaticMersenneTwister Class Referencefinal

#include <StaticMersenneTwister.hpp>

Inheritance diagram for Components::StaticMersenneTwister:
Inheritance graph
Collaboration diagram for Components::StaticMersenneTwister:
Collaboration graph

Public Member Functions

 StaticMersenneTwister ()
 
 StaticMersenneTwister (const StaticMersenneTwister &random)=delete
 
 StaticMersenneTwister (StaticMersenneTwister &&random) noexcept=delete
 
 ~StaticMersenneTwister () final=default
 
StaticMersenneTwisteroperator= (const StaticMersenneTwister &random)=delete
 
StaticMersenneTwisteroperator= (StaticMersenneTwister &&random) noexcept=delete
 
float getSample (::std::uint32_t sample) final
 
- Public Member Functions inherited from MobileRT::Sampler
 Sampler ()=default
 
 Sampler (::std::uint32_t width, ::std::uint32_t height, ::std::uint32_t samples)
 
 Sampler (const Sampler &sampler)=delete
 
 Sampler (Sampler &&sampler) noexcept=delete
 
virtual ~Sampler ()
 
Sampleroperator= (const Sampler &sampler)=delete
 
Sampleroperator= (Sampler &&sampler) noexcept=delete
 
void resetSampling ()
 
void stopSampling ()
 
float getSample ()
 

Additional Inherited Members

- Public Attributes inherited from MobileRT::Sampler
::std::atomic<::std::uint32_t > sample_ {}
 
const ::std::uint32_t domainSize_ {::std::numeric_limits<::std::uint32_t>::max()}
 
::std::uint32_t samples_ {::std::numeric_limits<::std::uint32_t>::max()}
 
- Protected Member Functions inherited from MobileRT::Sampler
template<const ::std::size_t S>
float getSampleFromArray (const ::std::array< float, S > &values)
 

Detailed Description

This sampler returns the Mersenne Twister sequence that was pre-calculated.

Constructor & Destructor Documentation

◆ StaticMersenneTwister() [1/3]

StaticMersenneTwister::StaticMersenneTwister ( )
explicit
Here is the call graph for this function:

◆ StaticMersenneTwister() [2/3]

Components::StaticMersenneTwister::StaticMersenneTwister ( const StaticMersenneTwister random)
delete

◆ StaticMersenneTwister() [3/3]

Components::StaticMersenneTwister::StaticMersenneTwister ( StaticMersenneTwister &&  random)
deletenoexcept

◆ ~StaticMersenneTwister()

Components::StaticMersenneTwister::~StaticMersenneTwister ( )
finaldefault

Member Function Documentation

◆ getSample()

float StaticMersenneTwister::getSample ( ::std::uint32_t  sample)
finalvirtual

Calculates a new sample.

Parameters
sampleThe index of the desired sample.
Returns
A random value between 0 and 1.

Implements MobileRT::Sampler.

◆ operator=() [1/2]

StaticMersenneTwister& Components::StaticMersenneTwister::operator= ( const StaticMersenneTwister random)
delete

◆ operator=() [2/2]

StaticMersenneTwister& Components::StaticMersenneTwister::operator= ( StaticMersenneTwister &&  random)
deletenoexcept

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