Code_TYMPAN  4.2.0
Industrial site acoustic simulation
TYANIME3DRayTracerSolverAdapter.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) <2012> <EDF-R&D> <FRANCE>
3  * This program is free software; you can redistribute it and/or modify
4  * it under the terms of the GNU General Public License as published by
5  * the Free Software Foundation; either version 2 of the License, or
6  * (at your option) any later version.
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10  * See the GNU General Public License for more details.
11  * You should have received a copy of the GNU General Public License along
12  * with this program; if not, write to the Free Software Foundation, Inc.,
13  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
14 */
15 
16 #ifndef TYANIME3D_RAYTRACER_SOLVER_ADAPTER_H
17 #define TYANIME3D_RAYTRACER_SOLVER_ADAPTER_H
18 
21 
26 {
27 
28 public:
29  virtual bool postTreatmentScene(Scene* scene, std::vector<Source>& sources, std::vector<Recepteur>& recepteurs);
30 
31  //virtual double leafTreatment(KdTree *kdtree, BVH* bvh, Ray *r, vector<struct Isect> &primitives);
32 
36  virtual bool valideIntersection(Ray* r, Intersection* inter);
37 
41  virtual bool valideRayon(Ray* r);
42 
46  virtual bool invalidRayon(Ray* r);
47 
48  // * \fn vector<Ray*>* getValidRays()
49  // * \brief Return the list of valid rays
50  // * \return Pointer to the vector containing the rays validated by the solver
51  // */
52  // vector<Ray*>* getValidRays(){ return &valid_rays;}
53 
54  virtual void finish();
55 
56  //virtual void clean();
57 
59 
60 
61 protected:
64 
65 #ifdef _ALLOW_TARGETING_
66 protected :
67  TargetManager targetManager;
68 #endif //_ALLOW_TARGETING_
69 };
70 
71 #endif //TYANIME3D_RAYTRACER_SOLVER_ADAPTER_H
Intersection struct.
Definition: Shape.h:46
Class to manage targets.
Definition: TargetManager.h:26
virtual bool valideRayon(Ray *r)
validate a ray by filtering it with the selectors for acceptance or rejection
: Describes a ray by a pair of unsigned int. The first one gives the source number (in the range 0-40...
Definition: Ray.h:38
API class to run the ray tracer for the ANIME3D solver.
virtual bool invalidRayon(Ray *r)
delete a ray or add it to the list of debug rays
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 th...
The Solver class gives an interface to the developer to add easily a new acoustic method using ray tr...
Definition: Solver.h:42
This class mainly define a mesh (list of Shape) used by the Simulation object.
Definition: Scene.h:50
virtual void finish()
End the operations.
virtual bool valideIntersection(Ray *r, Intersection *inter)
validate intersections in function of the type of the intersected primitive
bool _useFresnelArea
Flag to use Fresnel weighting.