code: public static boolean intersectLineSegmentTriangle(Vector3fc p0, Vector3fc p1, Vector3fc v0, Vector3fc v1, Vector3fc v2, float epsilon, Vector3f intersectionPoint) {
          return intersectLineSegmentTriangle(p0.x(), p0.y(), p0.z(), p1.x(), p1.y(), p1.z(), v0.x(), v0.y(), v0.z(), v1.x(), v1.y(), v1.z(), v2.x(), v2.y(), v2.z(), epsilon, intersectionPoint);
      }
docs: Determine 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,
  and return the point of intersection.
  <p>
  Reference: <a href="http://www.graphics.cornell.edu/pubs/1997/MT97.pdf">
  Fast, Minimum Storage Ray/Triangle Intersection</a>
  
  @see #intersectLineSegmentTriangle(float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, Vector3f)
  
  @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
  @param intersectionPoint
  the point of intersection
  @return <code>true</code> if the given line segment intersects the triangle; <code>false</code> otherwise