Опрос

Что такое, по вашему мнению, «демократия»?













Отмена и повторное выполнение - Страница 9

15.01.2010 11:44 Администратор
Печать PDF
Рейтинг пользователей: / 0
ХудшийЛучший 
Индекс материала
Отмена и повторное выполнение
Страница 2
Страница 3
Страница 4
Страница 5
Страница 6
Страница 7
Страница 8
Страница 9

Функция dolt должна лишь подготовить и зарегистрировать все операции, которые необходимы команде. Эту информацию надо сохранить в надлежащем классе. Для выполнения самой команды функция dolt должна просто вызвать метод redolt.

Тот получает хранимую информацию и реализует каждую операцию. Функция undolt должна принять на вход аналогичную информацию н отменить все действия, совершенные во время работы redolt. В этом конкретном примере мы организовали серию узлов графа DG (цилиндров), поэтому операция отмены должна просто их удалить. В более сложных командах вам, вероятно, понадобится предварительно занести в память гораздо больше такой информации, как сведения об управляющих точках сетки до деформации или других необходимых данных. Фактически, до выполнения команды вы должны зафиксировать всю информацию, которая требуется, чтобы вернуть Maya в предыдущее состояние.

В сложных операциях запись данных, которые вы намерены изменить, может оказаться весьма тягостной. Этого, к сожалению, не избежать. Проектируя команду, которая не является действием, очень важно подумать над организацией поддержки ее отмены и повторного выполнения. Часто команду, которая спроектирована как необратимая, трудно изменить позднее, сделав ее обратимой. Создавая свои команды, помните об этом с самого начала, и в дальнейшем вам не придется вносить в них большие изменения. Когда команда реализована, вы можете быть уверены, что она будет бесконфликтно работать со встроенным в Maya механизмом отмены/повторного выполнения.



Обновлено 15.01.2010 12:18

Добавить комментарий


Защитный код
Обновить

Поиск

В закладку

 
 

Авторизация



Погода