_initTransformValues() {
        this.rotation = new Vec3();
        this.rotation.onChange(() => this._applyRotation());

        // initial quaternion
        this.quaternion = new Quat();

        // translation in viewport coordinates
        this.relativeTranslation = new Vec3();
        this.relativeTranslation.onChange(() => this._setTranslation());

        // translation in webgl coordinates
        this._translation = new Vec3();

        // scale is a Vec3 with z always equal to 1
        this.scale = new Vec3(1);
        this.scale.onChange(() => {
            this.scale.z = 1;
            this._applyScale();
        });

        // set plane transform origin to center
        this.transformOrigin = new Vec3(0.5, 0.5, 0);
        this.transformOrigin.onChange(() => {
            // set transformation origin relative to world space as well
            this._setWorldTransformOrigin();
            this._updateMVMatrix = true;
        });
    }
Set/reset plane's transformation values: rotation, scale, translation, transform origin
*