Цикл перетаскивания
После того, как Вы установили подсказку дисплея для перетащенной последовательности, Вы звоните, AcEdJig::drag() функцию, которая исполняет перетащенный цикл, пока прессы пользователя НЕ ВВОДЯТ или клавиша "пробел", или указки с устройством управления позицией. Следующий список описывает последовательность перетащенного цикла:
1 перетащенный цикл получает случай.
2 Это называет AcEdJig::sampler() функцией. Sampler() функция устанавливает список ключевого слова (если любой) с запросом к AcEdJig::setKeywordList() функция, специальный тип курсора (если желательно) с запросом к
AcEdJig:: setSpecialCursorType () функция, и любой пользователь вводит средство управления с запросом к AcEdJig:: setUserInputControls () функция. Затем, это называет один из acquireXXX () функциями, чтобы получить геометрическое значение (угол, расстояние, или пункт{*точка*}). Функция всегда возвращает немедленно после опроса текущую позицию устройства управления позицией.
3 Ваша sampler() функция должна выяснить, если имеется любое изменение{*замена*} в геометрическом дискретном значении. Если не имеется никакого изменения{*замены*}, ваш sampler () функция должна возвратить kNoChange и возвращаться, чтобы шагнуть. Это позволит изображению{*образу*} завершать его последнюю{*прошлую*} модификацию на экране. Это особенно важно для изображений{*образов*}, содержащих кривые.
4, даже если геометрическое значение дискретный изменилось, ваш sampler() функция может возвращать kNoChange (так, чтобы изображение{*образ*} не было модифицировано) и возвращение, чтобы шагнуть.
Если дискретное значение изменилось, и изображение{*образ*} должно быть модифицировано, перейдите шагать.
5 dragger называет AcEdJig::update () функцией, используя приобретенное геометрическое значение, чтобы модифицировать объект.
6 dragger тогда называет AcEdJig::entity() функцией, проходящей в указателе, который будет установлен в адрес объекта, который будет восстановлен. Затем, dragger называет worldDraw () функцией на объекте, чтобы восстановить это.
7 Возвращения, чтобы шагнуть, если поток{*ток*} dragger случай не был сгенерирован, выбирая с устройством управления позицией, нажимая ОТМЕНУ, или издавая строковый символ завершения, чтобы закончить перемещение.
Следующая блок-схема показывает эти шаги.