ObjectARX, AutoCAD. Среда программирования библиотеки C++

       

Цикл перетаскивания


После того, как Вы установили подсказку дисплея для перетащенной последовательности, Вы звоните,  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 случай не был сгенерирован,  выбирая с устройством управления позицией, нажимая ОТМЕНУ, или издавая строковый символ завершения, чтобы закончить перемещение.

Следующая блок-схема показывает эти шаги.



Содержание раздела