testLineSegmentTriangle
- bool testLineSegmentTriangle(double p0X, double p0Y, double p0Z, double p1X, double p1Y, double p1Z, double v0X, double v0Y, double v0Z, double v1X, double v1Y, double v1Z, double v2X, double v2Y, double v2Z, double epsilon)
- bool testLineSegmentTriangle(Vector3d p0, Vector3d p1, Vector3d v0, Vector3d v1, Vector3d v2, double epsilon)
static
bool
testLineSegmentTriangle
intersection_d
static functionsstatic variables
Test whether the line segment with the end points <code>p0</code> and <code>p1</code> intersects the triangle consisting of the three vertices <code>(v0X, v0Y, v0Z)</code>, <code>(v1X, v1Y, v1Z)</code> and <code>(v2X, v2Y, v2Z)</code>, regardless of the winding order of the triangle or the direction of the line segment between its two end points. <p> Reference: <a href="http://www.graphics.cornell.edu/pubs/1997/MT97.pdf"> Fast, Minimum Storage Ray/Triangle Intersection</a>
@see #testLineSegmentTriangle(double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double)
@param p0 the line segment's first end point @param p1 the line segment's second end point @param v0 the position of the first vertex @param v1 the position of the second vertex @param v2 the position of the third vertex @param epsilon a small epsilon when testing line segments that are almost parallel to the triangle @return <code>true</code> if the given line segment intersects the triangle; <code>false</code> otherwise