public Matrix4f scaleAround(float sx, float sy, float sz, float ox, float oy, float oz, Matrix4f dest) {
        float nm30 = m00 * ox + m10 * oy + m20 * oz + m30;
        float nm31 = m01 * ox + m11 * oy + m21 * oz + m31;
        float nm32 = m02 * ox + m12 * oy + m22 * oz + m32;
        float nm33 = m03 * ox + m13 * oy + m23 * oz + m33;
        dest._m00(m00 * sx);
        dest._m01(m01 * sx);
        dest._m02(m02 * sx);
        dest._m03(m03 * sx);
        dest._m10(m10 * sy);
        dest._m11(m11 * sy);
        dest._m12(m12 * sy);
        dest._m13(m13 * sy);
        dest._m20(m20 * sz);
        dest._m21(m21 * sz);
        dest._m22(m22 * sz);
        dest._m23(m23 * sz);
        dest._m30(-m00 * ox - m10 * oy - m20 * oz + nm30);
        dest._m31(-m01 * ox - m11 * oy - m21 * oz + nm31);
        dest._m32(-m02 * ox - m12 * oy - m22 * oz + nm32);
        dest._m33(-m03 * ox - m13 * oy - m23 * oz + nm33);
        boolean one = Math.abs(sx) == 1.0f && Math.abs(sy) == 1.0f && Math.abs(sz) == 1.0f;
        dest._properties(properties & ~(PROPERTY_PERSPECTIVE | PROPERTY_IDENTITY | PROPERTY_TRANSLATION
                | (one ? 0 : PROPERTY_ORTHONORMAL)));
        return dest;
    }
public Matrix4f scaleAround ( float sx , float sy , float sz , float ox , float oy , float oz , Matrix4f dest ) { float nm30 = m00 * ox + m10 * oy + m20 * oz + m30 ; float nm31 = m01 * ox + m11 * oy + m21 * oz + m31 ; float nm32 = m02 * ox + m12 * oy + m22 * oz + m32 ; float nm33 = m03 * ox + m13 * oy + m23 * oz + m33 ; dest . _m00 ( m00 * sx ) ; dest . _m01 ( m01 * sx ) ; dest . _m02 ( m02 * sx ) ; dest . _m03 ( m03 * sx ) ; dest . _m10 ( m10 * sy ) ; dest . _m11 ( m11 * sy ) ; dest . _m12 ( m12 * sy ) ; dest . _m13 ( m13 * sy ) ; dest . _m20 ( m20 * sz ) ; dest . _m21 ( m21 * sz ) ; dest . _m22 ( m22 * sz ) ; dest . _m23 ( m23 * sz ) ; dest . _m30 ( - m00 * ox - m10 * oy - m20 * oz + nm30 ) ; dest . _m31 ( - m01 * ox - m11 * oy - m21 * oz + nm31 ) ; dest . _m32 ( - m02 * ox - m12 * oy - m22 * oz + nm32 ) ; dest . _m33 ( - m03 * ox - m13 * oy - m23 * oz + nm33 ) ; boolean one = Math . abs ( sx ) == 1.0f && Math . abs ( sy ) == 1.0f && Math . abs ( sz ) == 1.0f ; dest . _properties ( properties & ~ ( PROPERTY_PERSPECTIVE | PROPERTY_IDENTITY | PROPERTY_TRANSLATION | ( one ? 0 : PROPERTY_ORTHONORMAL ) ) ) ; return dest ; }
/* (non-Javadoc)
@see org.joml.Matrix4fc#scaleAround(float, float, float, float, float, float, org.joml.Matrix4f)