Code_TYMPAN  4.4.0
Industrial site acoustic simulation
Functions
ValidRay Namespace Reference

This namespace contains all the functions needed for a ray validation. More...

Functions

bool validTriangleWithSpecularReflexion (Ray *r, Intersection *inter)
 
bool validCylindreWithDiffraction (Ray *r, Intersection *inter)
 
bool validRayWithDoNothingEvent (Ray *r, Intersection *inter)
 
bool computeRealImpact (Ray *r, Intersection *inter, Cylindre *cylindre, vec3 &impact)
 Try to compute the intersection of the ray and the ridge. More...
 
bool isRayPassesNearRidge (Ray *r, const vec3 &impact, const vec3 &realImpact)
 Return True if ray passes near enough the ridge for it be in the thickness of the ray. More...
 
bool pathDiffValidationForDiffraction (Ray *r, const vec3 &impact)
 Tests if the addition of a diffraction event at position impact does not cause the pathDifference to exceed MaxPathDifference. (NB: L = length of the ray from source to impact l = length of the ray from source to impact taking a direct path between reflexions while ignoring diffractions pathDifference = L- l. More...
 
bool pathDiffValidationForReflection (Ray *r, const vec3 &impact)
 Tests if the addition of a reflection event at position impact does not cause the pathDifference to exceed MaxPathDifference. (NB: L = length of the ray from source to impact l = length of the ray from source to impact taking a direct path between reflexions while ignoring diffractions pathDifference = L- l. More...
 
void computeCumulDistance (Ray *r, const vec3 &impact)
 adds the distance between impact and the last REFLECTION/SOURCE of the ray to the cumulDistance of the ray More...
 

Detailed Description

This namespace contains all the functions needed for a ray validation.

Function Documentation

◆ computeCumulDistance()

void ValidRay::computeCumulDistance ( Ray r,
const vec3 &  impact 
)

adds the distance between impact and the last REFLECTION/SOURCE of the ray to the cumulDistance of the ray

Definition at line 85 of file ValidRay.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ computeRealImpact()

bool ValidRay::computeRealImpact ( Ray r,
Intersection inter,
Cylindre cylindre,
vec3 &  impact 
)

Try to compute the intersection of the ray and the ridge.

Returns
False if not possible

Definition at line 139 of file ValidRay.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isRayPassesNearRidge()

bool ValidRay::isRayPassesNearRidge ( Ray r,
const vec3 &  impact,
const vec3 &  realImpact 
)

Return True if ray passes near enough the ridge for it be in the thickness of the ray.

Definition at line 168 of file ValidRay.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ pathDiffValidationForDiffraction()

bool ValidRay::pathDiffValidationForDiffraction ( Ray r,
const vec3 &  impact 
)

Tests if the addition of a diffraction event at position impact does not cause the pathDifference to exceed MaxPathDifference. (NB: L = length of the ray from source to impact l = length of the ray from source to impact taking a direct path between reflexions while ignoring diffractions pathDifference = L- l.

Definition at line 121 of file ValidRay.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ pathDiffValidationForReflection()

bool ValidRay::pathDiffValidationForReflection ( Ray r,
const vec3 &  impact 
)

Tests if the addition of a reflection event at position impact does not cause the pathDifference to exceed MaxPathDifference. (NB: L = length of the ray from source to impact l = length of the ray from source to impact taking a direct path between reflexions while ignoring diffractions pathDifference = L- l.

Definition at line 100 of file ValidRay.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ validCylindreWithDiffraction()

bool ValidRay::validCylindreWithDiffraction ( Ray r,
Intersection inter 
)

Definition at line 184 of file ValidRay.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ validRayWithDoNothingEvent()

bool ValidRay::validRayWithDoNothingEvent ( Ray r,
Intersection inter 
)

Definition at line 24 of file ValidRay.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ validTriangleWithSpecularReflexion()

bool ValidRay::validTriangleWithSpecularReflexion ( Ray r,
Intersection inter 
)

Definition at line 46 of file ValidRay.cpp.

Here is the call graph for this function:
Here is the caller graph for this function: