Determine whether the given ray with the origin <code>(originX, originY, originZ)</code> and direction <code>(dirX, dirY, dirZ)</code>
intersects the frontface of the triangle consisting of the three vertices <code>(v0X, v0Y, v0Z)</code>, <code>(v1X, v1Y, v1Z)</code> and <code>(v2X, v2Y, v2Z)</code>
and return the value of the parameter <i>t</i> in the ray equation <i>p(t) = origin + t * dir</i> of the point of intersection.
<p>
This is an implementation of the <a href="http://www.graphics.cornell.edu/pubs/1997/MT97.pdf">
Fast, Minimum Storage Ray/Triangle Intersection</a> method.
<p>
This test implements backface culling, that is, it will return <code>false</code> when the triangle is in clockwise
winding order assuming a <i>right-handed</i> coordinate system when seen along the ray's direction, even if the ray intersects the triangle.
This is in compliance with how OpenGL handles backface culling with default frontface/backface settings.
@param originX
the x coordinate of the ray's origin
@param originY
the y coordinate of the ray's origin
@param originZ
the z coordinate of the ray's origin
@param dirX
the x coordinate of the ray's direction
@param dirY
the y coordinate of the ray's direction
@param dirZ
the z coordinate of the ray's direction
@param v0X
the x coordinate of the first vertex
@param v0Y
the y coordinate of the first vertex
@param v0Z
the z coordinate of the first vertex
@param v1X
the x coordinate of the second vertex
@param v1Y
the y coordinate of the second vertex
@param v1Z
the z coordinate of the second vertex
@param v2X
the x coordinate of the third vertex
@param v2Y
the y coordinate of the third vertex
@param v2Z
the z coordinate of the third vertex
@param epsilon
a small epsilon when testing rays that are almost parallel to the triangle
@return the value of the parameter <i>t</i> in the ray equation <i>p(t) = origin + t * dir</i> of the point of intersection
if the ray intersects the frontface of the triangle; <code>-1.0</code> otherwise
Determine whether the given ray with the origin <code>(originX, originY, originZ)</code> and direction <code>(dirX, dirY, dirZ)</code> intersects the frontface of the triangle consisting of the three vertices <code>(v0X, v0Y, v0Z)</code>, <code>(v1X, v1Y, v1Z)</code> and <code>(v2X, v2Y, v2Z)</code> and return the value of the parameter <i>t</i> in the ray equation <i>p(t) = origin + t * dir</i> of the point of intersection. <p> This is an implementation of the <a href="http://www.graphics.cornell.edu/pubs/1997/MT97.pdf"> Fast, Minimum Storage Ray/Triangle Intersection</a> method. <p> This test implements backface culling, that is, it will return <code>false</code> when the triangle is in clockwise winding order assuming a <i>right-handed</i> coordinate system when seen along the ray's direction, even if the ray intersects the triangle. This is in compliance with how OpenGL handles backface culling with default frontface/backface settings.
@see #testRayTriangleFront(Vector3d, Vector3d, Vector3d, Vector3d, Vector3d, double)
@param originX the x coordinate of the ray's origin @param originY the y coordinate of the ray's origin @param originZ the z coordinate of the ray's origin @param dirX the x coordinate of the ray's direction @param dirY the y coordinate of the ray's direction @param dirZ the z coordinate of the ray's direction @param v0X the x coordinate of the first vertex @param v0Y the y coordinate of the first vertex @param v0Z the z coordinate of the first vertex @param v1X the x coordinate of the second vertex @param v1Y the y coordinate of the second vertex @param v1Z the z coordinate of the second vertex @param v2X the x coordinate of the third vertex @param v2Y the y coordinate of the third vertex @param v2Z the z coordinate of the third vertex @param epsilon a small epsilon when testing rays that are almost parallel to the triangle @return the value of the parameter <i>t</i> in the ray equation <i>p(t) = origin + t * dir</i> of the point of intersection if the ray intersects the frontface of the triangle; <code>-1.0</code> otherwise