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>
36 KiB
title, type, api, domain, tags, sources
| title | type | api | domain | tags | sources | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Интерфейсы ksSurface, ISurface | interface |
|
|
|
|
*API интерфейсов. Версия 5 > Документ-модель (Интерфейсы - ksDocument3D, IDocument3D ) > Компонент сборки (деталь или подсборка). Интерфейсы ksPart и IPart > Математическая поверхность в трехмерном пространстве *
Интерфейсы ksSurface, ISurface
Интерфейс математической поверхности в трехмерном пространстве.
| ksSurface | - интерфейс Automation |
|---|---|
| ISurface | - интерфейс COM |
| Примечание: | |
| Данный интерфейс может быть получен с использованием методов интерфейсов ksPlaneAngleDefinition::GetSurface, ksPlaneMiddleDefinition::GetSurface, ksPlaneLineToPlaneDefinition::GetSurface, ksPlaneNormalToSurfaceDefinition::GetSurface, ksPlane3PointsDefinition::GetSurface ksPlanePerpendicularDefinition::GetSurface, ksPlaneTangentToSurfaceDefinition::GetSurface, ksSketchDefinition::GetSurface, ksPlaneEdgePointDefinition::GetSurface, ksPlaneLineToEdgeDefinition::GetSurface, ksPlaneParallelDefinition::GetSurface, ksPlaneOffsetDefinition::GetSurface, IDefaultObject::GetSurface, ksFaceDefinition::GetSurface. | |
| Триангуляция (аппроксимирующая поверхность грани), Интерфейсы ksTessellation, ITessellation | |
| Параметры сферы (Интерфейсы ksSphereParam, ISphereParam) | |
| Параметры конической поверхности (Интерфейсы ksConeParam, IConeParam) | |
| Параметры тора (Интерфейсы ksTorusParam, ITorusParam) | |
| Параметры плоскости (Интерфейсы ksPlaneParam, IPlaneParam) | |
| Параметры цилиндрической поверхности (Интерфейсы ksCylinderParam, ICylinderParam) | |
| Параметры NURBS-поверхности (Интерфейсы ksNurbsSurfaceParam, INurbsSurfaceParam) | |
| Параметры точки для трехмерных NURBS (Интерфейсы ksNurbsPoint3dCollCollection, INurbsPoint3dCollCollection) | |
| Параметры точки для трехмерных NURBS(Интерфейсы ksNurbsPoint3dParam, INurbsPoint3dParam) | |
| Параметры элемента вращения (Интерфейсы ksRotatedParam, IRotatedParam) |
BoundaryCount - Количество контуров, задающих границу поверхности
Тип данных: long Синтаксис Automation:
BoundaryCount = Object.BoundaryCount Получить свойство (* )
BoundaryCount = Object.GetBoundaryCount() Получить свойство (**)
Примечание: Свойство доступно только для чтения.
CurveIntersection - Рассчитать пересечения с кривой
Синтаксис Automation:
BOOL CurveIntersection( LPDISPATCH curve, LPDISPATCH points, BOOL extSurf, BOOL extCurve );
Синтаксис COM:
BOOL CurveIntersection( LPCURVE3D curve, LPCOORDINATE3DCOLLECTION points, BOOL extSurf, BOOL extCurve );
Входные параметры:
curve - указатель на интерфейс 3D кривой ksCurve3D,
extSurf - TRUE - учитывать продолжение поверхности, - FALSE - не учитывать продолжение поверхности,
extCurve - TRUE - учитывать продолжение кривой, - FALSE - не учитывать продолжение кривой.
Выходные параметры:
points - Коллекция координат точек пересечений ksCoordinate3dCollection.
Возвращаемое значение:
TRUE - в случае успеха,
FALSE - в случае неудачи.
Примечание:
- Координаты точек сортируются по параметру кривой t.
- Параметр points является необязательным.
- Заполняются только присланные коллекции.
- Интерфейсы коллекций координат точек ksCoordinate3dCollection нужно получить с помощью функций ksDocument3D::GetInterface с параметром o3dType = o3d_coordinate3dCollection.
GetArea - Получить площадь поверхности
Синтаксис Automation:
double GetArea (long bitVector);
Синтаксис COM:
double GetArea (unsigned long bitVector);
Входные параметры:
bitVector - единицы измерения в интервале [ST_MIX_MM..ST_MIX_M].
Возвращаемое значение:
площадь поверхности - в случае успешного завершения,
0 - в случае неудачи.
GetAreaEx - Получить площадь грани (ST_MIX_MM..ST_MIX_M - единицы измерения)
Синтаксис Automation:
double GetAreaEx( long bitVector, double angleTolerance );
Синтаксис COM:
double GetAreaEx (unsigned long bitVector, double angleTolerance );
Входные параметры:
bitVector - единицы измерения в интервале [ST_MIX_MM..ST_MIX_M],
angleTolerance - ограничение углового отклонения при аппроксимации оболочки треугольными пластинами
Возвращаемое значение:
площадь грани - в случае успешного завершения,
0 - в случае неудачи.
Версия Компас v21
GetBoundaryUVNurbs - Получить параметры NURBS-представления границы поверхности
Синтаксис Automation:
BOOL GetBoundaryUVNurbs( BOOL uv,
BOOL unclamped,
long loopIndex,
long * degree,
long edgeIndex,
VARIANT * points,
VARIANT * weights,
VARIANT * knots,
double * tMin,
double * tMax );
Синтаксис COM:
BOOL GetBoundaryUVNurbs( BOOL uv,
BOOL unclamped,
long loopIndex,
long edgeIndex,
long * degree,
VARIANT * points,
VARIANT * weights,
VARIANT * knots,
double * tMin,
double * tMax );
Входные параметры:
uv - TRUE - получить параметры границы поверхности в UV- параметрическом представлении исходной поверхности, - FALSE - получить параметры границы поверхности в 3D координатах,
unclamped - TRUE - сомкнуть, если граница разомкнутая - FALSE - разомкнуть, если граница замкнутая,
loopIndex - индекс цикла,
edgeIndex индекс ребра в цикле (совпадает с индексом ребра в коллекции ориентированных ребер).
Выходные параметры:
degree - порядок NURBS (степень полинома + 1), от 3 до 10,
points - массив параметров UV или координат вершин - массив SafeArray вещественных чисел VT_ARRAY VT_R8,
weights - веса точек - массив SafeArray вещественных чисел VT_ARRAY VT_R8,
knots - узлы точек - массив SafeArray вещественных чисел VT_ARRAY VT_R8,
tMin, tMax - минимальный и максимальный параметры.
Примечание: Если признак UV равен TRUE, то в массиве points возвращаются параметры UV для Nurbs-представления границы. Параметры в массиве лежат в следующей последовательности: u0, v0, u1, v1, ... ui, vi. Если признак UV равен FALSE, то в массиве points возвращаются координаты вершин Nurbs-представления границы. Координаты точек в полученном массиве лежат в следующей последовательности: x0, y0, z0, x1, y1, z1, ...xi, yi, zi. •Если индекс ребра равен -1, формируется Nurbs-представление контура границы. •Если индекс >= 0, то формируется Nurbs-представление ребра, входящего в цикл, параметр unclamped при этом игнорируется.
GetDerivativeU - Получить первую производную по U
Синтаксис Automation:
BOOL GetDerivativeU (double paramU, double paramV, double * x, double *y, double *z);
Синтаксис COM:
BOOL GetDerivativeU (double paramU, double paramV, double * x, double *y, double *z);
Входные параметры:
paramU, paramV - значения параметров U и V в параметрическом представлении поверхности.
Выходные параметры:
x, y, z - первая производная по U.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Примечание: Граничные значения параметров U и V получаются при помощи методов GetParamUMin и GetParamUMax и GetParamVMin и GetParamVMax. Координаты точки возвращаются в системе координат компонента.
GetDerivativeUU - Получить вторую производную по UU
Синтаксис Automation:
BOOL GetDerivativeUU (double paramU, double paramV, double * x, double *y, double *z);
Синтаксис COM:
BOOL GetDerivativeUU (double paramU, double paramV, double * x, double *y, double *z);
Входные параметры:
paramU, paramV - значения параметров U и V в параметрическом представлении поверхности.
Выходные параметры:
x, y, z - вторая производная по UU.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Примечание: Граничные значения параметров U и V получаются при помощи методов GetParamUMin и GetParamUMax и GetParamVMin и GetParamVMax. Координаты точки возвращаются в системе координат компонента.
GetDerivativeUUU - Получить третью производную по UUU
Синтаксис Automation:
BOOL GetDerivativeUUU (double paramU, double paramV, double * x, double *y, double *z);
Синтаксис COM:
BOOL GetDerivativeUUU (double paramU, double paramV, double * x, double *y, double *z);
Входные параметры:
paramU, paramV - значения параметров U и V в параметрическом представлении поверхности.
Выходные параметры:
x, y, z - третья производная по UUU.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Примечание: Граничные значения параметров U и V получаются при помощи методов GetParamUMin и GetParamUMax и GetParamVMin и GetParamVMax. Координаты точки возвращаются в системе координат компонента.
GetDerivativeUUV - Получить третью производную по UUV
Синтаксис Automation:
BOOL GetDerivativeUUV (double paramU, double paramV, double * x, double *y, double *z);
Синтаксис COM:
BOOL GetDerivativeUUV (double paramU, double paramV, double * x, double *y, double *z);
Входные параметры:
paramU, paramV - значения параметров U и V в параметрическом представлении поверхности.
Выходные параметры:
x, y, z - третья производная по UUV.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Примечание: Граничные значения параметров U и V получаются при помощи методов GetParamUMin и GetParamUMax и GetParamVMin и GetParamVMax. Координаты точки возвращаются в системе координат компонента.
GetDerivativeUV - Получить вторую производную по UV
Синтаксис Automation:
BOOL GetDerivativeUV (double paramU, double paramV, double * x, double *y, double *z);
Синтаксис COM:
BOOL GetDerivativeUV (double paramU, double paramV, double * x, double *y, double *z);
Входные параметры:
paramU, paramV - значения параметров U и V в параметрическом представлении поверхности.
Выходные параметры:
x, y, z - вторая производная по UV.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Примечание: Граничные значения параметров U и V получаются при помощи методов GetParamUMin и GetParamUMax и GetParamVMin и GetParamVMax. Координаты точки возвращаются в системе координат компонента.
GetDerivativeUVV - Получить третью производную по UVV
Синтаксис Automation:
BOOL GetDerivativeUVV (double paramU, double paramV, double * x, double *y, double *z);
Синтаксис COM:
BOOL GetDerivativeUVV (double paramU, double paramV, double * x, double *y, double *z);
Входные параметры:
paramU, paramV - значения параметров U и V в параметрическом представлении поверхности.
Выходные параметры:
x, y, z - третья производная по UVV.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Примечание: Граничные значения параметров U и V получаются при помощи методов GetParamUMin и GetParamUMax и GetParamVMin и GetParamVMax. Координаты точки возвращаются в системе координат компонента.
GetDerivativeV - Получить первую производную по V
Синтаксис Automation:
BOOL GetDerivativeV (double paramU, double paramV, double * x, double *y, double *z);
Синтаксис COM:
BOOL GetDerivativeV (double paramU, double paramV, double * x, double *y, double *z);
Входные параметры:
paramU, paramV - значения параметров U и V в параметрическом представлении поверхности.
Выходные параметры:
x, y, z - первая производная по V.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Примечание: Граничные значения параметров U и V получаются при помощи методов GetParamUMin и GetParamUMax и GetParamVMin и GetParamVMax. Координаты точки возвращаются в системе координат компонента.
GetDerivativeVV - Получить вторую производную по VV
Синтаксис Automation:
BOOL GetDerivativeVV (double paramU, double paramV, double * x, double *y, double *z);
Синтаксис COM:
BOOL GetDerivativeVV (double paramU, double paramV, double * x, double *y, double *z);
Входные параметры:
paramU, paramV - значения параметров U и V в параметрическом представлении поверхности.
Выходные параметры:
x, y, z - вторая производная по VV.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Примечание: Граничные значения параметров U и V получаются при помощи методов GetParamUMin и GetParamUMax и GetParamVMin и GetParamVMax. Координаты точки возвращаются в системе координат компонента.
GetDerivativeVVV - Получить третью производную по VVV
Синтаксис Automation:
BOOL GetDerivativeVVV (double paramU, double paramV, double * x, double *y, double *z);
Синтаксис COM:
BOOL GetDerivativeVVV (double paramU, double paramV, double * x, double *y, double *z);
Входные параметры:
paramU, paramV - значения параметров U и V в параметрическом представлении поверхности.
Выходные параметры:
x, y, z - третья производная по VVV.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Примечание: Граничные значения параметров U и V получаются при помощи методов GetParamUMin и GetParamUMax и GetParamVMin и GetParamVMax. Координаты точки возвращаются в системе координат компонента.
GetEdgesCount - Количество ребер в цикле
Количество ребер в цикле. Синтаксис Automation:
long GetEdgesCount( long loopIndex );
Синтаксис COM:
long GetEdgesCount( long loopIndex );
GetGabarit - Получить габаритный параллелепипед поверхности
Синтаксис Automation:
BOOL GetGabarit (double * x1, double *y1, double *z1, double * x2, double *y2, double *z2);
Синтаксис COM:
BOOL GetGabarit (double * x1, double *y1, double *z1, double * x2, double *y2, double *z2);
Выходные параметры:
x1, y1, z1, x2, y2, z2 - координаты вершин габаритного параллелепипеда.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Примечание: Координаты вершин параллелепипеда возвращаются в системе координат компонента.
GetNormal - Получить направление нормали
Синтаксис Automation:
BOOL GetNormal (double paramU, double paramV, double * x, double *y, double *z);
Синтаксис COM:
BOOL GetNormal (double paramU, double paramV, double * x, double *y, double *z);
Входные параметры:
paramU, paramV - значения параметров U и V в параметрическом представлении поверхности.
Выходные параметры:
x, y, z - вектор нормали.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Примечание: Граничные значения параметров U и V получаются при помощи методов GetParamUMin и GetParamUMax и GetParamVMin и GetParamVMax. Координаты точки возвращаются в системе координат компонента.
GetNurbsSurfaceParam - Получить NURBS-представление поверхности
Синтаксис Automation:
LPDISPATCH GetNurbsSurfaceParam();
Синтаксис COM:
LPNURBS3DPARAM GetNurbsSurfaceParam();
Возвращаемое значение:
- указатель на интерфейс ksNurbsSurfaceParam или INurbsSurfaceParam.
Примечание: Метод позволяет получить параметры поверхности в NURBS-представлении. Для получения параметров поверхности в NURBS-представлении создается математическая Nurbs-поверхность, аналогичная заданной. Если заданная кривая является NURBS-поверхности, то возвращаются ее параметры без создания NURBS-представления.
GetParamUMax - Получить конечное значение параметра U в параметрическом представлении поверхности
Синтаксис Automation:
double GetParamUMax();
Синтаксис COM:
double GetParamUMax();
Возвращаемое значение:
Значение параметра U - в случае успеха,
0 - в случае неудачи.
GetParamUMin - Получить начальное значение параметра U в параметрическом представлении поверхности
Синтаксис Automation:
double GetParamUMin();
Синтаксис COM:
double GetParamUMin();
Возвращаемое значение:
Значение параметра U. - в случае успеха,
0 - в случае неудачи.
GetParamVMax - Получить конечное значение параметра V в параметрическом представлении поверхности
Синтаксис Automation:
double GetParamVMax();
Синтаксис COM:
double GetParamVMax();
Возвращаемое значение:
Значение параметра V - в случае успеха,
0 - в случае неудачи.
GetParamVMin - Получить начальное значение параметра V в параметрическом представлении поверхности
Синтаксис Automation:
double GetParamVMin();
Синтаксис COM:
double GetParamVMin();
Возвращаемое значение:
Значение параметра V - в случае успеха,
0 - в случае неудачи.
GetPoint - Получить координаты точки на поверхности
Синтаксис Automation:
BOOL GetPoint (double paramU, double paramV, double * x, double *y, double *z);
Синтаксис COM:
BOOL GetPoint (double paramU, double paramV, double * x, double *y, double *z);
Входные параметры:
paramU, paramV - значения параметров U и V в параметрическом представлении поверхности.
Выходные параметры:
x, y, z - координаты точки на поверхности.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Примечание: Граничные значения параметров U и V получаются при помощи методов GetParamUMin и GetParamUMax и GetParamVMin и GetParamVMax. Координаты точки возвращаются в системе координат компонента.
GetSurfaceParam - Получить параметры плоскости, конуса, цилиндра, тора, сферы, NURBS или NULL
Синтаксис Automation:
LPDISPATCH GetSurfaceParam();
Синтаксис COM:
LPDISPATCH GetSurfaceParam();
Возвращаемое значение:
- указатель на интерфейс параметра поверхности.
Примечание: В соответствии с типом объекта метод вернет указатель на интерфейс параметра:
| - плоскости | ksPlaneParam или IPlaneParam, |
|---|---|
| - конуса | ksConeParam или IConeParam, |
| - цилиндра | ksCylinderParam или ICylinderParam, |
| - тора | ksTorusParam или ITorusParam, |
| - сферы | ksSphereParam или ISphereParam, |
| - NURBS- поверхности | ksNurbsSurfaceParam или INurbsSurfaceParam. |
| Зная тип объекта, можно базовый интерфейс привести к конечному (IDispatch или IUnknown). Для определения типа объекта можно воспользоваться методами IsPlane, | |
| IsCone, IsCylinder, IsTorus, IsSphere, IsNurbsSurface. |
GetTangentVectorU - Получить направление касательного вектора по U
Синтаксис Automation:
BOOL GetTangentVectorU (double paramU, double paramV, double * x, double *y, double *z);
Синтаксис COM:
BOOL GetTangentVectorU (double paramU, double paramV, double * x, double *y, double *z);
Входные параметры:
paramU, paramV - значения параметров U и V в параметрическом представлении поверхности.
Выходные параметры:
x, y, z - касательный вектор по U.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Примечание: Граничные значения параметров U и V получаются при помощи методов GetParamUMin и GetParamUMax и GetParamVMin и GetParamVMax. Координаты точки возвращаются в системе координат компонента.
GetTangentVectorV - Получить направление касательного вектора по V
Синтаксис Automation:
BOOL GetTangentVectorV (double paramU, double paramV, double * x, double *y, double *z);
Синтаксис COM:
BOOL GetTangentVectorV (double paramU, double paramV, double * x, double *y, double *z);
Входные параметры:
paramU, paramV - значения параметров U и V в параметрическом представлении поверхности.
Выходные параметры:
x, y, z - касательный вектор по V.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Примечание: Граничные значения параметров U и V получаются при помощи методов GetParamUMin и GetParamUMax и GetParamVMin и GetParamVMax. Координаты точки возвращаются в системе координат компонента.
IsClosedU - Определить, является ли поверхность замкнутой по U
Синтаксис Automation:
BOOL IsClosedU();
Синтаксис COM:
BOOL IsClosedU();
Возвращаемое значение:
TRUE - кривая замкнута,
FALSE - кривая разомкнута.
IsClosedV - Определить, является ли поверхность замкнутой по V
Синтаксис Automation:
BOOL IsClosedV();
Синтаксис COM:
BOOL IsClosedV();
Возвращаемое значение:
TRUE - кривая замкнута,
FALSE - кривая разомкнута.
IsCone - Определить, является ли поверхность конической
Синтаксис Automation:
BOOL IsCone();
Синтаксис COM:
BOOL IsCone();
Возвращаемое значение:
TRUE - поверхность является конической,
FALSE - поверхность не является конической.
Примечание: Данный метод удобно использовать для приведения базового интерфейса (IUnknown в COM и IDispatch в Automation) к конечному интерфейсу трехмерных объектов. Зная тип объекта, можно привести его к соответствующему интерфейсу. Метод GetSurfaceParam вернет указатель на интерфейс параметра конуса ksConeParam или IConeParam.
IsCylinder - Определить, является ли поверхность цилиндрической
Синтаксис Automation:
BOOL IsCylinder();
Синтаксис COM:
BOOL IsCylinder();
Возвращаемое значение:
TRUE - поверхность является цилиндрической,
FALSE - поверхность не является цилиндрической.
Примечание: Данный метод удобно использовать для приведения базового интерфейса (IUnknown в COM и IDispatch в Automation) к конечному интерфейсу трехмерных объектов. Зная тип объекта, можно привести его к соответствующему интерфейсу. Метод GetSurfaceParam вернет указатель на интерфейс параметра цилиндра ksCylinderParam или IPlaneCylinder.
IsNurbsSurface - Определить, является ли поверхность NURBS
Синтаксис Automation:
BOOL IsNurbsSurface();
Синтаксис COM:
BOOL IsNurbsSurface();
Возвращаемое значение:
TRUE - поверхность является NURBS,
FALSE - поверхность не является NURBS.
Примечание: Данный метод удобно использовать для приведения базового интерфейса (IUnknown в COM и IDispatch в Automation) к конечному интерфейсу трехмерных объектов. Зная тип объекта, можно привести его к соответствующему интерфейсу. Метод GetCurveParam вернет указатель на интерфейс параметра NURBS ksNurbsSurfaceParam или INurbsSurfaceParam.
IsPlane - Определить, является ли грань плоской
Синтаксис Automation:
BOOL IsPlane();
Синтаксис COM:
BOOL IsPlane();
Возвращаемое значение:
TRUE - поверхность является плоской,
FALSE - поверхность не является плоской.
Примечание: Данный метод удобно использовать для приведения базового интерфейса (IUnknown в COM и IDispatch в Automation) к конечному интерфейсу трехмерных объектов. Зная тип объекта, можно привести его к соответствующему интерфейсу. Метод GetSurfaceParam вернет указатель на интерфейс параметра плоскости ksPlaneParam или IPlaneParam.
IsRevolved - Определить, является ли поверхность поверхностью вращения
Синтаксис Automation:
BOOL IsRevolved();
Синтаксис COM:
BOOL IsRevolved();
Возвращаемое значение:
TRUE - поверхность является поверхностью вращения,
FALSE - поверхность не является поверхностью вращения.
IsSphere - Определить, является ли поверхность сферой
Синтаксис Automation:
BOOL IsSphere();
Синтаксис COM:
BOOL IsSphere();
Возвращаемое значение:
TRUE - поверхность является сферической,
FALSE - поверхность не является сферической.
Примечание: Данный метод удобно использовать для приведения базового интерфейса (IUnknown в COM и IDispatch в Automation) к конечному интерфейсу трехмерных объектов. Зная тип объекта, можно привести его к соответствующему интерфейсу. Метод GetSurfaceParam вернет указатель на интерфейс параметра сферы ksSphereParam или ISphereParam.
IsSwept - Определить, является ли поверхность поверхностью по траектории
Синтаксис Automation:
BOOL IsSwept();
Синтаксис COM:
BOOL IsSwept();
Возвращаемое значение:
TRUE - поверхность является поверхностью по траектории,
FALSE - поверхность не является поверхностью по траектории.
IsTorus - Определить, является ли поверхность тором
Синтаксис Automation:
BOOL IsTorus();
Синтаксис COM:
BOOL IsTorus();
Возвращаемое значение:
TRUE - поверхность является тороидальной,
FALSE - поверхность не является тороидальной.
Примечание: Данный метод удобно использовать для приведения базового интерфейса (IUnknown в COM и IDispatch в Automation) к конечному интерфейсу трехмерных объектов. Зная тип объекта, можно привести его к соответствующему интерфейсу. Метод GetSurfaceParam вернет указатель на интерфейс параметра тора ksTorusParam или ITorusParam.
NearPointProjection - Получить ближайшую проекцию точки на поверхность
Синтаксис Automation:
BOOL NearPointProjection (double x, double y, double z, double * u, double * v, BOOL ext);
Синтаксис COM:
BOOL NearPointProjection (double x, double y, double z, double * u, double * v, BOOL ext);
Входные параметры:
x, y, z - координаты исходной пространственной точки,
ext - если проекция точки вне поверхности: - TRUE проецировать на продолжение поверхности, - FALSE найти ближайшую граничную точку поверхности. Если проекция точки внутри поверхности, значение этого параметра не учитывается.
Выходные параметры:
u, v - параметрические координаты точки на поверхности.
Возвращаемое значение:
TRUE - если проекция точки попала на саму поверхность или если ext равен TRUE,
FALSE - если проекция точки не попала на саму поверхность.
Tessellation - Получить указатель на интерфейс триангуляции
Синтаксис Automation:
LPDISPATCH GetTessellation();
Синтаксис COM:
LPTESSELLATION GetTessellation();
Возвращаемое значение:
- Указатель на интерфейс ksTessellation или ITessellation.