23 _bCalcTrajetHorizontaux(false)
38 bool dessus =
true, lateral =
false;
58 unsigned int nbFaces = tabIntersect.size();
60 short indiceIntersect = dessus ? 0 : 1;
64 ptsLeft.push_back(rayon.
_ptA);
68 ptsRight.push_back(rayon.
_ptA);
74 for (
unsigned int i = 0 ; i < nbFaces; i++)
76 if (tabIntersect[i].bIntersect[indiceIntersect])
95 for (
int j = 1; j < (nNbrePointsTrajetGauche - 1); j++)
98 pt.
_x = dPointTemp[0];
99 pt.
_y = dPointTemp[1];
100 pt.
_z = dPointTemp[2];
101 ptsLeft.push_back(pt);
108 for (
int j = 1; j < (nNbrePointsTrajetDroite - 1); j++)
111 pt.
_x = dPointTemp[0];
112 pt.
_y = dPointTemp[1];
113 pt.
_z = dPointTemp[2];
114 ptsRight.push_back(pt);
void PointTrajetGauche(int i, double *pt)
Return the ith point of the left geometric path.
OPoint3D _ptB
Point B of the segment.
OPoint3D _ptA
Point A of the segment.
bool computeParcoursLateraux(const std::deque< TYSIntersection > &tabIntersect, const OSegment3D &rayon, const bool &dessus, TabPoint3D &ptsLeft, TabPoint3D &ptsRight) const
This file provides class for solver configuration.
std::vector< OPoint3D > TabPoint3D
virtual ~TYAcousticPathFinder()
Destructor.
int NombrePointsTrajetGauche()
Return the points number of the right geometric path.
virtual void init()
Initialize the class parameters.
void AjouterSegmentSR(double *ptA, double *ptB)
Add points A (source) and B (receptor)
void getPtSetPtRfromOSeg3D(OSegment3D &seg) const
bool isEcran
Flag to define if is a screen face.
int NombrePointsTrajetDroite()
Return the points number of the left geometric path.
This class TYTrajet (journey) links a couple Source-Receptor and a collection of paths, in addition to the direct path.
double _y
y coordinate of OCoord3D
double _x
x coordinate of OCoord3D
bool isInfra
Flag to define if is a infrastructure face.
Data structure for intersections.
void PointTrajetDroite(int i, double *pt)
Return the ith point of the right geometric path.
Class for computing path used by TYAcousticPathFinder.
Class to define a segment.
virtual void computePath(const std::deque< TYSIntersection > &tabIntersect, const TYTrajet &trajet, TabPoint3D &ptsTop, TabPoint3D &ptsLeft, TabPoint3D &ptsRight)
Compute a path between a source and a receptor. The receptor is not included in the path...
void AjouterSegmentCoupe(double *ptA, double *ptB, bool isInfra, bool isEcran)
Add a segment defined by 2 points.
bool _bCalcTrajetHorizontaux
Boolean to compute or not the horizontal trajectories.
OSegment3D segInter[2]
Intersection segment between face and vertical plane ([0]) and horizontal plane ([1]) ...
double _z
z coordinate of OCoord3D
TYAcousticPathFinder(TYSolver &solver)
Constructor.
bool Traitement()
Build the left and right geometric paths.
static LPSolverConfiguration get()
Get the configuration.