ViewportDraw () Функция
Если drawable возвращает ложь от worldDraw () повторный вызов, это вызывает viewportDraw () однажды для каждой активной области просмотра, чтобы позволить drawable описывать его область просмотра-определенный дисплей. AcGiViewportDraw и AcGiViewportGeometry близко связаны с worldDraw () эквиваленты, потому что они происходят от тех же самых базовых классов.
ViewportDraw () функция работает подобным способом как worldDraw (). AcDbEntity:: viewportDraw () функция берет указатель на объект AcGiViewportDraw и формирует представление-определенное представление примитива. Область просмотра рисует объект, также обеспечивает доступ к другим объектам, которые включают следующее:
§ AcGiViewportGeometry
§ AcGiSubEntityTraits
§ AcGiViewport
Объект геометрии области просмотра обеспечивает тот же самый список примитивов как мировой объект геометрии и добавляет к этому следующие примитивы, которые используют глаз и координаты пространства дисплея, чтобы рисовать ломаные линии и многоугольники:
§ polylineEye ()
§ polygonEye ()
§ polylineDc ()
§ polygonDc ()
Объект черт подпримитива области просмотра - тот же самый, поскольку используемое миром рисует объект (AcGiSubEntityTraits). Объект области просмотра обеспечивает функции для запроса матриц преобразования области просмотра и рассмотрения параметров.
ПРЕДУПРЕЖДЕНИЕ! Указатель на объект AcGi типа AcGiWorldDraw или AcGiViewportDraw не должен быть сохранен как глобальная или статическая переменная. Не сохраните копии указателей на объекты AcGi поперек, вызывает к worldDraw () и viewportDraw (). Однажды это возвращение функций, указатели больше не имеют силу.