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

Объект геометрической модели. Подробнее...

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

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

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

 MbItem ()
 Конструктор.
virtual ~MbItem ()
 Деструктор.
 VISITING_CLASS (MbItem)
 DECLARE_PERSISTENT_CLASS (MbItem)
 OBVIOUS_PRIVATE_COPY (MbItem)
Общие функции геометрического объекта.
virtual MbeSpaceType IsA () const =0
 Получить тип объекта.
virtual MbeSpaceType Type () const
 Получить групповой тип объекта.
virtual MbeSpaceType Family () const
 Получить семейство объекта.
virtual MbeImplicationType ImplicationType () const
 Выдать тип контейнера атрибутов.
virtual MbSpaceItemDuplicate (MbRegDuplicate *=NULL) const =0
 Создать копию объекта.
virtual void Transform (const MbMatrix3D &, MbRegTransform *=NULL)=0
 Преобразовать объект согласно матрице.
virtual void Move (const MbVector3D &, MbRegTransform *=NULL)=0
 Сдвинуть объект вдоль вектора.
virtual void Rotate (const MbAxis3D &, double angle, MbRegTransform *=NULL)=0
 Повернуть объект вокруг оси на заданный угол.
virtual bool IsSame (const MbSpaceItem &other, double accuracy=LENGTH_EPSILON) const =0
 Определить, являются ли объекты равными.
virtual bool SetEqual (const MbSpaceItem &init)=0
 Сделать объекты равным, если они подобны.
virtual double DistanceToPoint (const MbCartPoint3D &) const =0
 Определить расстояние до точки.
virtual void AddYourGabaritTo (MbCube &r) const =0
 Расширить присланный габаритный куб так, чтобы он включал в себя данный объект.
virtual void CalculateLocalGabarit (const MbMatrix3D &into, MbCube &cube) const =0
 Рассчитать габарит в локальной системы координат.
virtual MbPropertyCreateProperty (MbePrompt n) const
 Создать собственное свойство с заданием его имени.
virtual void GetProperties (MbProperties &properties)
 Выдать свойства атрибутов.
virtual void SetProperties (const MbProperties &properties)
 Установить свойства атрибутов.
virtual void GetBasisPoints (MbControlData3D &) const
 Выдать контрольные точки объекта.
virtual void SetBasisPoints (const MbControlData3D &)
 Изменить объект по контрольным точкам.
virtual void GetBasisPoints (MbControlData &) const
virtual void SetBasisPoints (const MbControlData &)
virtual bool GetPlacement (MbPlacement3D &p) const
 Получить систему координат объекта, если она есть. Функция вернет true, если объект имеет собственную подсистему координат, иначе считается, что ЛСК объекта всегда "стандартная" (MbPlacement3D::global).
virtual bool SetPlacement (const MbPlacement3D &)
 Установить систему координат объекта, если возможно.
virtual void CalculateWire (const MbStepData &stepData, MbMesh &mesh) const =0
 Создать полигональную копию.
Общие функции объекта геометрической модели
virtual bool RebuildItem (MbeCopyMode sameShell, RPArray< MbSpaceItem > *items, IProgressIndicator *progInd)
 Перестроить объект по журналу построения.
virtual MbItemCreateMesh (const MbStepData &stepData, const MbFormNote &note, MbRegDuplicate *iReg) const =0
 Создать полигональный объект.
virtual bool AddYourMesh (const MbStepData &stepData, const MbFormNote &note, MbMesh &mesh) const
 Добавить полигональный объект.
virtual MbItemCutMesh (const MbPlacement3D &cutPlace, double distance) const
 Разрезать полигональный объект одной или двумя параллельными плоскостями.
virtual bool NearestMesh (MbeSpaceType sType, MbeTopologyType tType, MbePlaneType pType, const MbAxis3D &axis, double maxDistance, bool gridPriority, double &t, double &dMin, MbItem *&find, SimpleName &findName, MbRefItem *&element, SimpleName &elementName, MbPath &path, MbMatrix3D &from) const
 Найти ближайший объект или имя ближайшего объекта.
virtual bool GetItems (MbeSpaceType type, const MbMatrix3D &from, RPArray< MbItem > &items, SArray< MbMatrix3D > &matrs)
 Дать все объекты указанного типа.
virtual bool GetUniqItems (MbeSpaceType type, CSSArray< const MbItem * > &items) const
 Дать все уникальные объекты указанного типа.
virtual const MbItemGetItemByPath (const MbPath &path, size_t ind, MbMatrix3D &from, size_t currInd=0) const
 Дать объект по его пути.
virtual const MbItemFindItem (const MbSpaceItem *s, MbPath &path, MbMatrix3D &from) const
 Найти объект по геометрическому объекту.
virtual const MbItemFindItem (const MbPlaneItem *s, MbPath &path, MbMatrix3D &from) const
 Найти объект по геометрическому объекту.
virtual const MbItemFindItem (const MbItem *s, MbPath &path, MbMatrix3D &from) const
 Найти объект по объекту геометрической модели.
virtual const MbItemGetItemByName (SimpleName n, MbPath &path, MbMatrix3D &from) const
 Найти объект по имени.
virtual void TransformSelected (const MbMatrix3D &matr, MbRegTransform *iReg=NULL)
 Преобразовать выбранный объект согласно матрице.
virtual void MoveSelected (const MbVector3D &to, MbRegTransform *iReg=NULL)
 Сдвинуть выбранный объект вдоль вектора.
virtual void RotateSelected (const MbAxis3D &axis, double angle, MbRegTransform *iReg=NULL)
 Повернуть выбранный объект вокруг оси на заданный угол.
void Assign (const MbItem &other)
 Копировать строители и атрибуты.
void CopyItemName (const MbItem &other)
 Копировать имя объекта.
SimpleName GetItemName () const
 Выдать имя объекта.
void SetItemName (SimpleName n)
 Установить имя объекта.

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

 MbItem (const MbItem &, MbRegDuplicate *)
 Конструктор копирования с регистратором дублирования.
void LockItem () const
 Захватить объект, если ядро работает в многопоточном режиме.
void UnlockItem () const
 Освободить объект, если ядро работает в многопоточном режиме.

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

Родительский класс объектов геометрической модели.
Наследниками являются:
локальная система координат MbAssistingItem,
точечный каркас MbPointFrame,
проволочный каркас MbWireFrame,
твёрдое тело MbSolid,
полигональный объект MbMesh,
вставка объекта в локальной системе координат MbInstance,
сборка объектов в локальной системе координат MbAssembly,
вставка трехмерного объекта MbSpaceInstance,
вставка двумерного объекта MbPlaneInstance в плоскости XY локальной системы координат.
Объект содержит последовательность и способы своего построения MbTransactions.
Объект содержит не геометрические свойства в виде контейнера атрибутов MbAttributeContainer.
Имя объекта геометрической модели представляет собой контейнер простых имён. В начале контейнера содержится простое имя SimpleName, присвоенное объекту геометрической моделью MbModel.
Если объект не держит в себе других объектов, то контейнер содержит одно простое имя SimpleName. Ели объект держит в себе другие объекты (MbAssembly или MbInstance), то имя внутренних объектов представляет собой контейнер, содержащий как минимум два простых имени. Количество элементов имени объекта отражают количество уровней вложенности объект относительно модели.


Методы

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

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

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

Замещает MbSpaceItem.

Замещается в MbAssembly, MbAssistingItem, MbCollection, MbInstance, MbMesh, MbPlaneInstance, MbPointFrame, MbSolid, MbSpaceInstance и MbWireFrame.

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

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

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

Замещает MbSpaceItem.

Замещается в MbAssembly, MbAssistingItem, MbCollection, MbInstance, MbMesh, MbPlaneInstance, MbPointFrame, MbSolid, MbSpaceInstance и MbWireFrame.

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

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

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

Замещает MbSpaceItem.

Замещается в MbAssembly, MbAssistingItem, MbCollection, MbInstance, MbMesh, MbPlaneInstance, MbPointFrame, MbSolid, MbSpaceInstance и MbWireFrame.

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

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

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

Замещает MbSpaceItem.

Замещается в MbAssembly, MbAssistingItem, MbCollection, MbInstance, MbMesh, MbPlaneInstance, MbPointFrame, MbSolid, MbSpaceInstance и MbWireFrame.

virtual bool MbItem::IsSame ( const MbSpaceItem other,
double  accuracy = LENGTH_EPSILON 
) const [pure virtual]

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

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

Замещает MbSpaceItem.

Замещается в MbAssembly, MbAssistingItem, MbCollection, MbInstance, MbMesh, MbPlaneInstance, MbPointFrame, MbSolid, MbSpaceInstance и MbWireFrame.

virtual bool MbItem::SetEqual ( const MbSpaceItem item) [pure virtual]

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

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

Замещает MbSpaceItem.

Замещается в MbAssembly, MbAssistingItem, MbCollection, MbInstance, MbMesh, MbPlaneInstance, MbPointFrame, MbSolid, MbSpaceInstance и MbWireFrame.

virtual double MbItem::DistanceToPoint ( const MbCartPoint3D point) const [pure virtual]

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

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

Замещает MbSpaceItem.

Замещается в MbAssembly, MbAssistingItem, MbCollection, MbInstance, MbMesh, MbPlaneInstance, MbPointFrame, MbSolid, MbSpaceInstance и MbWireFrame.

virtual void MbItem::AddYourGabaritTo ( MbCube cube) const [pure virtual]

Расширить присланный габаритный куб так, чтобы он включал в себя данный объект.

Аргументы:
[in,out]cube- Принимающий габаритный куб с информацией по габаритам.

Замещает MbSpaceItem.

Замещается в MbAssembly, MbAssistingItem, MbCollection, MbInstance, MbMesh, MbPlaneInstance, MbPointFrame, MbSolid, MbSpaceInstance и MbWireFrame.

virtual void MbItem::CalculateLocalGabarit ( const MbMatrix3D into,
MbCube cube 
) const [pure virtual]

Для получения габарита объекта относительно локальной системы координат, присланный куб делается пустым. Затем вычисляются габариты объекта в локальной системе координат и сохраняются в кубе cube.

Аргументы:
[in]into- Матрица перехода от текущей для объекта системы координат к локальной системе координат.
[in,out]cube- Куб с информацией по габаритам.

Замещает MbSpaceItem.

Замещается в MbAssembly, MbAssistingItem, MbCollection, MbInstance, MbMesh, MbPlaneInstance, MbPointFrame, MbSolid, MbSpaceInstance и MbWireFrame.

virtual void MbItem::CalculateWire ( const MbStepData stepData,
MbMesh mesh 
) const [pure virtual]

Создать полигональную копию данного объекта, представленную полигонами. Полигональный объект будет содержать только полигоны MbPolygon3D.

Аргументы:
[in]sag- Максимальное отклонение полигонального объекта от оригинала по прогибу.
[in,out]mesh- Принимающий полигональный объект.

Замещает MbSpaceItem.

Замещается в MbAssembly, MbAssistingItem, MbCollection, MbInstance, MbMesh, MbPlaneInstance, MbPointFrame, MbSolid, MbSpaceInstance и MbWireFrame.


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