Code_TYMPAN  4.2.0
Industrial site acoustic simulation
Public Member Functions | Private Member Functions | Private Attributes | List of all members
UniformSphericSampler Class Reference

A Sampler class for uniform spherical sampling. More...

#include <UniformSphericSampler.h>

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

Public Member Functions

 UniformSphericSampler (const unsigned int &nbRays=0, const decimal &Theta=(decimal) M_PIDIV2, const decimal &Phi=(decimal) M_2PI)
 Constructors. More...
 
 UniformSphericSampler (const UniformSphericSampler &other)
 
 UniformSphericSampler (UniformSphericSampler *sampler)
 
virtual SamplerClone ()
 Clone a sample. More...
 
virtual ~UniformSphericSampler ()
 Destructor. More...
 
virtual vec3 getSample ()
 Return the sample. More...
 
virtual bool isAcceptableSample (vec3 v)
 Return true for an acceptable sample. More...
 
virtual void init ()
 Initialize the sample. More...
 
unsigned int getRealNbRays () const
 
virtual unsigned int computeDiffractionNbr (const decimal &thetaCalcul)
 Return the number of rays to launch after a diffraction event. 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)
 

Private Member Functions

void computeN1 ()
 
void computeThetaCalcul (unsigned int i)
 
void computeN2 ()
 
void computeTrueNbRays ()
 

Private Attributes

unsigned int _real_nb_rays
 Real number of rays launched. More...
 
unsigned int _n1
 Number of slices. More...
 
unsigned int _n2
 Number of rays along a specific slice. More...
 
decimal _thetaCalcul
 Current angle along a longitude. More...
 
unsigned int _i
 
unsigned int _j
 Current indices. More...
 

Additional Inherited Members

- 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

A Sampler class for uniform spherical sampling.

Definition at line 35 of file UniformSphericSampler.h.

Constructor & Destructor Documentation

◆ UniformSphericSampler() [1/3]

UniformSphericSampler::UniformSphericSampler ( const unsigned int &  nbRays = 0,
const decimal &  Theta = (decimal) M_PIDIV2,
const decimal &  Phi = (decimal) M_2PI 
)
inline

Constructors.

Definition at line 39 of file UniformSphericSampler.h.

◆ UniformSphericSampler() [2/3]

UniformSphericSampler::UniformSphericSampler ( const UniformSphericSampler other)
inline

Definition at line 52 of file UniformSphericSampler.h.

◆ UniformSphericSampler() [3/3]

UniformSphericSampler::UniformSphericSampler ( UniformSphericSampler sampler)
inline

Definition at line 63 of file UniformSphericSampler.h.

◆ ~UniformSphericSampler()

virtual UniformSphericSampler::~UniformSphericSampler ( )
inlinevirtual

Destructor.

Definition at line 80 of file UniformSphericSampler.h.

Member Function Documentation

◆ Clone()

virtual Sampler* UniformSphericSampler::Clone ( )
inlinevirtual

Clone a sample.

Reimplemented from Sampler.

Definition at line 74 of file UniformSphericSampler.h.

◆ computeDiffractionNbr()

virtual unsigned int UniformSphericSampler::computeDiffractionNbr ( const decimal &  theta)
inlinevirtual

Return the number of rays to launch after a diffraction event.

Reimplemented from Sampler.

Definition at line 119 of file UniformSphericSampler.h.

◆ computeN1()

void UniformSphericSampler::computeN1 ( )
inlineprivate

Definition at line 125 of file UniformSphericSampler.h.

◆ computeN2()

void UniformSphericSampler::computeN2 ( )
inlineprivate

Definition at line 138 of file UniformSphericSampler.h.

◆ computeThetaCalcul()

void UniformSphericSampler::computeThetaCalcul ( unsigned int  i)
inlineprivate

Definition at line 133 of file UniformSphericSampler.h.

◆ computeTrueNbRays()

void UniformSphericSampler::computeTrueNbRays ( )
inlineprivate

Definition at line 143 of file UniformSphericSampler.h.

◆ getRealNbRays()

unsigned int UniformSphericSampler::getRealNbRays ( ) const
inline

Definition at line 117 of file UniformSphericSampler.h.

◆ getSample()

virtual vec3 UniformSphericSampler::getSample ( )
inlinevirtual

Return the sample.

Reimplemented from Sampler.

Definition at line 82 of file UniformSphericSampler.h.

Here is the call graph for this function:

◆ init()

virtual void UniformSphericSampler::init ( )
inlinevirtual

Initialize the sample.

Reimplemented from Sampler.

Definition at line 106 of file UniformSphericSampler.h.

◆ isAcceptableSample()

virtual bool UniformSphericSampler::isAcceptableSample ( vec3  v)
inlinevirtual

Return true for an acceptable sample.

Reimplemented from Sampler.

Definition at line 104 of file UniformSphericSampler.h.

Member Data Documentation

◆ _i

unsigned int UniformSphericSampler::_i
private

Definition at line 158 of file UniformSphericSampler.h.

◆ _j

unsigned int UniformSphericSampler::_j
private

Current indices.

Definition at line 158 of file UniformSphericSampler.h.

◆ _n1

unsigned int UniformSphericSampler::_n1
private

Number of slices.

Definition at line 155 of file UniformSphericSampler.h.

◆ _n2

unsigned int UniformSphericSampler::_n2
private

Number of rays along a specific slice.

Definition at line 156 of file UniformSphericSampler.h.

◆ _real_nb_rays

unsigned int UniformSphericSampler::_real_nb_rays
private

Real number of rays launched.

Definition at line 154 of file UniformSphericSampler.h.

◆ _thetaCalcul

decimal UniformSphericSampler::_thetaCalcul
private

Current angle along a longitude.

Definition at line 157 of file UniformSphericSampler.h.


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