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); }