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;
134 float oldX = 0, oldY = 0, oldZ = 0;
243 for (
int i = 0; i < 6; i++)
260 if (TYAcousticVolume::operator!=(other))
264 for (
int i = 0; i < 6; i++)
285 for (
int i = 0; i < 6; i++)
301 return "TYAcousticBox";
308 for (
int i = 0; i < 6; i++)
323 QDomNodeList childs = domElement.childNodes();
325 for (i = 0; i < childs.length(); i++)
327 elemCur = childs.item(i).toElement();
346 bool allWhite =
true;
347 for (faceNb = 0; faceNb < 6; ++faceNb)
350 if (color.
r != 1.0f || color.
g != 1.0f || color.
b != 1.0f)
359 float r = 46.0f, g = 4.0f, b = 184.0f;
380 for (faceNb = 0; faceNb < 6; ++faceNb)
387 for (i = 0; i < tab.size(); ++i)
415 for (
int i = 0; i < 6; i++)
417 childs.push_back(
_faces[i]);
418 childs.push_back(
_faces[i]->getElement());
423 for (
int i = 0; i < 6; i++)
434 for (
int i = 0; i < 6; i++)
446 ofs <<
getName().toLatin1().data() <<
'\n';
454 for (
int i = 0; i < 6; i++)
464 for (
int i = 0; i < 6; i++)
474 for (
int i = 0; i < 6; i++)
484 for (
int i = 0; i < 6; i++)
506 for (
int i = 0; i < 6; i++)
518 for (
int i = 0; i < 6; i++)
533 for (
int i = 0; i < 6; i++)
541 for (
int i = 0; i < 6; i++)
554 for (
int i = 0; i < 6; i++)
565 for (
unsigned int j = 0; j < tabChild.size(); j++)
567 tabChild[j]->setMatrix(matrix * tabChild[j]->getMatrix());
571 tab.insert(tab.end(), tabChild.begin(), tabChild.end());
589 for (
int i = 0; i < 6; i++)
602 for (
int i = 0; i < 6; i++)
613 for (
int i = 0; i < 6; i++)
627 for (
int i = 0; i < 6; i++)
637 for (
int i = 0; i < 6; i++)
662 for (
int i = 0; i < 6; i++)
675 for (
int i = 0; i < 6; i++)
691 for (
int i = 0; i < 6; i++)
706 for (
int i = 0; i < 6; i++)
715 tab.push_back(normal);
731 for (
int i = 0; i < 4; i++)
751 for (
int i = 0; i < 6; i++)
761 tab.push_back(pPolygon);
781 return TYPoint(vecCentreGravite);
820 for (i = 0; i < 6; i++)
843 double residu =
ABS(10 * log10(LWg.
sigma()) - 10 * log10(LWc.
sigma()));
846 ret = residu < 1 ? true :
false;
854 for (i = 0; i < 6; i++)
875 for (
int i = 0; i < 6; i++)
881 for (
unsigned int j = 0; j < tabTmp.size(); j++)
886 OMatrix matrix = matrixFace * tabTmp[j]->getMatrix();
899 for (
int i = 0; (i < 6) && !ret; i++)
904 for (
unsigned int j = 0; j < tabTmp.size(); j++)
928 for (
int i = 0; i < 6; i++)
932 for (
unsigned int j = 0; j < tabSurf.size(); j++)
938 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()
LPTYAcousticVolumeGeoNode findAcousticVol(const LPTYAcousticVolume pAccVol)
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)