public boolean intersectWherePlanarQuad(Vector3f v0, Vector3f v1, Vector3f v2,
            Vector3f loc) {
        return intersects(v0, v1, v2, loc, true, true);
    }
<code>intersectWherePlanar</code> determines if the Ray intersects a
quad defined by the specified points and if so it stores the point of
intersection in the given loc vector as t, u, v where t is the distance
from the origin to the point of intersection and u,v is the intersection
point in terms of the quad plane.
One edge of the quad is [v0,v1], another one [v0,v2]. The behaviour thus is like
{@link #intersectWherePlanar(Vector3f, Vector3f, Vector3f, Vector3f)} except for
the extended area, which is equivalent to the union of the triangles [v0,v1,v2]
and [-v0+v1+v2,v1,v2].

@param v0
           top left point of the quad.
@param v1
           top right point of the quad.
@param v2
           bottom left point of the quad.
@param loc
           storage vector to save the collision point in (if the ray
           collides) as t, u, v
@return true if the ray collides with the quad.
jme3-core/src/main/java/com/jme3/math/Ray.java