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

       

Средство управления Ввода Пользователя


Используйте следующую функцию, чтобы изменить средство управления ввода гипотетического пользователя:

void setUserInputControls(AcEdJig::UserInputControls uic);

 Ввод пользователя управляет помещенными ограничениями на перетащенную последовательность или тип приемлемого возвращаемого значения (например, не позволяя отрицательные ответы, не позволяя нулевой ответ, или,  ограничивая входное значение к двумерной координате).

Они также определяют, как различные действия пользователя затрагивают перетащенную последовательность.

Например, kAcceptMouseUpAsPoint определяет, что выпуск кнопки мыши указывает входное значение.

Средство управления ввода пользователя может быть одно из следующих значений:

§         kGovernedByOrthoMode

§         kNullResponseAccepted

§         kDontEchoCancelForCtrlC

§         kDontUpdateLastPoint

§         kNoDwgLimitsChecking

§         kNoZeroResponseAccepted

§         kNoNegativeResponseAccepted



§         kAccept3dCoordinates

§         kAcceptMouseUpAsPoint

§         kAnyBlankTerminatesInput

§         kInitialBlankTerminatesInput

Как только Вы установили список ключевого слова, тип курсора, и средство управления ввода пользователя, ваш sampler() функция должна вызвать одну из следующих функций AcEdJig, чтобы получить угол, расстояние, или точку:

DragStatus

AcEdJig::acquireAngle(double &ang);

DragStatus

AcEdJig::acquireAngle(

double &ang,

const AcGePoint3d &basePt);

DragStatus

AcEdJig::acquireDist(double &dist);

DragStatus

AcEdJig::acquireDist(

double &dist,

const AcGePoint3d &basePt);

DragStatus

AcEdJig::acquirePoint(AcGePoint3d &point);

DragStatus

AcEdJig::acquirePoint(

AcGePoint3d &point,

const AcGePoint3d &basePt);

После вызова sampler() функция, Вы можете исполнять любой дальнейший анализ на полученном геометрическом значении и перетаскивать состояние. Вы будете также хотеть кэшировать возвращаемое значение в статической переменной для доступа в вашей update() или entity() функции.

§         update() функция - типично, где Вы изменяете объект, обычно,  применяя преобразование к исходному объекту.

§         entity() функция возвращает указатель на объект, который будет восстановлен.



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