How to check if object is skewed ?

Hi guys… i need some check for objects are they skewed…

My first idea was to check if local scale is equals to lossy scale, but i remembered that
in group local scale multiplies to parent local scale… may be here we can do something like transform points… but i can’t get whole image of solution, can you help me ?

Ok, i’ve found another solution that doesn’t requared check for skewness… but the question is staying up…

Here is how:

// Create a skew vector 
Vector3 skew = transform.localScale; // scale of the transform for which you want to check if skewed
    
    // Then iterate through all the parent transforms and do scalar multiplication
    
    Transform parentTransform = transform.parent;
    while(parentTransform != null)
    {
    skew = new Vector3(parentTransform.scale.x * skew.x, parentTransform.scale.y * skew.y, parentTransform.scale.z * skew.z);
    parentTransform = parentTransform.parent;
    }
    
    // If the final skew is not equal to transform.lossyScale then the object is skewed
    bool isSkewed = (skew != transform.lossyScale);