private void ConvertGenericTransform(Transform3D transform)
        {
            Point3D point3D1 = new Point3D(0.0, 0.0, 0.0);

            this.Initialize();
            ScaleTransform3D scaleTransform3D = transform as ScaleTransform3D;

            if (scaleTransform3D != null)
            {
                this.scale  = new Vector3D(scaleTransform3D.ScaleX, scaleTransform3D.ScaleY, scaleTransform3D.ScaleZ);
                this.center = new Point3D(scaleTransform3D.CenterX, scaleTransform3D.CenterY, scaleTransform3D.CenterZ);
            }
            else
            {
                Point3D point3D2 = point3D1 * transform.Value;
                this.translation = new Vector3D(point3D2.X, point3D2.Y, point3D2.Z);
                Matrix3D rotation;
                Vector3D scale;
                Matrix3DOperations.DecomposeIntoRotationAndScale(transform.Value, out rotation, out scale);
                this.scale          = scale;
                this.RotationAngles = Helper3D.EulerAnglesFromQuaternion(this.MatrixToQuaternion(rotation));
            }
            this.InitializeTransformGroup();
        }