// Calls execute on command that is passed as argument public void Execute(Scene3D.Command command) { command.Execute(); if (command is Scene3D.UndoableCommand) { undoStack.Push(command); } }
// Redos last undoed operation public void Redo() { if (redoStack.Count > 0) { Scene3D.Command command = redoStack.Pop(); command.Execute(); undoStack.Push(command); } }