code: public static int findClosestPointOnTriangle(Vector3fc v0, Vector3fc v1, Vector3fc v2, Vector3fc p, Vector3f result) {
          return findClosestPointOnTriangle(v0.x(), v0.y(), v0.z(), v1.x(), v1.y(), v1.z(), v2.x(), v2.y(), v2.z(), p.x(), p.y(), p.z(), result);
      }
docs: Determine the closest point on the triangle with the vertices <code>v0</code>, <code>v1</code>, <code>v2</code>
  between that triangle and the given point <code>p</code> and store that point into the given <code>result</code>.
  <p>
  Additionally, this method returns whether the closest point is a vertex ({@link #POINT_ON_TRIANGLE_VERTEX_0}, {@link #POINT_ON_TRIANGLE_VERTEX_1}, {@link #POINT_ON_TRIANGLE_VERTEX_2})
  of the triangle, lies on an edge ({@link #POINT_ON_TRIANGLE_EDGE_01}, {@link #POINT_ON_TRIANGLE_EDGE_12}, {@link #POINT_ON_TRIANGLE_EDGE_20})
  or on the {@link #POINT_ON_TRIANGLE_FACE face} of the triangle.
  <p>
  Reference: Book "Real-Time Collision Detection" chapter 5.1.5 "Closest Point on Triangle to Point"
  
  @param v0
  the first vertex of the triangle
  @param v1
  the second vertex of the triangle
  @param v2
  the third vertex of the triangle
  @param p
  the point
  @param result
  will hold the closest point
  @return one of {@link #POINT_ON_TRIANGLE_VERTEX_0}, {@link #POINT_ON_TRIANGLE_VERTEX_1}, {@link #POINT_ON_TRIANGLE_VERTEX_2},
  {@link #POINT_ON_TRIANGLE_EDGE_01}, {@link #POINT_ON_TRIANGLE_EDGE_12}, {@link #POINT_ON_TRIANGLE_EDGE_20} or
  {@link #POINT_ON_TRIANGLE_FACE}