Code_TYMPAN  4.4.0
Industrial site acoustic simulation
TYBatiment.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  *
18  *
19  *
20  *
21  */
22 
23 #ifndef __TY_BATIMENT__
24 #define __TY_BATIMENT__
25 
27 #include "TYEtage.h"
28 
33 {
37 
38  // Methodes
39 public:
43  TYBatiment();
47  TYBatiment(const TYBatiment& other);
51  virtual ~TYBatiment();
52 
54  TYBatiment& operator=(const TYBatiment& other);
56  bool operator==(const TYBatiment& other) const;
58  bool operator!=(const TYBatiment& other) const;
59 
60  virtual std::string toString() const;
61 
62  virtual DOM_Element toXML(DOM_Element& domElement);
63  virtual int fromXML(DOM_Element domElement);
64 
65  virtual void setDensiteSrcsH(double densite, bool recursif = true);
66  virtual void setDensiteSrcsV(double densite, bool recursif = true);
67 
68  virtual TYTabSourcePonctuelleGeoNode getSrcs() const;
69  virtual TYSourcePonctuelle srcPonctEquiv() const;
70  virtual void distriSrcs();
71  virtual bool setSrcsLw();
72 
73  virtual double volume() const;
74  virtual double surface() const;
75  virtual TYTabVector normals() const;
76  virtual TYTabPoint sommets() const;
77  virtual TYTabLPPolygon faces() const;
78  virtual TYBox volEnglob() const;
79  virtual TYPoint centreGravite() const;
80  virtual int intersects(const OSegment3D& seg, TYTabPoint& ptList) const;
81  virtual int isInside(const TYPoint& pt) const;
82  virtual bool updateAcoustic(const bool& force = false);
84 
85  // Membres
86 protected:
87 };
88 
94 typedef std::vector<LPTYBatimentGeoNode> TYTabBatimentGeoNode;
95 
96 #endif // __TY_BATIMENT__
QDomElement DOM_Element
Definition: QT2DOM.h:30
std::vector< LPTYBatimentGeoNode > TYTabBatimentGeoNode
Collection de noeuds geometriques de type TYBatiment.
Definition: TYBatiment.h:94
TYGeometryNode TYBatimentGeoNode
Noeud geometrique de type TYBatiment.
Definition: TYBatiment.h:90
SmartPtr< TYBatimentGeoNode > LPTYBatimentGeoNode
Smart Pointer sur TYBatimentGeoNode.
Definition: TYBatiment.h:92
std::vector< TYPoint > TYTabPoint
Collection de TYPoint.
Definition: TYDefines.h:340
std::vector< OVector3D > TYTabVector
Collection de OVector3D.
Definition: TYDefines.h:398
std::vector< LPTYPolygon > TYTabLPPolygon
Collection de pointeurs de TYPolygon.
Definition: TYDefines.h:349
#define TY_EXT_GRAPHIC_DECL_ONLY(classname)
Definition: TYElement.h:432
#define OPROTODECL(classname)
Definition: TYElement.h:65
#define TY_EXTENSION_DECL_ONLY(classname)
Definition: TYElement.h:386
std::vector< LPTYSourcePonctuelleGeoNode > TYTabSourcePonctuelleGeoNode
Collection de noeuds geometriques de type TYSourcePonctuelle.
Class to define a segment.
Definition: 3d.h:1089
virtual void setDensiteSrcsV(double densite, bool recursif=true)
Definition: TYBatiment.cpp:105
virtual ~TYBatiment()
Definition: TYBatiment.cpp:42
bool operator==(const TYBatiment &other) const
Operateur ==.
Definition: TYBatiment.cpp:53
virtual TYTabPoint sommets() const
Definition: TYBatiment.cpp:157
virtual bool setSrcsLw()
Definition: TYBatiment.cpp:137
virtual int fromXML(DOM_Element domElement)
Definition: TYBatiment.cpp:81
virtual void setDensiteSrcsH(double densite, bool recursif=true)
Definition: TYBatiment.cpp:88
bool operator!=(const TYBatiment &other) const
Operateur !=.
Definition: TYBatiment.cpp:65
virtual double surface() const
Definition: TYBatiment.cpp:147
virtual int isInside(const TYPoint &pt) const
Definition: TYBatiment.cpp:182
virtual double volume() const
Definition: TYBatiment.cpp:142
virtual std::string toString() const
Definition: TYBatiment.cpp:70
TYBatiment & operator=(const TYBatiment &other)
Operateur =.
Definition: TYBatiment.cpp:44
virtual TYTabLPPolygon faces() const
Definition: TYBatiment.cpp:162
virtual int intersects(const OSegment3D &seg, TYTabPoint &ptList) const
Definition: TYBatiment.cpp:177
virtual LPTYSpectre getRealPowerSpectrum()
Definition: TYBatiment.cpp:229
virtual DOM_Element toXML(DOM_Element &domElement)
Definition: TYBatiment.cpp:75
virtual TYBox volEnglob() const
Definition: TYBatiment.cpp:167
virtual void distriSrcs()
Definition: TYBatiment.cpp:132
virtual TYPoint centreGravite() const
Definition: TYBatiment.cpp:172
virtual bool updateAcoustic(const bool &force=false)
Definition: TYBatiment.cpp:187
virtual TYTabVector normals() const
Definition: TYBatiment.cpp:152
virtual TYTabSourcePonctuelleGeoNode getSrcs() const
Definition: TYBatiment.cpp:122
virtual TYSourcePonctuelle srcPonctEquiv() const
Definition: TYBatiment.cpp:127
Definition: TYBox.h:34