code: public static int intersectRayAar(Vector2fc origin, Vector2fc dir, Vector2fc min, Vector2fc max, Vector2f result) {
          return intersectRayAar(origin.x(), origin.y(), dir.x(), dir.y(), min.x(), min.y(), max.x(), max.y(), result);
      }
docs: Determine whether the given ray with the given <code>origin</code> and direction <code>dir</code>
  intersects the axis-aligned rectangle given as its minimum corner <code>min</code> and maximum corner <code>max</code>,
  and return the values of the parameter <i>t</i> in the ray equation <i>p(t) = origin + t * dir</i> of the near and far point of intersection
  as well as the side of the axis-aligned rectangle the ray intersects.
  <p>
  This method also detects an intersection for a ray whose origin lies inside the axis-aligned rectangle.
  <p>
  Reference: <a href="https://dl.acm.org/citation.cfm?id=1198748">An Efficient and Robust Ray–Box Intersection</a>
  
  @see #intersectRayAar(float, float, float, float, float, float, float, float, Vector2f)
  
  @param origin
  the ray's origin
  @param dir
  the ray's direction
  @param min
  the minimum corner of the axis-aligned rectangle
  @param max
  the maximum corner of the axis-aligned rectangle
  @param result
  a vector which will hold the values of the parameter <i>t</i> in the ray equation
  <i>p(t) = origin + t * dir</i> of the near and far point of intersection
  @return the side on which the near intersection occurred as one of
  {@link #AAR_SIDE_MINX}, {@link #AAR_SIDE_MINY}, {@link #AAR_SIDE_MAXX} or {@link #AAR_SIDE_MAXY};
  or <code>-1</code> if the ray does not intersect the axis-aligned rectangle;