32 float r = 46.0f, g = 4.0f, b = 184.0f;
54 for (i = 0; i < 6; i++)
69 for (i = 0; i < tab.size(); ++i)
130 float demiLarg = larg / 2.0;
131 float demiLon = lon / 2.0;
132 float demiHaut = haut / 2.0;
221 for (
int i = 0; i < 6; i++)
238 if (TYAcousticVolume::operator!=(other))
242 for (
int i = 0; i < 6; i++)
263 for (
int i = 0; i < 6; i++)
279 return "TYAcousticBox";
286 for (
int i = 0; i < 6; i++)
301 QDomNodeList childs = domElement.childNodes();
303 for (i = 0; i < childs.length(); i++)
305 elemCur = childs.item(i).toElement();
324 bool allWhite =
true;
325 for (faceNb = 0; faceNb < 6; ++faceNb)
328 if (color.
r != 1.0f || color.
g != 1.0f || color.
b != 1.0f)
337 float r = 46.0f, g = 4.0f, b = 184.0f;
358 for (faceNb = 0; faceNb < 6; ++faceNb)
365 for (i = 0; i < tab.size(); ++i)
393 for (
int i = 0; i < 6; i++)
395 childs.push_back(
_faces[i]);
396 childs.push_back(
_faces[i]->getElement());
401 for (
int i = 0; i < 6; i++)
412 for (
int i = 0; i < 6; i++)
424 ofs <<
getName().toLatin1().data() <<
'\n';
432 for (
int i = 0; i < 6; i++)
442 for (
int i = 0; i < 6; i++)
452 for (
int i = 0; i < 6; i++)
462 for (
int i = 0; i < 6; i++)
484 for (
int i = 0; i < 6; i++)
496 for (
int i = 0; i < 6; i++)
511 for (
int i = 0; i < 6; i++)
519 for (
int i = 0; i < 6; i++)
532 for (
int i = 0; i < 6; i++)
543 for (
unsigned int j = 0; j < tabChild.size(); j++)
545 tabChild[j]->setMatrix(matrix * tabChild[j]->getMatrix());
549 tab.insert(tab.end(), tabChild.begin(), tabChild.end());
567 for (
int i = 0; i < 6; i++)
580 for (
int i = 0; i < 6; i++)
591 for (
int i = 0; i < 6; i++)
605 for (
int i = 0; i < 6; i++)
615 for (
int i = 0; i < 6; i++)
640 for (
int i = 0; i < 6; i++)
653 for (
int i = 0; i < 6; i++)
669 for (
int i = 0; i < 6; i++)
684 for (
int i = 0; i < 6; i++)
693 tab.push_back(normal);
709 for (
int i = 0; i < 4; i++)
729 for (
int i = 0; i < 6; i++)
739 tab.push_back(pPolygon);
759 return TYPoint(vecCentreGravite);
797 for (i = 0; i < 6; i++)
820 double residu =
ABS(10 * log10(LWg.
sigma()) - 10 * log10(LWc.
sigma()));
823 ret = residu < 1 ? true :
false;
831 for (i = 0; i < 6; i++)
852 for (
int i = 0; i < 6; i++)
858 for (
unsigned int j = 0; j < tabTmp.size(); j++)
863 OMatrix matrix = matrixFace * tabTmp[j]->getMatrix();
876 for (
int i = 0; (i < 6) && !ret; i++)
881 for (
unsigned int j = 0; j < tabTmp.size(); j++)
905 for (
int i = 0; i < 6; i++)
909 for (
unsigned int j = 0; j < tabSurf.size(); j++)
915 tabSubFaces.push_back(pSurface);
double ABS(double a)
Return the absolute value.
Representation graphique d'une boite acoustique (fichier header)
TY_EXTENSION_INST(TYAcousticBox)
TY_EXT_GRAPHIC_INST(TYAcousticBox)
TYGeometryNode TYAcousticRectangleNodeGeoNode
Noeud geometrique de type TYAcousticRectangleNode.
TYGeometryNode TYAcousticSurfaceGeoNode
Noeud geometrique de type TYAcousticSurface.
std::vector< LPTYAcousticSurface > TYTabLPAcousticSurface
Tableau de TYAcousticSurfaces.
std::vector< LPTYAcousticSurfaceGeoNode > TYTabAcousticSurfaceGeoNode
Collection de noeuds geometriques de type TYAcousticSurface.
std::vector< TYPoint > TYTabPoint
Collection de TYPoint.
std::vector< OVector3D > TYTabVector
Collection de OVector3D.
std::vector< LPTYPolygon > TYTabLPPolygon
Collection de pointeurs de TYPolygon.
std::vector< LPTYElement > LPTYElementArray
#define TYDIRPREFERENCEMANAGER
std::vector< LPTYSourcePonctuelleGeoNode > TYTabSourcePonctuelleGeoNode
Collection de noeuds geometriques de type TYSourcePonctuelle.
double _y
y coordinate of OCoord3D
double _z
z coordinate of OCoord3D
double _x
x coordinate of OCoord3D
virtual const char * getClassName() const
static OPrototype * safeDownCast(OPrototype *pObject)
3D frame with a point and 3 vectors.
OVector3D _vecK
Vector K for the Z axis.
OVector3D _vecJ
Vector J for the Y axis.
OVector3D _vecI
Vector I for the X axis.
OPoint3D _origin
The origin point.
Class to define a segment.
OSpectreAbstract & sum(const OSpectreAbstract &spectre) const
Arithmetic sum of two spectrums in one-third Octave.
OSpectreAbstract & toGPhy() const
Converts to physical quantity.
void setType(TYSpectreType type)
Set the spectrum type.
double sigma()
Sum the values of the spectrum.
OSpectreAbstract & toDB() const
Converts to dB.
static OSpectre getEmptyLinSpectre(const double &valInit=1.0E-20)
Create a physical quantity spectrum.
virtual void remAllSrcs()
virtual bool remRegime(int regime)
virtual TYTabPoint sommets() const
virtual int isInside(const TYPoint &pt) const
void setFace(const LPTYAcousticRectangleNode pAccRect, int numFace)
virtual TYTabAcousticSurfaceGeoNode acousticFaces()
virtual TYTabLPPolygon faces() const
virtual TYPoint centreGravite() const
LPTYAcousticRectangleNodeGeoNode getFace(int numFace)
virtual void propagateAtt(LPTYAttenuateur pAtt)
void setDimension(float larg, float lon, float haut)
virtual void setIsRayonnant(bool rayonnant=true, bool recursif=true)
virtual TYTabVector normals() const
void getDimension(float &larg, float &lon, float &haut)
virtual void loadRegime(int regimeNb=-1)
virtual void distriSrcs()
virtual int intersects(const OSegment3D &seg, TYTabPoint &ptList) const
TYTabLPAcousticSurface getSubFace()
virtual double activeSurface() const
TYAcousticRectangleNode * getFaceElement(unsigned long index) const
virtual TYTabSourcePonctuelleGeoNode getSrcs() const
bool operator!=(const TYAcousticBox &other) const
Operateur !=.
virtual bool findAcousticSurface(const TYAcousticSurface *pAccSurf, OMatrix *pMatrix=0)
virtual TYBox volEnglob() const
virtual void getChilds(LPTYElementArray &childs, bool recursif=true)
TYAcousticBox & operator=(const TYAcousticBox &other)
Operateur =.
LPTYAcousticRectangleNodeGeoNode _faces[6]
virtual void setRegime(TYSpectre &Spectre, int regime=-1, bool recursif=false)
virtual void setRegimeName(const QString &name)
virtual void setCurRegime(int regime)
virtual void exportCSV(std::ofstream &ofs)
Export au format csv sur un flux transmis.
virtual void setDensiteSrcsV(double densite, bool recursif=true)
bool operator==(const TYAcousticBox &other) const
Operateur ==.
virtual bool deepCopy(const TYElement *pOther, bool copyId=true, bool pUseCopyTag=false)
virtual void setNextRegimeNb(const int &next)
virtual void setDensiteSrcsH(double densite, bool recursif=true)
virtual int fromXML(DOM_Element domElement)
bool updateAcoustic(const bool &force=false)
virtual std::string toString() const
virtual double surface() const
virtual TYSourcePonctuelle srcPonctEquiv() const
virtual double volume() const
virtual DOM_Element toXML(DOM_Element &domElement)
double getDensiteSrcsH() const
virtual void setDensiteSrcsH(double densite, bool recursif=true)
TYRegime & getRegimeNb(const int &nb, bool &status)
double getDensiteSrcsV() const
int _curRegime
Numero du regime de fonctionnement courant.
int _typeDistribution
Indique le type de distribution a utiliser. pour l'etat courant.
virtual void loadRegime(int regimeNb=-1)
TYSpectre & getCurrentSpectre()
virtual void setDensiteSrcsV(double densite, bool recursif=true)
virtual void exportCSV(std::ofstream &ofs)
Export au format csv sur un flux transmis.
virtual void setRegime(TYSpectre &Spectre, int regime=-1, bool recursif=false)
virtual void setCurRegime(int regimeNumber)
int _nextRegime
Numero d'ordre du regime suivant.
virtual bool remRegime(int regime)
bool _isRayonnant
Etat courant de l'element (rayonnant ou non rayonnant)
virtual TYTabSourcePonctuelleGeoNode getSrcs() const
virtual void setSize(float sizeX, float sizeY)
virtual double activeSurface()
virtual void distriSrcs()
virtual void remAllSrcs()
virtual void setDensiteSrcsV(double densite, bool recursif=true)
virtual void setDensiteSrcsH(double densite, bool recursif=true)
virtual void exportCSV(std::ofstream &ofs)
Export au format csv sur un flux transmis.
TYSpectre setGlobalLW(const TYSpectre &spectre, const double &surfGlobale, const int ®ime=-1)
virtual void setNextRegimeNb(const int &next)
virtual void setCurRegime(int regime)
virtual void propagateAtt(LPTYAttenuateur pAtt)
virtual void setRegimeName(const QString &name)
LPTYRectangle getBoundingRect()
virtual void loadRegime(int regimeNb=-1)
virtual double surface() const
virtual bool remRegime(int regime)
virtual bool updateAcoustic(const bool &force=false)
virtual void setRegime(TYSpectre &Spectre, int regime=-1, bool recursif=false)
TYTabAcousticSurfaceGeoNode & getTabAcousticSurf()
TYAcousticVolume & operator=(const TYAcousticVolume &other)
Operateur =.
virtual DOM_Element toXML(DOM_Element &domElement)
virtual int fromXML(DOM_Element domElement)
virtual bool deepCopy(const TYElement *pOther, bool copyId=true, bool pUseCopyTag=false)
virtual void propagateAtt(LPTYAttenuateur pAtt)
virtual void setIsAcousticModified(bool isModified)
bool _forceNormales
Persistence du forcage des normales.
virtual void setIsRayonnant(bool rayonnant=true, bool recursif=true)
virtual void inverseNormales()
int isInside(const TYPoint &pt) const
virtual void setColor(const OColor &color)
void setName(QString name)
QString _name
Nom courant de l'element.
bool callFromXMLIfEqual(DOM_Element &domElement, int *pRetVal=NULL)
virtual QString getName() const
TYElement * _pParent
Reference sur l'element parent.
virtual void getChilds(LPTYElementArray &childs, bool recursif=true)
void setParent(TYElement *pParent)
virtual void setIsGeometryModified(bool isModified)
const ORepere3D & getORepere3D() const
virtual DOM_Element toXML(DOM_Element &domElement)
void setElement(LPTYElement pElt)
TYElement * getElement() const
virtual bool deepCopy(const TYElement *pOther, bool copyId=true, bool pUseCopyTag=false)
OMatrix getMatrix() const
virtual void getChilds(LPTYElementArray &childs, bool recursif=true)
void setRepere(const ORepere3D &repere)
QString generateName(const char *classname)
Retourne le nom de la classe associe a un nombre.
static TYNameManager * get()
Retourne l'instance singleton.
void transform(const OMatrix &matrix)
TYPolygon * toPolygon() const
virtual OVector3D normal() const
void setRegimeName(const QString &nom)
static TYSpectre getEmptyLinSpectre(const double &valInit=1.0E-20)
Cree un spectre en lin.
virtual int intersects(const OSegment3D &seg, TYTabPoint &ptList) const
virtual TYBox volEnglob() const
void calculRayonSphere(const TYBox &volEnglob)
virtual void calculCentreGravite()
std::string intToStr(int val)