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


AcGi


AcGi API - интерфейс между AcDb и системы исполнения имели обыкновение отображать AcDb модели. Этот интерфейс используется функциями члена AcDbEntity worldDraw (), viewportDraw (), и saveAs (), которые являются частью стандартного протокола примитива.

Один метод создания приложения, способного к основному рассмотрению должен осуществить полностью AcGi API. Получите ваши собственные классы выполнения из классов AcGi, типа AcGiWorldDraw и AcGiWorldGeometry. Чтобы рисовать данный примитив, вызовите его worldDraw () функцией, затем пройдите в указателе на образец вашего AcGiWorldDraw-полученного класса. Вы тогда получите повторные вызовы в различных членов вашего класса. Функции члена - графические примитивы типа круга () и ломаной линии () функции. Их будут пропускать все необходимые параметры, необходимые, чтобы рисовать их. AcGi должен быть осуществлен ведущим приложением, желающим, чтобы использовать определенный графический символ, выполняющий логику, определенную примитивами. Преимущество использования AcGi состоит в том, что приложение главного компьютера не должно знать что - нибудь относительно того, как примитив предназначен, чтобы быть представленным вне установленного набора геометрических примитивов и графических черт, типа цвета, linetype, и текстового шрифта. AutoCAD имеет его собственное внутреннее выполнение AcGi, в то время как AcGix библиотека снабжала ObjectDBX, сломает многое из комплекса, выполняющего логику, указанную AcGi в относительно простой набор графических примитивов.

Некоторые методы AcGiWorldDraw - для целей запроса (deviation() и numberOfIsolines ()) и могут использоваться примитивом, чтобы определить степень, к которой различные примитивы будут “ мозаичны; ” другими словами, насколько “плотный” линии, составляющие сферу (например) были бы.

AcGiWorldDraw:: regenType () метод может использоваться, чтобы сообщить AcGi,является ли перегенеральный запрос для каркасов или лиц с нормалями. Например, это - от acgi.h file:

// Они - текущие виды режимов регенерации области просмотра.

// Этот режим не может быть установлен пользователем, но этом можно делать запрос в случае, если Вы должны брать различные действия для различных режимов регенерации.

//

//

typedef enum {

eAcGiRegenTypeInvalid = 0,

kAcGiStandardDisplay = 2,

kAcGiHideOrShadeCommand,

kAcGiRenderCommand,

kAcGiSaveWorldDrawForR12

} AcGiRegenType;

 

ОБРАТИТЕ ВНИМАНИЕ Для примеров использования интерфейса AcGi, см. типовой модуль в samples/common/myacgi.*.




Начало  Назад  Вперед



Книжный магазин