C3D Toolkit  Kernel - 105122, Vision - 0.181114.105122

Итератор видов сечений тела. Подробнее...

Открытые статические члены

static MbSectionMapIteratorAbsCreate (RPArray< MbMappingLumps > &lumps, const MbPlacement3D &place, bool isViewCut, bool isDismantel, const MbContour &ncontour, const MbSNameMaker &ncontourNames, ptrdiff_t part, const MbMapVisibilityMode &visMode, VERSION obj_version)
 Итератор по множеству моделей тел. Подробнее...
 
static MbResultType ContourValidityCheck (const MbContour &contour)
 Валидность контура. Подробнее...
 
static bool IsOrthonormalSectionContour (const MbContour &contour)
 Распознать ортоперпендекулярное сечение. Подробнее...
 

Подробное описание

Итератор видов сечений тела.

Итератор видов сечений тела. Реализационный.
Замечания по итератору:

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

Методы

◆ Create()

static MbSectionMapIteratorAbs& MbSectionMapIterator::Create ( RPArray< MbMappingLumps > &  lumps,
const MbPlacement3D place,
bool  isViewCut,
bool  isDismantel,
const MbContour ncontour,
const MbSNameMaker ncontourNames,
ptrdiff_t  part,
const MbMapVisibilityMode visMode,
VERSION  obj_version 
)
static

Итератор по множеству моделей тел.

Итератор по множеству моделей тел.

Аргументы
[in]lumps- Набор тел с матрицами и признаками рассечения.
[in]place- Плоскость секущего вида.
[in]isViewCut- Признак вида-разреза (а не сечения).
[in]isDismantel- Разнесенный вид сборки.
[in]ncontour- Контур разреза\сечения.
[in]ncontourNames- Именователь контура.
[in]part- Сторона отсечения. Имеет значение знак числа.
[in]visMode- Настройки видимости следов проецируемых объектов.
[in]obj_version- Математическая версия.
Возвращает
Итератор видов сечений.

◆ ContourValidityCheck()

static MbResultType MbSectionMapIterator::ContourValidityCheck ( const MbContour contour)
static

Валидность контура.

Валидность контура для построения сечений.
Контур валидный, если он:

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

◆ IsOrthonormalSectionContour()

static bool MbSectionMapIterator::IsOrthonormalSectionContour ( const MbContour contour)
static

Распознать ортоперпендекулярное сечение.

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

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

Объявления и описания членов класса находятся в файле: