Code_TYMPAN
4.2.0
Industrial site acoustic simulation
|
Classe de definition d'un maillage. More...
#include <TYMaillage.h>
Public Types | |
enum | MaillageDataType { ValGlobalDBA, ValGlobalDBLin, DataFreq } |
Les differents type pour les donnees a representer. More... | |
enum | MaillageState { Actif, Inactif } |
Etat du Maillage : Actif / Bloque. More... | |
Public Member Functions | |
TYMaillage () | |
Constructeur. Constructeur de la classe TYMaillage. More... | |
TYMaillage (const TYMaillage &other) | |
Constructeur par copie. Constructeur par copie de la classe TYMaillage. More... | |
virtual | ~TYMaillage () |
Destructeur Destructeur de la classe TYMaillage. More... | |
TYMaillage & | operator= (const TYMaillage &other) |
Operateur =. More... | |
bool | operator== (const TYMaillage &other) const |
Operateur ==. More... | |
bool | operator!= (const TYMaillage &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) |
void | exportCSV (const std::string &fileName) |
export mesh to csv file More... | |
virtual void | clearResult () |
virtual void | updateFromCalcul (LPTYCalcul pCalcul) |
get datas from calcul void updateFromCalcul(LPTYCalcul pCalcul) More... | |
TYTabLPPointCalcul & | getPtsCalcul () |
Set/Get de la liste des points de calcul. More... | |
const TYTabLPPointCalcul & | getPtsCalcul () const |
void | setPtsCalcul (const TYTabLPPointCalcul &list) |
bool | addPointCalcul (LPTYPointCalcul pPtCalcul) |
Ajoute un nouveau point de calcul. More... | |
bool | remPointCalcul (const LPTYPointCalcul pPtCalcul) |
Supprime une entree a la liste des points de calculs. More... | |
bool | remPointCalcul (QString idPtCalcul) |
Supprime une entree a la liste des points de calculs a partir de son identifiant. More... | |
void | remAllPointCalcul () |
Suppression de tous les elements. More... | |
void | setHauteur (double hauteur) |
Set/Get de la hauteur de ce maillage par rapport au sol (a l'altimetrie en fait). More... | |
double | getHauteur () const |
void | setComputeAlti (bool state) |
Set/Get de l'indicateur de calcul de l'altitude des points de ce maillage. More... | |
bool | getComputeAlti () const |
void | setDataType (int type) |
Set/Get de l'indicateur de type des donnees a representer. More... | |
int | getDataType () |
void | setDataFreq (float freq) |
Set/Get de la frequence des donnees a representer lorsque _dataType vaut DataFreq. More... | |
float | getDataFreq () |
void | setPalette (LPTYPalette pPalette) |
Set/Get de la palette. More... | |
LPTYPalette | getPalette () |
void | setPanel (LPTYPanel pPanel) |
Set du panel. More... | |
LPTYPanel | getPanel () |
Get du panel. More... | |
void | make (const TYTabPoint &points) |
Rempli la structure de points de calcul a partir d'un tableau de points classiques. More... | |
void | computeMesh (std::vector< MTriangle > &mesh) const |
Compute the mesh. More... | |
MTriangle | computeTriangle (TYPointCalcul &pt1, TYPointCalcul &pt2, TYPointCalcul &pt3) const |
Compute the triangle. More... | |
double | getSpectrumValue (TYPointCalcul &pt) const |
Get the spectrum value of a calcul point. More... | |
void | computeIsoCurve (std::vector< MTriangle > &mesh, std::vector< MPoint > &isoCurve) const |
Compute the isocurve. More... | |
bool | computeIsoPoint (const OHPlane3D &plane, const MPoint &pt1, const MPoint &pt2, MPoint &mp) const |
Compute an isopoint by interpolating the value if the segment intersects the plane. More... | |
virtual int | getIndexPtCalcul (int x, int y) const |
Return the index (should be pure virtual) More... | |
virtual void | getDimensions (int &x, int &y) const |
Return the dimensions in x and y (should be pure virtual) More... | |
virtual void | setEtat (const TYUUID &id_calc, bool etat) |
virtual bool | etat () |
virtual bool | etat (const TYUUID &id_calc) |
virtual bool | etat (const TYCalcul *pCalc) |
void | copyEtats (TYMaillage *pOther) |
Copie du map calcul-etat. More... | |
void | duplicateEtat (const TYUUID &idCalculRef, const TYUUID &idCalculNew) |
Duplique l'etat defini pour un calcul pour un autre calcul. More... | |
bool | remEtat (TYCalcul *pCalcul) |
Remove calcul from "etat" map. 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 TYUUID & | getID () 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) |
TYElement * | getParent () const |
virtual void | setIsAcousticModified (bool isModified) |
bool | getIsAcousticModified () |
virtual void | setIsGeometryModified (bool isModified) |
bool | getIsGeometryModified () |
TYElement & | operator= (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 OPrototype * | clone () const =0 |
virtual const char * | getClassName () const |
bool | isA (const char *className) const |
Static Public Member Functions | |
static bool | checkSimilar (const TYMaillage *const pMaillage1, const TYMaillage *const pMaillage2) |
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 TYElement * | getInstance (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 OPrototype * | findAndClone (const char *className) |
static int | findPrototype (const char *className) |
static OPrototype * | safeDownCast (OPrototype *pObject) |
static void | add_factory (const char *, IOProtoFactory::ptr_type factory) |
Protected Attributes | |
TYTabLPPointCalcul | _ptsCalcul |
Liste des points de calcul. More... | |
TYMapIdBool | _tabEtats |
L'etat du maillage pour un calcul donne. More... | |
double | _hauteur |
La hauteur par rapport au sol (a l'altimetrie en fait) a laquelle se trouve ce maillage. More... | |
bool | _computeAlti |
Indique si l'altitude des points constituant ce maillage doit etre calculee. More... | |
int | _dataType |
Indique le type des donnees a representer. More... | |
float | _dataFreq |
La frequence des donnees a representer lorsque _dataType vaut DataFreq. More... | |
LPTYPalette | _pPalette |
Palette. More... | |
LPTYPanel | _pPanel |
Panel. 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... | |
Additional Inherited Members | |
Protected Member Functions inherited from OPrototype | |
OPrototype () | |
Classe de definition d'un maillage.
Definition at line 51 of file TYMaillage.h.
enum enum TYMaillage::MaillageDataType |
Les differents type pour les donnees a representer.
ValGlobalDBA | La valeur globale du spectre en dBA. ValGlobalDBLin La valeur globale du spectre en dBLin. DataFreq Les donnees d'une frequence particuliere du spectre, cf. _valueFreq. |
Enumerator | |
---|---|
ValGlobalDBA | |
ValGlobalDBLin | |
DataFreq |
Definition at line 242 of file TYMaillage.h.
enum enum TYMaillage::MaillageState |
Etat du Maillage : Actif / Bloque.
Actif | Parametres modifiables Inactif Parametres non modifiables |
Enumerator | |
---|---|
Actif | |
Inactif |
Definition at line 255 of file TYMaillage.h.
TYMaillage::TYMaillage | ( | ) |
Constructeur. Constructeur de la classe TYMaillage.
Definition at line 35 of file TYMaillage.cpp.
TYMaillage::TYMaillage | ( | const TYMaillage & | other | ) |
Constructeur par copie. Constructeur par copie de la classe TYMaillage.
Definition at line 66 of file TYMaillage.cpp.
|
virtual |
Destructeur Destructeur de la classe TYMaillage.
Definition at line 71 of file TYMaillage.cpp.
bool TYMaillage::addPointCalcul | ( | LPTYPointCalcul | pPtCalcul | ) |
Ajoute un nouveau point de calcul.
pPtCalcul | Le point a ajouter. |
Definition at line 306 of file TYMaillage.cpp.
|
static |
|
virtual |
Suppression du resultat de calcul
Reimplemented in TYRectangularMaillage, TYBoundaryNoiseMap, and TYLinearMaillage.
Definition at line 298 of file TYMaillage.cpp.
void TYMaillage::computeIsoCurve | ( | std::vector< MTriangle > & | mesh, |
std::vector< MPoint > & | isoCurve | ||
) | const |
Compute the isocurve.
The function does several plane-triangle intersection in order to compute the new position of the isopoints. Before the test, the third coordinate of the points of the mesh are replaced by their spectrum value. For each new plane (on each step we gradually increase its height), every triangles of the mesh are tested.
mesh | The mesh (the spectrum value of the mesh will be clamped between [0,1]) |
isoCurve | The isocurve |
Definition at line 527 of file TYMaillage.cpp.
bool TYMaillage::computeIsoPoint | ( | const OHPlane3D & | plane, |
const MPoint & | pt1, | ||
const MPoint & | pt2, | ||
MPoint & | mp | ||
) | const |
Compute an isopoint by interpolating the value if the segment intersects the plane.
An intersection test is performed between the plane and the segment. If there's an intersection, the position of the isopoint is computed.
plane | The plane |
pt1 | The point 1 of the segment |
pt2 | The point 2 of the segment |
mp | The isoPoint to update |
Definition at line 584 of file TYMaillage.cpp.
void TYMaillage::computeMesh | ( | std::vector< MTriangle > & | mesh | ) | const |
Compute the mesh.
It simply loops over the calcul points and trianglulate them. The points are ordered regularly (at least from a topology point of view). The array of calcul points might be sparse, in that case we only create a triangle if it's possible (i.e. tha 3 points are defined)
mesh | The mesh |
Definition at line 420 of file TYMaillage.cpp.
MTriangle TYMaillage::computeTriangle | ( | TYPointCalcul & | pt1, |
TYPointCalcul & | pt2, | ||
TYPointCalcul & | pt3 | ||
) | const |
Compute the triangle.
pt1 | The point 1 |
pt2 | The point 2 |
pt3 | The point 3 |
Definition at line 493 of file TYMaillage.cpp.
void TYMaillage::copyEtats | ( | TYMaillage * | pOther | ) |
Copie du map calcul-etat.
Definition at line 637 of file TYMaillage.cpp.
|
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.
pOther | L'element a copier. |
copyId | Copie l'identifiant unique ou pas. |
true
si la copie est possible; false
sinon. Reimplemented from TYElement.
Reimplemented in TYRectangularMaillage, TYLinearMaillage, and TYBoundaryNoiseMap.
Definition at line 111 of file TYMaillage.cpp.
Duplique l'etat defini pour un calcul pour un autre calcul.
idCalculRef | : Identifiant unique du calcul referent |
idCalculNew | : Identifiant unique du calcul a recopier |
Definition at line 648 of file TYMaillage.cpp.
|
virtual |
Definition at line 608 of file TYMaillage.cpp.
|
virtual |
Definition at line 615 of file TYMaillage.cpp.
|
virtual |
void TYMaillage::exportCSV | ( | const std::string & | fileName | ) |
export mesh to csv file
Definition at line 239 of file TYMaillage.cpp.
|
virtual |
Extrait les informations a partir du noeud DOM passe afin de recuperer les parametres de la classe.
domElement | Le noeud DOM a partir duquel les parametres doivent etre recuperes. |
Reimplemented from TYElement.
Reimplemented in TYRectangularMaillage, TYLinearMaillage, and TYBoundaryNoiseMap.
Definition at line 166 of file TYMaillage.cpp.
|
inline |
Set/Get de l'indicateur de calcul de l'altitude des points de ce maillage
Definition at line 181 of file TYMaillage.h.
|
inline |
Set/Get de la frequence des donnees a representer lorsque _dataType vaut DataFreq.
Definition at line 205 of file TYMaillage.h.
|
inline |
Set/Get de l'indicateur de type des donnees a representer.
Definition at line 193 of file TYMaillage.h.
|
inlinevirtual |
Return the dimensions in x and y (should be pure virtual)
x | Dimension x |
y | Dimension y |
Reimplemented in TYBoundaryNoiseMap, and TYRectangularMaillage.
Definition at line 330 of file TYMaillage.h.
|
inline |
Set/Get de la hauteur de ce maillage par rapport au sol (a l'altimetrie en fait).
Definition at line 167 of file TYMaillage.h.
|
inlinevirtual |
Return the index (should be pure virtual)
x | Row value |
y | Column value |
Reimplemented in TYBoundaryNoiseMap, and TYRectangularMaillage.
Definition at line 323 of file TYMaillage.h.
|
inline |
|
inline |
Get du panel.
Definition at line 227 of file TYMaillage.h.
|
inline |
Set/Get de la liste des points de calcul.
Definition at line 116 of file TYMaillage.h.
|
inline |
Set/Get de la liste des points de calcul.
Definition at line 121 of file TYMaillage.h.
double TYMaillage::getSpectrumValue | ( | TYPointCalcul & | pt | ) | const |
Get the spectrum value of a calcul point.
pt | The point |
Definition at line 508 of file TYMaillage.cpp.
void TYMaillage::make | ( | const TYTabPoint & | points | ) |
Rempli la structure de points de calcul a partir d'un tableau de points classiques.
Definition at line 366 of file TYMaillage.cpp.
bool TYMaillage::operator!= | ( | const TYMaillage & | other | ) | const |
Operateur !=.
Definition at line 106 of file TYMaillage.cpp.
TYMaillage & TYMaillage::operator= | ( | const TYMaillage & | other | ) |
Operateur =.
Definition at line 76 of file TYMaillage.cpp.
bool TYMaillage::operator== | ( | const TYMaillage & | other | ) | const |
Operateur ==.
Definition at line 91 of file TYMaillage.cpp.
void TYMaillage::remAllPointCalcul | ( | ) |
Suppression de tous les elements.
Definition at line 360 of file TYMaillage.cpp.
bool TYMaillage::remEtat | ( | TYCalcul * | pCalcul | ) |
Remove calcul from "etat" map.
Definition at line 653 of file TYMaillage.cpp.
bool TYMaillage::remPointCalcul | ( | const LPTYPointCalcul | pPtCalcul | ) |
Supprime une entree a la liste des points de calculs.
pPtCalcul |
Definition at line 319 of file TYMaillage.cpp.
bool TYMaillage::remPointCalcul | ( | QString | idPtCalcul | ) |
Supprime une entree a la liste des points de calculs a partir de son identifiant.
idPtCalcul | identifiant |
Definition at line 340 of file TYMaillage.cpp.
|
inline |
Set/Get de l'indicateur de calcul de l'altitude des points de ce maillage.
bool getComputeAlti()
Definition at line 175 of file TYMaillage.h.
|
inline |
Set/Get de la frequence des donnees a representer lorsque _dataType vaut DataFreq.
float getDataFreq()
Definition at line 201 of file TYMaillage.h.
|
inline |
Set/Get de l'indicateur de type des donnees a representer.
int getDataType()
Definition at line 189 of file TYMaillage.h.
|
virtual |
Set/Get de l'etat de ce maillage.
Definition at line 603 of file TYMaillage.cpp.
|
inline |
Set/Get de la hauteur de ce maillage par rapport au sol (a l'altimetrie en fait).
double getHauteur()
Definition at line 161 of file TYMaillage.h.
|
inline |
Set/Get de la palette.
LPTYPalette getPalette()
Definition at line 213 of file TYMaillage.h.
|
inline |
Set du panel.
Definition at line 220 of file TYMaillage.h.
|
inline |
Set/Get de la liste des points de calcul.
Definition at line 126 of file TYMaillage.h.
|
virtual |
Retourne une chaine de caractere donnant des informations sur cet objet (utile pour le debugage).
Reimplemented from TYElement.
Reimplemented in TYRectangularMaillage, TYLinearMaillage, and TYBoundaryNoiseMap.
Definition at line 135 of file TYMaillage.cpp.
|
virtual |
Construit une arborescence DOM a partir du noeud passe afin de sauvegarder les parametres au format XML.
domElement | Le noeud DOM parent a partir duquel l'arborescence doit etre creee. |
Reimplemented from TYElement.
Reimplemented in TYRectangularMaillage, TYLinearMaillage, and TYBoundaryNoiseMap.
Definition at line 140 of file TYMaillage.cpp.
|
virtual |
get datas from calcul void updateFromCalcul(LPTYCalcul pCalcul)
Definition at line 284 of file TYMaillage.cpp.
|
protected |
Indique si l'altitude des points constituant ce maillage doit etre calculee.
Definition at line 365 of file TYMaillage.h.
|
protected |
La frequence des donnees a representer lorsque _dataType vaut DataFreq.
Definition at line 371 of file TYMaillage.h.
|
protected |
Indique le type des donnees a representer.
Definition at line 368 of file TYMaillage.h.
|
protected |
La hauteur par rapport au sol (a l'altimetrie en fait) a laquelle se trouve ce maillage.
Definition at line 362 of file TYMaillage.h.
|
protected |
Palette.
Definition at line 374 of file TYMaillage.h.
|
protected |
Panel.
Definition at line 377 of file TYMaillage.h.
|
protected |
Liste des points de calcul.
Definition at line 356 of file TYMaillage.h.
|
protected |
L'etat du maillage pour un calcul donne.
Definition at line 359 of file TYMaillage.h.