Code_TYMPAN  4.4.0
Industrial site acoustic simulation
TYAcousticFaceSet.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 #ifndef __TY_ACOUSTICFACESET__
21 #define __TY_ACOUSTICFACESET__
22 
24 #include "TYAcousticVolume.h"
29 
34 {
37 
38  // Methodes
39 public:
51  virtual ~TYAcousticFaceSet();
52 
56  bool operator==(const TYAcousticFaceSet& other) const;
58  bool operator!=(const TYAcousticFaceSet& other) const;
59 
73  virtual bool deepCopy(const TYElement* pOther, bool copyId = true, bool pUseCopyTag = false);
74 
75  virtual std::string toString() const;
76 
77  virtual DOM_Element toXML(DOM_Element& domElement);
78  virtual int fromXML(DOM_Element domElement);
79  virtual DOM_Element toXML(DOM_Element& domElement, bool withfaces);
80  virtual int fromXML(DOM_Element domElement, bool withfaces);
81 
82  virtual void getChilds(LPTYElementArray& childs, bool recursif = true);
83 
84  virtual void propagateRegime();
85  virtual void propagateAtt(LPTYAttenuateur pAtt);
86  virtual TYTabSourcePonctuelleGeoNode getSrcs() const;
87  virtual TYSourcePonctuelle srcPonctEquiv() const;
88  virtual void distriSrcs();
89  virtual void remAllSrcs();
90  virtual bool setSrcsLw();
91  virtual bool updateAcoustic(const bool& force = false);
92 
93  virtual double volume() const;
94  virtual double surface() const;
95  virtual double activeSurface() const;
96  virtual double activeSurface();
97  virtual TYTabVector normals() const;
98  virtual TYTabPoint sommets() const;
99  virtual TYTabLPPolygon faces() const;
100  virtual TYBox volEnglob() const;
101  virtual TYPoint centreGravite() const;
102  virtual int intersects(const OSegment3D& seg, TYTabPoint& ptList) const;
103  virtual int intersects(const TYSegment& seg, TYTabPoint& ptList) const;
104  virtual int isInside(const TYPoint& pt) const;
105 
106  virtual void setIsRayonnant(bool rayonnant = true, bool recursif = true);
107 
112 
121 
133  virtual bool findAcousticSurface(const TYAcousticSurface* pAccSurf, OMatrix* pMatrix = 0);
134 
143  virtual TYSpectre setGlobalLW(const TYSpectre& spectre, const double& surfGlobale,
144  const int& regime = -1);
145 
150  {
151  return _pMateriau;
152  }
157  {
158  return _pMateriau;
159  }
164 
168  void delFaces()
169  {
170  _faces.purge();
171  }
172 
176  size_t getNbFaces() const
177  {
178  return _faces.getNbFaces();
179  }
180 
185  {
187  setIsGeometryModified(true);
188  }
189 
191  {
192  return &_faces;
193  }
194 
198  virtual void inverseNormales()
199  {
201  }
202 
203  // Membres
204 protected:
207 };
208 
214 typedef std::vector<LPTYAcousticFaceSetGeoNode> TYTabAcousticVolumeGeoNode;
215 
216 #endif // __TY_ACOUSTICFACESET__
All base classes related to 3D manipulation.
QDomElement DOM_Element
Definition: QT2DOM.h:30
TYGeometryNode TYAcousticFaceSetGeoNode
Noeud geometrique de type TYAcousticFaceSet.
std::vector< LPTYAcousticFaceSetGeoNode > TYTabAcousticVolumeGeoNode
Collection de noeuds geometriques de type TYAcousticFaceSet.
SmartPtr< TYAcousticFaceSetGeoNode > LPTYAcousticFaceSetGeoNode
Smart Pointer sur TYAcousticFaceSetGeoNode.
std::vector< LPTYAcousticSurface > TYTabLPAcousticSurface
Tableau de TYAcousticSurfaces.
std::vector< LPTYAcousticSurfaceGeoNode > TYTabAcousticSurfaceGeoNode
Collection de noeuds geometriques de type TYAcousticSurface.
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
std::vector< LPTYElement > LPTYElementArray
Definition: TYElement.h:345
#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.
The 4x4 matrix class.
Definition: 3d.h:625
Class to define a segment.
Definition: 3d.h:1089
virtual TYSourcePonctuelle srcPonctEquiv() const
const LPTYMateriauConstruction getMateriau() const
bool operator==(const TYAcousticFaceSet &other) const
Operateur ==.
bool operator!=(const TYAcousticFaceSet &other) const
Operateur !=.
virtual int isInside(const TYPoint &pt) const
virtual void propagateAtt(LPTYAttenuateur pAtt)
virtual int intersects(const OSegment3D &seg, TYTabPoint &ptList) const
virtual double activeSurface() const
virtual void distriSrcs()
void setFaces(const TYTabLPPolygon &faces)
virtual int fromXML(DOM_Element domElement)
virtual TYTabLPAcousticSurface getSubFace()
TYFaceSet * getFaceSet()
virtual void remAllSrcs()
virtual TYBox volEnglob() const
virtual bool deepCopy(const TYElement *pOther, bool copyId=true, bool pUseCopyTag=false)
virtual DOM_Element toXML(DOM_Element &domElement)
virtual void getChilds(LPTYElementArray &childs, bool recursif=true)
virtual void propagateRegime()
virtual bool setSrcsLw()
size_t getNbFaces() const
virtual TYTabVector normals() const
TYAcousticFaceSet & operator=(const TYAcousticFaceSet &other)
Operateur =.
virtual TYTabPoint sommets() const
virtual TYPoint centreGravite() const
virtual void inverseNormales()
virtual TYTabLPPolygon faces() const
virtual TYTabSourcePonctuelleGeoNode getSrcs() const
virtual TYTabAcousticSurfaceGeoNode acousticFaces()
void setMateriau(LPTYMateriauConstruction pMat)
virtual double volume() const
virtual std::string toString() const
virtual bool findAcousticSurface(const TYAcousticSurface *pAccSurf, OMatrix *pMatrix=0)
virtual bool updateAcoustic(const bool &force=false)
virtual double surface() const
TYFaceSet _faces
Ensemble des faces.
LPTYMateriauConstruction getMateriau()
virtual void setIsRayonnant(bool rayonnant=true, bool recursif=true)
virtual TYSpectre setGlobalLW(const TYSpectre &spectre, const double &surfGlobale, const int &regime=-1)
LPTYMateriauConstruction _pMateriau
Materiau de contruction pour les faces de ce Volume.
Definition: TYBox.h:34
virtual void setIsGeometryModified(bool isModified)
Definition: TYElement.cpp:253
void purge()
Definition: TYFaceSet.cpp:307
void setFaces(const TYTabLPPolygon &faces)
Definition: TYFaceSet.h:127
size_t getNbFaces() const
Definition: TYFaceSet.h:119
virtual void inverseNormales()
Definition: TYFaceSet.cpp:385