C3D Kernel  104065
Открытые члены | Защищенные данные
Класс MbElementarySolid

Строитель оболочки элементарного тела. Подробнее...

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

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

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

template<class Points >
 MbElementarySolid (const Points &pnts, ElementaryShellType t, const MbSNameMaker &n)
 Конструктор.
virtual ~MbElementarySolid ()
 Деструктор.
Общие функции строителя оболочки.
virtual MbeCreatorType IsA () const
 Получить тип объекта.
virtual void Transform (const MbMatrix3D &, MbRegTransform *=NULL)
 Преобразовать согласно матрице.
virtual void Move (const MbVector3D &, MbRegTransform *=NULL)
 Сдвинуть вдоль вектора.
virtual void Rotate (const MbAxis3D &, double angle, MbRegTransform *=NULL)
 Повернуть объект вокруг оси.
virtual MbCreatorDuplicate (MbRegDuplicate *=NULL) const
 Создать копию объекта.
virtual MbePrompt GetPropertyName ()
 Выдать заголовок свойства объекта.
virtual void GetProperties (MbProperties &properties)
 Выдать свойства объекта.
virtual void SetProperties (const MbProperties &properties)
 Записать свойства объекта.
virtual void GetBasisItems (RPArray< MbSpaceItem > &s)
 Дать базовые объекты.
virtual void GetBasisPoints (MbControlData3D &) const
 Выдать контрольные точки объекта.
virtual void SetBasisPoints (const MbControlData3D &)
 Изменить объект по контрольным точкам.
virtual bool IsSame (const MbCreator &, double accuracy) const
 Являются ли объекты равными?
virtual bool IsSimilar (const MbCreator &) const
 Являются ли объекты подобными?
virtual bool SetEqual (const MbCreator &)
 Сделать объекты равными, если они подобны.
virtual bool CreateShell (MbFaceShell *&, MbeCopyMode sameShell, RPArray< MbSpaceItem > *=NULL)
 Построить оболочку по исходным данным.

Защищенные данные

SArray< MbCartPoint3Dpoints
 Опорные точки оболочки тела.
ElementaryShellType type
 Тип тела.

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

Строитель оболочки элементарного тела по набору опорных точек и типу:
solidType = et_Sphere - шар (3 точки),
solidType = et_Torus - тор (3 точки),
solidType = et_Cylinder - цилиндр (3 точки),
solidType = et_Cone - конус (3 точки),
solidType = et_Block - блок (4 точки),
solidType = et_Wedge - клин (4 точки),
solidType = et_Prism - призма (количество вершин основания+1 точка),
solidType = et_Pyramid - пирамида (количество вершин основания+1 точка),
solidType = et_Plate - плита (4 точки).


Конструктор(ы)

template<class Points >
MbElementarySolid::MbElementarySolid ( const Points &  pnts,
ElementaryShellType  t,
const MbSNameMaker n 
) [inline]

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

Аргументы:
[in]pnts- Опорные точки.
pnts[0] определяет начало локальной системы координат.
Для сферы, тора, цилиндра и конуса:
pnts[1] определяет направление оси Z локальной системы.
pnts[2] определяет направление оси X локальной системы.
Для блока, клина и плиты:
pnts[1] определяет направление оси X локальной системы.
pnts[2] определяет направление оси Y локальной системы.
Кроме того,
pnts[1] определяет высоту цилиндра, высоту конуса, большой радиус тора, длину блока, длину клина.
pnts[2] определяет радиус цилиндра, радиус конуса, радиус сферы, малый радиус тора, ширину блока, ширину клина.
Последняя точка определяет высоту блока, клина, плиты, вершину пирамиды.
[in]t- Тип элементарного тела.
[in]n- Именователь операции.

Методы

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

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

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

Замещает MbCreator.

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

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

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

Замещает MbCreator.

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

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

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

Замещает MbCreator.

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

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

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

Замещает MbCreator.

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

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

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

Замещает MbCreator.

virtual bool MbElementarySolid::IsSimilar ( const MbCreator item) const [virtual]

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

Аргументы:
[in]item- Объект для сравнения.
Возвращает:
Подобны ли объекты.

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

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

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

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

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


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