ObjectARX, AutoCAD. Среда программирования библиотеки C++
Чтобы тянуть{*рисовать*} себя, каждый примитив делает запросы к графическим примитивам типа ломаных линий, кругов, и дуг, содержащихся в AcGi библиотеке. Любой класс, полученный из AcDbEntity может связывать систему графики (GS) маркер с векторами дисплея, которые это использует, чтобы тянуть{*рисовать*} себя. Каждый подкласс примитива управляет, где это вставляет его GS маркеры. Когда пользователь выбирает примитив, GS маркер используется, чтобы выделить, которая часть примитива была выбрана.
Solids полученный из AcDb3dSolid составлены из вершины, граней, и лиц.
Каждый из этих элементов может быть идентифицирован GS маркером. Создатель класса примитива решает, где GS маркеры должны быть вставлены, в зависимости от того, что является наиболее естественным для примитива. Поле, например, создает GS маркер для каждой строки, имел обыкновение тянуть{*рисовать*} поле. Цилиндр создает три GS маркеры — один для его вершины, основания, и вне лиц.
Примитив составлен из подпримитивов следующего типа: вершина, край, или лицо. В настоящее время, единственные примитивы, которые поддерживают подпримитивы - тела, области{*регионы*}, solids, и mlines. Используйте getSubentPathsAtGsMarker () функция, чтобы получить пути к подпримитивам, которые связаны с частностью GS маркер.
Больше чем один подпримитив могут быть связаны с одиночным маркером. В случае поля, например, маркер 4 идентифицирует более низкий передний край поля.
Если Вы просите о вершине, связанной с этим маркером, две вершина, которая формируется, оконечные точки этой строки возвращены. Если Вы просите о гранях, связанных с этим маркером, один примитив — строка — возвращен. Если Вы просите о лицах, связанных с этим маркером, данные для лицевой поверхности и нижней поверхности поля возвращены.