public void fromTransformMatrix(Matrix4f mat) {
        TempVars vars = TempVars.get();
        translation.set(mat.toTranslationVector(vars.vect1));
        rot.set(mat.toRotationQuat(vars.quat1));
        scale.set(mat.toScaleVector(vars.vect2));
        vars.release();
    }
Sets the current instance from a transform matrix. Any reflection or shear in the
matrix is lost -- in other words, it may not be possible to recreate the
original matrix from the result.

<p>After this method is invoked, all components of {@code scale} will be
non-negative, even if {@code mat} includes reflection.

@param mat the input matrix (not null, unaffected)
jme3-core/src/main/java/com/jme3/math/Transform.java