Code_TYMPAN  4.2.0
Industrial site acoustic simulation
Public Member Functions | Protected Attributes | List of all members
TYAcousticPolygon Class Reference

#include <TYAcousticPolygon.h>

Inheritance diagram for TYAcousticPolygon:
Inheritance graph
[legend]
Collaboration diagram for TYAcousticPolygon:
Collaboration graph
[legend]

Public Member Functions

 TYAcousticPolygon ()
 
 TYAcousticPolygon (const TYAcousticPolygon &other)
 
virtual ~TYAcousticPolygon ()
 
TYAcousticPolygonoperator= (const TYAcousticPolygon &other)
 Operateur =. More...
 
bool operator== (const TYAcousticPolygon &other) const
 Operateur ==. More...
 
bool operator!= (const TYAcousticPolygon &other) const
 Operateur !=. More...
 
virtual bool deepCopy (const TYElement *pOther, bool copyId=true, bool pUseCopyTag=false)
 
virtual std::string toString () const
 
virtual DOM_Element toXML (DOM_Element &domElement)
 
virtual int fromXML (DOM_Element domElement)
 
virtual TYTabSourcePonctuelleGeoNode getSrcs () const
 
virtual TYSourcePonctuelle srcPonctEquiv () const
 
virtual void distriSrcs ()
 
virtual bool setSrcsLw ()
 
virtual double surface () const
 
virtual OVector3D normal () const
 
virtual OPlan plan () const
 
virtual TYTabPoint getContour (int n=-1) const
 
virtual TYTabPoint3D getOContour (int n=-1) const
 
virtual int intersects (const TYSurfaceInterface *pSurf, OSegment3D &seg) const
 
virtual int intersects (const OSegment3D &seg, OPoint3D &pt) const
 
virtual int intersects (const OPoint3D &pt) const
 
virtual LPTYPolygon getPolygon ()
 
const LPTYPolygon getPolygon () const
 
virtual void inverseNormale ()
 
virtual void exportMesh (std::deque< OPoint3D > &points, std::deque< OTriangle > &triangles, const TYGeometryNode &geonode) const
 Exports the surface as a triangular mesh inglobal reference frame. More...
 
- Public Member Functions inherited from TYAcousticSurface
 TYAcousticSurface ()
 
 TYAcousticSurface (const TYAcousticSurface &other)
 
virtual ~TYAcousticSurface ()
 
TYAcousticSurfaceoperator= (const TYAcousticSurface &other)
 Operateur =. More...
 
bool operator== (const TYAcousticSurface &other) const
 Operateur ==. More...
 
bool operator!= (const TYAcousticSurface &other) const
 Operateur !=. More...
 
virtual void setIsAcousticModified (bool isModified)
 
virtual void setDensiteSrcsH (double densite, bool recursif=true)
 
virtual void setDensiteSrcsV (double densite, bool recursif=true)
 
virtual void propagateRegime ()
 
virtual void propagateAtt (LPTYAttenuateur pAtt)
 
virtual void setCurRegime (int regime)
 
virtual void remAllSrcs ()
 
virtual bool updateAcoustic (const bool &force=false)
 
virtual LPTYSpectre getRealPowerSpectrum ()
 
virtual const OPlangetPlan () const
 
LPTYSourceSurfacic getSrcSurf ()
 
const LPTYSourceSurfacic getSrcSurf () const
 
void setSrcSurf (const LPTYSourceSurfacic pSrcSurf)
 
TYRectanglegetBoundingRect ()
 
bool getIsSub ()
 
void setIsSub (bool isSub)
 
virtual LPTYMateriauConstruction getMateriau () const
 
TYSpectre setGlobalLW (const TYSpectre &spectre, const double &surfGlobale, const int &regime=-1)
 
virtual void setIsRayonnant (bool rayonnant=true, bool recursif=true)
 Get/set de l'etat rayonnant ou pas. More...
 
virtual void exportCSV (std::ofstream &ofs)
 Export au format csv sur un flux transmis. More...
 
- Public Member Functions inherited from TYElement
void * getAllUses ()
 
void setAllUses (void *allUses)
 
void cleanAllUses ()
 
 TYElement ()
 
 TYElement (TYElement *pParent, bool PutInInstanceList=true)
 
 TYElement (const TYElement &other, bool PutInInstanceList=true)
 
virtual ~TYElement ()
 
void setID (TYUUID id)
 
void setID (const QString &str_id)
 
const TYUUIDgetID () const
 
QString getStringID () const
 
bool hasNullID () const
 
void regenerateID ()
 
void setName (QString name)
 
void setName (std::string name)
 
virtual QString getName () const
 
void setParent (TYElement *pParent)
 
TYElementgetParent () const
 
bool getIsAcousticModified ()
 
virtual void setIsGeometryModified (bool isModified)
 
bool getIsGeometryModified ()
 
TYElementoperator= (const TYElement &other)
 
bool operator== (const TYElement &other) const
 
bool operator!= (const TYElement &other) const
 
bool callFromXMLIfEqual (DOM_Element &domElement, int *pRetVal=NULL)
 
std::string getMetierName ()
 
virtual void updateCurrentCalcul (TYListID &listID, bool recursif=true)
 
virtual void getChilds (LPTYElementArray &childs, bool recursif=true)
 
virtual void setInCurrentCalcul (bool state, bool recurschild=true, bool recursparent=true)
 
virtual bool isInCurrentCalcul ()
 
void addCopy ()
 Increment le compteur de nombre de copies. More...
 
void setCopyCount (const unsigned int copyCount)
 Modifie la vaeur du compteur. More...
 
- Public Member Functions inherited from IRefCount
 IRefCount ()
 
virtual ~IRefCount ()
 
virtual int incRef ()
 
virtual int decRef ()
 
int getRefCount () const
 
- Public Member Functions inherited from OPrototype
virtual ~OPrototype ()
 
virtual OPrototypeclone () const =0
 
virtual const char * getClassName () const
 
bool isA (const char *className) const
 
- Public Member Functions inherited from TYColorInterface
virtual void updateColor ()
 
 TYColorInterface ()
 
 TYColorInterface (const TYColorInterface &other)
 
virtual ~TYColorInterface ()
 
TYColorInterfaceoperator= (const TYColorInterface &other)
 
bool operator== (const TYColorInterface &other) const
 
bool operator!= (const TYColorInterface &other) const
 
void deepCopy (const TYColorInterface *pOther, bool copyId=true, bool pUseCopyTag=false)
 
DOM_Element toXML (DOM_Element &domElement)
 
int fromXML (DOM_Element domElement)
 
virtual void setColor (const OColor &color)
 
OColor getColor () const
 
- Public Member Functions inherited from TYAcousticInterface
virtual int getNextRegimeNb ()
 
virtual const int getNextRegimeNb () const
 
virtual void setNextRegimeNb (const int &next)
 
virtual QString getRegimeName ()
 
virtual const QString getRegimeName () const
 
virtual void setRegimeName (const QString &name)
 
 TYAcousticInterface ()
 
 TYAcousticInterface (const TYAcousticInterface &other)
 
virtual ~TYAcousticInterface ()
 
TYAcousticInterfaceoperator= (const TYAcousticInterface &other)
 
bool operator== (const TYAcousticInterface &other) const
 
bool operator!= (const TYAcousticInterface &other) const
 
void deepCopy (const TYAcousticInterface *pOther, bool copyId=true, bool pUseCopyTag=false)
 
DOM_Element toXML (DOM_Element &domElement)
 
int fromXML (DOM_Element domElement)
 
double getDensiteSrcsH () const
 
double getDensiteSrcsV () const
 
double getDensiteSrcs () const
 
virtual void setDensiteSrcs (double densite, bool recursif=true)
 
bool getIsRayonnant ()
 
int getTypeDistribution () const
 
void setTypeDistribution (int typeDistri)
 
bool getUseAtt () const
 
virtual void setUseAtt (bool state)
 
LPTYAttenuateur getAtt ()
 
const LPTYAttenuateur getAtt () const
 
void setAtt (LPTYAttenuateur pAtt)
 
TYSpectregetCurrentSpectre ()
 
virtual void setRegime (TYSpectre &Spectre, int regime=-1, bool recursif=false)
 
virtual int addRegime (const TYRegime &regime)
 
virtual int addRegime ()
 
virtual bool remRegime (int regime)
 
virtual void loadRegime (int regimeNb=-1)
 
size_t getNbRegimes () const
 
void setNbRegimes (unsigned int nb)
 
TYRegimegetRegimeNb (const int &nb, bool &status)
 
const TYRegimegetRegimeNb (const int &nb, bool &status) const
 
int getCurRegime () const
 
virtual TYRegime buildRegime ()
 
virtual void updateCurrentRegime ()
 
bool getIsRegimeChangeAble ()
 
- Public Member Functions inherited from TYSurfaceInterface
 TYSurfaceInterface ()
 
virtual ~TYSurfaceInterface ()
 
virtual int intersectsPlan (const OPlan &plan, OSegment3D &seg) const
 

Protected Attributes

LPTYPolygon _pPolygon
 Le polygone definissant la geometrie de cet acoustic polygon. More...
 
- Protected Attributes inherited from TYAcousticSurface
LPTYSourceSurfacic _pSrcSurf
 Source surfacique. More...
 
LPTYRectangle _pBoundingRect
 Rectangle englobant. More...
 
bool _isSub
 Indicateur qui precise si la surface est un sous-element d'une face (fenetre ou bouche d'aeration). More...
 
- Protected Attributes inherited from TYElement
QString _name
 Nom courant de l'element. More...
 
TYElement_pParent
 Reference sur l'element parent. More...
 
bool _bPutInInstanceList
 
unsigned int _copyCount
 
bool _inCurrentCalcul
 Indique si cet element est actif dans le Calcul courant. More...
 
bool _isAcousticModified
 Indicateur de modification acoustique. More...
 
bool _isGeometryModified
 Indicateur de modification de la geometrie. More...
 
LPTYElementGraphic _pGraphicObject
 L'object graphique metier associe a cet element. More...
 
void * _allUses
 Multi purpose void pointer (use for compatibility actually) More...
 
- Protected Attributes inherited from IRefCount
int m_refCount
 The reference counter. More...
 
- Protected Attributes inherited from TYColorInterface
OColor _color
 
- Protected Attributes inherited from TYAcousticInterface
double _densiteSrcsH
 Densite horizontale de sources. More...
 
double _densiteSrcsV
 Densite verticale de sources. More...
 
double _offsetSources
 Offset de decalage des sources ponctuelles sur les surfaces. More...
 
bool _isRayonnant
 Etat courant de l'element (rayonnant ou non rayonnant) More...
 
bool _regimeChangeAble
 Indique si un element peux changer de regime de lui meme. More...
 
int _typeDistribution
 Indique le type de distribution a utiliser. pour l'etat courant. More...
 
int _curRegime
 Numero du regime de fonctionnement courant. More...
 
int _nextRegime
 Numero d'ordre du regime suivant. More...
 
TYSpectre _pCurrentSpectre
 
bool _useAtt
 Indique l'utilisation d'un attenuateur pour l'etat courant. More...
 
LPTYAttenuateur _pAtt
 Attenuateur de l'etat courant. More...
 
TYTabRegimes _tabRegimes
 Tableau des regimes de fonctionnement. More...
 

Additional Inherited Members

- Public Types inherited from TYAcousticInterface
enum  TypeDistribution { TY_PUISSANCE_CALCULEE, TY_PUISSANCE_IMPOSEE }
 
- Static Public Member Functions inherited from TYElement
static LPTYElementArray findTypeCollectionAndCallFromXML (DOM_Element parentElem, const char *type)
 
static void setLogInstances (bool log)
 
static bool getLogInstances ()
 
static TYElementgetInstance (TYUUID uuid)
 
static void purgeInstances ()
 
static bool testId (const TYUUID &id, const TYElement *pElem)
 
static TYUUID newID ()
 
static TYUUID fromString (QString id)
 
static QString toString (TYUUID &uuid)
 
static uint64 getConstructorCount ()
 
static uint64 getDestructorCount ()
 
static uint64 getIdGenerationCount ()
 
static bool getIsSavedOk ()
 
static void setIsSavedOk (const bool &toSave)
 
static void setRegenerateID (const bool &bRegenerate)
 
static bool getRegenerateID ()
 
- Static Public Member Functions inherited from OPrototype
static OPrototypefindAndClone (const char *className)
 
static int findPrototype (const char *className)
 
static OPrototypesafeDownCast (OPrototype *pObject)
 
static void add_factory (const char *, IOProtoFactory::ptr_type factory)
 
- Protected Member Functions inherited from OPrototype
 OPrototype ()
 

Detailed Description

Classe de definition d'un polygon acoustique. La partie geometrie est deleguee a un TYPolygon membre.

Definition at line 32 of file TYAcousticPolygon.h.

Constructor & Destructor Documentation

◆ TYAcousticPolygon() [1/2]

TYAcousticPolygon::TYAcousticPolygon ( )

Constructeur par defaut.

Definition at line 27 of file TYAcousticPolygon.cpp.

Here is the call graph for this function:

◆ TYAcousticPolygon() [2/2]

TYAcousticPolygon::TYAcousticPolygon ( const TYAcousticPolygon other)

Constructeur par copie.

Definition at line 35 of file TYAcousticPolygon.cpp.

◆ ~TYAcousticPolygon()

TYAcousticPolygon::~TYAcousticPolygon ( )
virtual

Destructeur.

Definition at line 40 of file TYAcousticPolygon.cpp.

Member Function Documentation

◆ deepCopy()

bool TYAcousticPolygon::deepCopy ( const TYElement pOther,
bool  copyId = true,
bool  pUseCopyTag = false 
)
virtual

Effectue une copie en allouant de la memoire (deep copy) et non pas en copiant seulement les pointeurs (shallow copy). Cette methode s'utilise comme l'operateur egal. L'ID peut ne pas etre copie, le parent n'est jamais copie.

Parameters
pOtherL'element a copier.
copyIdCopie l'identifiant unique ou pas.
Returns
true si la copie est possible; false sinon.

Reimplemented from TYAcousticSurface.

Reimplemented in TYDalle.

Definition at line 69 of file TYAcousticPolygon.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ distriSrcs()

void TYAcousticPolygon::distriSrcs ( )
virtual

Calcul la repartition des sources ponctuelles pour cet element en fonction des densites etablies.

Reimplemented from TYAcousticSurface.

Definition at line 121 of file TYAcousticPolygon.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ exportMesh()

virtual void TYAcousticPolygon::exportMesh ( std::deque< OPoint3D > &  points,
std::deque< OTriangle > &  triangles,
const TYGeometryNode geonode 
) const
inlinevirtual

Exports the surface as a triangular mesh inglobal reference frame.

NB : This function expect empty deques and will clear the deque passed.

This method is semantically PURE virtual and should actually be, but the OPROTO system does not permit that. This is a dirty workaround.

Parameters
pointsoutput argument filled with the vertices of the triangulation
trianglesoutput argument filled with the faces of the triangulation

Reimplemented from TYSurfaceInterface.

Definition at line 94 of file TYAcousticPolygon.h.

Here is the call graph for this function:

◆ fromXML()

int TYAcousticPolygon::fromXML ( DOM_Element  domElement)
virtual

Extrait les informations a partir du noeud DOM passe afin de recuperer les parametres de la classe.

Parameters
domElementLe noeud DOM a partir duquel les parametres doivent etre recuperes.
Returns
1 si la recuperation des parametres a reussie.

Reimplemented from TYAcousticSurface.

Reimplemented in TYDalle.

Definition at line 94 of file TYAcousticPolygon.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getContour()

TYTabPoint TYAcousticPolygon::getContour ( int  n = -1) const
virtual

Retourne un tableau de points correspondant au contour de cette surface.

Parameters
nLe nombre de portion pour le decoupage. Si n=-1, n sera calcule a partir de la precision de distance definie par defaut. Pour certaine surface, le nombre de portion demande ne sera pas forcement le nombre de points obtenus.
Returns
Un tableau de points representant le contour de cette surface.

Reimplemented from TYAcousticSurface.

Definition at line 250 of file TYAcousticPolygon.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getOContour()

TYTabPoint3D TYAcousticPolygon::getOContour ( int  n = -1) const
virtual

Reimplemented from TYAcousticSurface.

Definition at line 255 of file TYAcousticPolygon.cpp.

Here is the call graph for this function:

◆ getPolygon() [1/2]

virtual LPTYPolygon TYAcousticPolygon::getPolygon ( )
inlinevirtual

Set/Get du polygon.

Definition at line 84 of file TYAcousticPolygon.h.

Here is the caller graph for this function:

◆ getPolygon() [2/2]

const LPTYPolygon TYAcousticPolygon::getPolygon ( ) const
inline

Set/Get du polygon.

Definition at line 88 of file TYAcousticPolygon.h.

◆ getSrcs()

TYTabSourcePonctuelleGeoNode TYAcousticPolygon::getSrcs ( ) const
virtual

Retourne l'ensemble des sources ponctuelles dont est compose cet objet. Chaque source se trouve dans un GeoNode, ainsi la matrice de celui-ci permet d'effectuer le changement de repere de la position de la source dans le repere local a cet objet.

Returns
Une collection de pointeurs sur des GeoNodes de sources ponctuelles.

Reimplemented from TYAcousticSurface.

Definition at line 111 of file TYAcousticPolygon.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ intersects() [1/3]

int TYAcousticPolygon::intersects ( const TYSurfaceInterface pSurf,
OSegment3D seg 
) const
virtual

Calcule le segment d'intersection avec une autre surface.

Parameters
pSurfLa surface dont on cherche l'intersection.
segLe segment resultant de l'intersection.
Returns
INTERS_OUI (1) si l'intersection existe, INTERS_CONFONDU (2) si les elements sont confondus, INTERS_NULLE (0) s'il n'y a pas d'intersection.

Reimplemented from TYAcousticSurface.

Definition at line 260 of file TYAcousticPolygon.cpp.

Here is the call graph for this function:

◆ intersects() [2/3]

int TYAcousticPolygon::intersects ( const OSegment3D seg,
OPoint3D pt 
) const
virtual

Calcule le point d'intersection avec un segment.

Parameters
segLe segment dont on cherche l'intersection.
ptLe point resultant de l'intersection.
Returns
INTERS_OUI (1) si l'intersection existe, INTERS_CONFONDU (2) si les elements sont confondus, INTERS_NULLE (0) s'il n'y a pas d'intersection.

Reimplemented from TYAcousticSurface.

Definition at line 265 of file TYAcousticPolygon.cpp.

Here is the call graph for this function:

◆ intersects() [3/3]

int TYAcousticPolygon::intersects ( const OPoint3D pt) const
virtual

Test si le point se trouve a l'interieur de la surface, sur le meme plan.

Parameters
ptLe point pour lequel on effectue le test.
Returns
INTERS_OUI (1) si le point est a l'interieur de la surface, INTERS_NULLE (0) si le point est a l'exterieur de la surface.

Reimplemented from TYAcousticSurface.

Definition at line 270 of file TYAcousticPolygon.cpp.

Here is the call graph for this function:

◆ inverseNormale()

virtual void TYAcousticPolygon::inverseNormale ( )
inlinevirtual

Inverse la normale a la surface

Reimplemented from TYSurfaceInterface.

Definition at line 90 of file TYAcousticPolygon.h.

Here is the call graph for this function:

◆ normal()

OVector3D TYAcousticPolygon::normal ( ) const
virtual

Calcule la normale a cette surface.

Reimplemented from TYAcousticSurface.

Definition at line 240 of file TYAcousticPolygon.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator!=()

bool TYAcousticPolygon::operator!= ( const TYAcousticPolygon other) const

Operateur !=.

Definition at line 64 of file TYAcousticPolygon.cpp.

Here is the call graph for this function:

◆ operator=()

TYAcousticPolygon & TYAcousticPolygon::operator= ( const TYAcousticPolygon other)

Operateur =.

Definition at line 44 of file TYAcousticPolygon.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator==()

bool TYAcousticPolygon::operator== ( const TYAcousticPolygon other) const

Operateur ==.

Definition at line 54 of file TYAcousticPolygon.cpp.

Here is the caller graph for this function:

◆ plan()

OPlan TYAcousticPolygon::plan ( ) const
virtual

Calcule le plan dans lequel cette surface est inscrit.

Reimplemented from TYAcousticSurface.

Definition at line 245 of file TYAcousticPolygon.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setSrcsLw()

bool TYAcousticPolygon::setSrcsLw ( )
virtual

Assigne une puissance a chaque source ponctuelle en fonction de la puissance acoutique globale de cet objet.

Returns
true si le calcul a ete possible; false sinon.

Reimplemented from TYAcousticSurface.

Definition at line 229 of file TYAcousticPolygon.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ srcPonctEquiv()

TYSourcePonctuelle TYAcousticPolygon::srcPonctEquiv ( ) const
virtual

Retourne une source ponctuelle equivalente a l'ensemble des sources. Cette methode est experimentale.

Returns
La source ponctuelle equivalente.

Reimplemented from TYAcousticSurface.

Definition at line 116 of file TYAcousticPolygon.cpp.

◆ surface()

double TYAcousticPolygon::surface ( ) const
virtual

Calcule l'aire de la surface totale.

Reimplemented from TYAcousticSurface.

Definition at line 235 of file TYAcousticPolygon.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ toString()

std::string TYAcousticPolygon::toString ( ) const
virtual

Retourne une chaine de caractere donnant des informations sur cet objet (utile pour le debugage).

Returns
Une chaine de caractere informative sur cet objet.

Reimplemented from TYAcousticSurface.

Reimplemented in TYDalle.

Definition at line 80 of file TYAcousticPolygon.cpp.

◆ toXML()

DOM_Element TYAcousticPolygon::toXML ( DOM_Element domElement)
virtual

Construit une arborescence DOM a partir du noeud passe afin de sauvegarder les parametres au format XML.

Parameters
domElementLe noeud DOM parent a partir duquel l'arborescence doit etre creee.
Returns
Le noeud DOM nouvellement cree.

Reimplemented from TYAcousticSurface.

Reimplemented in TYDalle.

Definition at line 85 of file TYAcousticPolygon.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ _pPolygon

LPTYPolygon TYAcousticPolygon::_pPolygon
protected

Le polygone definissant la geometrie de cet acoustic polygon.

Definition at line 103 of file TYAcousticPolygon.h.


The documentation for this class was generated from the following files: