C3D Kernel  102057
Классы | Перечисления
Структуры данных
Объекты алгоритмов
Граф связей класса Структуры данных:

Классы

class  MbTempCircle
 Вспомогательная окружность. Подробнее...
class  CosinusoidPar
 Параметры построения синусоиды. Подробнее...
struct  Polyline3DPoint
 Параметры точки для создания полилинии. Подробнее...
class  MbNURBSVector2D
 Nurbs-вектор. Подробнее...
class  MbNURBSVector
 Nurbs-вектор. Подробнее...
struct  MbLump
 Тело, матрица его преобразования и идентификаторы владельцев. Подробнее...
struct  MbLumpCube
 Габарит тела, матрица его преобразования и идентификаторы владельцев. Подробнее...
class  MbStepData
 Данные для вычисления шага. Подробнее...
struct  MbFormNote
 Способ построения полигонального объекта. Подробнее...
struct  MbControlData
 Данные для управления двумерными объектами. Подробнее...
struct  MbControlData3D
 Данные для управления трехмерными объектами. Подробнее...
class  MbCurveIntoNurbsInfo
 Дополнительная информация для преобразования кривой или поверхности в Nurbs. Подробнее...
struct  MbNurbsParameters
 Параметры построения NURBS копии объекта. Подробнее...
struct  MbNurbsPointInfo
 Параметры узловой точки сплайновой копии объекта. Подробнее...
class  MbPartSolidIndex
 Идентификатор части тела. Подробнее...
class  MbPartSolidIndices
 Идентификаторы частей тела. Подробнее...
struct  MbPartSolidData
 Информация о части тела. Подробнее...
struct  MbPositionData
 Данные для размеров операции. Подробнее...
struct  MbEdgeSequence
 Последовательность рёбер. Подробнее...
class  MbShellHistory
 История граней. Подробнее...
class  MbWeightMatrix
struct  MbEdgeFunction
 Структура для передачи ребра и функции. Подробнее...
class  MbPntLoc
 Объект с информацией о положении точки относительно оболочки. Подробнее...

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

enum  MbeNewtonResult { nr_Failure = -1, nr_Special = 0, nr_Success = 1, nr_Specific = 2 }
 Результат выполнения итерационного метода. Подробнее...
enum  MbeItemLocation {
  iloc_Undefined = -3, iloc_Unknown = -2, iloc_OutOfItem = -1, iloc_OnItem = 0,
  iloc_InItem = 1, iloc_ByItem = 2
}
 Положение объекта. Подробнее...
enum  MbeLocation { loc_Undefined = iloc_Unknown, loc_Outside = iloc_OutOfItem, loc_OnCurve = iloc_OnItem, loc_Inside = iloc_InItem }
 Положение двумерной точки. Подробнее...
enum  MbeState { dp_NoChanged, dp_Changed, dp_Degenerated }
 Состояние объекта после модификации. Подробнее...
enum  MbeProcessState {
  mps_Error = -3, mps_Skip = -2, mps_Stop = -1, mps_Success = 0,
  mps_SelfIntersect = 24
}
 Состояние выполнения процесса. Подробнее...
enum  MbeSenseValue { orient_BOTH = 0, orient_FORWARD, orient_BACK }
 Направление. Подробнее...
enum  MbeSplineParamType { spt_Unstated = 0, spt_EquallySpaced = 1, spt_ChordLength = 2, spt_Centripetal = 3 }
 Тип параметризации сплайновых объектов. Подробнее...
enum  MbeNurbsCurveForm {
  ncf_Unspecified = 0, ncf_PolylineForm, ncf_CircularArc, ncf_EllipticArc,
  ncf_ParabolicArc, ncf_HyperbolicArc, ncf_BezierForm, ncf_HermitForm,
  ncf_SurfacePoleForm
}
 Типы форм NURBS-кривой. Подробнее...
enum  MbeMatingType {
  trt_None = -1, trt_Position = 0, trt_Tangent = 1, trt_Normal = 2,
  trt_SmoothG2 = 3, trt_SmoothG3 = 4
}
 Тип сопряжения. Подробнее...
enum  MbeConjugationType { cjt_NormPlus = 0, cjt_NormMinus = 1, cjt_G1Plus = 2, cjt_G1Minus = 3 }
 Тип сопряжения по ребрам. Подробнее...
enum  MbeDirectSmoothType { dst_None = -1, dst_Convex = 0, dst_Concave = 1, dst_Smooth = 2 }
 Тип сглаживания. Подробнее...
enum  MbeItemGridType { igt_Rectangular = 0, igt_Concentric = 1, igt_Hexagonal = 2 }
 Типы двумерной сетки. Подробнее...
enum  MbeParamDir { pd_DirU = 0, pd_DirV = 1 }
 Направление на поверхности. Подробнее...
enum  MbeCurveBuildType { cbt_Boundary = -1, cbt_Ordinary = 0, cbt_Specific = 1, cbt_Tolerant = 2 }
 Типы кривой пересечения поверхностей по построению. Подробнее...
enum  MbeSurfaceType { sst_OrdinarySurface = 0, sst_SpecificSurface = 1 }
 Типы поверхности сопряжения. Подробнее...
enum  MbeCurveGlueType {
  cgt_Unknown = 0, cgt_Pole = 1, cgt_Edge = 2, cgt_Stitch = 3,
  cgt_Split = 4
}
 Типы кривой пересечения поверхностей по топологии. Подробнее...
enum  MbeStepType {
  ist_SpaceStep = 0x01, ist_DeviationStep = 0x02, ist_MetricStep = 0x04, ist_ParamStep = 0x08,
  ist_CollisionStep = 0x10, ist_MipStep = 0x20
}
 Способы вычисления приращения параметра по объекту. Подробнее...
enum  MbeLabelState {
  ls_None = -1, ls_Null = 0, ls_Used = 1, ls_Delete = 2,
  ls_Rebuild = 3, ls_FirstPass = 4, ls_SecondPass = 5, ls_Error = 6,
  ls_Doubtful = 7, ls_TempMark = 8
}
 Рабочие метки. Подробнее...
enum  MbeSmoothForm {
  st_Span = -1, st_Fillet = 0, st_Chamfer = 1, st_Slant1 = 2,
  st_Slant2 = 3
}
 Способы построения поверхности сопряжения (скругления или фаски). Подробнее...
enum  OperationType {
  bo_Internal = -4, bo_External = -3, bo_Intersect = -2, bo_Difference = -1,
  bo_Unknown = 0, bo_Union = 1, bo_Base = 2, bo_Variety = 3
}
 Типы булевых операций над твердыми телами. Подробнее...
enum  EnRegBoolSide { rbs_IntersectOper = -2, rbs_DifferenceOper = -1, rbs_UnknownOper = 0, rbs_UnionOper = 1 }
 Типы булевых операций над двумерными регионами. Подробнее...
enum  MbeConnectingType {
  ft_Fillet = 0, ft_OnSurface = 1, ft_Spline = 2, ft_Double = 3,
  ft_Bridge = 4
}
 Способы сопряжения кривых. Подробнее...
enum  MbeCopyMode { cm_Same = 0, cm_KeepHistory, cm_KeepSurface, cm_Copy }
 Cпособы передачи данных при копировании оболочек. Подробнее...
enum  MbeCurveDerivativeType {
  cdt_CurPoint = 0, cdt_FirstDer, cdt_SecondDer, cdt_ThirdDer,
  cdt_CountDer
}
 Поддерживаемые типы производных на кривой. Подробнее...
enum  MbeSurfaceDerivativeType {
  sdt_SurPoint = 0, sdt_DeriveU, sdt_DeriveV, sdt_DeriveUU,
  sdt_DeriveUV, sdt_DeriveVV, sdt_DeriveUUU, sdt_DeriveUUV,
  sdt_DeriveUVV, sdt_DeriveVVV, sdt_Normal, sdt_NormalU,
  sdt_NormalV, sdt_NormalUU, sdt_NormalUV, sdt_NormalVV,
  sdt_CountNor, sdt_CountDer = sdt_Normal
}
 Поддерживаемые типы производных на поверхности. Подробнее...
enum  MbePoleLocation {
  pln_None = -1, pln_MinU = 0, pln_MaxU = 1, pln_MinV = 2,
  pln_MaxV = 3
}
 Расположение полюсов. Подробнее...
enum  MbeProgBarId_Common {
  pbarId_Common_Beg = 0, pbarId_Read_Data, pbarId_Prepare_Data, pbarId_Process_Data,
  pbarId_Finish_Data, pbarId_Draw_Data, pbarId_Write_Data, pbarId_Common_End
}
 Идентификаторы сообщений индикатора прогресса выполнения. Подробнее...
enum  MbeProgBarId_PointsSurface {
  pbarId_PointsSurface_Beg = pbarId_Common_End + 1, pbarId_Solve_LinearEquationsSystem, pbarId_Remove_RedundantPoints, pbarId_Build_ShellByPointsMesh,
  pbarId_Build_PointsCloudMesh, pbarId_Build_TriangleFaces, pbarId_Find_AdjacentEdges, pbarId_Build_TrianglesShell,
  pbarId_Prepare_SurfaceData, pbarId_Check_Surface, pbarId_PointsSurface_End
}
 Идентификаторы сообщений индикатора прогресса выполнения. Поверхность по пласту(сети) точек. Подробнее...
enum  MbeSplineCreateType { sct_Version0 = 0, sct_Version1 = 1, sct_Version2 = 2 }
 Флаг, определяющий построение сплайна, проходящего через точки. Подробнее...
enum  MbeStitchResType {
  stch_Success = 0, stch_PrepareError, stch_CoorientFaceError, stch_SomeEdgesUnstitched,
  stch_OutwardOrientError, stch_NoEdgeWasStitched, stch_SeparatePartsResult, stch_EdgeStitchError
}
 Результат операции "Сшивка". Подробнее...
enum  MbeMultithreadedMode { mtm_Off = 0, mtm_Standard = 1, mtm_Items = 2, mtm_Max = 31 }
 Режимы многопоточных вычислений. Подробнее...

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

Результат выполнения итерационного метода сообщает о нахождении решения.

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

Решение не найдено.

nr_Special 

Решение не сошлось за заданное количество итераций.

nr_Success 

Решение найдено.

nr_Specific 

Требуется уточнение.

Положение объекта относительно другого объекта.

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

Не определялось.

iloc_Unknown 

Не получилось определить.

iloc_OutOfItem 

Вне объекта.

iloc_OnItem 

На объекте (на границе).

iloc_InItem 

Внутри объекта.

iloc_ByItem 

Условно внутри объекта (для незамкнутых оболочек).

Положение двумерной точки относительно двумерной кривой.

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

Положение не определено, кривая разомкнута.

loc_Outside 

Точка снаружи замкнутой кривой.

loc_OnCurve 

Точка на кривой.

loc_Inside 

Точка внутри замкнутой кривой.

enum MbeState

Используется для определения состояние кривой после резки.

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

Объект не изменился.

dp_Changed 

Объект изменился.

dp_Degenerated 

Объект выродился.

Состояние выполнения процесса сообщает о ходе работы функции, операции и т.п.

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

Ошибка.

mps_Skip 

Пропущено.

mps_Stop 

Остановлено.

mps_Success 

Выполнено.

mps_SelfIntersect 

Выполнено. Объект самопересекается.

Направление движения относительно базового объекта.

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

Оба направления (неориентированный).

orient_FORWARD 

Прямое направление.

orient_BACK 

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

Тип параметризации сплайновых объектов.

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

Неустановленный.

spt_EquallySpaced 

Равномерная.

spt_ChordLength 

По длине хорды (расстоянию между точками).

spt_Centripetal 

Центростремительная (квадратный корень расстояния между точками).

Типы форм сплайновой кривой NURBS.

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

Неопределенная форма.

ncf_PolylineForm 

Ломаная.

ncf_CircularArc 

Дуга окружности.

ncf_EllipticArc 

Дуга эллипса.

ncf_ParabolicArc 

Дуга параболы.

ncf_HyperbolicArc 

Дуга гиперболы.

ncf_BezierForm 

Сплайн Безье.

ncf_HermitForm 

Сплайн Эрмита.

ncf_SurfacePoleForm 

Сплайн в полюсе поверхности.

Тип сопряжения определяет способ сопряжения краёв сплайна с контактирующими объектами.

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

Без сопряжений.

trt_Position 

Соединение по позиции (эквивалентно tt_SmoothG0).

trt_Tangent 

Соединение по касательной (эквивалентно tt_SmoothG1).

trt_Normal 

Соединение перпендикулярно (эквивалентно tt_SmoothG1).

trt_SmoothG2 

Гладкое соединение по первой производной касательной (по кривизне).

trt_SmoothG3 

Гладкое сопряжение по второй производной касательной.

Тип сопряжения по ребрам определяет способ сопряжения поверхности грани с поверхностью смежной по ребру грани.

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

По нормали в положительном направлении вектора нормали к грани.

cjt_NormMinus 

По нормали в отрицательном направлении вектора нормали к грани.

cjt_G1Plus 

По касательной к поверхности, слева по направлению касательной к кривой пересечения.

cjt_G1Minus 

По касательной к поверхности, справа по направлению касательной к кривой пересечения.

Тип сглаживания при перемещении узлов в процессе прямого редактирования.

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

Без сглаживания.

dst_Convex 

Выпуклый.

dst_Concave 

Вогнутый.

dst_Smooth 

Плавный переход.

Типы двумерной сетки.

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

Прямоугольная сетка.

igt_Concentric 

Концентрическая сетка.

igt_Hexagonal 

Гексагональная сетка.

Используемое в итерационном методе направление на поверхности.

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

U-направление на поверхности.

pd_DirV 

V-направление на поверхности.

Типы кривой пересечения поверхностей как результат итерационного метода.

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

Кривая по которой идет граница оболочки.

cbt_Ordinary 

Аналитическая кривая.

cbt_Specific 

Кривая построена по отдельным точкам.

cbt_Tolerant 

Аналитическая кривая пересечения, рассчитанная неточно.

Типы поверхности сопряжения (скругления или фаски) по построению.

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

Аналитическая поверхность.

sst_SpecificSurface 

Специальная поверхность сопряжения (скругления или фаски) построена по отдельным точкам.

Типы кривой пересечения поверхностей по топологии.

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

Неустановленное значение типа кривой.

cgt_Pole 

Полюсная кривая.

cgt_Edge 

Кривая пересечения разных поверхностей.

cgt_Stitch 

Шовное ребро или линия разъема из конвертеров (правило выбора первой параметрической кривой).

cgt_Split 

Кривая пересечения - линия разъема.

Используются три общих способа вычисления приращения параметра кривой или поверхности: по стрелке прогиба, по углу отклонения, по длине. Для визуализации геометрической формы используется первый способ.
Для операций построения используется второй способ.
Для 3D принтеров используется все три перечисленные способа.
Ещё три специализированных способа вычисления приращения параметра используются для конкретных целей: для привязки объектов к параметрам поверхности, для определения столкновений элементов модели, для вычисления инерционных характеристик.

There are three types of steps: by sag, by deviation angle, by length. Step by sag is used for visualizations. Step by deviation angle is used for calculation. Step by length is used for 3D printer (plus by sag and by deviation angle).
There are three special types of steps also. Special step is used for linking with surface parameters. Special step is used for collision detection of model elements. Special step is used for calculation of inertial characteristics.

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

Шаг по стрелке прогиба.

ist_DeviationStep 

Шаг по углу отклонения.

ist_MetricStep 

Шаг по длине.

ist_ParamStep 

Шаг для для привязки объектов к параметрам поверхности.

ist_CollisionStep 

Шаг для определения столкновений элементов модели.

ist_MipStep 

Шаг для расчета инерционных характеристик.

Рабочие метки для операций, используются в MbTopologyItem::GetLabel и MbTopologyItem::SetOwnLabel.

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

Объект не будет использоваться.

ls_Null 

Объект не рассматривался.

ls_Used 

Объект используется.

ls_Delete 

Объект предназначен для удаления.

ls_Rebuild 

Объект нуждается в перестроении.

ls_FirstPass 

Объект затронут первым проходом алгоритма.

ls_SecondPass 

Объект затронут вторым проходом алгоритма.

ls_Error 

Объект нужно удалить и возвести ошибку.

ls_Doubtful 

Объект сомнительный, рассматривается в последнюю очередь.

ls_TempMark 

Временная метка (для сбора объектов).

Способы построения поверхности сопряжения (скругления или фаски).

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

Скругление с заданной хордой.

st_Fillet 

Скругление с заданными радиусами.

st_Chamfer 

Фаска с заданными катетами.

st_Slant1 

Фаска по катету и углу (катет distance2 рассчитан для прямого угла между гранями и определяет прилегающий к катету distance1 угол).

st_Slant2 

Фаска по углу и катету (катет distance1 рассчитан для прямого угла между гранями и определяет прилегающий к катету distance2 угол).

Типы булевых операций над твердыми телами.

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

Пересечение оболочек.

bo_External 

Вычитание оболочек.

bo_Intersect 

Пересечение тел.

bo_Difference 

Вычитание тел.

bo_Unknown 

Неопределённая операция.

bo_Union 

Объединение тел.

bo_Base 

Исходное состояние.

bo_Variety 

Объединение оболочек.

Типы булевых операций над двумерными регионами.

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

Операция пересечение.

rbs_DifferenceOper 

Операция разность.

rbs_UnknownOper 

Неопределенная операция.

rbs_UnionOper 

Операция объединение.

Способы сопряжения двух кривых третьей кривой.

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

Скругление круговое на цилиндре.

ft_OnSurface 

Скругление пересечением цилиндра и общей поверхности сопрягаемых кривых.

ft_Spline 

Сопряжение сплайном.

ft_Double 

Сопряжение двумя дугами.

ft_Bridge 

Сопряжение кубической кривой.

Cпособы передачи данных при копировании оболочек в операциях над телами.
Любая операция, и удачная, и ошибочная, безвозвратно модифицирует вершины, рёбра и грани оболочек операндов.
Для сохранения неизменной исходной оболочки операнда применяется полное или частичное копирование данных.
Используются четыре способа передачи данных в операцию.
Если не требуется сохранить данные, то оболочка не копируется, а иcпользуется исходная.
Если требуется, чтобы операция не портила исходную оболочку и максимально экономила память, то в копии оболочки сохраняются базовые поверхности и вершины. Кроме того, после операции копия и исходная оболочка имеют общие неизменённые операцией грани.
Если требуется, чтобы операция не портила исходную оболочку и имела высокую скорость выполнения, то в копии оболочки сохраняются базовые поверхности и вершины.
Если требуется, чтобы результат операции не был связан с исходными объектами, то вершины, рёбра, поверхности и грани операндов полностью копируются. Такой подход используется в операциях, трансформирующих тело, например при зеркальном копировании.

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

Оболочка не копируется.

cm_KeepHistory 

Исходная оболочка и её копия имеют общие базовые поверхности, вершины и неизменённые операцией грани.

cm_KeepSurface 

Исходная оболочка и её копия имеют общие базовые поверхности.

cm_Copy 

Исходная оболочка и её копия не имеют общих данных.

Поддерживаемые типы производных на кривой. Они же индексы производных в общем массиве.

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

Точка (нулевой порядок)

cdt_FirstDer 

Первая производная

cdt_SecondDer 

Вторая производная

cdt_ThirdDer 

Третья производная

cdt_CountDer 

Количество запоминаемых значений (порядков)

Поддерживаемые типы производных на поверхности. Они же индексы производных в общем массиве.

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

Точка.

sdt_DeriveU 

Частная производная по U.

sdt_DeriveV 

Частная производная по V.

sdt_DeriveUU 

Частная производная по UU.

sdt_DeriveUV 

Частная производная по UV.

sdt_DeriveVV 

Частная производная по VV.

sdt_DeriveUUU 

Частная производная по UUU.

sdt_DeriveUUV 

Частная производная по UUV.

sdt_DeriveUVV 

Частная производная по UVV.

sdt_DeriveVVV 

Частная производная по UVV.

sdt_Normal 

Нормаль.

sdt_NormalU 

Частная производная нормали по U.

sdt_NormalV 

Частная производная нормали по V.

sdt_NormalUU 

Частная производная нормали по UU.

sdt_NormalUV 

Частная производная нормали по UV.

sdt_NormalVV 

Частная производная нормали по VV.

sdt_CountNor 

Количество запоминаемых значений.

sdt_CountDer 

Количество запоминаемых значений.

Расположение полюсов поверхности в параметрической области.

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

Нет полюса.

pln_MinU 

Полюс при u = umin.

pln_MaxU 

Полюс при u = umax.

pln_MinV 

Полюс при v = vmin.

pln_MaxV 

Полюс при v = vmax.

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

Чтение данных.

pbarId_Prepare_Data 

Подготовка данных.

pbarId_Process_Data 

Обработка данных.

pbarId_Finish_Data 

Завершение обработки данных.

pbarId_Draw_Data 

Отображение данных.

pbarId_Write_Data 

Запись данных.

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

Решение системы линейных уравнений.

pbarId_Remove_RedundantPoints 

Удаление избыточных точек.

pbarId_Build_ShellByPointsMesh 

Построение оболочки по сети точек.

pbarId_Build_PointsCloudMesh 

Построение сети точек по пласту точек.

pbarId_Build_TriangleFaces 

Построение треугольных граней.

pbarId_Find_AdjacentEdges 

Поиск смежных ребер.

pbarId_Build_TrianglesShell 

Построение поверхности из треугольных граней.

pbarId_Prepare_SurfaceData 

Подготовка данных для построения поверхности.

pbarId_Check_Surface 

Проверка правильности построения поверхности.

Флаг, определяющий построение сплайна, проходящего через точки. Связан с версией.

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

Используется в версиях < V13 (центростремительная параметризация).

sct_Version1 

Используется в версии V13 (параметризация по длине хорды).

sct_Version2 

Используется в версии V13+.

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

Нет ошибок.

stch_PrepareError 

Ошибка при подготовке операции сшивки.

stch_CoorientFaceError 

Невозможно выставить согласованную ориентацию граней.

stch_SomeEdgesUnstitched 

Некоторые рёбра остались несшитыми.

stch_OutwardOrientError 

Не удалось установить нормали граней наружу тела.

stch_NoEdgeWasStitched 

Не было сшито ни одного ребра.

stch_SeparatePartsResult 

После сшивки остались несвязанные между собой куски.

stch_EdgeStitchError 

Ошибка сшивки ребра.

Режимы многопоточных вычислений.

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