C3D Kernel  104598
Открытые члены
Класс MbStitchedSolid

Строитель оболочки путём сшивки граней. Подробнее...

Граф наследования:MbStitchedSolid:
Inheritance graph
[см. легенду]
Граф связей класса MbStitchedSolid:
Collaboration graph
[см. легенду]

Полный список членов класса

Открытые члены

 MbStitchedSolid (const PArray< PArray< MbCreator > > &creatorsArray, bool formSolidBody, double stitchPrecision, const MbSNameMaker &names)
virtual MbeCreatorType IsA () const
 Получить тип объекта.
virtual MbCreatorDuplicate (MbRegDuplicate *=NULL) const
 Создать копию объекта.
virtual bool IsSame (const MbCreator &other, double accuracy) const
 Являются ли объекты равными?
virtual bool SetEqual (const MbCreator &)
 Сделать объекты равными, если они подобны.
virtual void Transform (const MbMatrix3D &, MbRegTransform *=NULL)
 Преобразовать согласно матрице.
virtual void Move (const MbVector3D &, MbRegTransform *=NULL)
 Сдвинуть вдоль вектора.
virtual void Rotate (const MbAxis3D &, double angle, MbRegTransform *=NULL)
 Повернуть объект вокруг оси.
virtual void GetProperties (MbProperties &properties)
 Выдать свойства объекта.
virtual void SetProperties (const MbProperties &properties)
 Записать свойства объекта.
virtual MbePrompt GetPropertyName ()
 Выдать заголовок свойства объекта.
virtual void GetBasisItems (RPArray< MbSpaceItem > &)
 Дать базовые объекты.
virtual void GetBasisPoints (MbControlData3D &) const
 Выдать контрольные точки объекта.
virtual void SetBasisPoints (const MbControlData3D &)
 Изменить объект по контрольным точкам.
virtual bool CreateShell (MbFaceShell *&shell, MbeCopyMode sameShell, RPArray< MbSpaceItem > *items=NULL)
 Построить оболочку по исходным данным.
virtual void SetYourVersion (VERSION version, bool forAll)
 Установить версию объектов.

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

Строитель оболочки путём сшивки граней.
Операция принимает в качестве исходных данных незамкнутые оболочки и отдельные грани, ищет среди их граничных рёбер совпадающие полностью или частично и "сшивает" их, т.е. устанавливает связи между гранями, рёбрами и вершинами. В ходе выполнения операции рёбра и вершины уточняются при необходимости путём пересечения стыкующихся граней. Алгоритм работы следующий:
1. Для каждой вершины насчитывается габарит, в котором будет осуществляться поиск совпадающих вершин. Этот габарит зависит от длин стыкующихся в ней рёбер и от толщины тонкой стенки, если такая ситуация обнаружена.
2. С помощью насчитанных габаритов все вершины разбиваются на группы, каждая из которых сформирует одну вершину результата.
3. Все рёбра разбиваются на группы с одинаковыми конечными группами вершин.
4. В каждой группе рёбер ищутся пары совпадающих с заданной точностью рёбер.
5. Каждое непарное ребро разбивается лежащими на нём вершинами, и для них повторяются пункты с 1 по 4.
6. С помощью пересечений стыкующихся граней парные рёбра уточняются и сшиваются, а каждая группа вершин заменяется одной вершиной.


Методы

virtual MbCreator& MbStitchedSolid::Duplicate ( MbRegDuplicate iReg = NULL) const [virtual]

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

Аргументы:
[in]iReg- Регистратор.
Возвращает:
Копия объекта.

Замещает MbCreator.

virtual bool MbStitchedSolid::IsSame ( const MbCreator other,
double  accuracy 
) const [virtual]

Равными считаются однотипные объекты, все данные которых одинаковы (равны).

Аргументы:
[in]other- Объект для сравнения.
[in]accuracy- Точность сравнения.
Возвращает:
Равны ли объекты.

Замещает MbCreator.

virtual void MbStitchedSolid::Transform ( const MbMatrix3D matr,
MbRegTransform iReg = NULL 
) [virtual]

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

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

Замещает MbCreator.

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

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

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

Замещает MbCreator.

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

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

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

Замещает MbCreator.

virtual bool MbStitchedSolid::CreateShell ( MbFaceShell *&  shell,
MbeCopyMode  sameShell,
RPArray< MbSpaceItem > *  items = NULL 
) [virtual]

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

Аргументы:
[in]shell- Подлежащая модификации или новая оболочка.
[in]sameShell- Полнота копирования элементов при построении.
[in]items- Контейнер для складывания элементов невыполненных построений (может быть NULL).
Возвращает:
Выполнено ли построение.

Переопределяет метод предка MbCreator.


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