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



         

Контекст примитива и координатное преобразовывание данных


AcedNEntSelP () функция подобна acedEntSel (), за исключением того, что это передает два дополнительных параметра результата, чтобы облегчить обработку примитивов, которые вложены в пределах блок-ссылок.

ОБРАТИТЕ ВНИМАНИЕ На другое различие между acedNEntSelP () и acedEntSel () - то, что, когда пользователь отвечает на acedNEntSelP () запрос,  выбирая сложный примитив, acedNEntSelP () возвращает выбранный подпримитив а не, заголовок сложного примитива как acedEntSel () делает. Например, когда пользователь выбирает ломаную линию, acedNEntSelP () возвращает подпримитив вершины вместо заголовка ломаной линии. Чтобы восстановить{*отыскивать*} заголовок ломаной линии, приложение должно использовать acdbEntNext () чтобы идти вперед к Seqend подпримитиву и получать имя заголовка от -2 группы Seqend подпримитива. Это истинно также, когда пользователь выбирает атрибуты во вложенной блок-ссылке и когда точка указки определена в acedNEntSelP () запрос.

Координатное Преобразование

Первый из дополнительных параметров, возвращенных acedNEntSelP () - 4x4 матрица преобразования типа ads_matrix. Эта матрица известна как Модель к Мировой Матрице преобразования. Это дает возможность приложению преобразовать точки в данные определения примитива (и расширенные{*продленные*} данные, если это присутствует) от образцовой системы координат примитива (MCS) в Мировую систему координат (WCS). MCS применяется{*обращается*} только к вложенным примитивам. Начало координат MCS - точка вставки блока, и его ориентация - таковой ВЕРХНИХ РЕГИСТРОВ, который был в действительности, когда блок был создан.

Если выбранный примитив - не,  вложенный примитив, матрица преобразования установлен в единичную матрицу. Преобразование выражено следующим матричным умножением:

Индивидуальные координаты преобразованной точки получены от уравнений, где М. mn - Модель к Мировой Матрице преобразования, координирует, (X, Y, Z) - точка данных определения примитива, выраженная в координатах MCS, и (X ’, Y ’, Z ’) - заканчивающаяся точка данных определения примитива, выраженная в координатах WCS. См. “ Матрицы Преобразования ” на странице 535.




Содержание  Назад  Вперед