Exemple #1
0
        public override async void OnInvalidate(InvalidateArgs invalidateArgs)
        {
            additonalInvalidate = invalidateArgs.InvalidateType;

            if ((invalidateArgs.InvalidateType.HasFlag(InvalidateType.Children) ||
                 invalidateArgs.InvalidateType.HasFlag(InvalidateType.Matrix) ||
                 invalidateArgs.InvalidateType.HasFlag(InvalidateType.Mesh)) &&
                invalidateArgs.Source != this &&
                !RebuildLocked)
            {
                await Rebuild();
            }
            else if ((invalidateArgs.InvalidateType.HasFlag(InvalidateType.Properties) && invalidateArgs.Source == this))
            {
                await Rebuild();
            }
            else if (SheetObject3D.NeedsRebuild(this, invalidateArgs))
            {
                await Rebuild();
            }
            else if (invalidateArgs.InvalidateType.HasFlag(InvalidateType.Properties) ||
                     invalidateArgs.InvalidateType.HasFlag(InvalidateType.Matrix) ||
                     invalidateArgs.InvalidateType.HasFlag(InvalidateType.Mesh) ||
                     invalidateArgs.InvalidateType.HasFlag(InvalidateType.Children))
            {
                base.OnInvalidate(invalidateArgs);
            }

            base.OnInvalidate(invalidateArgs);

            additonalInvalidate = InvalidateType.None;
        }
 public override void OnInvalidate(InvalidateArgs invalidateArgs)
 {
     if ((invalidateArgs.InvalidateType.HasFlag(InvalidateType.Children) ||
          invalidateArgs.InvalidateType.HasFlag(InvalidateType.Matrix) ||
          invalidateArgs.InvalidateType.HasFlag(InvalidateType.Mesh)) &&
         invalidateArgs.Source != this &&
         !RebuildLocked)
     {
         Rebuild();
     }
     else if ((invalidateArgs.InvalidateType.HasFlag(InvalidateType.Properties) && invalidateArgs.Source == this))
     {
         Rebuild();
     }
     else if (SheetObject3D.NeedsRebuild(this, invalidateArgs))
     {
         Rebuild();
     }
     else
     {
         base.OnInvalidate(invalidateArgs);
     }
 }
 public override async void OnInvalidate(InvalidateArgs invalidateArgs)
 {
     if ((invalidateArgs.InvalidateType.HasFlag(InvalidateType.Children) ||
          invalidateArgs.InvalidateType.HasFlag(InvalidateType.Matrix) ||
          invalidateArgs.InvalidateType.HasFlag(InvalidateType.Mesh)) &&
         invalidateArgs.Source != this &&
         !RebuildLocked)
     {
         await Rebuild();
     }
     else if ((invalidateArgs.InvalidateType.HasFlag(InvalidateType.Properties) && invalidateArgs.Source == this))
     {
         await Rebuild();
     }
     else if (SheetObject3D.NeedsRebuild(this, invalidateArgs))
     {
         await Rebuild();
     }
     else
     {
         // and also always pass back the actual type
         base.OnInvalidate(invalidateArgs);
     }
 }