Code_TYMPAN  4.4.0
Industrial site acoustic simulation
TYDefines.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 __TY_DEFINES__
17 #define __TY_DEFINES__
18 
19 #if _MSC_VER > 1000
20  #pragma once
21 #endif // _MSC_VER > 1000
22 
23 // Pour l'utilisation de la librairie standard STL.
24 #include <map>
25 #include <list>
26 #include <vector>
27 #include <deque>
28 #include <string>
29 #include <fstream>
30 #include <iomanip>
31 #include <QString>
32 
33 #include "Tympan/core/defines.h"
34 #include "Tympan/core/smartptr.h"
35 
44 #if TY_USE_IHM
45 class QWidget;
47 typedef QWidget TYEditWidget;
48 #else
50 typedef void TYEditWidget;
51 #endif
52 
54 // Declarations des Smart Pointers pour une meilleur lisibilite dans le code.
55 // Les classes sont simplement prefixees LP (pour Long Pointer).
57 
58 class TYElement;
59 typedef class OGenID TYUUID;
60 
63 
64 class TYDirectivity;
67 
68 #if WITH_NMPB
69 class TYTrafic;
71 typedef SmartPtr<TYTrafic> LPTYTrafic;
72 #endif
73 
74 class TYAttenuateur;
77 
78 class TYSource;
81 
82 class TYSourceLineic;
85 
86 class TYSourcePonctuelle;
89 
90 class TYSourceSurfacic;
93 
94 class TYSpectre;
97 
98 class TYBox;
101 
102 class TYFaceSet;
105 
106 class TYPoint;
109 
110 class TYPointCalcul;
113 
114 class TYRectangle;
117 
118 class TYRepere;
121 
122 class TYSegment;
125 
126 class TYSurfaceInterface;
129 
130 class TYVolumeInterface;
133 
134 class TYPolygon;
137 
138 class TYAcousticBox;
141 
142 class TYAcousticCircle;
145 
146 class TYAcousticCylinder;
149 
150 class TYAcousticFaceSet;
153 
154 class TYAcousticInterface;
157 
158 class TYAcousticLine;
161 
162 class TYAcousticRectangle;
165 
169 
173 
177 
178 class TYAcousticSurface;
181 
185 
186 class TYAcousticVolume;
189 
193 
194 class TYBatiment;
197 
198 class TYEtage;
201 
202 class TYEcran;
205 
206 class TYMachine;
209 
210 class TYMur;
213 
214 class TYMurElement;
217 
218 class TYParoi;
221 
222 class TYReseauTransport;
225 
226 #if WITH_NMPB
227 class TYRoute;
229 typedef SmartPtr<TYRoute> LPTYRoute;
230 #endif
231 
232 class TYRay;
233 // SmartPOinter sur TYRay
235 
236 class TYDalle;
239 
240 class TYAltimetrie;
243 
244 class TYCourbeNiveau;
247 
248 class TYCoursEau;
251 
252 class TYTerrain;
255 
256 class TYPlanEau;
259 
260 class TYCalcul;
263 
264 class TYMaillage;
267 
271 
272 class TYBoundaryNoiseMap;
275 
276 class TYLinearMaillage;
279 
280 class TYProjet;
283 
284 class TYResultat;
287 
291 
292 class TYSol;
295 
296 class TYVegetation;
299 
300 class TYInfrastructure;
303 
304 class TYSite;
307 
308 class TYSiteNode;
311 
312 class TYTopographie;
315 
316 class TYPalette;
319 
320 class TYPanel;
324 // Definition de types pour les collections
326 
328 typedef std::list<TYElement*> TYListPtrElement;
329 
331 typedef std::list<TYUUID> TYListID;
332 
334 typedef std::vector<TYSol> TYTabSol;
335 
337 typedef std::vector<LPTYSpectre> TYTabLPSpectre;
338 
340 typedef std::vector<TYPoint> TYTabPoint;
341 
343 typedef std::vector<TYSegment> TYTabSegment;
344 
346 typedef std::vector<TYRectangle> TYTabRectangle;
347 
349 typedef std::vector<LPTYPolygon> TYTabLPPolygon;
350 
352 typedef std::vector<LPTYSurfaceInterface> TYTabPtrSurface;
353 
355 typedef std::vector<LPTYSourcePonctuelle> TYTabLPSourcePonctuelle;
356 
358 typedef std::vector<LPTYPointCalcul> TYTabLPPointCalcul;
359 
361 typedef std::map<TYUUID, TYElement*> TYMapPtrElementUuid;
362 
364 typedef std::map<TYSourcePonctuelle*, bool> TYMapPtrSrcePonctBool;
365 
367 typedef std::map<TYUUID, SmartPtr<TYSpectre>> TYMapIdSpectre;
368 
370 typedef std::map<TYUUID, std::vector<SmartPtr<TYSpectre>>> TYMapIdTabSpectre;
371 
373 typedef std::map<TYUUID, bool> TYMapIdBool;
374 
376 typedef std::map<TYElement*, bool> TYMapPtrElementBool;
377 
379 typedef std::map<TYElement*, int> TYMapPtrElementInt;
380 
382 typedef std::vector<TYMapPtrElementInt> tabMapPtrElementRegime;
383 
385 typedef std::vector<TYMapPtrElementBool> tabMapPtrElementBool;
386 
388 typedef std::map<TYElement*, LPTYAttenuateur> TYMapPtrElmtPtrAtt;
389 
390 // Etat d'utilisation des acousticVolumeNode.
391 typedef std::map<TYAcousticVolumeNode*, bool> TYMapPtrAcVolNodeBool;
392 
394 typedef std::vector<LPTYCalcul> TYTabLPCalcul;
395 
396 class OVector3D;
397 class OPoint3D;
398 class OSegment3D;
399 
401 typedef std::vector<OVector3D> TYTabVector;
403 typedef std::deque<OPoint3D> TYTabPoint3D;
405 typedef std::vector<OSegment3D> TYTabSegment3D;
406 
408 // Defines
410 
412 #define TYPRECISIONCIRCLE 0.1
413 
415 #define TYDEFAULTRESOLUTIONIONCIRCLE 20
416 
418 #define TAILLETOPOX 400
419 
421 #define TAILLETOPOY 400
422 
423 #endif // __TY_DEFINES__
SmartPtr< TYMachine > LPTYMachine
Smart pointer sur TYMachine.
Definition: TYDefines.h:206
SmartPtr< TYSourceLineic > LPTYSourceLineic
Smart pointer sur TYSourceLineic.
Definition: TYDefines.h:82
SmartPtr< TYResultat > LPTYResultat
Smart pointer sur TYResultat.
Definition: TYDefines.h:284
SmartPtr< TYProjet > LPTYProjet
Smart pointer sur TYProjet.
Definition: TYDefines.h:280
SmartPtr< TYEcran > LPTYEcran
Smart pointer sur TYEcran.
Definition: TYDefines.h:202
SmartPtr< TYPolygon > LPTYPolygon
Smart pointer sur TYPolygon.
Definition: TYDefines.h:134
SmartPtr< TYCourbeNiveau > LPTYCourbeNiveau
Smart pointer sur TYCourbeNiveau.
Definition: TYDefines.h:244
std::vector< LPTYCalcul > TYTabLPCalcul
Collection de pointeurs de TYCalcul.
Definition: TYDefines.h:394
std::map< TYUUID, SmartPtr< TYSpectre > > TYMapIdSpectre
Tableau associant un spectre a un id (identifiant d'objet)
Definition: TYDefines.h:367
SmartPtr< TYAcousticSemiCylinder > LPTYAcousticSemiCylinder
Smart pointer sur TYAcousticSemiCylinder.
Definition: TYDefines.h:174
SmartPtr< TYCoursEau > LPTYCoursEau
Smart pointer sur TYCoursEau.
Definition: TYDefines.h:248
SmartPtr< TYAcousticVolume > LPTYAcousticVolume
Smart pointer sur TYAcousticVolume.
Definition: TYDefines.h:186
SmartPtr< TYPlanEau > LPTYPlanEau
Smart pointer sur TYPlanEau.
Definition: TYDefines.h:256
SmartPtr< TYAcousticRectangle > LPTYAcousticRectangle
Smart pointer sur TYAcousticRectangle.
Definition: TYDefines.h:162
SmartPtr< TYAcousticBox > LPTYAcousticBox
Smart pointer sur TYAcousticBox.
Definition: TYDefines.h:138
SmartPtr< TYSourcePonctuelle > LPTYSourcePonctuelle
Smart pointer sur TYSourcePonctuelle.
Definition: TYDefines.h:86
SmartPtr< TYMaillage > LPTYMaillage
Smart pointer sur TYMaillage.
Definition: TYDefines.h:264
SmartPtr< TYRectangle > LPTYRectangle
Smart pointer sur TYRectangle.
Definition: TYDefines.h:114
SmartPtr< TYAcousticFaceSet > LPTYAcousticFaceSet
Smart pointer sur TYAcousticCylinder.
Definition: TYDefines.h:150
SmartPtr< TYEtage > LPTYEtage
Smart pointer sur TYEtage.
Definition: TYDefines.h:198
SmartPtr< TYSol > LPTYSol
Smart pointer sur TYSol.
Definition: TYDefines.h:292
std::vector< TYRectangle > TYTabRectangle
Collection de TYRectangle.
Definition: TYDefines.h:346
SmartPtr< TYPoint > LPTYPoint
Smart pointer sur TYPoint.
Definition: TYDefines.h:106
std::map< TYUUID, std::vector< SmartPtr< TYSpectre > > > TYMapIdTabSpectre
Tableau associant un id a un tableau de spectres.
Definition: TYDefines.h:370
SmartPtr< TYInfrastructure > LPTYInfrastructure
Smart pointer sur TYInfrastructure.
Definition: TYDefines.h:300
std::map< TYElement *, LPTYAttenuateur > TYMapPtrElmtPtrAtt
Etat d'utilisation d'attenuateurs.
Definition: TYDefines.h:388
std::vector< TYMapPtrElementBool > tabMapPtrElementBool
Tableau associant un regime et un tableau associatif d'elements et de booleen (etat machine vs regime...
Definition: TYDefines.h:385
SmartPtr< TYSourceSurfacic > LPTYSourceSurfacic
Smart pointer sur TYSourceSurfacic.
Definition: TYDefines.h:90
SmartPtr< TYAcousticRectangleNode > LPTYAcousticRectangleNode
Smart pointer sur TYAcousticRectangleNode.
Definition: TYDefines.h:166
void TYEditWidget
Declarations de types pour l'API IHM et l'Impression.
Definition: TYDefines.h:50
SmartPtr< TYAcousticSurface > LPTYAcousticSurface
Smart pointer sur TYAcousticSurface.
Definition: TYDefines.h:178
std::map< TYUUID, TYElement * > TYMapPtrElementUuid
Map de TYElement pour la gestion des identifiants uniques.
Definition: TYDefines.h:361
SmartPtr< TYSite > LPTYSite
Smart pointer sur TYSite.
Definition: TYDefines.h:304
SmartPtr< TYMateriauConstruction > LPTYMateriauConstruction
Smart pointer sur TYMateriauConstruction.
Definition: TYDefines.h:288
SmartPtr< TYPanel > LPTYPanel
Smart pointer sur TYPanel.
Definition: TYDefines.h:320
SmartPtr< TYAltimetrie > LPTYAltimetrie
Smart pointer sur TYAltimetrie.
Definition: TYDefines.h:240
SmartPtr< TYMurElement > LPTYMurElement
Smart pointer sur TYMurElement.
Definition: TYDefines.h:214
SmartPtr< TYReseauTransport > LPTYReseauTransport
Smart pointer sur TYReseauTransport.
Definition: TYDefines.h:222
std::vector< LPTYSurfaceInterface > TYTabPtrSurface
Collection de pointeurs de TYSurfaceInterface.
Definition: TYDefines.h:352
SmartPtr< TYSurfaceInterface > LPTYSurfaceInterface
Smart pointer sur TYSurfaceInterface.
Definition: TYDefines.h:126
SmartPtr< TYAcousticLine > LPTYAcousticLine
Smart pointer sur TYAcousticLine.
Definition: TYDefines.h:158
std::map< TYSourcePonctuelle *, bool > TYMapPtrSrcePonctBool
Etat d'utilisation de sources.
Definition: TYDefines.h:364
SmartPtr< TYSiteNode > LPTYSiteNode
Smart pointer sur TYSiteNode.
Definition: TYDefines.h:308
SmartPtr< TYAcousticInterface > LPTYAcousticInterface
Smart pointer sur TYAcousticInterface.
Definition: TYDefines.h:154
std::vector< LPTYPointCalcul > TYTabLPPointCalcul
Collection de pointeurs de TYPointCalcul.
Definition: TYDefines.h:358
class OGenID TYUUID
Definition: TYDefines.h:59
SmartPtr< TYParoi > LPTYParoi
Smart pointer sur TYParoi.
Definition: TYDefines.h:218
SmartPtr< TYAcousticCircle > LPTYAcousticCircle
Smart pointer sur TYAcousticCircle.
Definition: TYDefines.h:142
SmartPtr< TYDirectivity > LPTYDirectivity
Smart pointer sur TYDirectivity.
Definition: TYDefines.h:64
SmartPtr< TYMur > LPTYMur
Smart pointer sur TYMur.
Definition: TYDefines.h:210
std::vector< TYPoint > TYTabPoint
Collection de TYPoint.
Definition: TYDefines.h:340
SmartPtr< TYAcousticSemiCircle > LPTYAcousticSemiCircle
Smart pointer sur TYAcousticSemiCircle.
Definition: TYDefines.h:170
SmartPtr< TYBox > LPTYBox
Smart pointer sur TYBox.
Definition: TYDefines.h:98
SmartPtr< TYAttenuateur > LPTYAttenuateur
Smart pointer sur TYAttenuateur.
Definition: TYDefines.h:74
SmartPtr< TYCalcul > LPTYCalcul
Smart pointer sur TYCalcul.
Definition: TYDefines.h:260
std::map< TYElement *, bool > TYMapPtrElementBool
Etat d'utilisation des elements (utilise par les calculs)
Definition: TYDefines.h:376
std::vector< TYSol > TYTabSol
Collection de TYSol.
Definition: TYDefines.h:334
SmartPtr< TYTopographie > LPTYTopographie
Smart pointer sur TYTopographie.
Definition: TYDefines.h:312
std::map< TYAcousticVolumeNode *, bool > TYMapPtrAcVolNodeBool
Definition: TYDefines.h:391
SmartPtr< TYTerrain > LPTYTerrain
Smart pointer sur TYTerrain.
Definition: TYDefines.h:252
SmartPtr< TYAcousticCylinder > LPTYAcousticCylinder
Smart pointer sur TYAcousticCylinder.
Definition: TYDefines.h:146
std::list< TYElement * > TYListPtrElement
List de pointeur de TYElement.
Definition: TYDefines.h:328
SmartPtr< TYDalle > LPTYDalle
Smart pointer sur TYDalle.
Definition: TYDefines.h:236
std::vector< OSegment3D > TYTabSegment3D
Collection de OSegment3D.
Definition: TYDefines.h:405
SmartPtr< TYPalette > LPTYPalette
Smart pointer sur TYPalette.
Definition: TYDefines.h:316
SmartPtr< TYAcousticVolumeNode > LPTYAcousticVolumeNode
Smart pointer sur TYAcousticVolumeNode.
Definition: TYDefines.h:190
SmartPtr< TYRectangularMaillage > LPTYRectangularMaillage
Smart pointer sur TYRectangularMaillage.
Definition: TYDefines.h:268
SmartPtr< TYPointCalcul > LPTYPointCalcul
Smart pointer sur TYPointCalcul.
Definition: TYDefines.h:110
std::deque< OPoint3D > TYTabPoint3D
Collection de OPoint3D.
Definition: TYDefines.h:403
SmartPtr< TYSource > LPTYSource
Smart pointer sur TYSource.
Definition: TYDefines.h:78
SmartPtr< TYFaceSet > LPTYFaceSet
Smart pointer sur TYBox.
Definition: TYDefines.h:102
std::vector< OVector3D > TYTabVector
Collection de OVector3D.
Definition: TYDefines.h:398
std::vector< LPTYSpectre > TYTabLPSpectre
Collection de TYSpectre.
Definition: TYDefines.h:337
SmartPtr< TYRepere > LPTYRepere
Smart pointer sur TYRepere.
Definition: TYDefines.h:118
SmartPtr< TYAcousticSurfaceNode > LPTYAcousticSurfaceNode
Smart pointer sur TYAcousticSurfaceNode.
Definition: TYDefines.h:182
std::map< TYElement *, int > TYMapPtrElementInt
Tableau associatif des elements et d'un entier (utilise pour gerer les regimes)
Definition: TYDefines.h:379
std::vector< LPTYPolygon > TYTabLPPolygon
Collection de pointeurs de TYPolygon.
Definition: TYDefines.h:349
SmartPtr< TYBoundaryNoiseMap > LPTYBoundaryNoiseMap
Smart pointer on TYBoundaryNoiseMap.
Definition: TYDefines.h:272
std::list< TYUUID > TYListID
Collection d'identifiants.
Definition: TYDefines.h:331
SmartPtr< TYVegetation > LPTYVegetation
Smart pointer sur TYVegetation.
Definition: TYDefines.h:296
SmartPtr< TYBatiment > LPTYBatiment
Smart pointer sur TYBatiment.
Definition: TYDefines.h:194
std::vector< TYMapPtrElementInt > tabMapPtrElementRegime
Tableau associant un regime a un tableau associatif d'entiers (regime machine in batiments vs regime ...
Definition: TYDefines.h:382
SmartPtr< TYSpectre > LPTYSpectre
Smart pointer sur TYSpectre.
Definition: TYDefines.h:94
std::map< TYUUID, bool > TYMapIdBool
Tableau associant un booleen a un id (identifiant d'objet)
Definition: TYDefines.h:373
SmartPtr< TYElement > LPTYElement
Smart pointer sur TYElement.
Definition: TYDefines.h:62
std::vector< TYSegment > TYTabSegment
Collection de TYSegment.
Definition: TYDefines.h:343
std::vector< LPTYSourcePonctuelle > TYTabLPSourcePonctuelle
Collection de pointeurs de TYSourcePonctuelle.
Definition: TYDefines.h:355
SmartPtr< TYSegment > LPTYSegment
Smart pointer sur TYSegment.
Definition: TYDefines.h:122
SmartPtr< TYRay > LPTYRay
Definition: TYDefines.h:232
SmartPtr< TYLinearMaillage > LPTYLinearMaillage
Smart pointer sur TYLinearMaillage.
Definition: TYDefines.h:276
SmartPtr< TYVolumeInterface > LPTYVolumeInterface
Smart pointer sur TYVolumeInterface.
Definition: TYDefines.h:130
Definition: idgen.h:28
The 3D point class.
Definition: 3d.h:487
Class to define a segment.
Definition: 3d.h:1089
The 3D vector class.
Definition: 3d.h:298
Assigne une altitude a chaque point de l'espace.
Definition: TYAltimetrie.h:35
This class represents a polyline with a thickness. Acoustic receptors are sampled inside this region.
Definition: TYBox.h:34
Calculation program.
Definition: TYCalcul.h:50
Classe de definition d'un maillage lineaire.
Classe de definition d'un maillage.
Definition: TYMaillage.h:51
Definition: TYMur.h:36
Classe de definition d'une palette.
Definition: TYPalette.h:41
Classe de definition d'un panel d'information.
Definition: TYPanel.h:34
Classe de definition d'un point de calcul.C'est une classe derivee a TYPoint avec en plus un spectrep...
Definition: TYPointCalcul.h:33
classe de definition d'un projet.
Definition: TYProjet.h:45
Classe decrivant un rayon acoustique gere par un lancer de rayon. Cette classe doit permettre la mode...
Definition: TYRay.h:35
Classe de definition d'un maillage rectangulaire.
Classe qui Permet de centraliser les resultats d'un calcul acoustique.
Definition: TYResultat.h:48
Definition: TYSol.h:25