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

Функции

MbResultType ExtrusionShell (const MbSurface &surface, RPArray< MbContour > &contours, const MbVector3D &direction, const ExtrusionValues &params, const MbSNameMaker &operNames, PArray< MbSNameMaker > &cNames, MbFaceShell *&result)
 Построить оболочку выдавливанием плоских контуров.
MbResultType RevolutionShell (const MbSurface &surface, RPArray< MbContour > &contours, const MbAxis3D &axis, const RevolutionValues &params, const MbSNameMaker &operNames, PArray< MbSNameMaker > &cNames, MbFaceShell *&result)
 Построить оболочку вращением плоских контуров.
void CreateExtrusionCutSurfaces (const MbSurface &surface, const std::vector< SPtr< MbContour >> &contours, const MbVector3D &direction, ExtrusionValues &params, VERSION version, MbResultType &resType, std::vector< std::pair< SPtr< MbSurface >, int >> &surfAndDir)
 Создание поверхностей сечения выдавливания плоского контура.
MbResultType OffsetPhantom (const MbSolid &solid, RPArray< MbFace > &faces, SweptValues &params, const MbSNameMaker &operNames, MbFaceShell *&result, size_t *hpShellFaceInd=NULL)
 Построить фантомные эквидистантные поверхности для граней оболочки.
MbResultType LocalCubePhantom (const MbSolid &solid, const MbPlacement3D &place, bool bScale, const MbSNameMaker &operNames, MbSolid *&result)
 Построить фантом габаритного куба в локальной системе координат.
MbResultType PatchShell (const RPArray< MbPatchCurve > &initEdges, const PatchValues &p, const MbSNameMaker &n, MbSolid *&result)
 Построить заплатку.
MbResultType PatchShell (const RPArray< MbCurve3D > &initCurves, const PatchValues &p, const MbSNameMaker &n, MbSolid *&result)
 Построить заплатку.
MbResultType LoftedShell (const RPArray< SArray< MbCartPoint3D > > &points, const MbSNameMaker &names, SimpleName name, MbSolid *&result)
 Построить незамкнутое тело по множеству групп точек.
MbResultType LoftedShell (const RPArray< MbCurve3D > &curves, const MbSNameMaker &names, SimpleName name, MbSolid *&result)
 Построить незамкнутое тело по множеству кривых.
MbResultType OffsetShell (MbSolid &solid, MbeCopyMode sameShell, RPArray< MbFace > &initFaces, bool checkFacesConnection, SweptValues &p, const MbSNameMaker &operNames, MbSolid *&result)
 Построить незамкнутое эквидистантное тело.
MbResultType NurbsSurfacesShell (NurbsSurfaceValues &params, const MbSNameMaker &operNames, bool isPhantom, MbSolid *&result, IProgressIndicator *progBar)
 Построить незамкнутое тело по множеству точек.
MbResultType MeshShell (MeshSurfaceValues &pars, const MbSNameMaker &operNames, bool isPhantom, MbSolid *&result)
 Построить незамкнутое тело по сети кривых.
MbResultType TruncateShell (MbSolid &initSolid, SArray< size_t > &selIndices, MbeCopyMode initCopyMode, const MbSNameMaker &operNames, RPArray< MbSpaceItem > &truncatingItems, SArray< bool > &truncatingOrients, bool truncatingSplitMode, MbeCopyMode truncatingCopyMode, const MbMergingFlags &mergeFlags, MbSolid *&result, MbPlacement3D *&resultPlace)
 Усечь (обрезать) незамкнутое тело.
MbResultType RuledShell (RuledSurfaceValues &pars, const MbSNameMaker &operNames, bool isPhantom, MbSolid *&result)
 Построить линейчатое незамкнутое тело.
void CheckRuledCurve (const MbCurve3D &curve0, const MbCurve3D &curve1, bool &isInverted1, bool &isShifted1, VERSION version)
 Проверить кривую для построения линейчатого тела.
bool CheckRuledParams (const MbCurve3D &curve, SArray< double > &params, bool isAscending)
 Проверить параметры кривой для построения линейчатого тела.
MbResultType ExtensionShell (MbSolid &solid, MbeCopyMode sameShell, MbFace &face, const RPArray< MbCurveEdge > &edges, const ExtensionValues &params, const MbSNameMaker &operNames, MbSolid *&result)
 Построить продолжение незамкнутого тела выдавливанием.
MbResultType JoinShell (MbSurfaceCurve &curve1, MbSurfaceCurve &curve2, JoinSurfaceValues &parameters, const MbSNameMaker &operNames, MbSolid *&result)
 Построить тело соединения по двум кривым.
MbResultType JoinShell (const RPArray< MbCurveEdge > &edges1, const SArray< bool > &orients1, const RPArray< MbCurveEdge > &edges2, const SArray< bool > &orients2, const MbMatrix3D &matr1, const MbMatrix3D &matr2, JoinSurfaceValues &parameters, const MbSNameMaker &operNames, MbSolid *&result, bool isPhantom=false)
 Построить тело соединения по двум множествам рёбер.
void CheckJoinedCurve (const MbCurve3D &curve1, const MbCurve3D &curve2, bool &isInverted1, bool &isShifted1, VERSION version)
 Проверить кривую для построения тела соединения.
MbResultType FacesFillet (const MbSolid &solid1, const MbFace &face1, const MbSolid &solid2, const MbFace &face2, const SmoothValues &params, const MbSNameMaker &names, MbSolid *&result)
 Построить тело сопряжения несвязанных граней.
MbResultType ElementaryShell (const MbSurface &surface, const MbSNameMaker &names, MbSolid *&result)
 Построить тело на базе элементарной поверхности.
MbResultType SurfaceShell (const MbSurface &surface, const MbSNameMaker &names, MbSolid *&result)
 Построить тело на базе поверхности.
MbResultType CutShellSilhouetteContour (MbSolid &solid, MbeCopyMode sameShell, const MbVector3D &eye, const VERSION version, RPArray< MbCurve3D > &outlineCurves, RPArray< MbSolid > &result)
 Разрезать тело силуэтным контуром.
MbeStitchResType StitchToOneSheetSolid (const RPArray< const MbSolid > &initialSolids, const MbSNameMaker &operNames, bool formSolidBody, double stitchPrecision, MbSolid *&resultSolid)
 Сшить грани нескольких тел в одно тело.
MbResultType LatheCurves (const MbSolid &solid, const MbAxis3D *axis, double angle, MbPlacement3D &position, RPArray< MbCurve > &curves)
 Определение оси токарного сечения и построение кривых сечения для тела.
MbResultType LatheCurve (const MbCurve3D &generatrix, const MbPlacement3D &position, RPArray< MbCurve > &curves)
 Построение следа кривой при её вращении вокруг оси токарного сечения.
MbResultType MedianShell (MbSolid &solid, MbeCopyMode sameShell, const std::vector< NumberPair > &faceIndexes, const MedianShellValues &params, const MbSNameMaker &operNames, MbSolid *&result)
 Построить срединную оболочку по граням тела, основанным на эквидистантных поверхностях.
bool GetSweptValue (const MbSweptData &sweptData, const MbAxis3D &axis, const MbVector3D &direction, const bool rotation, const bool operationDirection, const MbCartPoint3D &point, double &value)
 Рассчитать глубину выдавливания или угол вращения.
void GetSweptImagePosition (const MbCurve3D &generatrix, const MbSurface &surface, const MbVector3D &direction, const MbAxis3D &axis, const bool rotation, MbCartPoint &imagePosition, MbResultType &resType)
 Получить начальное приближение для нахождения образа при вращении/выдавливании.
void GetRangeToSurface (const MbSurface &surface, const MbCurve3D &curve, const MbVector3D &direction, const MbAxis3D &axis, const bool rotation, const bool operationDirection, const MbCartPoint &imagePosition, double range[2], MbRect &rectOnSurface, MbResultType &resType)
 Найти расстояния/углы от образующей до поверхности при вращении/выдавливании.
void AnalyzeSurfaceRelationToSweptOperation (const MbSurface &cuttingSurface, const MbCartPoint &imagePosition, const MbCurve3D &curve, const MbVector3D &direction, const MbAxis3D &axis, const bool rotation, bool operationDirection, bool &relativeSense, MbResultType &resType)
 Определить ориентацию секущей грани относительно тела выдавливания/вращения.
void FindPolesAndSeamsInContour (const MbSurface &surface, const MbContour &contour, std::vector< size_t > &seamsAndPoles)
 Найти сегменты контура на поверхности, соответствующие швам и полюсам.
MbResultType EvolutionNormalize (const MbSurface &surface, const RPArray< MbContour > &contours, const MbCurve3D &guide, const EvolutionValues &parameters, MbAxis3D &axis, double &angle, VERSION version)
 Сориентировать образующий контур и направляющую кинематики.

Функции

MbResultType ExtrusionShell ( const MbSurface surface,
RPArray< MbContour > &  contours,
const MbVector3D direction,
const ExtrusionValues params,
const MbSNameMaker operNames,
PArray< MbSNameMaker > &  cNames,
MbFaceShell *&  result 
)

Построить оболочку выдавливанием плоских контуров.

Аргументы:
[in]surface- Поверхность контуров.
[in]contours- Набор двумерных контуров.
[in]direction- Направление выдавливания.
[in]params- Параметры построения.
[in]operNames- Именователь операции.
[in]cNames- Набор именователей контуров.
[out]result- Результат операции - оболочка.
Возвращает:
Возвращает код результата операции.
MbResultType RevolutionShell ( const MbSurface surface,
RPArray< MbContour > &  contours,
const MbAxis3D axis,
const RevolutionValues params,
const MbSNameMaker operNames,
PArray< MbSNameMaker > &  cNames,
MbFaceShell *&  result 
)

Построить оболочку вращением плоских контуров.

Аргументы:
[in]surface- Поверхность контуров.
[in]contours- Набор двумерных контуров.
[in]axis- Ось вращения.
[in]params- Параметры построения.
[in]operNames- Именователь операции.
[in]cNames- Набор именователей контуров.
[out]result- Результат операции - оболочка.
Возвращает:
Возвращает код результата операции.
void CreateExtrusionCutSurfaces ( const MbSurface surface,
const std::vector< SPtr< MbContour >> &  contours,
const MbVector3D direction,
ExtrusionValues params,
VERSION  version,
MbResultType resType,
std::vector< std::pair< SPtr< MbSurface >, int >> &  surfAndDir 
)

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

Аргументы:
[in]surface- Поверхность контуров.
[in]contours- Набор двумерных контуров.
[in]direction- Направление выдавливания.
[in]params- Параметры построения.
[in]version- Версия построения.
[out]resType- Код результата операции.
[out]surfAndDir-Результат операции - поверхности и направление отсносительно direction.
MbResultType OffsetPhantom ( const MbSolid solid,
RPArray< MbFace > &  faces,
SweptValues params,
const MbSNameMaker operNames,
MbFaceShell *&  result,
size_t *  hpShellFaceInd = NULL 
)

Построить фантомные эквидистантные поверхности для граней оболочки,
кроме имеющих перечисленны кроме имеющих перечисленные индексы, и сложить в массив surfaces.
По окончании работ поверхности можно и нужно удалить.

Аргументы:
[in]solid- Исходное тело.
[in]faces- Множество вскрываемых граней тела.
[in]params- Параметры операции.
[in]operNames- Именователь.
[out]result- Результат операции.
[out]hpShellFaceInd- Номер грани в исходной оболочки для построения хот-точки.
Возвращает:
Возвращает код результата построения.
MbResultType LocalCubePhantom ( const MbSolid solid,
const MbPlacement3D place,
bool  bScale,
const MbSNameMaker operNames,
MbSolid *&  result 
)

Построить фантом габаритного куба в локальной системе координат.

Аргументы:
[in]solid- Исходное тело.
[in]place- Локальная система координат (ЛСК).
[in]bScale- Является ли ЛСК масштабирующей.
[in]operNames- Именователь.
[out]result- Фантом локального куба.
Возвращает:
Возвращает код результата построения.
MbResultType PatchShell ( const RPArray< MbPatchCurve > &  initEdges,
const PatchValues p,
const MbSNameMaker n,
MbSolid *&  result 
)

Построить заплатку по выбранным ребрам.

Аргументы:
[in]initEdges- Набор ребер.
[in]p- Параметры операции.
[in]n- Именователь.
[out]result- Построенная заплатка.
Возвращает:
Возвращает код результата операции.
MbResultType PatchShell ( const RPArray< MbCurve3D > &  initCurves,
const PatchValues p,
const MbSNameMaker n,
MbSolid *&  result 
)

Построить заплатку по выбранным кривым.

Аргументы:
[in]initCurves- Набор кривых.
[in]p- Параметры операции.
[in]n- Именователь.
[out]result- Построенная заплатка.
Возвращает:
Возвращает код результата операции.
MbResultType LoftedShell ( const RPArray< SArray< MbCartPoint3D > > &  points,
const MbSNameMaker names,
SimpleName  name,
MbSolid *&  result 
)

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

Аргументы:
[in]points- Набор точек.
[in]names- Именователь.
[in]name- Идентификатор.
[out]result- Результирующая оболочка.
Возвращает:
Возвращает код результата операции.
MbResultType LoftedShell ( const RPArray< MbCurve3D > &  curves,
const MbSNameMaker names,
SimpleName  name,
MbSolid *&  result 
)

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

Аргументы:
[in]curves- Набор кривых.
[in]names- Именователь.
[in]name- Идентификатор.
[out]result- Результирующая оболочка.
Возвращает:
Возвращает код результата операции.
MbResultType OffsetShell ( MbSolid solid,
MbeCopyMode  sameShell,
RPArray< MbFace > &  initFaces,
bool  checkFacesConnection,
SweptValues p,
const MbSNameMaker operNames,
MbSolid *&  result 
)

Построить незамкнутое эквидистантное тело на базе указанных в initFaces граней.

Аргументы:
[in]solid- Исходное тело.
[in]sameShell- Режим копирования тела.
[in]initFaces- Грани исходного тела для построения.
[in]checkFacesConnection- Необходимость проверки связности выбранных граней.
[in]p- Параметры операции.
[in]operNames- Именователь.
[out]result- Эквидистантная оболочка.
Возвращает:
Возвращает код результата операции.
MbResultType NurbsSurfacesShell ( NurbsSurfaceValues params,
const MbSNameMaker operNames,
bool  isPhantom,
MbSolid *&  result,
IProgressIndicator progBar 
)

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

Аргументы:
[in]params- Параметры операции.
[in]operNames- Именователь.
[in]isPhantom- Режим создания фантома.
[out]result- Результирующая оболочка.
[in,out]progBar- Индикатор прогресса выполнения операции.
Возвращает:
Возвращает код результата операции.
MbResultType MeshShell ( MeshSurfaceValues pars,
const MbSNameMaker operNames,
bool  isPhantom,
MbSolid *&  result 
)

Построить незамкнутое тело по сети кривых, заданных в параметрах построения.

Аргументы:
[in]pars- Параметры операции.
[in]operNames- Именователь.
[in]isPhantom- Режим создания фантома.
[out]result- Результирующая оболочка.
Возвращает:
Возвращает код результата операции.
MbResultType TruncateShell ( MbSolid initSolid,
SArray< size_t > &  selIndices,
MbeCopyMode  initCopyMode,
const MbSNameMaker operNames,
RPArray< MbSpaceItem > &  truncatingItems,
SArray< bool > &  truncatingOrients,
bool  truncatingSplitMode,
MbeCopyMode  truncatingCopyMode,
const MbMergingFlags mergeFlags,
MbSolid *&  result,
MbPlacement3D *&  resultPlace 
)

Выполнить построение незамкнутого тела путём усечения исходного тела.

Аргументы:
[in]initSolid- Исходная оболочка.
[in]selIndices- Номера выбранных граней (если массив пуст, то вся оболочка).
[in]initCopyMode- Режим копирования исходных оболочек.
[in]operNames- Именователь.
[in]truncatingItems- Усекающие объекты.
[in]truncatingOrients- Ориентация усекающих объектов.
[in]truncatingSplitMode- Кривые используются как линии разъема.
[in]truncatingCopyMode- Режим копирования усекающих оболочек.
[in]mergeFlags- Флаги слияния элементов оболочки.
[out]result- Усеченная оболочка.
[out]resultPlace- Фантомное направление усечения.
Возвращает:
Возвращает код результата операции.
MbResultType RuledShell ( RuledSurfaceValues pars,
const MbSNameMaker operNames,
bool  isPhantom,
MbSolid *&  result 
)

Построить линейчатое незамкнутое тело по двум кривым, заданным в параметрах.

Аргументы:
[in]pars- Параметры операции.
[in]operNames- Именователь.
[in]isPhantom- Режим создания фантома.
[out]result- Результирующая оболочка.
Возвращает:
Возвращает код результата операции.
void CheckRuledCurve ( const MbCurve3D curve0,
const MbCurve3D curve1,
bool &  isInverted1,
bool &  isShifted1,
VERSION  version 
)

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

Аргументы:
[in]curve0- Первая кривая.
[in]curve1- Вторая кривая.
[out]isInverted1- Была ли вторая кривая инвертирована.
[out]isShifted1- Было ли смещено начало второй кривой.
[in]version- Версия операции.
Предупреждения:
Вспомогательная функция операции RuledShell.
bool CheckRuledParams ( const MbCurve3D curve,
SArray< double > &  params,
bool  isAscending 
)

Проверить параметры кривой и выполнить нормализацию параметров замкнутой кривой.

Аргументы:
[in]curve- Кривая.
[in,out]params- Множество параметров кривой.
[in]isAscending- Будет ли порядок параметров возрастающим.
Возвращает:
Возвращает true, если удалось нормализовать массив параметров.
Предупреждения:
Вспомогательная функция операции RuledShell.
MbResultType ExtensionShell ( MbSolid solid,
MbeCopyMode  sameShell,
MbFace face,
const RPArray< MbCurveEdge > &  edges,
const ExtensionValues params,
const MbSNameMaker operNames,
MbSolid *&  result 
)

Построить продолжение незамкнутого тела путём выдавливания указанных краевых рёбер заданной грани тела.

Аргументы:
[in]solid- Исходная оболочка.
[in]sameShell- Режим копирования оболочки.
[in]face- Продляемая грань в исходной оболочке.
[in]edges- Множество ребер продляемой грани, через которые выполняется продление.
[in]params- Параметры операции.
[in]operNames- Именователь.
[out]result- Результирующая оболочка.
Возвращает:
Возвращает код результата операции.
MbResultType JoinShell ( MbSurfaceCurve curve1,
MbSurfaceCurve curve2,
JoinSurfaceValues parameters,
const MbSNameMaker operNames,
MbSolid *&  result 
)

Построить незамкнутое тело соединения по двум кривым на поверхности.

Аргументы:
[in]curve1- Первая поверхностная кривая.
[in]curve2- Вторая поверхностная кривая.
[in]parameters- Параметры операции.
[in]operNames- Именователь.
[out]result- Результирующая оболочка.
Возвращает:
Возвращает код результата операции.
MbResultType JoinShell ( const RPArray< MbCurveEdge > &  edges1,
const SArray< bool > &  orients1,
const RPArray< MbCurveEdge > &  edges2,
const SArray< bool > &  orients2,
const MbMatrix3D matr1,
const MbMatrix3D matr2,
JoinSurfaceValues parameters,
const MbSNameMaker operNames,
MbSolid *&  result,
bool  isPhantom = false 
)

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

Аргументы:
[in]edges1- Первая группа ребер.
[in]orients1- Ориентации ребер в первой группе.
[in]edges2- Вторая группа ребер.
[in]orients2- Ориентация ребер во второй группе.
[in]matr1- Матрица преобразования первой группы ребер в единую систему координат.
[in]matr2- Матрица преобразования второй группы ребер в единую систему координат.
[in]parameters- Параметры операции.
[in]operNames- Именователь.
[out]result- Результирующая оболочка.
[in]isPhantom- Режим фантома операции.
Возвращает:
Возвращает код результата операции.
void CheckJoinedCurve ( const MbCurve3D curve1,
const MbCurve3D curve2,
bool &  isInverted1,
bool &  isShifted1,
VERSION  version 
)

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

Аргументы:
[in]curve1- Первая кривая.
[in]curve2- Вторая кривая.
[out]isInverted1- Была ли вторая кривая инвертирована.
[out]isShifted1- Было ли смещено начало второй кривой.
[in]version- Версия операции.
Предупреждения:
Вспомогательная функция операции JoinShell.
MbResultType FacesFillet ( const MbSolid solid1,
const MbFace face1,
const MbSolid solid2,
const MbFace face2,
const SmoothValues params,
const MbSNameMaker names,
MbSolid *&  result 
)

Построить незамкнутое тело, состоящее из грани скругления между двумя несвязанными гранями.

Аргументы:
[in]solid1- Первое тело.
[in]face1- Сопрягаемая грань первого тела.
[in]solid2- Второе тело.
[in]face2- Сопрягаемая грань второго тела.
[in]params- Параметры операции.
[in]names- Именователь.
[out]result- Построенная оболочка (тело).
Возвращает:
Возвращает код результата операции.
MbResultType ElementaryShell ( const MbSurface surface,
const MbSNameMaker names,
MbSolid *&  result 
)

Построить тело, состоящее из одной грани, на базе исходной элементарной поверхности.

Аргументы:
[in]surface- Поверхность.
[in]names- Именователь.
[out]result- Построенная оболочка.
Возвращает:
Возвращает код результата операции.
MbResultType SurfaceShell ( const MbSurface surface,
const MbSNameMaker names,
MbSolid *&  result 
)

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

Аргументы:
[in]surface- Поверхность.
[in]names- Именователь.
[out]result- Построенная оболочка.
Возвращает:
Возвращает код результата операции.
MbResultType CutShellSilhouetteContour ( MbSolid solid,
MbeCopyMode  sameShell,
const MbVector3D eye,
const VERSION  version,
RPArray< MbCurve3D > &  outlineCurves,
RPArray< MbSolid > &  result 
)

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

Аргументы:
[in]shell- Исходное тело.
[in]sameShell- Способ передачи данных при копировании оболочек.
[in]eye- Направление взгляда.
[out]outlineCurves- Кривые, входящие в силуэтный контур.
[out]result- Тела, полученные в результате применения операции.
Возвращает:
Возвращает код результата операции.
MbeStitchResType StitchToOneSheetSolid ( const RPArray< const MbSolid > &  initialSolids,
const MbSNameMaker operNames,
bool  formSolidBody,
double  stitchPrecision,
MbSolid *&  resultSolid 
)

Сшить стыкующиеся друг с другом грани нескольких тел в одно тело. Ориентация граней может быть изменена.

Аргументы:
[in]initialSolids- Множество тел для сшивки.
[in]operNames- Именователь операции.
[in]formSolidBody- Флаг формирования твердого тела из результирующей оболочки.
[in]stitchPrecision- Точность сшивки.
[out]resultSolid- Результирующая оболочка или тело (в зависимости от флага).
Возвращает:
Возвращает код результата операции.
MbResultType LatheCurves ( const MbSolid solid,
const MbAxis3D axis,
double  angle,
MbPlacement3D position,
RPArray< MbCurve > &  curves 
)

Функция выполняет поиск токарной оси граней вращения и строит токарное сечение в некоторой плоскости.

Аргументы:
[in]solid- Тело.
[in]axis- Ось токарного сечения может быть нуль).
[in]angle- Угол, управляющий построением перпендикулярных оси сечения отрезками, рекомендуеися M_PI_4-M_PI.
[out]position- Плоскость, в плоскости XY которой лежат кривые сечения, а ось X является осью токарного сечения.
[out]curves- Кривые токарного сечения равполагаются в плоскости XY position.
Возвращает:
Возвращает код результата операции.
MbResultType LatheCurve ( const MbCurve3D generatrix,
const MbPlacement3D position,
RPArray< MbCurve > &  curves 
)

Функция выполняет построение следа ребра в плоскости XY локальной системы координат при его вращении вокруг оси X.

Аргументы:
[in]generatrix- Кривая.
[in]position- Плоскость, ось X которой является осью токарного сечения.
[out]curves- Контейр кривых, в который будет добавлен след в плоскости XY position от вращения кривой generatrix вокруг оси X.
Возвращает:
Возвращает код результата операции.
MbResultType MedianShell ( MbSolid solid,
MbeCopyMode  sameShell,
const std::vector< NumberPair > &  faceIndexes,
const MedianShellValues params,
const MbSNameMaker operNames,
MbSolid *&  result 
)

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

Аргументы:
[in]solid- Исходное тело.
[in]sameShell- Режим копирования тела.
[in]faceIndexes- Выбранные пары граней.
[in]params- Параметры операции.
[in]operNames- Именователь.
[out]result- Результирующая оболочка.
Возвращает:
Возвращает код результата операции.
Возвращает код результата операции.
bool GetSweptValue ( const MbSweptData sweptData,
const MbAxis3D axis,
const MbVector3D direction,
const bool  rotation,
const bool  operationDirection,
const MbCartPoint3D point,
double &  value 
)

Рассчитать value - глубину выдавливания или угол вращения (0.0 : M_PI2) для последующего построения тела путем выдавливания или вращения образующей кривой.

Аргументы:
[in]sweptData- Данные об образующей.
[in]axis- Ось вращения.
[in]direction- Направление выдавливания.
[in]rotation- Вращение или выдавливание.
[in]operationDirection- Вперед\назад.
[in]point- Точка, до которой требуется вращать или выдавливать поверхность.
[out]value- Глубина выдавливания или угол вращения.
Возвращает:
Возвращает true, если расчет выполнен успешно.
Предупреждения:
Вспомогательная функция операций ExtrusionSolid, RevolutionSolid, ExtrusionResult и RevolutionResult.
void GetSweptImagePosition ( const MbCurve3D generatrix,
const MbSurface surface,
const MbVector3D direction,
const MbAxis3D axis,
const bool  rotation,
MbCartPoint imagePosition,
MbResultType resType 
)

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

Аргументы:
[in]generatrix- Кривая.
[in]surface- Поверхность, до которой строим операцию.
[in]direction- Направление выдавливания.
[in]axis- Ось вращения.
[in]rotation- Вращение (true) или выдавливание (false)
[out]imagePosition- Точка образа на поверхности.
[out]resType- Код результата операции.
Предупреждения:
Вспомогательная функция операций ExtrusionSolid, RevolutionSolid, ExtrusionResult и RevolutionResult.
void GetRangeToSurface ( const MbSurface surface,
const MbCurve3D curve,
const MbVector3D direction,
const MbAxis3D axis,
const bool  rotation,
const bool  operationDirection,
const MbCartPoint imagePosition,
double  range[2],
MbRect rectOnSurface,
MbResultType resType 
)

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

Аргументы:
[in]surface- Поверхность, до которой строим операцию.
[in]curve- Образующая кривая.
[in]direction- Направление выдавливания.
[in]axis- Ось вращения.
[in]rotation- Вращение (true) или выдавливание (false).
[in]operationDirection- Направление движения: вперед (true) или назад (false).
[out]imagePosition- Точка на части поверхности, в которой лежит образ.
[out]range- Расстояния до поверхности в обратном и прямом направлениях.
[out]rectOnSurface- Габарит образа на поверхности.
[out]resType- Код результата операции.
Предупреждения:
Вспомогательная функция операций ExtrusionSolid, RevolutionSolid, ExtrusionResult и RevolutionResult.
void AnalyzeSurfaceRelationToSweptOperation ( const MbSurface cuttingSurface,
const MbCartPoint imagePosition,
const MbCurve3D curve,
const MbVector3D direction,
const MbAxis3D axis,
const bool  rotation,
bool  operationDirection,
bool &  relativeSense,
MbResultType resType 
)

Определить ориентацию секущей поверхности относительно тела, которое будет строиться путём выдавливания или вращения образующей кривой до заданной поверхности.

Аргументы:
[in]cuttingSurface- Поверхность для анализа.
[in]imagePosition- Место образа на поверхности.
[in]curve- Образующая кривая.
[in]direction- Направление выдавливания.
[in]axis- Ось вращения.
[in]rotation- Вращение (true) или выдавливание (false).
[in]operationDirection- Направление движения: вперед (true) или назад (false).
[out]relativeSense- Ориентация поверхности по отношению к операции.
[out]resType- Код результата операции.
Предупреждения:
Вспомогательная функция операций ExtrusionSolid, RevolutionSolid, ExtrusionResult и RevolutionResult.
void FindPolesAndSeamsInContour ( const MbSurface surface,
const MbContour contour,
std::vector< size_t > &  seamsAndPoles 
)

Найти сегменты контура на поверхности, соответствующие швам и полюсам.

Аргументы:
[in]surface- Поверхность.
[in]contour- Контур.
[out]seamsAndPoles- Номера сегментов, соответствующих швам и полюсам.
MbResultType EvolutionNormalize ( const MbSurface surface,
const RPArray< MbContour > &  contours,
const MbCurve3D guide,
const EvolutionValues parameters,
MbAxis3D axis,
double &  angle,
VERSION  version 
)

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

Аргументы:
[in]surface- Поверхность.
[in]contours- Образующие контуры.
[in]guide- Направляющая кривая.
[in]parameters- Параметры операции.
[out]axis- Ось доворота образующей.
[out]angle- Угол доворота образующей.
[in]version- Версия операции.
Возвращает:
Возвращает код результата операции.
Предупреждения:
Вспомогательная функция операций EvolutionSolid и EvolutionResult.
 Указатель Классы Пространства имен Файлы Функции Переменные Определения типов Перечисления Элементы перечислений Друзья Макросы