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 InvalidateArgs(IObject3D source, InvalidateType invalidateType) { this.Source = source; this.InvalidateType = invalidateType; }
public InvalidateArgs(IObject3D source, InvalidateType invalidateType, UndoBuffer undoBuffer = null) { this.Source = source; this.InvalidateType = invalidateType; this.UndoBuffer = undoBuffer; }