C3D Kernel  102057
Классы | Перечисления | Функции
Топологические объекты
Геометрические объекты
Граф связей класса Топологические объекты:

Классы

class  MbVertex
 Вершина. Подробнее...
class  MbEdge
 Ребро. Подробнее...
class  MbCurveEdge
 Ребро грани. Подробнее...
class  MbOrientedEdge
 Ориентированное ребро. Подробнее...
class  MbLoop
 Цикл грани. Подробнее...
struct  LoopCrossParam
class  MbFace
 Грань. Подробнее...
class  MbFaceShell
 Множество граней или оболочка. Подробнее...
class  MbLabel
 Метка для выполнения операция. Подробнее...
class  MbTopItem
 Топологический объект в трехмерном пространстве. Подробнее...
class  MbTopologyItem
 Топологический объект с именем. Подробнее...

Перечисления

enum  MbeTopologyType {
  tt_Undefined = 0, tt_TopItem = 1, tt_Vertex = 101, tt_Edge = 201,
  tt_CurveEdge = 202, tt_OrientedEdge = 203, tt_Loop = 301, tt_Face = 401,
  tt_FaceShell = 501, tt_FreeItem = 600
}
 Типы топологических объектов. Подробнее...
enum  MbeChangedType {
  tct_Unchanged = 0x0000, tct_Modified = 0x0001, tct_Created = 0x0002, tct_Transformed = 0x0004,
  tct_Reoriented = 0x0008, tct_Deleted = 0x0010, tct_Truncated = 0x0020, tct_Merged = 0x0040,
  tct_Replaced = 0x0080, tct_Added = 0x0100, tct_Renamed = 0x0200
}
 Типы состояний модификации топологического объекта. Подробнее...

Функции

double MbFace::DistanceToBorder (const MbCartPoint &point, double &precision) const
 Найти параметрическое расстояние до ближайшей границы.
double MbFace::DistanceToBorder (const MbCartPoint &point, MbVector &normal, size_t &loopNumber, size_t &edgeNumber, ptrdiff_t &corner, double &tEdgeCurve, double &precision) const
 Найти параметрическое расстояние до ближайшей границы.
MbeItemLocation MbFace::NearPointProjection (const MbCartPoint3D &point, double &u, double &v, MbVector3D &normal, NumberPair &edgeLoc, ptrdiff_t &corner) const
 Найти ближайшую проекцию точки на грань.
virtual void MbTopologyItem::Transform (const MbMatrix3D &matr, MbRegTransform *iReg=NULL)=0
 Преобразовать согласно матрице.
virtual void MbTopologyItem::Move (const MbVector3D &to, MbRegTransform *iReg=NULL)=0
 Сдвинуть вдоль вектора.
virtual void MbTopologyItem::Rotate (const MbAxis3D &axis, double angle, MbRegTransform *iReg=NULL)=0
 Повернуть вокруг оси.

Перечисления

Элементы перечислений:
tt_Undefined 

Неизвестный объект.

tt_TopItem 

Топологический объект.

tt_Vertex 

Вершина.

tt_Edge 

Ребро, проходящее по кривой.

tt_CurveEdge 

Ребро, проходящее по кривой пересечения поверхностей.

tt_OrientedEdge 

Ориентированное ребро.

tt_Loop 

Цикл.

tt_Face 

Грань.

tt_FaceShell 

Множество граней.

tt_FreeItem 

Тип для объектов, созданных пользователем.

Элементы перечислений:
tct_Unchanged 

Без изменений.

tct_Modified 

Изменен.

tct_Created 

Создан новый.

tct_Transformed 

Трансформирован.

tct_Reoriented 

Переориентирован.

tct_Deleted 

Удален (элемент объекта или связь).

tct_Truncated 

Разрезан, усечен, продлен.

tct_Merged 

Объединен или сшито.

tct_Replaced 

Заменен.

tct_Added 

Добавлен или вставлен (элемент объекта).

tct_Renamed 

Переименован.


Функции

double MbFace::DistanceToBorder ( const MbCartPoint point,
double &  precision 
) const

Найденное расстояние до ближайшей границы имеет положительное значение, если точка находится внутри, и отрицательное - если снаружи.

Аргументы:
[in]point- Исследуемая точка.
[out]precision- Погрешность вычислени.
Возвращает:
Возвращает расстояние до ближайшей границы в пространстве параметров поверхности.
double MbFace::DistanceToBorder ( const MbCartPoint point,
MbVector normal,
size_t &  loopNumber,
size_t &  edgeNumber,
ptrdiff_t &  corner,
double &  tEdgeCurve,
double &  precision 
) const

Найденное расстояние до ближайшей границы имеет положительное значение, если точка находится внутри, и отрицательное - если снаружи.

Аргументы:
[in]point- Проецируемая точка.
[out]normal- Двумерная нормаль границы границы в ближайшей точке.
[out]loopNumber- Идекс ближайшего цикла.
[out]loopNumber- Идекс ближайшего ребра в цикле.
[out]corner- 0, если проекция не располагается на стыке ребер, 1, если проекция располагается в конце ориентированного ребра с индексом edgeLoc, -1, если проекция располагается в начале ориентированного ребра с индексом edgeLoc.
[out]tEdgeCurve- Параметр кривой ближайшего ребра.
[out]precision- Погрешность вычислени.
Возвращает:
Возвращает расстояние до ближайшей границы в пространстве параметров поверхности.
MbeItemLocation MbFace::NearPointProjection ( const MbCartPoint3D point,
double &  u,
double &  v,
MbVector3D normal,
NumberPair edgeLoc,
ptrdiff_t &  corner 
) const

Найти ближайшую проекцию точки p на поверхность грани или ее границу: ребро или вершину.

Аргументы:
[in]point- Проецируемая точка.
[out]u- Найденный первый параметр поверхности.
[out]v- Найденный второй параметр поверхности.
[out]normal- Нормаль поверхности или ее границы (ребра или вершины) в точке проекции.
[out]edgeLoc- Если проекция не попала на ребро, то равен SYS_MAX_T, SYS_MAX_T. Если проекция попала на ребро, то индексы цикла и ребра в цикле.
[out]corner- 0, если проекция не располагается на стыке ребер, 1, если проекция располагается в конце ориентированного ребра с индексом edgeLoc, -1, если проекция располагается в начале ориентированного ребра с индексом edgeLoc.
Возвращает:
Возвращает положение проекции относительно границ поверхности.
virtual void MbTopologyItem::Transform ( const MbMatrix3D matr,
MbRegTransform iReg = NULL 
) [pure virtual]

Преобразование объекта согласно матрице. Данный объект может содержаться указателем в нескольких других объектах, подлежащих преобразованию. Для предотвращения многократного преобразования данного объекта используется регистратор. При преобразовании объекта с использованием регистратора проверяется наличие объекта в регистраторе. Если такой объект отсутствует, то он заносится в регистратор и выполняется его преобразование, в противном случае преобразование данного объекта не выполняется.

Аргументы:
[in]matr- Матрица преобразования.
[in]iReg- Регистратор.

Замещается в MbVertex, MbEdge и MbFace.

virtual void MbTopologyItem::Move ( const MbVector3D to,
MbRegTransform iReg = NULL 
) [pure virtual]

Сдвинуть объект вдоль вектора. При преобразовании объекта с использованием регистратора проверяется наличие объекта в регистраторе. Если такой объект отсутствует, то он заносится в регистратор и выполняется его преобразование, в противном случае преобразование данного объекта не выполняется.

Аргументы:
[in]to- Вектор сдвига.
[in]iReg- Регистратор.

Замещается в MbVertex, MbEdge и MbFace.

virtual void MbTopologyItem::Rotate ( const MbAxis3D axis,
double  angle,
MbRegTransform iReg = NULL 
) [pure virtual]

Повернуть объект вокруг оси на заданный угол. При преобразовании объекта с использованием регистратора проверяется наличие объекта в регистраторе. Если такой объект отсутствует, то он заносится в регистратор и выполняется его преобразование, в противном случае преобразование данного объекта не выполняется.

Аргументы:
[in]axis- Ось вращения.
[in]angle- Угол поворота.
[in]iReg- Регистратор.

Замещается в MbVertex, MbEdge и MbFace.

 Указатель Классы Пространства имен Файлы Функции Переменные Определения типов Перечисления Элементы перечислений Друзья Макросы