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

API class to run the ray tracer for the ANIME3D solver. More...

#include <TYANIME3DRayTracerSolverAdapter.h>

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

Public Member Functions

virtual bool postTreatmentScene (Scene *scene, std::vector< Source > &sources, std::vector< Recepteur > &recepteurs)
 Virtual function to post-process the Scene. It has two phases: transform the meta-objects and load the Scene. During the first phase, we iterate on the different meta-objects lists and are extracted elements for the ray tracer. Typically, a wall object would be transformed in a set of Primitives, extract polylines from punctual Sources,... The Scene will be loaded with objects related to acoustic calculation which are not present into the physical description of the Scene. For instance, diffraction edges are modeled by a cylinder and should be generated. More...
 
virtual bool valideIntersection (Ray *r, Intersection *inter)
 validate intersections in function of the type of the intersected primitive More...
 
virtual bool valideRayon (Ray *r)
 validate a ray by filtering it with the selectors for acceptance or rejection More...
 
virtual bool invalidRayon (Ray *r)
 delete a ray or add it to the list of debug rays More...
 
virtual void finish ()
 End the operations. More...
 
- Public Member Functions inherited from Solver
 Solver ()
 Default constructor. More...
 
 Solver (Solver *_solver)
 Copy constructor. More...
 
virtual double leafTreatment (vector< Intersection > &primitives)
 Leaf treatment function for accelerators. The default is to keep only the first intersection. It is possible to keep all the intersections which happens before a type specific intersection. For instance, we can keep all the intersections before an intersection with a triangle considered as blocking. More...
 
virtual deque< Ray * > * getValidRays ()
 Return a pointer to the validated rays list. More...
 
deque< Ray * > * getDebugRays ()
 Return a pointer to the invalidated rays list. More...
 
virtual void clean ()
 Delete the valid rays array. More...
 
virtual bool loadParameters ()
 Load the computation parameters. More...
 

Public Attributes

bool _useFresnelArea
 Flag to use Fresnel weighting. More...
 

Protected Attributes

SelectorManager< RayselectorManagerIntersection
 
SelectorManager< RayselectorManagerValidation
 
- Protected Attributes inherited from Solver
deque< Ray * > valid_rays
 Rays list which are validated by the solver. More...
 
deque< Ray * > debug_rays
 Rays list which are invalidated by the solver. More...
 

Detailed Description

API class to run the ray tracer for the ANIME3D solver.

Definition at line 25 of file TYANIME3DRayTracerSolverAdapter.h.

Member Function Documentation

◆ finish()

void TYANIME3DRayTracerSolverAdapter::finish ( )
virtual

End the operations.

Reimplemented from Solver.

Definition at line 116 of file TYANIME3DRayTracerSolverAdapter.cpp.

Here is the call graph for this function:

◆ invalidRayon()

bool TYANIME3DRayTracerSolverAdapter::invalidRayon ( Ray r)
virtual

delete a ray or add it to the list of debug rays

Reimplemented from Solver.

Definition at line 101 of file TYANIME3DRayTracerSolverAdapter.cpp.

Here is the call graph for this function:

◆ postTreatmentScene()

bool TYANIME3DRayTracerSolverAdapter::postTreatmentScene ( Scene scene,
std::vector< Source > &  sources,
std::vector< Recepteur > &  recepteurs 
)
virtual

Virtual function to post-process the Scene. It has two phases: transform the meta-objects and load the Scene. During the first phase, we iterate on the different meta-objects lists and are extracted elements for the ray tracer. Typically, a wall object would be transformed in a set of Primitives, extract polylines from punctual Sources,... The Scene will be loaded with objects related to acoustic calculation which are not present into the physical description of the Scene. For instance, diffraction edges are modeled by a cylinder and should be generated.

Parameters
sceneScene to post-process
sourcesSources
recepteursReceptors
Returns
Return true if success

Reimplemented from Solver.

Definition at line 34 of file TYANIME3DRayTracerSolverAdapter.cpp.

Here is the call graph for this function:

◆ valideIntersection()

bool TYANIME3DRayTracerSolverAdapter::valideIntersection ( Ray r,
Intersection inter 
)
virtual

validate intersections in function of the type of the intersected primitive

Reimplemented from Solver.

Definition at line 58 of file TYANIME3DRayTracerSolverAdapter.cpp.

Here is the call graph for this function:

◆ valideRayon()

bool TYANIME3DRayTracerSolverAdapter::valideRayon ( Ray r)
virtual

validate a ray by filtering it with the selectors for acceptance or rejection

Reimplemented from Solver.

Definition at line 88 of file TYANIME3DRayTracerSolverAdapter.cpp.

Here is the call graph for this function:

Member Data Documentation

◆ _useFresnelArea

bool TYANIME3DRayTracerSolverAdapter::_useFresnelArea

Flag to use Fresnel weighting.

Definition at line 58 of file TYANIME3DRayTracerSolverAdapter.h.

◆ selectorManagerIntersection

SelectorManager<Ray> TYANIME3DRayTracerSolverAdapter::selectorManagerIntersection
protected

Definition at line 62 of file TYANIME3DRayTracerSolverAdapter.h.

◆ selectorManagerValidation

SelectorManager<Ray> TYANIME3DRayTracerSolverAdapter::selectorManagerValidation
protected

Definition at line 63 of file TYANIME3DRayTracerSolverAdapter.h.


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