Code_TYMPAN  4.4.0
Industrial site acoustic simulation
Public Member Functions | Protected Attributes | List of all members
UniformCircularSampler Class Reference

Sampler providing directions uniformly distributed on a circle. This circle is in the plane defined by a normal vector. More...

#include <UniformCircularSampler.h>

Inheritance diagram for UniformCircularSampler:
Inheritance graph
[legend]
Collaboration diagram for UniformCircularSampler:
Collaboration graph
[legend]

Public Member Functions

 UniformCircularSampler (unsigned int nbRays=1, const vec3 &normal=vec3{0., 0., 1.})
 
 UniformCircularSampler (const UniformCircularSampler &sampler)
 
 UniformCircularSampler (UniformCircularSampler *pSampler)
 
SamplerClone () override
 Clone a sample. More...
 
void init () override
 Initialize the sample. More...
 
vec3 getSample () override
 Return the sample. More...
 
bool isAcceptableSample (vec3 v) override
 Return true for an acceptable sample. More...
 
- Public Member Functions inherited from Sampler
 Sampler (const unsigned int &nbRays=0, const decimal &Theta=(decimal) M_PIDIV2, const decimal &Phi=(decimal) M_2PI)
 Default constructor. More...
 
 Sampler (const Sampler &other)
 Copy constructors. More...
 
 Sampler (Sampler *sampler)
 
virtual ~Sampler ()
 Destructor. More...
 
virtual unsigned int getNbRays () const
 Get/Set the number of rays to launch. More...
 
virtual void setNbRays (const unsigned int &nbRays)
 
decimal getTheta () const
 Get/Set the polar angle. More...
 
void setTheta (const decimal &Theta)
 
decimal getPhi () const
 Get/Set the equatorial polar angle. More...
 
void setPhi (const decimal &Phi)
 
virtual unsigned int computeDiffractionNbr (const decimal &theta)
 Return the number of rays to launch after a diffraction event. More...
 

Protected Attributes

vec3 _u
 
vec3 _v
 
vec3 _normal
 
unsigned int _i
 
decimal _dTheta
 
- Protected Attributes inherited from Sampler
unsigned int _nb_rays
 Number of rays to launch. More...
 
decimal _theta
 Global polar angle. More...
 
decimal _phi
 Global equatorial angle. More...
 

Detailed Description

Sampler providing directions uniformly distributed on a circle. This circle is in the plane defined by a normal vector.

Definition at line 25 of file UniformCircularSampler.h.

Constructor & Destructor Documentation

◆ UniformCircularSampler() [1/3]

UniformCircularSampler::UniformCircularSampler ( unsigned int  nbRays = 1,
const vec3 &  normal = vec3{0., 0., 1.} 
)

Definition at line 18 of file UniformCircularSampler.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ UniformCircularSampler() [2/3]

UniformCircularSampler::UniformCircularSampler ( const UniformCircularSampler sampler)

Definition at line 25 of file UniformCircularSampler.cpp.

◆ UniformCircularSampler() [3/3]

UniformCircularSampler::UniformCircularSampler ( UniformCircularSampler pSampler)

Definition at line 34 of file UniformCircularSampler.cpp.

Member Function Documentation

◆ Clone()

Sampler * UniformCircularSampler::Clone ( )
overridevirtual

Clone a sample.

Reimplemented from Sampler.

Definition at line 43 of file UniformCircularSampler.cpp.

Here is the call graph for this function:

◆ getSample()

vec3 UniformCircularSampler::getSample ( )
overridevirtual

Return the sample.

Reimplemented from Sampler.

Definition at line 78 of file UniformCircularSampler.cpp.

◆ init()

void UniformCircularSampler::init ( )
overridevirtual

Initialize the sample.

Reimplemented from Sampler.

Definition at line 49 of file UniformCircularSampler.cpp.

Here is the caller graph for this function:

◆ isAcceptableSample()

bool UniformCircularSampler::isAcceptableSample ( vec3  v)
overridevirtual

Return true for an acceptable sample.

Reimplemented from Sampler.

Definition at line 86 of file UniformCircularSampler.cpp.

Member Data Documentation

◆ _dTheta

decimal UniformCircularSampler::_dTheta
protected

Definition at line 45 of file UniformCircularSampler.h.

◆ _i

unsigned int UniformCircularSampler::_i
protected

Definition at line 44 of file UniformCircularSampler.h.

◆ _normal

vec3 UniformCircularSampler::_normal
protected

Definition at line 43 of file UniformCircularSampler.h.

◆ _u

vec3 UniformCircularSampler::_u
protected

Definition at line 43 of file UniformCircularSampler.h.

◆ _v

vec3 UniformCircularSampler::_v
protected

Definition at line 43 of file UniformCircularSampler.h.


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