Code_TYMPAN
4.4.0
Industrial site acoustic simulation
Tympan
geometric_methods
AcousticRaytracer
Geometry
UniformCircularSampler.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) <2012-2024> <EDF-DTG> <FRANCE>
3
* This file is part of Code_TYMPAN (R).
4
* Code_TYMPAN (R) is free software: you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License as published by
6
* the Free Software Foundation, either version 3 of the License, or
7
* (at your option) any later version.
8
* Code_TYMPAN (R) is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11
* See the GNU General Public License for more details.
12
* You should have received a copy of the GNU General Public License along
13
* with Code_TYMPAN (R). If not, see <https://www.gnu.org/licenses/>.
14
*/
15
16
#include "
Sampler.h
"
17
18
#ifndef __UNIFORM_CIRCULAR_SAMPLER__
19
#define __UNIFORM_CIRCULAR_SAMPLER__
20
25
class
UniformCircularSampler
:
public
Sampler
26
{
27
public
:
28
UniformCircularSampler
(
unsigned
int
nbRays = 1,
const
vec3
& normal =
vec3
{0., 0., 1.});
29
30
UniformCircularSampler
(
const
UniformCircularSampler
& sampler);
31
32
UniformCircularSampler
(
UniformCircularSampler
* pSampler);
33
34
Sampler
*
Clone
()
override
;
35
36
void
init
()
override
;
37
38
vec3
getSample
()
override
;
39
40
bool
isAcceptableSample
(
vec3
v)
override
;
41
42
protected
:
43
vec3
_u
,
_v
,
_normal
;
44
unsigned
int
_i
;
45
decimal
_dTheta
;
46
};
47
48
#endif
// __UNIFORM_CIRCULAR_SAMPLER__
Sampler.h
Sampler
Sampler class and its sub-classes describe ray generators used in AcousticRayTracer....
Definition:
Sampler.h:30
UniformCircularSampler
Sampler providing directions uniformly distributed on a circle. This circle is in the plane defined b...
Definition:
UniformCircularSampler.h:26
UniformCircularSampler::_u
vec3 _u
Definition:
UniformCircularSampler.h:43
UniformCircularSampler::UniformCircularSampler
UniformCircularSampler(unsigned int nbRays=1, const vec3 &normal=vec3{0., 0., 1.})
Definition:
UniformCircularSampler.cpp:18
UniformCircularSampler::_dTheta
decimal _dTheta
Definition:
UniformCircularSampler.h:45
UniformCircularSampler::init
void init() override
Initialize the sample.
Definition:
UniformCircularSampler.cpp:49
UniformCircularSampler::_v
vec3 _v
Definition:
UniformCircularSampler.h:43
UniformCircularSampler::_i
unsigned int _i
Definition:
UniformCircularSampler.h:44
UniformCircularSampler::getSample
vec3 getSample() override
Return the sample.
Definition:
UniformCircularSampler.cpp:78
UniformCircularSampler::Clone
Sampler * Clone() override
Clone a sample.
Definition:
UniformCircularSampler.cpp:43
UniformCircularSampler::_normal
vec3 _normal
Definition:
UniformCircularSampler.h:43
UniformCircularSampler::isAcceptableSample
bool isAcceptableSample(vec3 v) override
Return true for an acceptable sample.
Definition:
UniformCircularSampler.cpp:86
core_mathlib::decimal
float decimal
Definition:
mathlib.h:45
core_mathlib::vec3
base_vec3< decimal > vec3
Definition:
mathlib.h:387
Generated on Fri Jun 19 2026 12:48:42 for Code_TYMPAN by
1.9.1