55 if (TYAcousticSurface::operator!=(other))
88 return "TYAcousticPolygon";
106 QDomNodeList childs = domElement.childNodes();
107 for (
unsigned int i = 0; i < childs.length(); i++)
109 elemCur = childs.item(i).toElement();
147 for (
size_t i = 0; i < nbPts; i++)
171 nbSrcsV ? nbSrcsV : nbSrcsV++;
172 nbSrcsH ? nbSrcsH : nbSrcsH++;
178 vecH = vecH * (1.0 / (double)nbSrcsH);
179 vecV = vecV * (1.0 / (double)nbSrcsV);
188 OBox box(ptMin, ptMax);
204 for (
int iV = 0; (iV < nbSrcsV); iV++)
207 for (
int iH = 0; (iH < nbSrcsH); iH++)
212 OPoint3D pos(startPt + (vecH * iH) + (vecV * iV));
All base classes related to 3D manipulation.
Representation graphique d'un polygone accoustique (fichier header)
TY_EXTENSION_INST(TYAcousticPolygon)
TY_EXT_GRAPHIC_INST(TYAcousticPolygon)
std::vector< TYPoint > TYTabPoint
Collection de TYPoint.
std::deque< OPoint3D > TYTabPoint3D
Collection de OPoint3D.
std::vector< LPTYSourcePonctuelleGeoNode > TYTabSourcePonctuelleGeoNode
Collection de noeuds geometriques de type TYSourcePonctuelle.
OPoint3D _min
Minimal coordinates of the OBox.
OPoint3D _max
Maximal coordinates of the OBox.
double _y
y coordinate of OCoord3D
double _z
z coordinate of OCoord3D
double _x
x coordinate of OCoord3D
static void boundingBox(OPoint3D *pts, int nbPts, OPoint3D &ptMin, OPoint3D &ptMax)
Computes the simple bounding box for a volume using min-max method.
static bool pointInPolygonAngleSum(const OPoint3D &ptP, const OPoint3D *pts, int nbPts)
Tests if a point is inside a polygon using angle sum algorithm.
Plan defined by its equation : ax+by+cz+d=0.
virtual const char * getClassName() const
Class to define a segment.
double norme() const
Computes the length of this vector.
void normalize()
Normalizes this vector.
double _offsetSources
Offset de decalage des sources ponctuelles sur les surfaces.
bool _isRayonnant
Etat courant de l'element (rayonnant ou non rayonnant)
bool operator!=(const TYAcousticPolygon &other) const
Operateur !=.
virtual TYTabSourcePonctuelleGeoNode getSrcs() const
TYAcousticPolygon & operator=(const TYAcousticPolygon &other)
Operateur =.
virtual int intersects(const TYSurfaceInterface *pSurf, OSegment3D &seg) const
LPTYPolygon _pPolygon
Le polygone definissant la geometrie de cet acoustic polygon.
virtual void distriSrcs()
bool operator==(const TYAcousticPolygon &other) const
Operateur ==.
virtual TYTabPoint getContour(int n=-1) const
virtual OPlan plan() const
virtual ~TYAcousticPolygon()
virtual std::string toString() const
virtual int fromXML(DOM_Element domElement)
virtual TYTabPoint3D getOContour(int n=-1) const
virtual double surface() const
virtual DOM_Element toXML(DOM_Element &domElement)
virtual bool deepCopy(const TYElement *pOther, bool copyId=true, bool pUseCopyTag=false)
virtual TYSourcePonctuelle srcPonctEquiv() const
virtual OVector3D normal() const
TYAcousticSurface & operator=(const TYAcousticSurface &other)
Operateur =.
virtual bool deepCopy(const TYElement *pOther, bool copyId=true, bool pUseCopyTag=false)
virtual TYTabSourcePonctuelleGeoNode getSrcs() const
virtual DOM_Element toXML(DOM_Element &domElement)
LPTYSourceSurfacic _pSrcSurf
Source surfacique.
virtual int fromXML(DOM_Element domElement)
QString _name
Nom courant de l'element.
bool callFromXMLIfEqual(DOM_Element &domElement, int *pRetVal=NULL)
void setParent(TYElement *pParent)
QString generateName(const char *classname)
Retourne le nom de la classe associe a un nombre.
static TYNameManager * get()
Retourne l'instance singleton.
TYRectangle getBoundingRect() const
virtual OVector3D normal() const
OPoint3D getPoint(size_t index) const
virtual bool deepCopy(const TYElement *pOther, bool copyId=true, bool pUseCopyTag=false)
virtual int intersects(const TYSurfaceInterface *pSurf, OSegment3D &seg) const
virtual TYTabPoint3D getOContour(int n=-1) const
virtual const OBox & getBox() const
virtual TYTabPoint getContour(int n=-1) const
virtual DOM_Element toXML(DOM_Element &domElement)
virtual OPlan plan() const
virtual double surface() const
void setDirectivity(TYDirectivity *directivity_)
: Get/Set directivity to source
void setPos(const LPTYPoint pPos)
void setTypeRaynt(TYTypeRaynt type)
double getDensiteSrcsH() const
double getDensiteSrcs() const
bool addSrc(LPTYSourcePonctuelle pSrcPonct)
double getDensiteSrcsV() const