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



         

Пример высвечивание


Пример кода позже в этом разделе показывает, как высветить подпримитив.

Следующая процедура перечисляет основные шаги.

1 Получают GS маркер для выбранного примитива от набора выборов.

2 Передают GS маркер к классу примитива, который будет преобразован{*конвертирован*} к пути подпримитива, используя getSubentPathsAtGsMarker () функция. Определите тип подпримитива, вы заинтересованы (вершина, край, лицо).

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

 

Выбор Примитива

Для выбора, вы будете использовать комбинацию глобальных функций. Сначала, используйте acedSSGet () функция, чтобы получить набор выборов. Тогда, используйте acedSSNameX () функция, чтобы получить подпримитив GS маркер для выбранного примитива.

int acedSSGet(

const char *str,

const void *pt1,

const ads_point pt2,

const struct resbuf *entmask,

ads_name ss);

int acedSSNameX(

struct resbuf** rbpp,

const ads_name ss,

const longvi);

 

Преобразование GS Маркеры к Путям Подпримитива

Используйте getSubentPathsAtGsMarker () функция, чтобы получить подпримитив для GS маркера, возвращенного acedSSNameX () функция. Законченный синтаксис для этой функции

virtual Acad::ErrorStatus

AcDbEntity::getSubentPathsAtGsMarker(

AcDb::SubentType type,

int gsMark,

const AcGePoint3d& pickPoint,

const AcGeMatrix3d& viewXform,

int& numPaths,

AcDbFullSubentPath*& subentPaths

int numInserts = 0,

AcDbObjectId* entAndInsertStack = NULL) const;

Первый параметр к этой функции - тип подпримитива, вы заинтересованы (вершина, край, или лицо). В примере закодируют в “ Высвечивание{*увеличение яркости*} - tity, ” первый запрос к этой функции определяет kEdgeSubentType, потому что вы собираетесь высвечивать соответствующий край. Второй запрос к getSubentPathsAtGsMarker () функция определяет kFaceSubentType, потому что вы собираетесь высвечивать каждое лицо, связанное с выбранным подпримитивом.




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