Code_TYMPAN
4.2.0
Industrial site acoustic simulation
|
#include <TYElement.h>
Public Member Functions | |
void * | getAllUses () |
void | setAllUses (void *allUses) |
void | cleanAllUses () |
Construction et Destruction | |
TYElement () | |
TYElement (TYElement *pParent, bool PutInInstanceList=true) | |
TYElement (const TYElement &other, bool PutInInstanceList=true) | |
virtual | ~TYElement () |
Interface XML | |
virtual DOM_Element | toXML (DOM_Element &domElement) |
virtual int | fromXML (DOM_Element domElement) |
Accesseurs | |
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 |
Indicateurs de modification. | |
virtual void | setIsAcousticModified (bool isModified) |
bool | getIsAcousticModified () |
virtual void | setIsGeometryModified (bool isModified) |
bool | getIsGeometryModified () |
Operateurs | |
TYElement & | operator= (const TYElement &other) |
bool | operator== (const TYElement &other) const |
bool | operator!= (const TYElement &other) const |
virtual bool | deepCopy (const TYElement *pOther, bool copyId=true, bool pUseCopyTag=false) |
Methodes Utilitaires | |
virtual std::string | toString () const |
bool | callFromXMLIfEqual (DOM_Element &domElement, int *pRetVal=NULL) |
std::string | getMetierName () |
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 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 | |
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... | |
Private Member Functions | |
void | addInstance () |
void | remInstance () |
Static Private Member Functions | |
static TYElementContainer & | getInstances () |
Private Attributes | |
TYUUID | _uuid |
Identifiant unique de l'element. More... | |
Static Private Attributes | |
static bool | _logInstances = false |
Indique si on souhaite registrer toutes les instances de type TYElement et derivees. More... | |
static TYElementContainer * | _instances = NULL |
Collection de toutes les instances de type TYElement et derivees. More... | |
static bool | _toSave = false |
Indicateur de modification. Passe a true si un TYElement a ete modifie, Indique la necessite de sauvegarder. More... | |
static bool | _bRegenerateID = false |
Indicateur de regeneration d'ID true si regeneration d'ID a la lecture d'un fichier XML. More... | |
static uint64 | ty_created_counter = 0 |
static uint64 | ty_destroyed_counter = 0 |
static uint64 | ty_regen_id_counter = 0 |
Gestion du Calcul courant | |
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... | |
void | OnChildInCalculStatusChange () |
Additional Inherited Members | |
Protected Member Functions inherited from OPrototype | |
OPrototype () | |
Classe de base des composants et elements metiers.
Definition at line 436 of file TYElement.h.
TYElement::TYElement | ( | ) |
TYElement::TYElement | ( | TYElement * | pParent, |
bool | PutInInstanceList = true |
||
) |
Constructeur par defaut. Initialise un nouvel element metier. L'element parent permet de parcourir l'arborescence dans les elements metiers.
PutInInstanceList | : booleen indiquant si le TYElement cree utilisera la fonctionalite TYElement::getInstance(TYUUID uuid) |
Definition at line 130 of file TYElement.cpp.
TYElement::TYElement | ( | const TYElement & | other, |
bool | PutInInstanceList = true |
||
) |
Constructeur par copie.
PutInInstanceList | : booleen indiquant si le TYElement cree utilisera la fonctionalite TYElement::getInstance(TYUUID uuid) |
Definition at line 148 of file TYElement.cpp.
|
virtual |
Destructeur.
Definition at line 159 of file TYElement.cpp.
|
inline |
Increment le compteur de nombre de copies.
Definition at line 531 of file TYElement.h.
|
private |
Ajoute l'instance this au tableau d'enregistrement des instances
Definition at line 245 of file TYElement.cpp.
bool TYElement::callFromXMLIfEqual | ( | DOM_Element & | domElement, |
int * | pRetVal = NULL |
||
) |
Teste si l'element porte le meme nom que celui de la classe (sans le prefixe TY). Si tel est le cas, la methode 'fromXML' est appellee et true
est retourne.
domElement | Le noeud XML a tester. |
pRetVal | Adresse d'un 'int' pour la valeur de retour de 'fromXML'. |
true
si l'element porte le meme nom que la classe. Definition at line 545 of file TYElement.cpp.
|
inline |
|
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 in TYRectangle, TYGeometryNode, TYCalcul, TYDirectivity, TYMaillage, TYPalette, TYTopographie, TYPointCalcul, TYRoute, TYRectangularMaillage, TYAcousticBox, TYLinearMaillage, TYPointControl, TYSpectre, TYBoundaryNoiseMap, TYSourcePonctuelle, TYRepere, TYPoint, TYEtage, TYPanel, TYEcran, TYTrafic, TYAcousticSemiCircle, TYAltimetrie, TYAcousticRectangle, TYAcousticSurfaceNode, TYSegment, TYPlanEau, TYMur, TYRegime, TYUserSourcePonctuelle, TYSiteNode, TYAcousticSurface, TYPolygon, TYDalle, TYCourbeNiveau, TYAttenuateur, TYSourceCheminee, TYAcousticCircle, TYAcousticFaceSet, TYAcousticLine, TYAcousticSemiCylinder, TYAcousticVolume, TYInfrastructure, TYMachine, TYMurElement, TYSourceBafflee, TYAcousticPolygon, TYBox, TYParoi, TYReseauTransport, TYTerrain, TYSource, TYSourceLineic, TYAcousticCylinder, TYAcousticRectangleNode, TYAcousticVolumeNode, TYFaceSet, TYSourceSurfacic, TYVegetation, TYMateriauConstruction, TYUserSrcRegime, and TYSol.
Definition at line 319 of file TYElement.cpp.
|
static |
Recherche un type particuler d'element ou un type derive dans un noeud XML et instancie un element du type trouve. Si des elements sont trouves, leur methode 'fromXML' est appelee.
parentElem | L'element XML parent. |
type | Le nom du type a chercher (ou un type derive). |
Definition at line 568 of file TYElement.cpp.
|
static |
conversion d'une string en identifiant 128 bits.
Definition at line 616 of file TYElement.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 in TYRectangle, TYComputedDirectivity, TYGeometryNode, TYUserDefinedDirectivity, TYCalcul, TYMaillage, TYDirectivity, TYRay, TYPointCalcul, TYResultat, TYProjet, TYPalette, TYTopographie, TYSpectre, TYRoute, TYRectangularMaillage, TYAcousticBox, TYLinearMaillage, TYPointControl, TYBoundaryNoiseMap, TYSourcePonctuelle, TYRepere, TYPoint, TYEtage, TYEcran, TYTrafic, TYAcousticSemiCircle, TYAltimetrie, TYAcousticRectangle, TYAcousticSurfaceNode, TYSegment, TYPlanEau, TYMur, TYRegime, TYUserSourcePonctuelle, TYSiteNode, TYAcousticSurface, TYPolygon, TYDalle, TYCourbeNiveau, TYAttenuateur, TYSourceCheminee, TYAcousticCircle, TYAcousticFaceSet, TYAcousticLine, TYAcousticSemiCylinder, TYAcousticVolume, TYInfrastructure, TYMachine, TYMurElement, TYSourceBafflee, TYAcousticPolygon, TYBox, TYParoi, TYReseauTransport, TYTerrain, TYSource, TYSourceLineic, TYAcousticCylinder, TYAcousticRectangleNode, TYAcousticVolumeNode, TYBatiment, TYFaceSet, TYSourceSurfacic, TYVegetation, TYMateriauConstruction, TYCoursEau, TYUserSrcRegime, TYSol, TYBoucheSurface, and TYChemineeSurface.
Definition at line 387 of file TYElement.cpp.
|
inline |
|
inlinevirtual |
Collecte les enfants de cet element de facon recursive ou non.
Reimplemented in TYGeometryNode, TYAcousticBox, TYEtage, TYEcran, TYAcousticSurfaceNode, TYSiteNode, TYAcousticFaceSet, TYAcousticSemiCylinder, TYInfrastructure, TYAcousticCylinder, and TYAcousticVolumeNode.
Definition at line 517 of file TYElement.h.
|
static |
Renvoie le nombre d'appels aux constructeurs d'objets metiers. (utilise pour faire des tests de performance)
Definition at line 627 of file TYElement.cpp.
|
static |
Renvoie le nombre d'appels aux destructeurs d'objets metiers. (utilise pour faire des tests de performance)
Definition at line 631 of file TYElement.cpp.
const TYUUID & TYElement::getID | ( | ) | const |
Set/Get de l'identifiant de l'element.
Definition at line 197 of file TYElement.cpp.
|
static |
Renvoie le nombre de (re)generation of UUID (utilise pour faire des tests de performance)
Definition at line 636 of file TYElement.cpp.
Recherche une instance particuliere de type TYElement ou derive a partir de son ID.
uuid | L'ID de l'element a rechercher. |
Definition at line 178 of file TYElement.cpp.
|
staticprivate |
|
inline |
Set/Get de l'indicateur de modification acoustique.
Definition at line 672 of file TYElement.h.
|
inline |
Set/Get de l'indicateur de modification de la geometrie.
Definition at line 682 of file TYElement.h.
|
inlinestatic |
Get/Set de l'etat de l'indicateur de sauvegarde
Definition at line 848 of file TYElement.h.
|
inlinestatic |
Retourne l'etat de l'indicateur d'enregistrement des instances de type TYElement ou derive.
Definition at line 785 of file TYElement.h.
std::string TYElement::getMetierName | ( | ) |
Retourne le nom de la donnee metier associee a cette classe. Ce nom est utilise pour le nom des tables en BDD ainsi que pour le nom des noeuds XML.
Definition at line 562 of file TYElement.cpp.
|
inlinevirtual |
Set/Get du nom de l'element.
Definition at line 647 of file TYElement.h.
|
inline |
Set/Get de la reference sur le parent de cet element.
Definition at line 656 of file TYElement.h.
|
inlinestatic |
|
inline |
Get de l'identifiant de l'element sous forme de string.
Definition at line 628 of file TYElement.h.
|
inline |
|
inlinevirtual |
Set/Get de l'indicateur d'appartenance au Calcul courant.
Definition at line 526 of file TYElement.h.
|
static |
Retourne un nouvel identifiant unique.
Definition at line 609 of file TYElement.cpp.
|
private |
Called by children to inform parents that they change their "in calcul" state.
Definition at line 441 of file TYElement.cpp.
bool TYElement::operator!= | ( | const TYElement & | other | ) | const |
Operateur de comparaison.
Definition at line 314 of file TYElement.cpp.
Operateur de copie.
Definition at line 286 of file TYElement.cpp.
bool TYElement::operator== | ( | const TYElement & | other | ) | const |
Operateur de comparaison.
Definition at line 303 of file TYElement.cpp.
|
static |
Vide le tableau de l'enregistrement des instances.
Definition at line 192 of file TYElement.cpp.
void TYElement::regenerateID | ( | ) |
Genere un nouvel Id pour l'element (utilise lors de l'import d'un element dans un projet)
Definition at line 264 of file TYElement.cpp.
|
private |
Supprime une instance au tableau d'enregistrement des instances
Definition at line 255 of file TYElement.cpp.
|
inline |
|
inline |
Modifie la vaeur du compteur.
Definition at line 536 of file TYElement.h.
void TYElement::setID | ( | TYUUID | id | ) |
Set/Get de l'identifiant de l'element.
Definition at line 207 of file TYElement.cpp.
void TYElement::setID | ( | const QString & | str_id | ) |
|
virtual |
Set/Get de l'indicateur d'appartenance au Calcul courant.
Definition at line 413 of file TYElement.cpp.
|
virtual |
Set/Get de l'indicateur de modification acoustique.
Reimplemented in TYAcousticSurfaceNode, TYAcousticSurface, and TYAcousticVolume.
Definition at line 269 of file TYElement.cpp.
|
virtual |
Set/Get de l'indicateur de modification de la geometrie.
Reimplemented in TYTopographie, TYSiteNode, TYPlanEau, and TYCourbeNiveau.
Definition at line 274 of file TYElement.cpp.
|
inlinestatic |
Get/Set de l'etat de l'indicateur de sauvegarde
Definition at line 853 of file TYElement.h.
|
inlinestatic |
Active ou desactive l'enregistrement de toutes les instances creees de type TYElement ou derive.
log | Active ou desactive. |
Definition at line 778 of file TYElement.h.
|
inline |
Set/Get du nom de l'element.
Definition at line 640 of file TYElement.h.
|
inline |
Definition at line 642 of file TYElement.h.
|
inline |
Set/Get de la reference sur le parent de cet element.
Definition at line 652 of file TYElement.h.
|
inlinestatic |
Get/Set de l'etat de regerneration d'ID
Definition at line 858 of file TYElement.h.
Verification de l'existence d'un doublon dans la liste des instances
Definition at line 238 of file TYElement.cpp.
|
inlinevirtual |
Retourne une chaine de caractere donnant des informations sur cet objet (utile pour le debugage).
Reimplemented in TYRectangle, TYCalcul, TYMaillage, TYDirectivity, TYPointCalcul, TYResultat, TYProjet, TYPalette, TYTopographie, TYSpectre, TYRoute, TYRectangularMaillage, TYAcousticBox, TYLinearMaillage, TYPointControl, TYBoundaryNoiseMap, TYSourcePonctuelle, TYRepere, TYPoint, TYEtage, TYPanel, TYEcran, TYTrafic, TYAcousticSemiCircle, TYAltimetrie, TYAcousticRectangle, TYAcousticSurfaceNode, TYSegment, TYPlanEau, TYMur, TYRegime, TYUserSourcePonctuelle, TYSiteNode, TYAcousticSurface, TYPolygon, TYDalle, TYChemineeSurface, TYCourbeNiveau, TYAttenuateur, TYSourceCheminee, TYAcousticCircle, TYAcousticFaceSet, TYAcousticLine, TYAcousticSemiCylinder, TYAcousticVolume, TYBoucheSurface, TYInfrastructure, TYMachine, TYMurElement, TYSourceBafflee, TYAcousticPolygon, TYBox, TYParoi, TYReseauTransport, TYTerrain, TYSource, TYSourceLineic, TYAcousticCylinder, TYAcousticRectangleNode, TYAcousticVolumeNode, TYBatiment, TYFaceSet, TYSourceSurfacic, TYVegetation, TYMateriauConstruction, TYCoursEau, TYUserSrcRegime, and TYSol.
Definition at line 735 of file TYElement.h.
|
static |
conversion d'un identifiant 128 bits en string.
Definition at line 622 of file TYElement.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 in TYRectangle, TYComputedDirectivity, TYGeometryNode, TYUserDefinedDirectivity, TYCalcul, TYMaillage, TYDirectivity, TYPointCalcul, TYResultat, TYProjet, TYPalette, TYTopographie, TYSpectre, TYRoute, TYRay, TYRectangularMaillage, TYAcousticBox, TYLinearMaillage, TYPointControl, TYBoundaryNoiseMap, TYSourcePonctuelle, TYRepere, TYPoint, TYEtage, TYEcran, TYTrafic, TYAcousticSemiCircle, TYAltimetrie, TYAcousticRectangle, TYAcousticSurfaceNode, TYSegment, TYPlanEau, TYMur, TYRegime, TYUserSourcePonctuelle, TYSiteNode, TYAcousticSurface, TYPolygon, TYDalle, TYCourbeNiveau, TYAttenuateur, TYSourceCheminee, TYAcousticCircle, TYAcousticFaceSet, TYAcousticLine, TYAcousticSemiCylinder, TYAcousticVolume, TYInfrastructure, TYMachine, TYMurElement, TYSourceBafflee, TYAcousticPolygon, TYBox, TYParoi, TYReseauTransport, TYTerrain, TYSource, TYSourceLineic, TYAcousticCylinder, TYAcousticRectangleNode, TYAcousticVolumeNode, TYBatiment, TYFaceSet, TYSourceSurfacic, TYVegetation, TYMateriauConstruction, TYCoursEau, TYUserSrcRegime, and TYSol.
Definition at line 374 of file TYElement.cpp.
|
virtual |
Verifie si cet element est present dans la liste d'ID passee. S'il est present cela signifie qu'il est actif dans le Calcul courant, c'est cet etat qui est retourne.
listID | La liste d'ID du Calcul courant. |
recursif | Indique si la mise a jour du Calcul courant doit etre recursive. |
true
si cet objet est actif dans le Calcul concerne; false
sinon. Reimplemented in TYSiteNode, TYTopographie, and TYInfrastructure.
Definition at line 461 of file TYElement.cpp.
|
protected |
Multi purpose void pointer (use for compatibility actually)
Definition at line 909 of file TYElement.h.
|
protected |
Definition at line 891 of file TYElement.h.
|
staticprivate |
Indicateur de regeneration d'ID true si regeneration d'ID a la lecture d'un fichier XML.
Definition at line 921 of file TYElement.h.
|
protected |
Definition at line 894 of file TYElement.h.
|
protected |
Indique si cet element est actif dans le Calcul courant.
Definition at line 897 of file TYElement.h.
|
staticprivate |
Collection de toutes les instances de type TYElement et derivees.
Definition at line 916 of file TYElement.h.
|
protected |
Indicateur de modification acoustique.
Definition at line 900 of file TYElement.h.
|
protected |
Indicateur de modification de la geometrie.
Definition at line 903 of file TYElement.h.
|
staticprivate |
Indique si on souhaite registrer toutes les instances de type TYElement et derivees.
Le log des instances ne doit absolument pas etre active au lancement de l'application, le log des instances statiques provoque un crash.
Definition at line 913 of file TYElement.h.
|
protected |
Nom courant de l'element.
Definition at line 885 of file TYElement.h.
|
protected |
L'object graphique metier associe a cet element.
Definition at line 906 of file TYElement.h.
|
protected |
Reference sur l'element parent.
Definition at line 888 of file TYElement.h.
|
staticprivate |
Indicateur de modification. Passe a true si un TYElement a ete modifie, Indique la necessite de sauvegarder.
Definition at line 919 of file TYElement.h.
|
mutableprivate |
Identifiant unique de l'element.
Definition at line 881 of file TYElement.h.
|
staticprivate |
Definition at line 923 of file TYElement.h.
|
staticprivate |
Definition at line 924 of file TYElement.h.
|
staticprivate |
Definition at line 925 of file TYElement.h.