C3D Kernel  104598
Открытые члены | Защищенные члены | Защищенные данные

Примитив. Подробнее...

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

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

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

virtual ~MbPrimitive ()
 Деструктор
Общие функции примитива.
virtual MbePrimitiveType Type () const =0
 Получить тип объекта.
virtual MbeRefType RefType () const
 Регистрационный тип (для копирования, дублирования).
virtual MbPrimitiveDuplicate (MbRegDuplicate *iReg=NULL) const =0
 Создать копию примитива.
virtual void Transform (const MbMatrix3D &matr)=0
 Преобразовать примитив согласно матрице.
virtual void Move (const MbVector3D &to)=0
 Сдвинуть примитив вдоль вектора.
virtual void Rotate (const MbAxis3D &axis, double angle)=0
 Повернуть примитив вокруг оси на заданный угол.
virtual MbeImplicationType ImplicationType () const
 Выдать тип контейнера атрибутов.
virtual void AddYourGabaritTo (MbCube &r) const =0
 Расширить присланный габаритный куб так, чтобы он включал в себя данный объект.
virtual double DistanceToPoint (const MbCartPoint3D &pnt) const =0
 Вычислить расстояние до точки.
virtual double DistanceToLine (const MbAxis3D &axis, double maxDistance, double &t) const =0
 Вычислить расстояние до оси.
virtual void GetProperties (MbProperties &)=0
 Выдать свойства объекта.
virtual void SetProperties (const MbProperties &)=0
 Записать свойства объекта.
SimpleName GetPrimitiveName () const
void SetPrimitiveName (SimpleName n)
const MbRefItemGetItem () const
 Выдать породивший примитив объект.
void SetItem (const MbRefItem *g)
 Установить породивший примитив объект.
MbeRefType GetPrimitiveType () const
 Дать тип объекта.
void SetPrimitiveType (MbeRefType t)
 Установить тип объекта.
bool NearestType (MbeSpaceType sType, MbeTopologyType tType, MbePlaneType pType) const
 Удовлетворяет ли примитив критериям поиска ближайшего объекта?
const MbSpaceItemSpaceItem () const
 Получить пространственный объект, для которого построен примитив.
const MbPlaneItemPlaneItem () const
 Получить двумерный объект, для которого построен примитив.
const MbTopItemTopItem () const
 Получить топологический объект, для которого построен примитив.
const MbItemItem () const
 Получить объект геометрической модели, для которого построен примитив.
void PrimitiveRead (reader &in)
 Чтение примитива из потока.
void PrimitiveWrite (writer &out) const
 Запись примитива в поток.

Защищенные члены

 MbPrimitive (const MbPrimitive &init)
 MbPrimitive (const MbPrimitive &init, MbRegDuplicate *iReg)
 Конструктор копирования с регистратором.
 MbPrimitive ()
 Конструктор без параметров.

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

SimpleName name
 Имя примитива.
const MbRefItemparentItem
 Породивший объект (не владеем).
MbeRefType type
 Тип примитива.

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

Родительский класс элемента полигонального объекта служит для аппроксимации геометрического объекта. Каждый экземпляр класса MbPrimitive несет имя и указатель на исходный геометрический объект (если есть такой) и атрибуты.
MbPrimitive является предком для триангуляции (MbGrid), полигона (MbPolygon3D) и апекса (MbApex3D).


Методы

virtual MbPrimitive& MbPrimitive::Duplicate ( MbRegDuplicate iReg = NULL) const [pure virtual]

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

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

Замещается в MbExactGrid, MbFloatGrid, MbExactPolygon3D, MbFloatPolygon3D, MbApex3D, MbExactApex3D, MbFloatApex3D, MbPolygon3D и MbGrid.

virtual void MbPrimitive::Transform ( const MbMatrix3D matr) [pure virtual]

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

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

Замещается в MbExactGrid, MbFloatGrid, MbExactPolygon3D, MbFloatPolygon3D, MbApex3D, MbExactApex3D, MbFloatApex3D, MbPolygon3D и MbGrid.

virtual void MbPrimitive::Move ( const MbVector3D to) [pure virtual]

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

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

Замещается в MbExactGrid, MbFloatGrid, MbExactPolygon3D, MbFloatPolygon3D, MbApex3D, MbExactApex3D, MbFloatApex3D, MbPolygon3D и MbGrid.

virtual void MbPrimitive::Rotate ( const MbAxis3D axis,
double  angle 
) [pure virtual]

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

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

Замещается в MbExactGrid, MbFloatGrid, MbExactPolygon3D, MbFloatPolygon3D, MbApex3D, MbExactApex3D, MbFloatApex3D, MbPolygon3D и MbGrid.


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