e1337e4016
docs/Kompas3D_SDK/ становится каноническим источником справки КОМПАС SDK и включается в репозиторий (2491 файл, ~14 МБ). HTML-зеркало docs/KOMPAS_SDK_ru-RU/ (~1.4 ГБ, © АСКОН) и генератор tools/build_kompas3d_sdk.py больше не нужны — регенерация не предполагается. - .gitignore: MD-база разблокирована; зеркало остаётся проигнорированным (safety-net на случай повторной локальной выгрузки). - CLAUDE.md / SKILL.md: убраны упоминания регенерации и зеркала. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1135 lines
44 KiB
Markdown
1135 lines
44 KiB
Markdown
---
|
||
title: "OpenGL"
|
||
type: interface
|
||
api: [api7]
|
||
tags: [interface, api7, ba1848735]
|
||
sources:
|
||
- ba1848735.html
|
||
- iexternalgdiobject.html
|
||
- iexternaltessellationmanager.html
|
||
- iexternaltessellationobject.html
|
||
- igabaritobject.html
|
||
- ksglobject.html
|
||
- ipaintobject.html
|
||
---
|
||
|
||
*API интерфейсов. Версия 7 > Документ > Окна документа *
|
||
|
||
|
||
|
||
|
||
## Интерфейс IExternalGDIObject
|
||
|
||
Интерфейс внешнего GDI- объекта.
|
||
Иерархия:
|
||
IKompasAPIObject
|
||
IExternalGDIObject
|
||
Примечание:
|
||
1. Интерфейс позволяет реализовать отрисовку внешних GDI- объектов (для V11 только текстов).
|
||
2. Управление интерфейсом (создание и удаление) осуществляется через менеджер IExternalTessellationManager.
|
||
|
||
|
||
## AlwaysDrawInScreenPlane - Способ преобразования координат внешней триангуляции
|
||
|
||
Тип данных: из перечисления ksDrawInScreenPlaneEnum
|
||
Синтаксис Automation:
|
||
```
|
||
AlwaysDrawInScreenPlane = Object.AlwaysDrawInScreenPlane Получить свойство (* )
|
||
Object.AlwaysDrawInScreenPlane = AlwaysDrawInScreenPlane Установить свойство (* )
|
||
AlwaysDrawInScreenPlane = Object.GetAlwaysDrawInScreenPlane() Получить свойство (**)
|
||
Object.SetAlwaysDrawInScreenPlane( AlwaysDrawInScreenPlane ) Установить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_AlwaysDrawInScreenPlane( &AlwaysDrawInScreenPlane ) Получить свойство
|
||
Object.put_AlwaysDrawInScreenPlane( AlwaysDrawInScreenPlane ) Установить свойство
|
||
```
|
||
|
||
|
||
## Delete - Удалить объект
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL Delete( );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT Delete( BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успеха,
|
||
FALSE - в случае неудачи.
|
||
```
|
||
Примечание:
|
||
1. Перед удалением объекта нужно выключить видимость объекта в окнах документа.
|
||
2. Для удаления группы объектов используется функция IExternalTessellationManager::DeleteObjects.
|
||
3. Для удаления всех внешних объектов используется метод IExternalTessellationManager::Clear.
|
||
|
||
|
||
## NonScalableX - Не масштабировать по X
|
||
|
||
Тип данных: BOOL
|
||
Синтаксис Automation:
|
||
```
|
||
NonScalableX = Object.NonScalableX Получить свойство (* )
|
||
Object.NonScalableX = NonScalableX Установить свойство (* )
|
||
NonScalableX = Object.GetNonScalableX() Получить свойство (**)
|
||
Object.SetNonScalableX( NonScalableX ) Установить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_NonScalableX( &NonScalableX ) Получить свойство
|
||
Object.put_NonScalableX( NonScalableX ) Установить свойство
|
||
```
|
||
|
||
|
||
## NonScalableY - Не масштабировать по Y
|
||
|
||
Тип данных: BOOL
|
||
Синтаксис Automation:
|
||
```
|
||
NonScalableY = Object.NonScalableY Получить свойство (* )
|
||
Object.NonScalableY = NonScalableY Установить свойство (* )
|
||
NonScalableY = Object.GetNonScalableY() Получить свойство (**)
|
||
Object.SetNonScalableY( NonScalableY ) Установить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_NonScalableY( &NonScalableY ) Получить свойство
|
||
Object.put_NonScalableY( NonScalableY ) Установить свойство
|
||
```
|
||
|
||
|
||
## NonScalableZ - Не масштабировать по Z
|
||
|
||
Тип данных: BOOL
|
||
Синтаксис Automation:
|
||
```
|
||
NonScalableZ = Object.NonScalableZ Получить свойство (* )
|
||
Object.NonScalableZ = NonScalableZ Установить свойство (* )
|
||
NonScalableZ = Object.GetNonScalableZ() Получить свойство (**)
|
||
Object.SetNonScalableZ( NonScalableZ ) Установить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_NonScalableZ( &NonScalableZ ) Получить свойство
|
||
Object.put_NonScalableZ( NonScalableZ ) Установить свойство
|
||
```
|
||
|
||
|
||
## ObjectID - Идентификатор объекта
|
||
|
||
Тип данных: long
|
||
Синтаксис Automation:
|
||
```
|
||
ObjectID = Object.ObjectID Получить свойство (* )
|
||
ObjectID = Object.GetObjectID() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_ObjectID( &ObjectID ) Получить свойство
|
||
```
|
||
Примечание:
|
||
1. Позволяет получить идентификатор объекта. По идентификатору объекта осуществляется установка видимости и удаление объектов.
|
||
2. Свойство доступно только для чтения.
|
||
|
||
|
||
## ScalableText - Признак масштабирования текста
|
||
|
||
Тип данных: BOOL
|
||
Синтаксис Automation:
|
||
```
|
||
ScalableText = Object.ScalableText Получить свойство (* )
|
||
Object.ScalableText = ScalableText Установить свойство (* )
|
||
ScalableText = Object.GetScalableText() Получить свойство (**)
|
||
Object.SetScalableText( ScalableText ) Установить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_ScalableText( &ScalableText ) Получить свойство
|
||
Object.put_ScalableText( ScalableText ) Установить свойство
|
||
```
|
||
|
||
|
||
## SetBkColors - Установить цвета фона текстов с Alpha каналом
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL SetBkColors( VARIANT BkColors );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT SetBkColors( VARIANT BkColors, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успеха,
|
||
FALSE - в случае ошибки.
|
||
Входные параметры:
|
||
BkColors - массив SafeArray VT_ARRAY VT_I4.
|
||
```
|
||
|
||
|
||
## SetPlace - Установить матрицу для отрисовки объекта
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL SetPlace( VARIANT Place );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT SetPlace( VARIANT Place, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успеха,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
Place - массив SAFEARRAY double (VT_ARRAY VT_R8).
|
||
```
|
||
|
||
|
||
## SetTextColors - Установить цвета текстов
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL SetTextColors( VARIANT textColors );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT SetTextColors( VARIANT textColors, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
textColors - массив цветов - SafeArray целых чисел VT_ARRAY VT_I4.
|
||
```
|
||
|
||
|
||
## SetTextOrientation - Установить наклон символов текстов
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL SetTextOrientation( VARIANT textOrients );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT SetTextOrientation( VARIANT textOrients, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
textOrients - массив наклонов.
|
||
```
|
||
|
||
|
||
## SetTexts - Установить тексты и их параметры
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL SetTexts( VARIANT Texts,
|
||
VARIANT Points,
|
||
VARIANT Colors,
|
||
VARIANT Fonts,
|
||
BOOL Is3DPoints );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT SetTexts( VARIANT Texts,
|
||
VARIANT Points,
|
||
VARIANT Colors,
|
||
VARIANT Fonts,
|
||
BOOL Is3DPoints,
|
||
BOOL * Result );
|
||
Входные параметры:
|
||
Points - массив SafeArray VT_ARRAY VT_R8 координат точек отрисовки текстов. Координаты в массиве могут лежать в последовательности: - для Is3DPoints == TRUE x0, y0, z0, x1, y1, z1, ... xi, yi, zi - для Is3DPoints == FALSE x0, y0, x1, y1, ... xi, yi,
|
||
Texts - массив SafeArray VT_ARRAY VT_BSTR текстов,
|
||
Сolors - массив цветов текстов. Массив может быть не задан - тип VARIANT-а VT_EMPTY, в этом случае используется черный цвет. Может быть задан один цвет - тип VARIANT-а VT_I4. Может быть задан цвет для каждого текста тип VARIANT-а VT_ARRAY VT_I4,
|
||
Fonts - массив шрифтов текстов. Массив может быть не задан - тип VARIANT-а VT_EMPTY. В этом случае используется шрифт, установленный в модели. Может быть задан один шрифт - тип VARIANT-а VT_DISPATCH. Может быть задан шрифт для каждого текста тип VARIANT-а VT_ARRAY VT_DISPATCH. Передаваемый интерфейс - интерфейс IFontDispPtr, который можно получить от объекта MFC- класса CFontHolder,
|
||
Is3DPoints - признак использования 3D-координат отрисовки текстов.
|
||
Возвращаемое значение:
|
||
TRUE - в случае успеха,
|
||
FALSE - в случае неудачи.
|
||
```
|
||
|
||
|
||
## SetTextsAlign - Установить выравнивание текста
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL SetTextsAlign( VARIANT TextsAlign );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT SetTextsAlign( VARIANT TextsAlign, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успеха,
|
||
FALSE - в случае ошибки.
|
||
Входные параметры:
|
||
TextsAlign - массив SafeArray VT_ARRAY VT_I4 констант из перечисления ksTextAlignEnum.
|
||
```
|
||
|
||
|
||
## Visible - Показать\скрыть объект
|
||
|
||
Тип данных: BOOL
|
||
Синтаксис Automation:
|
||
```
|
||
Object.Visible( frame ) = Visible Установить свойство (* )
|
||
Object.SetVisible( frame, Visible ) Установить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.put_Visible( frame, Visible ) Установить свойство,
|
||
Входные параметры:
|
||
frame - указатель на интерфейс окна документа IDocumentFrame.
|
||
```
|
||
Примечание:
|
||
1. Позволяет изменить видимость объекта в заданном окне.
|
||
2. Если frame == NULL, то объект будет отображаться во всех окнах документа.
|
||
3. Свойство доступно только для изменения.
|
||
|
||
|
||
## Интерфейс IExternalTessellationManager
|
||
|
||
Менеджер объектов с внешней триангуляцией.
|
||
| IExternalTessellationManager | - интерфейс Automation |
|
||
| --- | --- |
|
||
Описание:
|
||
Дополнительный интерфейс для IKompasDocument3D.
|
||
Данный интерфейс можно получить у интерфейса IKompasDocument3D посредством вызова метода IUnknown::QueryInterface (const GUID far& IID, void** pif).
|
||
Примечание:
|
||
Позволяет создавать объекты с внешней триангуляцией, отрисовываемые треугольниками и ребрами.
|
||
|
||
|
||
## Add - Добавить объект с внешней триангуляцией
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH Add();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT Add( IExternalTessellationObject ** PVal );
|
||
Возвращаемое значение:
|
||
- Указатель на интерфейс объекта с внешней триангуляцией IExternalTessellationObject.
|
||
```
|
||
|
||
|
||
## AddGDIObject - Добавить внешний GDI-объект
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH AddGDIObject();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT AddGDIObject( IExternalGDIObject ** PVal );
|
||
Возвращаемое значение:
|
||
- Указатель на интерфейс внешнего GDI- объекта IExternalGDIObject.
|
||
```
|
||
|
||
|
||
## Clear - Удалить все объекты
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL Clear();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT Clear( BOOL * res );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения.
|
||
```
|
||
|
||
|
||
## CreateTextureImage - Создать изображение текстуры
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
long CreateTextureImage ( long Width, long Heigh,
|
||
BOOL RGBA,
|
||
BOOL WrapMode,
|
||
BOOL FiltMode,
|
||
VARIANT ImageData );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT CreateTextureImage ( long Width, long Heigh,
|
||
BOOL RGBA,
|
||
BOOL WrapMode,
|
||
BOOL FiltMode,
|
||
VARIANT ImageData,
|
||
long * Result );
|
||
Входные параметры:
|
||
Width, Heigh - Размер изображения,
|
||
RGBA - TRUE - RGBA, FALSE - RGB,
|
||
WrapMode - Режим повторения TRUE - GL_CLAMP FALSE - GL_REPEAT,
|
||
FiltMode - Режим повторения TRUE - GL_LINEAR FALSE - GL_NEAREST,
|
||
ImageData Массив байтов изображения текстуры VT_ARRAY VT_UI1.
|
||
Возвращаемое значение:
|
||
- Идентификатор текстуры.
|
||
Возвращаемое значение:
|
||
TRUE - в случае удачи,
|
||
FALSE - в случае ошибки.
|
||
```
|
||
Примечание:
|
||
Созданная текстура используется в методе IExternalTessellationObj::SelectTextureImage.
|
||
|
||
|
||
## DeleteObjects - Удалить объекты
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL DeleteObjects();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT DeleteObjects( VARIANT Id, BOOL * res );
|
||
Входные параметры:
|
||
Ids - Идентификаторы объектов тип VARIANT. Можно передать один идентификатор тип VARIANT-а VT_I4 или массив SafeArray идентификаторов тип VARIANT-а VT_ARRAY VT_I4.
|
||
Возвращаемое значение:
|
||
TRUE - в случае успеха,
|
||
FALSE - в случае неудачи.
|
||
```
|
||
|
||
|
||
## DeleteTextureImage - Удалить изображение текстуры
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL DeleteTextureImage( long TexImgId );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT DeleteTextureImage( long TexImgId, BOOL * Result );
|
||
Входные параметры:
|
||
TexImgId - идентификатор текстуры.
|
||
Возвращаемое значение:
|
||
TRUE - в случае успеха,
|
||
FALSE - в случае неудачи.
|
||
```
|
||
|
||
|
||
## DisableModelDrawing - Запретить отрисовку модели для указанных элементов
|
||
|
||
Синтаксис Automation
|
||
```
|
||
BOOL DisableModelDrawing( long ForElements );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT DisableModelDrawing( long ForElements, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
ForElements - типы объектов ksModelDrawingElementsEnum.
|
||
```
|
||
|
||
|
||
## DisableModelRotation - Запретить поворот модели и изменение ориентации вида
|
||
|
||
Тип данных: BOOL
|
||
Синтаксис Automation:
|
||
```
|
||
DisableModelRotation = Object.DisableModelRotation Получить свойство (* )
|
||
Object.DisableModelRotation = DisableModelRotation Установить свойство (* )
|
||
DisableModelRotation = Object.GetDisableModelRotation() Получить свойство (**)
|
||
Object.SetDisableModelRotation( DisableModelRotation ) Установить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_DisableModelRotation( &DisableModelRotation ) Получить свойство
|
||
Object.put_DisableModelRotation( DisableModelRotation ) Установить свойство
|
||
```
|
||
|
||
|
||
## EnableModelDrawing - Отменить последний запрет на отрисовку элементов модели
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL EnableModelDrawing();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT EnableModelDrawing( BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
```
|
||
|
||
|
||
## GDIObject - Получить внешний GDI объект
|
||
|
||
Тип данных: BOOL
|
||
Синтаксис Automation:
|
||
```
|
||
GDIObject = Object.GDIObject( Id ) Получить свойство (* )
|
||
GDIObject = Object.GetGDIObject( Id ) Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_GDIObject( Ids, &GDIObject ) Получить свойство
|
||
Входные параметры:
|
||
Id - идентификатор объекта.
|
||
```
|
||
|
||
|
||
## IsModelDrawingEnabled - Проверить, разрешена ли отрисовка для указанных элементов
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL IsModelDrawingEnabled( long ForElements );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT IsModelDrawingEnabled( long ForElements, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - если отрисовка разрешена.
|
||
Входные параметры:
|
||
ForElements - типы объектов ksModelDrawingElementsEnum.
|
||
```
|
||
|
||
|
||
## ObjectsVisible - Показать\скрыть объекты
|
||
|
||
Тип данных: BOOL
|
||
Синтаксис Automation:
|
||
```
|
||
Object.ObjectsVisible( Ids, frame ) = Visible Установить свойство (* )
|
||
Object.SetObjectsVisible( Ids, frame, Visible ) Установить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.put_ObjectsVisible( Ids, frame, Visible ) Установить свойство
|
||
Входные параметры:
|
||
Ids - Идентификаторы объектов тип VARIANT. Можно передать один идентификатор тип VARIANT-а VT_I4 или массив SafeArray идентификаторов тип VARIANT-а VT_ARRAY VT_I4
|
||
frame - указатель на интерфейс окна документа IDocumentFrame.
|
||
```
|
||
Примечание:
|
||
1. Позволяет изменить видимость объектов в заданном окне. Если frame == NULL, то объект будет отображаться во всех окнах документа.
|
||
2. Свойство доступно только для изменения.
|
||
|
||
|
||
## PickObjects - Собрать объекты по лучу
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL PickObjects( LPDISPATCH Frame, VARIANT PickRay, BOOL Visible, VARIANT * PickedObjs, VARIANT * PickedPars );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT PickObjects( IDocumentFrame * Frame, VARIANT PickRay, BOOL Visible, VARIANT * PickedObjs, VARIANT * PickedPars, BOOL * Result) ;
|
||
Входные параметры:
|
||
Frame - Указатель на интерфейс окна документа IDocumentFrame,
|
||
PickRay - Параметры луча ( VT_ARRAY VT_R8 ), массив из шести элементов (Точка начала луча и единичный вектор задающий направление луча),
|
||
Visible - Признак учета видимых объектов: TRUE - пересекать только с видимыми объектами, FALSE - со всеми объектами.
|
||
Выходные параметры:
|
||
PickedObjs - Идентификаторы найденных внешних объектов триангуляции (VT_ARRAY VT_UI4),
|
||
PickedPars - Параметры луча в точке пересечения с объектами (VT_ARRAY VT_R4).
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
```
|
||
|
||
|
||
## TessellationObject - Получить объект по идентификатору
|
||
|
||
Тип данных: BOOL
|
||
Синтаксис Automation:
|
||
```
|
||
TessellationObject = Object.TessellationObject( Id ) Получить свойство (* )
|
||
TessellationObject = Object.GetTessellationObject( Id ) Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_TessellationObject( Ids, &TessellationObject ) Получить свойство
|
||
Входные параметры:
|
||
Id - идентификатор объекта.
|
||
```
|
||
|
||
|
||
## Интерфейс IExternalTessellationObject
|
||
|
||
Интерфейс объекта с внешней триангуляцией.
|
||
| IExternalTessellationObject | - интерфейс Automation |
|
||
| --- | --- |
|
||
Примечание:
|
||
Интерфейс позволяет реализовать отрисовку внешних объектов с триангуляцией.
|
||
|
||
|
||
## AlwaysDrawInScreenPlane - Способ преобразования координат внешней триангуляции
|
||
|
||
Тип данных: из перечисления ksDrawInScreenPlaneEnum
|
||
Синтаксис Automation:
|
||
```
|
||
AlwaysDrawInScreenPlane = Object.AlwaysDrawInScreenPlane Получить свойство (* )
|
||
Object.AlwaysDrawInScreenPlane = AlwaysDrawInScreenPlane Установить свойство (* )
|
||
AlwaysDrawInScreenPlane = Object.GetAlwaysDrawInScreenPlane() Получить свойство (**)
|
||
Object.SetAlwaysDrawInScreenPlane( AlwaysDrawInScreenPlane ) Установить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_AlwaysDrawInScreenPlane(&AlwaysDrawInScreenPlane ) Получить свойство
|
||
Object.put_AlwaysDrawInScreenPlane( AlwaysDrawInScreenPlane ) Установить свойство
|
||
```
|
||
|
||
|
||
## Delete - Удалить объект
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL Delete( );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT Delete( BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успеха,
|
||
FALSE - в случае неудачи.
|
||
```
|
||
Примечание:
|
||
1. Перед удалением объекта нужно выключить видимость объекта в окнах документа.
|
||
2. Для удаления группы объектов используется метод IExternalTessellationManager::DeleteObjects. Для удаления всех внешних объектов используется метод IExternalTessellationManager::Clear.
|
||
|
||
|
||
## DisableDepthTest - Запрет проверки глубины
|
||
|
||
Тип данных: BOOL
|
||
Синтаксис Automation:
|
||
```
|
||
DisableDepthTest = Object.DisableDepthTest Получить свойство (* )
|
||
Object.DisableDepthTest = DisableDepthTest Установить свойство (* )
|
||
DisableDepthTest = Object.GetDisableDepthTest() Получить свойство (**)
|
||
Object.SetDisableDepthTest( DisableDepthTest ) Установить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_DisableDepthTest(&DisableDepthTest ) Получить свойство
|
||
Object.put_DisableDepthTest( DisableDepthTest ) Установить свойство
|
||
Свойство позволяет устанавливать и получать признак запрета глубины.
|
||
```
|
||
|
||
|
||
## NonGeometry - Не геометрический
|
||
|
||
Тип данных: BOOL
|
||
Синтаксис Automation:
|
||
```
|
||
NonGeometry = Object.NonGeometry Получить свойство (* )
|
||
Object.NonGeometry = NonGeometry Установить свойство (* )
|
||
NonGeometry = Object.GetNonGeometry() Получить свойство (**)
|
||
Object.SetNonGeometry( NonGeometry ) Установить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_AlwaysDrawInScreenPlane(&AlwaysDrawInScreenPlane ) Получить свойство
|
||
Object.put_AlwaysDrawInScreenPlane( AlwaysDrawInScreenPlane ) Установить свойство
|
||
```
|
||
|
||
|
||
## NonPickable - Не выбираемый
|
||
|
||
Тип данных: BOOL
|
||
Синтаксис Automation:
|
||
```
|
||
NonPickable = Object.NonPickable Получить свойство (* )
|
||
Object.NonPickable = NonPickable Установить свойство (* )
|
||
NonPickable = Object.GetNonPickable() Получить свойство (**)
|
||
Object.SetNonPickable( NonPickable ) Установить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_NonPickable(&NonPickable ) Получить свойство
|
||
Object.put_NonPickable( NonPickable ) Установить свойство
|
||
```
|
||
|
||
|
||
## NonScalableX - Не масштабировать по X
|
||
|
||
Тип данных: BOOL
|
||
Синтаксис Automation:
|
||
```
|
||
NonScalableX = Object.NonScalableX Получить свойство (* )
|
||
Object.NonScalableX = NonScalableX Установить свойство (* )
|
||
NonScalableX = Object.GetNonScalableX() Получить свойство (**)
|
||
Object.SetNonScalableX( NonScalableX ) Установить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_NonScalableX(&NonScalableX ) Получить свойство
|
||
Object.put_NonScalableX( NonScalableX ) Установить свойство
|
||
```
|
||
|
||
|
||
## NonScalableY - Не масштабировать по Y
|
||
|
||
Тип данных: BOOL
|
||
Синтаксис Automation:
|
||
```
|
||
NonScalableY = Object.NonScalableY Получить свойство (* )
|
||
Object.NonScalableY = NonScalableY Установить свойство (* )
|
||
NonScalableY = Object.GetNonScalableY() Получить свойство (**)
|
||
Object.SetNonScalableY( NonScalableY ) Установить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_NonScalableY(&NonScalableY ) Получить свойство
|
||
Object.put_NonScalableY( NonScalableY ) Установить свойство
|
||
```
|
||
|
||
|
||
## NonScalableZ - Не масштабировать по Z
|
||
|
||
Тип данных: BOOL
|
||
Синтаксис Automation:
|
||
```
|
||
NonScalableZ = Object.NonScalableZ Получить свойство (* )
|
||
Object.NonScalableZ = NonScalableZ Установить свойство (* )
|
||
NonScalableZ = Object.GetNonScalableZ() Получить свойство (**)
|
||
Object.SetNonScalableZ( NonScalableZ ) Установить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_NonScalableZ(&NonScalableZ ) Получить свойство
|
||
Object.put_NonScalableZ( NonScalableZ ) Установить свойство
|
||
```
|
||
|
||
|
||
## ObjectID - Идентификатор объекта
|
||
|
||
Тип данных:long
|
||
Синтаксис Automation:
|
||
```
|
||
ObjectID = Object.ObjectID Получить свойство (* )
|
||
ObjectID = Object.GetObjectID() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_ObjectID( &ObjectID ) Получить свойство
|
||
```
|
||
Примечание:
|
||
1. Позволяет получить идентификатор объекта. По идентификатору объекта осуществляется установка видимости и удаление объектов.
|
||
2. Свойство доступно только для чтения.
|
||
|
||
|
||
## SelectTextureImage - Задать изображение текстуры по идентификатору
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL SelectTextureImage( long TexImgId );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT SelectTextureImage( long TexImgId, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае удачи,
|
||
FALSE - в случае ошибки.
|
||
```
|
||
Примечание:
|
||
Метод позволяет установить для объекта текстуру, созданную функцией IExternalTessellationManager::CreateTextureImage.
|
||
|
||
|
||
## SetAdvancedColor - Установить параметры цвета объекта
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL SetAdvancedColor (long color,
|
||
double ambient,
|
||
double diffuse,
|
||
double specularity,
|
||
double shininess,
|
||
double transparency,
|
||
double emission);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT SetAdvancedColor (COLORREF color,
|
||
double ambient,
|
||
double diffuse,
|
||
double specularity,
|
||
double shininess,
|
||
double transparency,
|
||
double emission,
|
||
BOOL * result);
|
||
Входные параметры:
|
||
color - цвет,
|
||
ambient - общий свет,
|
||
diffuse - диффузия,
|
||
specularity - зеркальность,
|
||
shininess - блеск,
|
||
transparency - прозрачность,
|
||
emission - излучение.
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения.
|
||
```
|
||
|
||
|
||
## SetEdgeColors - Установить цвет ребрам сетки
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL SetEdgeColors( VARIANT Colors );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT SetEdgeColors( VARIANT Colors, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения.
|
||
Входные параметры:
|
||
Colors - безопасный массив цветов.
|
||
```
|
||
|
||
|
||
## SetEdges - Установить ребра сетки
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL SetEdges( VARIANT points,
|
||
VARIANT edges,
|
||
VARIANT colors );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT SetEdges( VARIANT points,
|
||
VARIANT edges,
|
||
VARIANT colors,
|
||
BOOL * res );
|
||
Входные параметры:
|
||
points - массив SafeArray VT_ARRAY VT_R8 координат вершин. Если массив координат уже задан функцией SetTessellation, то нужно передать пустой Variant VT_ARRAY VT_R8,
|
||
edges - массив SafeArray типа VT_ARRAY VT_I4 индексов координат вершин,
|
||
colors - массив цветов. Массив может быть не задан - тип VARIANT-а VT_EMPTY. В этом случае используется цвет, заданный функцией SetAdvancedColor. Может быть задан один цвет - тип VARIANT-а VT_I4. Может быть задан цвет для каждой точки - тип VARIANT-а VT_ARRAY VT_I4.
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения.
|
||
```
|
||
Примечание:
|
||
1. Массив ребер может содержать одно или несколько ребер. Каждое ребро может иметь две или более вершины.
|
||
2. Для описания ребер используется последовательность:
|
||
[ [count0, i00, i01, ...] - первое ребро
|
||
[count1, i10, i11, ...] - второе ребро
|
||
...
|
||
[counti, ii0, ii1, ...]] - i-тое ребро,
|
||
где count0, count1, counti - количество вершин в ребре, i00, i01, i10, i11, ii0, ii1 - индексы координат точек из массива points.
|
||
|
||
|
||
## SetEdgeStyles - Установить стили рёбер сетки
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL SetEdgeStyles( VARIANT Styles );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT SetEdgeStyles( VARIANT Styles, BOOL * Result );
|
||
Входные параметры:
|
||
Styles - массив VT_ARRAY VT_I4 стилей ребер.
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
```
|
||
|
||
|
||
## SetEdgeWidths - Установить толщины ребер сетки
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL SetEdgeWidths( VARIANT Widths );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT SetEdgeWidths( VARIANT Widths, BOOL * Result );
|
||
Входные параметры:
|
||
Widths - массив VT_ARRAY VT_R8 значений толщины ребер.
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
```
|
||
|
||
|
||
## SetFacetMode - Установить режим отображения граней
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL SetFacetMode( BOOL SideMode,
|
||
ksFacetCullingMode CullingMode );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT SetFacetMode( BOOL SideMode,
|
||
ksFacetCullingMode CullingMode, BOOL * Res );
|
||
Входные параметры:
|
||
SideMode - TRUE - объект является двусторонним, - FALSE - объект является односторонним,
|
||
CullingMode - режим отображения граней ksFacetCullingMode.
|
||
Возвращаемое значение:
|
||
TRUE - в случае удачи.
|
||
```
|
||
|
||
|
||
## SetPlaces - Установить матрицы для отрисовки объекта
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL SetPlaces( VARIANT places );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT SetPlaces( VARIANT places, BOOL * res );
|
||
Входные параметры:
|
||
places - массив SafeArray типа VT_ARRAY VT_R8. В массиве может быть передана одна или несколько матриц размером 4*4. Если передано несколько матриц, объект будет отрисован столько раз, сколько передано матриц. Используется для многократной отрисовки одинаковых объектов. Матрицы передаются в виде одномерного массива.
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения.
|
||
```
|
||
|
||
|
||
## SetTessellation - Установить параметры триангуляции
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL SetTessellation( VARIANT points,
|
||
VARIANT indexes,
|
||
VARIANT normals,
|
||
VARIANT colors );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT SetTessellation( VARIANT points,
|
||
VARIANT indexes,
|
||
VARIANT normals,
|
||
VARIANT colors,
|
||
BOOL * Result );
|
||
Входные параметры:
|
||
points - массив SafeArray VT_ARRAY VT_R8 координат точек триангуляционной сетки; координаты в массиве лежат в последовательности x0, y0, z0, x1, y1, z1, ... xi, yi, zi,
|
||
indexes - массив SafeArray VT_ARRAY VT_I4 индексов вершин треугольников; по индексу из массива indexes достаются координаты вершин из массива points,
|
||
normals - массив SafeArray VT_ARRAY VT_R8 единичных векторов нормалей для вершин. Если направление нормалей во всех вершинах совпадают, можно добавить направление только одной нормали. Иначе количество нормалей должно быть равно количеству точек в массиве points,
|
||
colors - массив цветов в точках. Массив может быть не задан - тип VARIANT-а VT_EMPTY. В этом случае используется цвет, заданный функцией SetAdvancedColor. Может быть задан один цвет - тип VARIANT-а VT_I4. Может быть задан цвет для каждой точки - тип VARIANT-а VT_ARRAY VT_I4.
|
||
```
|
||
|
||
|
||
## SetTextureImage - Установить изображение текстуры
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL SetTextureImage( long Width,
|
||
long Heigh,
|
||
BOOL RGBA,
|
||
BOOL WrapMode,
|
||
BOOL FiltMode,
|
||
VARIANT ImageData );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT SetTextureImage( long Width,
|
||
long Heigh,
|
||
BOOL RGBA,
|
||
BOOL WrapMode,
|
||
BOOL FiltMode,
|
||
VARIANT ImageData,
|
||
BOOL * Res );
|
||
Входные параметры:
|
||
Width, Heigh - размер изображения, являющегося элементом текстуры; Рекомендуется использовать изображения, значения размеров которых являются целой положительной степенью числа 2; в противном случае, объекты будут неправильно выведены на печать и конвертированы в растр,
|
||
RGBA - TRUE - RGBA, - FALSE - RGB,
|
||
WrapMode режим повторения: - TRUE - GL_CLAMP, - FALSE - GL_REPEAT,
|
||
FiltMode режим фильтрации: - TRUE - GL_LINEAR, - FALSE - GL_NEAREST,
|
||
ImageData - массив байтов изображения текстуры VT_ARRAY VT_UI1.
|
||
Возвращаемое значение:
|
||
TRUE - в случае удачи.
|
||
```
|
||
|
||
|
||
## SetTexturePoints - Установить координаты вывода текстуры
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL SetTexturePoints( BOOL Image2D, VARIANT ImagePoints );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT SetTexturePoints( BOOL Image2D, VARIANT ImagePoints, BOOL * Res );
|
||
Входные параметры:
|
||
Image2D - TRUE - двумерные координаты, - FALSE - одномерные координаты,
|
||
ImagePoints - Координаты в диапазоне 0...1.
|
||
Возвращаемое значение:
|
||
TRUE - в случае удачи.
|
||
```
|
||
|
||
|
||
## Visible - Идентификатор объекта
|
||
|
||
Тип данных: BOOL
|
||
Синтаксис Automation:
|
||
```
|
||
Object.Visible( frame ) = Visible Установить свойство (* )
|
||
Object.SetVisible( frame, Visible ) Установить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.put_Visible( frame, Visible ) Установить свойство
|
||
Входные параметры:
|
||
frame - указатель на интерфейс окна документа IDocumentFrame.
|
||
```
|
||
Примечание:
|
||
1. Позволяет изменить видимость объекта в заданном окне. Если frame == NULL, то объект будет отображаться во всех окнах документа.
|
||
2. Свойство доступно только для изменения.
|
||
|
||
|
||
## Интерфейс IGabaritObject
|
||
|
||
Вспомогательные данные для изменения габарита документа.
|
||
Иерархия:
|
||
IDispatch
|
||
IGabaritObject
|
||
Примечание:
|
||
Данный интерфейс может быть получен в событиях интерфейса событий окна документа ksDocumentFrameNotify, ksDocumentFrameNotify::AddGabarit.
|
||
|
||
|
||
## AddGabarit - Добавить дополнительный габарит к габариту документа
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
void AddGabarit (double x1,
|
||
double y1,
|
||
double z1,
|
||
double x2,
|
||
double y2,
|
||
double z2);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT AddGabarit ([in]double x1,
|
||
[in]double y1,
|
||
[in]double z1,
|
||
[in]double x2,
|
||
[in]double y2,
|
||
[in]double z2);
|
||
Выходные параметры:
|
||
x1, y1, z1, x2, y2, z2 - координаты габаритной рамки добавляемого дополнительного габарита.
|
||
```
|
||
|
||
|
||
## GetCurrentGabarit - Получить текущий габарит документа
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
void GetCurrentGabarit (long nPage,
|
||
double* p1X,
|
||
double* p1Y,
|
||
double* p1Z,
|
||
double* p2X,
|
||
double* p2Y,
|
||
double* p2Z);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetCurrentGabarit ([in]long nPage,
|
||
[out]double *p1X,
|
||
[out]double *p1Y,
|
||
[out]double *p1Z,
|
||
[out]double *p2X,
|
||
[out]double *p2Y,
|
||
[out]double *p2Z )
|
||
Входные параметры:
|
||
nPage - номер листа, начиная с единицы.
|
||
Выходные параметры:
|
||
p1X, p1Y, p1Z, p2X, p2Y, p2Z - координаты габаритной рамки документа.
|
||
```
|
||
Примечание:
|
||
Метод позволяет получить текущий габарит документа в миллиметрах. Для многолистовых документов можно получить габарит конкретного листа.
|
||
|
||
|
||
## GetGabaritModifying - Изменился ли габарит документа
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL GetGabaritModifying();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetGabaritModifying ([out, retval]VARIANT_BOOL * DocGabaritModify);
|
||
Возвращаемое значение:
|
||
TRUE - габарит документа изменен,
|
||
FALSE - габарит документа не изменен.
|
||
```
|
||
Примечание:
|
||
В момент отработки события Определение габаритов документа метод позволяет узнать менялся ли габарит документа или нет.
|
||
|
||
|
||
## Интерфейс ksGLObject
|
||
|
||
Вспомогательные данные для создания листа в контексте OpenGL.
|
||
Примечание:
|
||
1. Данный интерфейс нужно использовать при отрисовке с помощью OpenGL из внешнего приложения (контроллера). При работе из подключаемой библиотеки (dll) данный интерфейс использовать нельзя. Более подробное описание методов смотрите в описании библиотеки OpenGL.
|
||
2. Данный интерфейс может быть получен в событиях интерфейса событий окна документа ksDocumentFrameNotify:
|
||
•ksDocumentFrameNotify::BeginPaintGL,
|
||
•ksDocumentFrameNotify::ClosePaintGL.
|
||
|
||
|
||
## Интерфейс IPaintObject
|
||
|
||
Интерфейс вспомогательных данные для отрисовки документа.
|
||
Иерархия:
|
||
IDispatch
|
||
IPaintObject
|
||
Примечание:
|
||
Данный интерфейс может быть получен в событиях интерфейса событий окна документа ksDocumentFrameNotify:
|
||
•ksDocumentFrameNotify::BeginPaint,
|
||
•ksDocumentFrameNotify::ClosePaint.
|
||
|
||
|
||
## GetDIBForOutput - Создать растровое изображение документа в объект «проекция файла» для дорисовки
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BSTR GetDIBForOutput();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetDIBForOutput ([out, retval] BSTR* mapFileName);
|
||
Возвращаемое значение:
|
||
Имя созданного объекта «проекция файла». - в случае успешного завершения.
|
||
```
|
||
Примечание:
|
||
Создает объект «проекция файла» (объект ядра в Windows, создаваемый для организации совместного использования несколькими процессами одних и тех же блоков данных) для возможности дорисовки своей геометрии к изображению документа.
|
||
|
||
|
||
## GetHWND - Получить дескриптор окна
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
long GetHWND();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetHWND ([out, retval] OLE_HANDLE* hwnd);
|
||
Возвращаемое значение:
|
||
Дескриптор окна в котором идет отрисовка - в случае успешного завершения.
|
||
```
|
||
|
||
|
||
## GetTransformMatrix - Получить коэффициенты для матрицы преобразования координат
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
void GetTransformMatrix (double* a11,
|
||
double* a12,
|
||
double* a13,
|
||
double* a14,
|
||
double* a21,
|
||
double* a22,
|
||
double* a23,
|
||
double* a24);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetTransformMatrix ([out]double* a11,
|
||
[out]double* a12,
|
||
[out]double* a13,
|
||
[out]double* a14,
|
||
[out]double* a21,
|
||
[out]double* a22,
|
||
[out]double* a23,
|
||
[out]double* a24);
|
||
Выходные параметры:
|
||
a11, a12, a13, a14, a21, a22, a23, a24 - коэффициенты для матрицы преобразования координат.
|
||
```
|
||
Примечание:
|
||
Матрица для преобразования координат mm -> LP:
|
||
Xlp = Xmm * a11 + Ymm * a12 + Zmm * a13 + a14;
|
||
Ylp = Xmm * a21 + Ymm * a22 + Zmm * a23 + a24;
|