private Vector3f getClosestPoint(TempVars vars, Vector3f point) {
        // non normalized direction
        Vector3f dir = vars.vect2.set(point).subtractLocal(transform.getTranslation());
        // initialize the closest point with box center
        Vector3f closestPoint = vars.vect3.set(transform.getTranslation());

        //store extent in an array
        float[] r = vars.fWdU;
        r[0] = transform.getScale().x;
        r[1] = transform.getScale().y;
        r[2] = transform.getScale().z;

        // Compute the closest point to sphere's center.
        for (int i = 0; i < 3; i++) {
            // extract the axis from the 3x3 matrix
            Vector3f axis = getScaledAxis(i, vars.vect1);
            // normalize (here we just divide by the extent)
            axis.divideLocal(r[i]);
            // distance to the closest point on this axis.
            float d = FastMath.clamp(dir.dot(axis), -r[i], r[i]);
            closestPoint.addLocal(vars.vect4.set(axis).multLocal(d));
        }
        return closestPoint;
    }
@see LightProbe#getUniformMatrix()
for this Area type, the matrix is updated when the probe is transformed,
and its data is used for bound checks in the light culling process.
jme3-core/src/main/java/com/jme3/light/OrientedBoxProbeArea.java