AutoCAD называет worldDraw () и viewportDraw () функциями, чтобы отобразить объект. Вы должны осуществить worldDraw () функция для любого класса, полученного из AcDbEntity. ViewportDraw () функция необязательный.
virtual Adesk::Boolean
AcDbEntity::worldDraw( AcGiWorldDraw *pWd);
virtual void
AcDbEntity::viewportDraw( AcGiViewportDraw *pVd);
Всякий раз, когда AutoCAD должен восстановить графику, чтобы отобразить объект, worldDraw () и viewportDraw () функции называются следующим способом:
if (!entity->worldDraw(pWd))
for (each relevant viewport)
entity->viewportDraw(pVd);
WorldDraw() функция формирует часть из графического представления объекта, которое может быть определено независимо от любой частности modelspace представление{*вид*} или бумажно - пространственные контексты области просмотра. ViewportDraw () функция тогда формирует часть иждивенца представления из графики объекта. Если любая из графики объекта - иждивенец представления, worldDraw() функция должна возвратить kFalse и viewportDraw () функция должна быть осуществлена. Наоборот, если объект не имеет никакой графики иждивенца представления, то worldDraw() должна возвратить kTrue, и заказной объект не осуществляет ViewportDraw().
AcDbEntity:: worldDraw () функция берет указатель на объект AcGiWorldDraw. AcGiWorldDraw - контейнерный класс для AcGi геометрии и объектов черт. Определенно, AcGiWorldDraw содержит два других объекта:
§ AcGiWorldGeometry
§ AcGiSubEntityTraits
К объекту AcGiWorldGeometry можно обращаться изнутри worldDraw(), используя AcGiWorldDraw::geometry(), и объект AcGiSubEntityTraits можно обращаться, используя
AcGiWorldDraw:: subEntityTraits() функция. Векторы записей объекта AcGiWorldGeometry к AutoCAD освежают память, используя ее набор рисунка примитивов. Примитив - команда с самым низким уровнем Используемым, чтобы тянуть{*рисовать*} графические объекты. Объект для геометрии имеет следующие функции для рисунка примитивов во внешних мировых координатах: