C3D Toolkit  Kernel - 105122, Vision - 0.181114.105122

Атрибуты объекта. Подробнее...

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

Открытые типы

enum  OnChangeOwnerAction { chn_Self = 0, chn_Free, chn_Keep, chn_ActCount }
 
enum  OnConvertOwnerAction {
  cnv_Self = 0, cnv_Free, cnv_Keep, cnv_Copy,
  cnv_Convert, cnv_ActCount
}
 
enum  OnTransformOwnerAction { trn_Self = 0, trn_Free, trn_Keep, trn_ActCount }
 
enum  OnCopyOwnerAction {
  cpy_Self = 0, cpy_Free, cpy_Keep, cpy_Copy,
  cpy_ActCount
}
 
enum  OnMergeOwnerAction {
  mrg_Self = 0, mrg_Free, mrg_Keep, mrg_KeepAll,
  mrg_KeepRep, mrg_ActCount
}
 
enum  OnReplaceOwnerAction {
  rep_Self = 0, rep_Free, rep_Keep, rep_KeepAll,
  rep_KeepRep, rep_ActCount
}
 
enum  OnSplitOwnerAction {
  spl_Self = 0, spl_Free, spl_Keep, spl_Copy,
  spl_ActCount
}
 
enum  OnDeleteOwnerAction { del_Self = 0, del_Free, del_ActCount }
 

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

virtual ~MbAttribute ()
 Деструктор.
 
OnChangeOwnerAction GetActionForChange () const
 Выдать поведение атрибута при изменении владельца.
 
OnConvertOwnerAction GetActionForConvert () const
 Выдать поведение атрибута при конвертации владельца.
 
OnTransformOwnerAction GetActionForTransform () const
 Выдать поведение атрибута при трансформировании владельца.
 
OnCopyOwnerAction GetActionForCopy () const
 Выдать поведение атрибута при копировании владельца.
 
OnMergeOwnerAction GetActionForMerge () const
 Выдать поведение атрибута при объединении владельца.
 
OnReplaceOwnerAction GetActionForReplace () const
 Выдать поведение атрибута при замене владельца.
 
OnSplitOwnerAction GetActionForSplit () const
 Выдать поведение атрибута при разделении владельца.
 
OnDeleteOwnerAction GetActionForDelete () const
 Выдать поведение атрибута при удалении владельца.
 
void SetActionForChange (OnChangeOwnerAction a)
 Задать поведение атрибута при изменении владельца.
 
void SetActionForConvert (OnConvertOwnerAction a)
 Задать поведение атрибута при конвертации владельца.
 
void SetActionForTransform (OnTransformOwnerAction a)
 Задать поведение атрибута при трансформировании владельца.
 
void SetActionForCopy (OnCopyOwnerAction a)
 Задать поведение атрибута при копировании владельца.
 
void SetActionForMerge (OnMergeOwnerAction a)
 Задать поведение атрибута при объедении владельца.
 
void SetActionForReplace (OnReplaceOwnerAction a)
 Задать поведение атрибута при замене владельца.
 
void SetActionForSplit (OnSplitOwnerAction a)
 Задать поведение атрибута при разбиении владельца.
 
void SetActionForDelete (OnDeleteOwnerAction a)
 Задать поведение атрибута при удалении владельца.
 
void InitActions (const MbAttribute &)
 Определить поведение атрибута по другому атрибуту.
 
virtual void GetProperties (MbProperties &)
 Выдать свойства объекта.
 
virtual size_t SetProperties (const MbProperties &)
 Установить свойства объекта.
 
virtual MbePrompt GetPropertyName ()=0
 Выдать заголовок свойства объекта.
 
Общие функции атрибутов
virtual MbeRefType RefType () const
 Выдать регистрационный тип (для копирования, дублирования).
 
virtual MbeImplicationType ImplicationType () const
 Выдать тип контейнера атрибутов.
 
virtual MbeAttributeType AttributeFamily () const =0
 Выдать тип атрибута.
 
virtual MbeAttributeType AttributeType () const =0
 Выдать подтип атрибута.
 
virtual MbAttributeDuplicate (MbRegDuplicate *iReg=NULL) const =0
 Сделать копию элемента.
 
virtual bool IsSame (const MbAttribute &item, double accuracy) const =0
 Определить, являются ли объекты равными. Подробнее...
 
virtual bool Init (const MbAttribute &)=0
 Инициализировать данные по присланным.
 
bool IsA (MbeAttributeType t) const
 Проверить тип атрибута.
 
Действия над объектами геометрического ядра, влияющие на состояние атрибутов
virtual void OnChangeOwner (const MbAttributeContainer &owner)=0
 Выполнить действия при изменении владельца, не связанное с другими действиями. Подробнее...
 
virtual void OnConvertOwner (const MbAttributeContainer &owner, MbAttributeContainer &other)=0
 
virtual void OnTransformOwner (const MbAttributeContainer &owner, const MbMatrix3D &matr, MbRegTransform *iReg=NULL)=0
 
virtual void OnMoveOwner (const MbAttributeContainer &owner, const MbVector3D &to, MbRegTransform *iReg=NULL)=0
 
virtual void OnRotateOwner (const MbAttributeContainer &owner, const MbAxis3D &axis, double angle, MbRegTransform *iReg=NULL)=0
 
virtual void OnCopyOwner (const MbAttributeContainer &owner, MbAttributeContainer &other, MbRegDuplicate *iReg=NULL)=0
 
virtual void OnMergeOwner (const MbAttributeContainer &owner, MbAttributeContainer &other)=0
 
virtual void OnReplaceOwner (const MbAttributeContainer &owner, MbAttributeContainer &other)=0
 
virtual void OnSplitOwner (const MbAttributeContainer &owner, const std::vector< MbAttributeContainer *> &others)=0
 
virtual void OnDeleteOwner (const MbAttributeContainer &owner)=0
 
- Открытые члены унаследованные от MbRefItem
 MbRefItem ()
 Конструктор без параметров.
 
refcount_t GetUseCount () const
 Выдать количество ссылок (выдать количество владельцев объекта).
 
refcount_t AddRef () const
 Увеличить количество ссылок на единицу.
 
refcount_t DecRef () const
 Уменьшить количество ссылок на единицу.
 
refcount_t Release () const
 Уменьшить количество ссылок на единицу и, если количество ссылок стало равным нулю, удалить себя.
 
- Открытые члены унаследованные от TapeBase
 TapeBase (RegistrableRec regs=noRegistrable)
 Конструктор.
 
 TapeBase (const TapeBase &other)
 Конструктор копирования
 
virtual ~TapeBase ()
 Деструктор.
 
RegistrableRec GetRegistrable () const
 Является ли потоковый класс регистрируемым.
 
void SetRegistrable (RegistrableRec regs=registrable) const
 Установить состояние регистрации потокового класса.
 
virtual ClassDescriptor GetClassDescriptor (const VersionContainer &) const =0
 Получить дескриптор класса
 
virtual const char * GetPureName (const VersionContainer &) const
 Получить имя класса.
 
virtual bool IsFamilyRegistrable () const
 Принадлежит ли объект к регистрируемому семейству.
 

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

 MbAttribute ()
 Конструктор без параметров для наследников.
 

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

Атрибуты объекта.

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

Перечисления

◆ OnChangeOwnerAction

Поведение атрибута при изменении владельца, не связанном с другими описанными действия.

Элементы перечислений
chn_Self 

Поведение, определяемое виртуальной функцией OnChangeOwner.

chn_Free 

Освободить атрибут, если это возможно, в противном случае удалить.

chn_Keep 

Сохранить атрибут, т.е. ничего с ним не делать.

chn_ActCount 

Количество элементов в перечислении (добавлять перед данным значением).

◆ OnConvertOwnerAction

Поведение атрибута при перерождении объекта в другой объект.

Элементы перечислений
cnv_Self 

Поведение, определяемое виртуальной функцией OnConvertOwner.

cnv_Free 

Освободить атрибут, если это возможно, в противном случае удалить.

cnv_Keep 

Сохранить атрибут, т.е. ничего с ним не делать.

cnv_Copy 

Скопировать атрибут и прицепить его копию к копии владельца.

cnv_Convert 

Конвертировать атрибут и прицепить результат к копии владельца.

cnv_ActCount 

Количество элементов в перечислении (добавлять перед данным значением).

◆ OnTransformOwnerAction

Поведение атрибута при преобразовании владельца (по матрице).

Элементы перечислений
trn_Self 

Поведение, определяемое виртуальной функцией OnTransformOwner.

trn_Free 

Освободить атрибут, если это возможно, в противном случае удалить.

trn_Keep 

Сохранить атрибут, т.е. ничего с ним не делать.

trn_ActCount 

Количество элементов в перечислении (добавлять перед данным значением).

◆ OnCopyOwnerAction

Поведение атрибута при копировании владельца.

Элементы перечислений
cpy_Self 

Поведение, определяемое виртуальной функцией OnCopyOwner.

cpy_Free 

Освободить атрибут, если это возможно, в противном случае удалить.

cpy_Keep 

Сохранить атрибут, т.е. ничего с ним не делать.

cpy_Copy 

Скопировать атрибут и прицепить его копию к копии владельца.

cpy_ActCount 

Количество элементов в перечислении (добавлять перед данным значением).

◆ OnMergeOwnerAction

Поведение атрибута при объединении владельца с другим объектом.

Элементы перечислений
mrg_Self 

Поведение, определяемое виртуальной функцией OnMergeOwner.

mrg_Free 

Освободить атрибут, если это возможно, в противном случае удалить.

mrg_Keep 

Сохранить атрибут, т.е. ничего с ним не делать.

mrg_KeepAll 

Передать атрибут от поглощаемого объекта поглощающему объекту без замещения.

mrg_KeepRep 

Передать атрибут от поглощаемого объекта поглощающему объекту с замещением.

mrg_ActCount 

Количество элементов в перечислении (добавлять перед данным значением).

◆ OnReplaceOwnerAction

Поведение атрибута при замещении владельца с другим объектом.

Элементы перечислений
rep_Self 

Поведение, определяемое виртуальной функцией OnReplaceOwner.

rep_Free 

Освободить атрибут, если это возможно, в противном случае удалить.

rep_Keep 

Сохранить атрибут, т.е. ничего с ним не делать.

rep_KeepAll 

Передать атрибут от замещаемого объекта замещающему объекту без замещения.

rep_KeepRep 

Передать атрибут от замещаемого объекта замещающему объекту с замещением.

rep_ActCount 

Количество элементов в перечислении (добавлять перед данным значением).

◆ OnSplitOwnerAction

Поведение атрибута при разделении владельца.

Элементы перечислений
spl_Self 

Поведение, определяемое виртуальной функцией OnSplitOwner.

spl_Free 

Освободить атрибут, если это возможно, в противном случае удалить.

spl_Keep 

Сохранить атрибут, т.е. ничего с ним не делать.

spl_Copy 

Размножить(скопировать) атрибут для каждого результата разбиения.

spl_ActCount 

Количество элементов в перечислении (добавлять перед данным значением).

◆ OnDeleteOwnerAction

Поведение атрибута при удалении владельца.

Элементы перечислений
del_Self 

Поведение, определяемое виртуальной функцией OnDeleteOwner.

del_Free 

Освободить атрибут, если это возможно, в противном случае удалить.

del_ActCount 

Количество элементов в перечислении (добавлять перед данным значением).

Методы

◆ IsSame()

virtual bool MbAttribute::IsSame ( const MbAttribute item,
double  accuracy 
) const
pure virtual

Определить, являются ли объекты равными.

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

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

Замещается в MbWireCount, MbBinaryAttribute, MbEmbodimentAttribute, MbProductInfo, MbStringAttribute, MbVisual, MbAnchorAttribute, MbDoubleAttribute, MbStyle, MbInt64Attribute, MbUpdateStamp, MbExternalAttribute, MbIntAttribute, MbWidth, MbChanged, MbBoolAttribute, MbPersonOrganizationInfo, MbNameAttribute, MbColor, MbVisible, MbGeomAttribute, MbStampRibAttribute, MbUserAttribute, MbIdentifier, MbDencity, MbCommonAttribute, MbProductAttribute, MbSelected и MbElementaryAttribute.

◆ OnChangeOwner()

virtual void MbAttribute::OnChangeOwner ( const MbAttributeContainer owner)
pure virtual

Выполнить действия при изменении владельца, не связанное с другими действиями.

Действия при изменении владельца, не связанное с другими действиями.
Вызывается после изменения владеющего объекта при условии GetActionForChange() == chn_Self.

Замещается в MbAnchorAttribute, MbExternalAttribute, MbUserAttribute, MbProductAttribute, MbCommonAttribute и MbElementaryAttribute.

◆ OnConvertOwner()

virtual void MbAttribute::OnConvertOwner ( const MbAttributeContainer owner,
MbAttributeContainer other 
)
pure virtual

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

Замещается в MbAnchorAttribute, MbExternalAttribute, MbUserAttribute, MbProductAttribute, MbCommonAttribute и MbElementaryAttribute.

◆ OnTransformOwner()

virtual void MbAttribute::OnTransformOwner ( const MbAttributeContainer owner,
const MbMatrix3D matr,
MbRegTransform iReg = NULL 
)
pure virtual

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

Замещается в MbAnchorAttribute, MbExternalAttribute, MbUserAttribute, MbGeomAttribute, MbStampRibAttribute, MbProductAttribute, MbCommonAttribute и MbElementaryAttribute.

◆ OnMoveOwner()

virtual void MbAttribute::OnMoveOwner ( const MbAttributeContainer owner,
const MbVector3D to,
MbRegTransform iReg = NULL 
)
pure virtual

Выполнить действия при перемещении владельца.
Вызывается после перемещения владеющего объекта при условии GetActionForTransform() == trn_Self. В качестве входного параметра может передаваться регистратор трансформированных объектов.

Замещается в MbAnchorAttribute, MbExternalAttribute, MbUserAttribute, MbGeomAttribute, MbStampRibAttribute, MbProductAttribute, MbCommonAttribute и MbElementaryAttribute.

◆ OnRotateOwner()

virtual void MbAttribute::OnRotateOwner ( const MbAttributeContainer owner,
const MbAxis3D axis,
double  angle,
MbRegTransform iReg = NULL 
)
pure virtual

Выполнить действия при вращении владельца.
Вызывается после вращения владеющего объекта при условии GetActionForTransform() == trn_Self. В качестве входного параметра может передаваться регистратор трансформированных объектов.

Замещается в MbAnchorAttribute, MbExternalAttribute, MbUserAttribute, MbGeomAttribute, MbStampRibAttribute, MbProductAttribute, MbCommonAttribute и MbElementaryAttribute.

◆ OnCopyOwner()

virtual void MbAttribute::OnCopyOwner ( const MbAttributeContainer owner,
MbAttributeContainer other,
MbRegDuplicate iReg = NULL 
)
pure virtual

Выполнить действия при копировании владельца.
Вызывается после копирования владеющего объекта при условии GetActionForCopy() == cpy_Self.
В качестве входных параметров передаются: копия владеющего объекта и регистратор скопированных объектов.

Замещается в MbAnchorAttribute, MbExternalAttribute, MbUserAttribute, MbGeomAttribute, MbStampRibAttribute, MbProductAttribute, MbCommonAttribute и MbElementaryAttribute.

◆ OnMergeOwner()

virtual void MbAttribute::OnMergeOwner ( const MbAttributeContainer owner,
MbAttributeContainer other 
)
pure virtual

Выполнить действия при объединении владельца.
Вызывается перед слиянием владельца при условии GetActionForMerge() == mrg_Self.
В качестве входного параметра передается объект который будет поглощен.

Замещается в MbAnchorAttribute, MbExternalAttribute, MbNameAttribute, MbUserAttribute, MbGeomAttribute, MbStampRibAttribute, MbProductAttribute, MbCommonAttribute и MbElementaryAttribute.

◆ OnReplaceOwner()

virtual void MbAttribute::OnReplaceOwner ( const MbAttributeContainer owner,
MbAttributeContainer other 
)
pure virtual

Выполнить действия при замене владельца.
Вызывается перед выполнением замены владельца при условии GetActionForReplace() == rep_Self.
В качестве входного параметра передается объект - заместитель.

Замещается в MbAnchorAttribute, MbExternalAttribute, MbUserAttribute, MbProductAttribute, MbCommonAttribute и MbElementaryAttribute.

◆ OnSplitOwner()

virtual void MbAttribute::OnSplitOwner ( const MbAttributeContainer owner,
const std::vector< MbAttributeContainer *> &  others 
)
pure virtual

Выполнить действия при разделении владельца.
Вызывается после разбиения владеющего объекта при условии GetActionForSplit() == spl_Self.
В качестве входного параметра передается контейнер результатов разбиения.

Замещается в MbAnchorAttribute, MbExternalAttribute, MbUserAttribute, MbProductAttribute, MbCommonAttribute и MbElementaryAttribute.

◆ OnDeleteOwner()

virtual void MbAttribute::OnDeleteOwner ( const MbAttributeContainer owner)
pure virtual

Выполнить действия при удалении владельца.
Вызывается перед удалением объекта при условии GetActionForDelete() == spl_Self.

Замещается в MbAnchorAttribute, MbExternalAttribute, MbUserAttribute, MbProductAttribute, MbCommonAttribute и MbElementaryAttribute.


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