58 void clear() { sources.clear(); recepteurs.clear(); _plan.clear(); temps.clear(); purgeMatRes(); }
61 void setNbRay(
const unsigned int& nb) {nbRay = nb;}
98 vec3 valideIntersection(
const vec3& S,
const vec3& R,
const vec3* A,
int& reflexion,
const vec3& nExt_plan,
const vec3& SR);
100 void intersection(
const unsigned int& timer,
RayCourb& current,
Step& Y_t0,
Step& Y_t1);
113 void run() { createTemps(); RemplirMat(); }
119 void loadRayFile(vector<vec3>& tableau_norm);
128 void setLaunchType(
const unsigned int& launchType) { _launchType = launchType; init_sampler(); }
142 Step compute_next_step(
const Step& current_step);
vector< vec3 * > _plan
List of objects defined by 3 points.
void clear()
Clear all the arrays.
Sampler * _sampler
Pointer to a ray generator.
decimal angle_depart(const decimal &a, const decimal &c, const decimal &d, const decimal &h)
Compute the shooting angle ray in order to travel the given minimal distance.
meteo * _weather
Pointer to weather.
decimal TMax
Maximal propagation time.
decimal finalAnglePhi
Final shot angle according phi.
Describes analytical ray curve tracing.
string ray_fileName
Filename of file containing angles of rays.
decimal finalAngleTheta
Final shot angle according theta.
Sampler class and its sub-classes describe ray generators used in AcousticRayTracer. In these classes :
unsigned int nbRay
Launched rays number.
void setSampler(Sampler *generator)
Set a pointer to the ray generator.
void setLaunchType(const unsigned int &launchType)
Set how rays will be created (launch type)
decimal initialAngleTheta
Initial shot angle according theta.
vector< RayCourb * > MatRes
Array containing the resulting rays for each source.
void run()
Run the calculation.
void setTMax(const double &TmpMax)
Change the maximal propagation time.
decimal h
Discretization step.
void setNbRay(const unsigned int &nb)
Set the rays number to launch.
3D vector Vector defined with 3 float numbers
decimal dmax
Maximal distance traveled by the rays.
vector< vec3 > sources
Sources vector.
Weather data class for the simulation.
void setDMax(const double &DistMax)
Set the maximal distance.
decimal initialAnglePhi
Initial shot angle according phi.
void setMeteo(const meteo *Meteo)
Set the pointer to the weather object.
string out_fileName
Filename of the output file.
vector< decimal > temps
[0:h:TMax] Vector containing the different times solved
void setTimeStep(const decimal &tt)
Set the discretization step.
vector< vec3 > recepteurs
Receptors vector.
void setTriangle(vec3 *triangle)
Add a triangle to the geometry.
unsigned int _launchType
Launch type with 1:horizontal / 2:vertical / 3:spherical / 4:file.
Describe a step in the ray path.
bool wantOutFile
True if an output file is wanted.
void addSource(const vec3 &source)
Add a source into the sources list.
Sampler * getSampler()
Get ray generator for modification.
Class to describe a ray curve.