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