Photon Engine 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
ph::math::TDisk< T > Class Template Referencefinal

A 2-D disk with normal facing up (0, 1, 0). More...

#include <TDisk.h>

Public Member Functions

 TDisk ()=default
 
 TDisk (T radius)
 
getArea () const
 
TVector3< T > sampleToSurface (const std::array< T, 2 > &sample) const
 
TVector3< T > sampleToSurface (const std::array< T, 2 > &sample, T *out_pdfA) const
 
TVector2< T > sampleToSurface2D (const std::array< T, 2 > &sample) const
 
TVector2< T > sampleToSurface2D (const std::array< T, 2 > &sample, T *out_pdfA) const
 
TVector3< T > sampleToSurfaceOriented (const std::array< T, 2 > &sample, const TVector3< T > &normal=TVector3< T >(0, 1, 0), const TVector3< T > &offset=TVector3< T >(0)) const
 
TVector3< T > sampleToSurfaceOriented (const std::array< T, 2 > &sample, T *out_pdfA, const TVector3< T > &normal=TVector3< T >(0, 1, 0), const TVector3< T > &offset=TVector3< T >(0)) const
 

Static Public Member Functions

static TDisk makeUnit ()
 

Detailed Description

template<typename T>
class ph::math::TDisk< T >

A 2-D disk with normal facing up (0, 1, 0).

Constructor & Destructor Documentation

◆ TDisk() [1/2]

template<typename T >
ph::math::TDisk< T >::TDisk ( )
default

◆ TDisk() [2/2]

template<typename T >
ph::math::TDisk< T >::TDisk ( T radius)
inlineexplicit

Member Function Documentation

◆ getArea()

template<typename T >
T ph::math::TDisk< T >::getArea ( ) const
inline

◆ makeUnit()

template<typename T >
TDisk< T > ph::math::TDisk< T >::makeUnit ( )
inlinestatic

◆ sampleToSurface() [1/2]

template<typename T >
TVector3< T > ph::math::TDisk< T >::sampleToSurface ( const std::array< T, 2 > & sample) const
inline

◆ sampleToSurface() [2/2]

template<typename T >
TVector3< T > ph::math::TDisk< T >::sampleToSurface ( const std::array< T, 2 > & sample,
T * out_pdfA ) const
inline

◆ sampleToSurface2D() [1/2]

template<typename T >
TVector2< T > ph::math::TDisk< T >::sampleToSurface2D ( const std::array< T, 2 > & sample) const
inline

◆ sampleToSurface2D() [2/2]

template<typename T >
TVector2< T > ph::math::TDisk< T >::sampleToSurface2D ( const std::array< T, 2 > & sample,
T * out_pdfA ) const
inline

◆ sampleToSurfaceOriented() [1/2]

template<typename T >
TVector3< T > ph::math::TDisk< T >::sampleToSurfaceOriented ( const std::array< T, 2 > & sample,
const TVector3< T > & normal = TVector3<T>(0, 1, 0),
const TVector3< T > & offset = TVector3<T>(0) ) const
inline

◆ sampleToSurfaceOriented() [2/2]

template<typename T >
TVector3< T > ph::math::TDisk< T >::sampleToSurfaceOriented ( const std::array< T, 2 > & sample,
T * out_pdfA,
const TVector3< T > & normal = TVector3<T>(0, 1, 0),
const TVector3< T > & offset = TVector3<T>(0) ) const
inline

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