code: public static int intersectLineSegmentAab(LineSegmentf lineSegment, AABBf aabb, Vector2f result) {
          return intersectLineSegmentAab(lineSegment.aX, lineSegment.aY, lineSegment.aZ, lineSegment.bX, lineSegment.bY, lineSegment.bZ, aabb.minX, aabb.minY, aabb.minZ, aabb.maxX, aabb.maxY, aabb.maxZ, result);
      }
docs: Determine whether the given undirected line segment intersects the given axis-aligned box,
  and return the values of the parameter <i>t</i> in the ray equation <i>p(t) = origin + p0 * (p1 - p0)</i> of the near and far point of intersection.
  <p>
  This method returns <code>true</code> for a line segment whose either end point lies inside the axis-aligned box.
  <p>
  Reference: <a href="https://dl.acm.org/citation.cfm?id=1198748">An Efficient and Robust Ray–Box Intersection</a>
  
  @see #intersectLineSegmentAab(Vector3fc, Vector3fc, Vector3fc, Vector3fc, Vector2f)
  
  @param lineSegment
  the line segment
  @param aabb
  the AABB
  @param result
  a vector which will hold the resulting values of the parameter
  <i>t</i> in the ray equation <i>p(t) = p0 + t * (p1 - p0)</i> of the near and far point of intersection
  iff the line segment intersects the axis-aligned box
  @return {@link #INSIDE} if the line segment lies completely inside of the axis-aligned box; or
  {@link #OUTSIDE} if the line segment lies completely outside of the axis-aligned box; or
  {@link #ONE_INTERSECTION} if one of the end points of the line segment lies inside of the axis-aligned box; or
  {@link #TWO_INTERSECTION} if the line segment intersects two sides of the axis-aligned box
  or lies on an edge or a side of the box