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

#include <TYAcousticCircle.h>

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

Public Member Functions

 TYAcousticCircle ()
 
 TYAcousticCircle (const TYAcousticCircle &other)
 
virtual ~TYAcousticCircle ()
 
TYAcousticCircleoperator= (const TYAcousticCircle &other)
 Operateur =. More...
 
bool operator== (const TYAcousticCircle &other) const
 Operateur ==. More...
 
bool operator!= (const TYAcousticCircle &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
 
TYPoint getCenter () const
 
double getDiameter () const
 
void setDiameter (double diameter)
 
TYRectanglegetShape ()
 
virtual void exportMesh (std::deque< OPoint3D > &points, std::deque< OTriangle > &triangles, const TYGeometryNode &geonode) const
 Export the surface as a triangular mesh. 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
 
virtual void inverseNormale ()
 

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 ()
 
- 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...
 

Detailed Description

Permet de creer des surfaces acoustiques circulaires.

Definition at line 33 of file TYAcousticCircle.h.

Constructor & Destructor Documentation

◆ TYAcousticCircle() [1/2]

TYAcousticCircle::TYAcousticCircle ( )

Constructeur.

Definition at line 31 of file TYAcousticCircle.cpp.

Here is the call graph for this function:

◆ TYAcousticCircle() [2/2]

TYAcousticCircle::TYAcousticCircle ( const TYAcousticCircle other)

Constructeur par copie.

Definition at line 57 of file TYAcousticCircle.cpp.

◆ ~TYAcousticCircle()

TYAcousticCircle::~TYAcousticCircle ( )
virtual

Destructeur.

Definition at line 62 of file TYAcousticCircle.cpp.

Member Function Documentation

◆ deepCopy()

bool TYAcousticCircle::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.

Definition at line 89 of file TYAcousticCircle.cpp.

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

◆ distriSrcs()

void TYAcousticCircle::distriSrcs ( )
virtual

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

Reimplemented from TYAcousticSurface.

Definition at line 120 of file TYAcousticCircle.cpp.

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

◆ exportMesh()

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

Export the surface as a triangular mesh.

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

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 428 of file TYAcousticCircle.cpp.

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

◆ fromXML()

int TYAcousticCircle::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.

Definition at line 105 of file TYAcousticCircle.cpp.

Here is the call graph for this function:

◆ getCenter()

TYPoint TYAcousticCircle::getCenter ( ) const

Calcul le centre de ce cercle.

Returns
Le centre de ce cercle.

Definition at line 384 of file TYAcousticCircle.cpp.

Here is the caller graph for this function:

◆ getContour()

TYTabPoint TYAcousticCircle::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 233 of file TYAcousticCircle.cpp.

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

◆ getDiameter()

double TYAcousticCircle::getDiameter ( ) const

Calcul le diametre de ce cercle.

Returns
Le diametre de ce cercle.

Definition at line 392 of file TYAcousticCircle.cpp.

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

◆ getOContour()

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

Reimplemented from TYAcousticSurface.

Definition at line 290 of file TYAcousticCircle.cpp.

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

◆ getShape()

TYRectangle* TYAcousticCircle::getShape ( )
inline

Set/Get du rectangle contenant le cercle.

Definition at line 106 of file TYAcousticCircle.h.

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

◆ getSrcs()

TYTabSourcePonctuelleGeoNode TYAcousticCircle::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 110 of file TYAcousticCircle.cpp.

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

◆ intersects() [1/3]

int TYAcousticCircle::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 348 of file TYAcousticCircle.cpp.

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

◆ intersects() [2/3]

int TYAcousticCircle::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 353 of file TYAcousticCircle.cpp.

Here is the call graph for this function:

◆ intersects() [3/3]

int TYAcousticCircle::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 367 of file TYAcousticCircle.cpp.

Here is the call graph for this function:

◆ normal()

OVector3D TYAcousticCircle::normal ( ) const
virtual

Calcule la normale a cette surface.

Reimplemented from TYAcousticSurface.

Definition at line 223 of file TYAcousticCircle.cpp.

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

◆ operator!=()

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

Operateur !=.

Definition at line 84 of file TYAcousticCircle.cpp.

Here is the call graph for this function:

◆ operator=()

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

Operateur =.

Definition at line 66 of file TYAcousticCircle.cpp.

Here is the call graph for this function:

◆ operator==()

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

Operateur ==.

Definition at line 75 of file TYAcousticCircle.cpp.

Here is the caller graph for this function:

◆ plan()

OPlan TYAcousticCircle::plan ( ) const
virtual

Calcule le plan dans lequel cette surface est inscrit.

Reimplemented from TYAcousticSurface.

Definition at line 228 of file TYAcousticCircle.cpp.

Here is the call graph for this function:

◆ setDiameter()

void TYAcousticCircle::setDiameter ( double  diameter)

Set le diametre de ce cercle.

Parameters
diameterLe diametre de ce cercle.

Definition at line 397 of file TYAcousticCircle.cpp.

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

◆ setSrcsLw()

bool TYAcousticCircle::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 210 of file TYAcousticCircle.cpp.

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

◆ srcPonctEquiv()

TYSourcePonctuelle TYAcousticCircle::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 115 of file TYAcousticCircle.cpp.

◆ surface()

double TYAcousticCircle::surface ( ) const
virtual

Calcule l'aire de la surface totale.

Reimplemented from TYAcousticSurface.

Definition at line 216 of file TYAcousticCircle.cpp.

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

◆ toString()

std::string TYAcousticCircle::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.

Definition at line 94 of file TYAcousticCircle.cpp.

◆ toXML()

DOM_Element TYAcousticCircle::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.

Definition at line 99 of file TYAcousticCircle.cpp.

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

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