64 #ifdef _ALLOW_TARGETING_
65 void appendDirectionToEvent(boost::shared_ptr<Event> e,
TargetManager& targets);
: Describes a ray by a pair of unsigned int. The first one gives the source number (in the range 0-40...
This namespace contains all the functions needed for a ray validation.
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.
bool validRayWithDoNothingEvent(Ray *r, Intersection *inter)
void computeCumulDistance(Ray *r, const vec3 &impact)
adds the distance between impact and the last REFLECTION/SOURCE of the ray to the cumulDistance of th...
bool pathDiffValidationForReflection(Ray *r, const vec3 &impact)
Tests if the addition of a reflection event at position impact does not cause the pathDifference to e...
bool validTriangleWithSpecularReflexion(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.
bool pathDiffValidationForDiffraction(Ray *r, const vec3 &impact)
Tests if the addition of a diffraction event at position impact does not cause the pathDifference to ...
bool validCylindreWithDiffraction(Ray *r, Intersection *inter)
base_vec3< decimal > vec3