Determine whether the given axis-aligned box is partly or completely within or outside of the frustum defined by <code>this</code> frustum culler
and, if the box is not inside this frustum, return the index of the plane that culled it.
The box is specified via its <code>min</code> and <code>max</code> corner coordinates.
<p>
This method differs from {@link #intersectAab(Vector3d, Vector3d)} in that
it allows to mask-off planes that should not be calculated. For example, in order to only test a box against the
left frustum plane, use a mask of {@link #PLANE_MASK_NX}. Or in order to test all planes <i>except</i> the left plane, use
a mask of <code>(~0 ^ PLANE_MASK_NX)</code>.
<p>
The algorithm implemented by this method is conservative. This means that in certain circumstances a <i>false positive</i>
can occur, when the method returns {@link #INTERSECT} for boxes that do not intersect the frustum.
See <a href="http://iquilezles.org/www/articles/frustumcorrect/frustumcorrect.htm">iquilezles.org</a> for an examination of this problem.
@param min
the minimum corner coordinates of the axis-aligned box
@param max
the maximum corner coordinates of the axis-aligned box
@param mask
contains as bitset all the planes that should be tested.
This value can be any combination of
{@link #PLANE_MASK_NX}, {@link #PLANE_MASK_PX},
{@link #PLANE_MASK_NY}, {@link #PLANE_MASK_PY},
{@link #PLANE_MASK_NZ} and {@link #PLANE_MASK_PZ}
@return the index of the first plane that culled the box, if the box does not intersect the frustum,
or {@link #INTERSECT} if the box intersects the frustum, or {@link #INSIDE} if the box is fully inside of the frustum.
The plane index is one of {@link #PLANE_NX}, {@link #PLANE_PX}, {@link #PLANE_NY}, {@link #PLANE_PY}, {@link #PLANE_NZ} and {@link #PLANE_PZ}
Determine whether the given axis-aligned box is partly or completely within or outside of the frustum defined by <code>this</code> frustum culler and, if the box is not inside this frustum, return the index of the plane that culled it. The box is specified via its <code>min</code> and <code>max</code> corner coordinates. <p> This method differs from {@link #intersectAab(Vector3d, Vector3d)} in that it allows to mask-off planes that should not be calculated. For example, in order to only test a box against the left frustum plane, use a mask of {@link #PLANE_MASK_NX}. Or in order to test all planes <i>except</i> the left plane, use a mask of <code>(~0 ^ PLANE_MASK_NX)</code>. <p> The algorithm implemented by this method is conservative. This means that in certain circumstances a <i>false positive</i> can occur, when the method returns {@link #INTERSECT} for boxes that do not intersect the frustum. See <a href="http://iquilezles.org/www/articles/frustumcorrect/frustumcorrect.htm">iquilezles.org</a> for an examination of this problem.
@param min the minimum corner coordinates of the axis-aligned box @param max the maximum corner coordinates of the axis-aligned box @param mask contains as bitset all the planes that should be tested. This value can be any combination of {@link #PLANE_MASK_NX}, {@link #PLANE_MASK_PX}, {@link #PLANE_MASK_NY}, {@link #PLANE_MASK_PY}, {@link #PLANE_MASK_NZ} and {@link #PLANE_MASK_PZ} @return the index of the first plane that culled the box, if the box does not intersect the frustum, or {@link #INTERSECT} if the box intersects the frustum, or {@link #INSIDE} if the box is fully inside of the frustum. The plane index is one of {@link #PLANE_NX}, {@link #PLANE_PX}, {@link #PLANE_NY}, {@link #PLANE_PY}, {@link #PLANE_NZ} and {@link #PLANE_PZ}