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

Двумерные соты (Tessellation)


Кривые и кривые поверхности должны быть мозаичным —, разбитым в линии и многоугольники —, чтобы быть отображенными. Градус{*степень*} двумерных сот определяет насколько точный отображенная кривая будет (как близко это приблизит математическую “истинную” кривую) и сколько работы наверху требовано, чтобы генерировать графику для кривой. Очень маленький круг может требовать только, чтобы единственный пиксел отобразил это. Большой круг может требовать сотен маленьких долей линии, которые будут рассчитаны и отображен, чтобы создать гладкое появление.

deviation() функции, обеспеченные AcGiWorldDraw и классами AcGiViewportDraw возвращают отклонение, которое является допустимым максимальным различием в мировом пространстве между истинной математической поверхностью и мозаичной поверхностью, как показано в следующем рисунке:

Обратитесь к этому значению, позволяет заказным примитивам настраивать их двумерные соты к энергии команды VIEWRES процент на опцию, которая установлена пользователем. Результат - то, что заказные примитивы являются мозаичными к относительно та же самая гладкость как встроенные примитивы.

deviation () функция возвращает предложенное максимальное отклонение в мировом пространстве, учитывая тип отклонения, чтобы вычислить и точку в мировом пространстве для перспективного масштабирования если требовано. Сигнатура для deviation() функция

virtual double

AcGiWorldDraw::deviation(

AcGiDeviationType

devType,

const AcGePoint3d&) const = 0;

Типы отклонения

§         kAcGiMaxDevForCircle (для кругов и дуг)

§         kAcGiMaxDevForCurve

§         kAcGiMaxDevForBoundary

§         kAcGiMaxDevForIsoline

§         kAcGiMaxDevForFacet (для поверхностей; формула для вычисления этого отклонения использует значение FACETRES переменной системы)



Содержание раздела