Code_TYMPAN  4.2.0
Industrial site acoustic simulation
TYANIME3DSolver.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 
17 #ifndef __TY_ANIME3DSOLVER__
18 #define __TY_ANIME3DSOLVER__
19 
20 #include <memory>
21 #include <QList>
22 
23 #include "Tympan/core/interfaces.h"
30 
34 class Lancer;
35 
44 {
47  bool isEcran;
48  bool isInfra;
50  QList<OTriangle> triangles;
51  QList<OPoint3D> realVertex;
52  int idFace;
53  int idBuilding;
54  int idEtage;
56  double G;
58 };
59 
65 {
66 public:
72 
77  ~TYANIME3DSolver();
78 
83  virtual bool solve(const tympan::AcousticProblemModel& aproblem,
85  tympan::LPSolverConfiguration configuration);
86 
91  void init();
92 
93 
98  virtual void purge();
99 
100 protected:
101 
103 
105 
106  //Logger logger;
107  //FILE logs;
108 
109  // List of sources used by the solver
110  //TYTabSourcePonctuelleGeoNode _tabSources;
111 
112  // List of receptors used by the solver
113  //TYTabPointCalculGeoNode _tabRecepteurs;
114 
117 
118 private:
119  std::unique_ptr<AtmosphericConditions> _pAtmos;
120 };
121 
122 #endif // __TY_ANIME3DSOLVER__
int idBuilding
Building index in TYSite.
This file provides the declaration of the entities of the model, which inherit from BaseEntity...
The 3D vector class.
Definition: 3d.h:296
Associated solver to the ANIME3D method.
bool isInfra
Flag to detect infrastructure face.
Research of acoustic paths for the ANIME3D method.
tympan::receptor_pool_t all_receptors
Describes analytical ray curve tracing.
Definition: Lancer.h:37
QList< OTriangle > triangles
Triangles list included into the surface after triangulation.
OMatrix matInv
Inverse matrix used for the infrastructure faces.
This file provides class for solver configuration.
std::vector< OPoint3D > TabPoint3D
Definition: 3d.h:481
TYStructSurfIntersect * _tabPolygon
Array containing all the informations relative to a site geometry and associated material to each fac...
tympan::AcousticMaterialBase * material
Triangle material.
double G
Impedance coefficient.
tympan::source_pool_t all_sources
size_t _tabPolygonSize
Array size of _tabPolygon.
TabPoint3D tabPoint
Points array used during the pre-selection.
OVector3D normal
Surface normal vector.
int idFace
Face index.
Class to describe the acoustic problem.
QList< OPoint3D > realVertex
Vertex list of the surface (global coordinates)
bool isEcran
Flag to detect screen face.
std::deque< AcousticReceptor > receptor_pool_t
Array of receptors.
Definition: entities.hpp:352
The 4x4 matrix class.
Definition: 3d.h:625
Describe surface intersections.
boost::shared_ptr< SolverConfiguration > LPSolverConfiguration
Definition: interfaces.h:24
Base class for material.
Definition: entities.hpp:22
Building class of the faces list used by the ray tracer and the acoustic solver.
Contains the results of the model solved.
std::deque< AcousticSource > source_pool_t
Array of sources.
Definition: entities.hpp:334
Acoustic model of ANIME3D method.
int idEtage
Floor index.
std::unique_ptr< AtmosphericConditions > _pAtmos
Interface class for solvers.
Definition: interfaces.h:31
OSpectreComplex spectreAbso
Absorption spectrum.