Esempio n. 1
0
        public static Matrix GetMatrixFromTransform(GeneralTransform generalTransform)
        {
            Transform transform = generalTransform as Transform;

            if (transform != null)
            {
                return(transform.Value);
            }
            GeneralTransformGroup generalTransformGroup = generalTransform as GeneralTransformGroup;

            if (generalTransformGroup != null)
            {
                Matrix identity = Matrix.Identity;
                foreach (GeneralTransform generalTransform1 in generalTransformGroup.Children)
                {
                    identity *= VectorUtilities.GetMatrixFromTransform(generalTransform1);
                }
                return(identity);
            }
            if (generalTransform == null)
            {
                throw new InvalidOperationException(StringTable.GeneralTransformIsNotAffineException);
            }
            return(Matrix.Identity);
        }