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>
44 KiB
title, type, api, tags, sources
| title | type | api | tags | sources | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| OpenGL | interface |
|
|
|
*API интерфейсов. Версия 7 > Документ > Окна документа *
Интерфейс IExternalGDIObject
Интерфейс внешнего GDI- объекта. Иерархия: IKompasAPIObject IExternalGDIObject Примечание:
- Интерфейс позволяет реализовать отрисовку внешних GDI- объектов (для V11 только текстов).
- Управление интерфейсом (создание и удаление) осуществляется через менеджер 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 - в случае неудачи.
Примечание:
- Перед удалением объекта нужно выключить видимость объекта в окнах документа.
- Для удаления группы объектов используется функция IExternalTessellationManager::DeleteObjects.
- Для удаления всех внешних объектов используется метод 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 ) Получить свойство
Примечание:
- Позволяет получить идентификатор объекта. По идентификатору объекта осуществляется установка видимости и удаление объектов.
- Свойство доступно только для чтения.
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.
Примечание:
- Позволяет изменить видимость объекта в заданном окне.
- Если frame == NULL, то объект будет отображаться во всех окнах документа.
- Свойство доступно только для изменения.
Интерфейс 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.
Примечание:
- Позволяет изменить видимость объектов в заданном окне. Если frame == NULL, то объект будет отображаться во всех окнах документа.
- Свойство доступно только для изменения.
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 - в случае неудачи.
Примечание:
- Перед удалением объекта нужно выключить видимость объекта в окнах документа.
- Для удаления группы объектов используется метод 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 ) Получить свойство
Примечание:
- Позволяет получить идентификатор объекта. По идентификатору объекта осуществляется установка видимости и удаление объектов.
- Свойство доступно только для чтения.
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 - в случае успешного завершения.
Примечание:
- Массив ребер может содержать одно или несколько ребер. Каждое ребро может иметь две или более вершины.
- Для описания ребер используется последовательность: [ [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.
Примечание:
- Позволяет изменить видимость объекта в заданном окне. Если frame == NULL, то объект будет отображаться во всех окнах документа.
- Свойство доступно только для изменения.
Интерфейс 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. Примечание:
- Данный интерфейс нужно использовать при отрисовке с помощью OpenGL из внешнего приложения (контроллера). При работе из подключаемой библиотеки (dll) данный интерфейс использовать нельзя. Более подробное описание методов смотрите в описании библиотеки OpenGL.
- Данный интерфейс может быть получен в событиях интерфейса событий окна документа 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;