public Vector3f multAcross(Vector3f vec, Vector3f store) {
        if (null == vec) {
            logger.warning("Source vector is null, null result returned.");
            return null;
        }
        if (store == null) {
            store = new Vector3f();
        }

        float vx = vec.x, vy = vec.y, vz = vec.z;
        store.x = m00 * vx + m10 * vy + m20 * vz + m30 * 1;
        store.y = m01 * vx + m11 * vy + m21 * vz + m31 * 1;
        store.z = m02 * vx + m12 * vy + m22 * vz + m32 * 1;

        return store;
    }
Apply the transform of this 3-D coordinate transform to the specified
Vector3f.

@param vec the vector to transform (unaffected) or null
@param store storage for the result (modified) or null to create a new
vector
@return the transformed vector (either store or a new vector) or null
jme3-core/src/main/java/com/jme3/math/Matrix4f.java