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

#include <TYAcousticSemiCircle.h>

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

Public Member Functions

 TYAcousticSemiCircle ()
 
 TYAcousticSemiCircle (const TYAcousticSemiCircle &other)
 
virtual ~TYAcousticSemiCircle ()
 
TYAcousticSemiCircleoperator= (const TYAcousticSemiCircle &other)
 Operateur =. More...
 
bool operator== (const TYAcousticSemiCircle &other) const
 Operateur ==. More...
 
bool operator!= (const TYAcousticSemiCircle &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 semi-circulaires. Les points 0 et 1 du rectangle associe correspondent au "diametre de coupe" du demi-cercle.

TOOD This code is mostly a copy-paste of the TYCircle class and needs to be factored.

Definition at line 39 of file TYAcousticSemiCircle.h.

Constructor & Destructor Documentation

◆ TYAcousticSemiCircle() [1/2]

TYAcousticSemiCircle::TYAcousticSemiCircle ( )

Constructeur.

Definition at line 31 of file TYAcousticSemiCircle.cpp.

Here is the call graph for this function:

◆ TYAcousticSemiCircle() [2/2]

TYAcousticSemiCircle::TYAcousticSemiCircle ( const TYAcousticSemiCircle other)

Constructeur par copie.

Definition at line 56 of file TYAcousticSemiCircle.cpp.

◆ ~TYAcousticSemiCircle()

TYAcousticSemiCircle::~TYAcousticSemiCircle ( )
virtual

Destructeur.

Definition at line 61 of file TYAcousticSemiCircle.cpp.

Member Function Documentation

◆ deepCopy()

bool TYAcousticSemiCircle::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 88 of file TYAcousticSemiCircle.cpp.

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

◆ distriSrcs()

void TYAcousticSemiCircle::distriSrcs ( )
virtual

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

Reimplemented from TYAcousticSurface.

Definition at line 119 of file TYAcousticSemiCircle.cpp.

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

◆ exportMesh()

void TYAcousticSemiCircle::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 412 of file TYAcousticSemiCircle.cpp.

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

◆ fromXML()

int TYAcousticSemiCircle::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 104 of file TYAcousticSemiCircle.cpp.

Here is the call graph for this function:

◆ getCenter()

TYPoint TYAcousticSemiCircle::getCenter ( ) const

Calcul le centre de ce demi-cercle (correspondant au centre du cercle complet).

Returns
Le centre de ce demi-cercle.

Definition at line 368 of file TYAcousticSemiCircle.cpp.

Here is the caller graph for this function:

◆ getContour()

TYTabPoint TYAcousticSemiCircle::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 218 of file TYAcousticSemiCircle.cpp.

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

◆ getDiameter()

double TYAcousticSemiCircle::getDiameter ( ) const

Calcul le diametre de ce demi-cercle.

Returns
Le diametre de ce demi-cercle.

Definition at line 376 of file TYAcousticSemiCircle.cpp.

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

◆ getOContour()

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

Reimplemented from TYAcousticSurface.

Definition at line 276 of file TYAcousticSemiCircle.cpp.

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

◆ getShape()

TYRectangle* TYAcousticSemiCircle::getShape ( )
inline

Set/Get du rectangle contenant le cercle.

Definition at line 112 of file TYAcousticSemiCircle.h.

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

◆ getSrcs()

TYTabSourcePonctuelleGeoNode TYAcousticSemiCircle::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 109 of file TYAcousticSemiCircle.cpp.

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

◆ intersects() [1/3]

int TYAcousticSemiCircle::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 332 of file TYAcousticSemiCircle.cpp.

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

◆ intersects() [2/3]

int TYAcousticSemiCircle::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 337 of file TYAcousticSemiCircle.cpp.

Here is the call graph for this function:

◆ intersects() [3/3]

int TYAcousticSemiCircle::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 351 of file TYAcousticSemiCircle.cpp.

Here is the call graph for this function:

◆ normal()

OVector3D TYAcousticSemiCircle::normal ( ) const
virtual

Calcule la normale a cette surface.

Reimplemented from TYAcousticSurface.

Definition at line 208 of file TYAcousticSemiCircle.cpp.

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

◆ operator!=()

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

Operateur !=.

Definition at line 83 of file TYAcousticSemiCircle.cpp.

Here is the call graph for this function:

◆ operator=()

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

Operateur =.

Definition at line 65 of file TYAcousticSemiCircle.cpp.

Here is the call graph for this function:

◆ operator==()

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

Operateur ==.

Definition at line 74 of file TYAcousticSemiCircle.cpp.

Here is the caller graph for this function:

◆ plan()

OPlan TYAcousticSemiCircle::plan ( ) const
virtual

Calcule le plan dans lequel cette surface est inscrit.

Reimplemented from TYAcousticSurface.

Definition at line 213 of file TYAcousticSemiCircle.cpp.

Here is the call graph for this function:

◆ setDiameter()

void TYAcousticSemiCircle::setDiameter ( double  diameter)

Set le diametre de ce demi-cercle.

Parameters
diameterLe diametre de ce demi-cercle.

Definition at line 381 of file TYAcousticSemiCircle.cpp.

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

◆ setSrcsLw()

bool TYAcousticSemiCircle::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 196 of file TYAcousticSemiCircle.cpp.

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

◆ srcPonctEquiv()

TYSourcePonctuelle TYAcousticSemiCircle::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 114 of file TYAcousticSemiCircle.cpp.

◆ surface()

double TYAcousticSemiCircle::surface ( ) const
virtual

Calcule l'aire de la surface totale.

Reimplemented from TYAcousticSurface.

Definition at line 201 of file TYAcousticSemiCircle.cpp.

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

◆ toString()

std::string TYAcousticSemiCircle::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 93 of file TYAcousticSemiCircle.cpp.

◆ toXML()

DOM_Element TYAcousticSemiCircle::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 98 of file TYAcousticSemiCircle.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: