C3D Toolkit  Kernel - 105122, Vision - 0.181114.105122

Контейнер атрибутов. Подробнее...

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

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

 MbAttributeContainer ()
 Конструктор без параметров.
 
 MbAttributeContainer (MbAttribute &)
 Конструктор по атрибуту.
 
virtual ~MbAttributeContainer ()
 Деструктор.
 
virtual MbeImplicationType ImplicationType () const
 Выдать тип контейнера атрибутов.
 
void AttributesRead (reader &)
 Прочитать атрибуты из потока.
 
void AttributesWrite (writer &) const
 Записать атрибуты в поток.
 
void GetProperties (MbProperties &)
 Выдать свойства атрибутов.
 
void SetProperties (const MbProperties &)
 Установить свойства атрибутов.
 
Функции простых атрибутов объекта.
void SetDensity (double)
 Установить плотность объекта.
 
double GetDensity () const
 Выдать плотность объекта.
 
void SetVisual (float a, float d, float sp, float sh, float t, float e)
 Установить визуальные свойства объекта.
 
bool GetVisual (float &a, float &d, float &sp, float &sh, float &t, float &e) const
 Выдать визуальные свойства объекта. Подробнее...
 
bool IsColored () const
 Есть ли у объекта свой цвет. Подробнее...
 
void SetColor (uint32)
 Изменить цвет объекта.
 
uint32 GetColor () const
 Выдать цвет объекта.
 
void SetWidth (int)
 Установить толщину линий для отображения объекта.
 
int GetWidth () const
 Выдать толщину линий для отображения объекта.
 
void SetStyle (int)
 Установить стиль линий для отображения объекта.
 
int GetStyle () const
 Выдать стиль линий для отображения объекта.
 
void SetSelected (bool s=true)
 Выделить или не выделить объект.
 
bool IsSelected () const
 Выделен ли объект?
 
bool ReverseSelected ()
 Инвертировать выделение объекта.
 
void SetChanged (bool c=true)
 Задать: объект изменен или не изменён.
 
bool IsChanged () const
 Изменен ли объект?
 
void SetVisible (bool)
 Установить видимость.
 
bool IsVisible () const
 Видимый ли объект?
 
bool IsInvisible () const
 Не видимый ли элемент?
 

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

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

Общие функции над атрибутами

void AttributesAssign (const MbAttributeContainer &)
 Cдублировать атрибуты присланного объекта, свои отпустить.
 
size_t AttributesCount () const
 Выдать количество объектов.
 
void RemoveAttributes ()
 Удалить все атрибуты из контейнера.
 
MbAttributeAddAttribute (MbAttribute *attr, bool checkSame=true)
 Добавить атрибут в контейнер.
 
MbAttributeAddAttribute (const MbAttribute &attr, bool checkSame=true)
 Добавить атрибут в контейнер (всегда копирует атрибут).
 
void GetAttributes (std::vector< MbAttribute *> &attrs, MbeAttributeType type, MbeAttributeType subType) const
 Выдать атрибуты заданного типа.
 
void GetCommonAttributes (std::vector< MbAttribute *> &attrs, const c3d::string_t &samplePrompt, MbeAttributeType subType=at_Undefined) const
 Выдать атрибуты по строке описания.
 
void GetStringAttributes (std::vector< MbAttribute *> &attrs, const c3d::string_t &sampleContent) const
 Выдать строковые атрибуты по строке содержания.
 
bool RemoveAttribute (const MbAttribute *)
 Выдать атрибут заданного типа, если их несколько - то первый попавшийся. Подробнее...
 
bool RemoveAttributes (MbeAttributeType type, MbeAttributeType subType)
 Удалить атрибуты заданного типа.
 
const MbAttributeGetSimpleAttribute (MbeAttributeType) const
 Выдать простой атрибут данного подтипа.
 
MbAttributeSetSimpleAttribute (MbeAttributeType)
 Выдать простой атрибут данного подтипа.
 
MbAttributeSetSimpleAttribute (MbAttribute *simpAttr)
 Установить простой атрибут данного подтипа.
 
MbAttributeSetSimpleAttribute (const MbAttribute &simpAttr)
 Установить простой атрибут данного подтипа (всегда копирует атрибут).
 
void RemoveSimpleAttribute (MbeAttributeType)
 Удалить простой атрибут(один и более) данного подтипа.
 
MbAttributeDetachSimpleAttribute (MbeAttributeType)
 Отдать простой атрибут данного подтипа.
 
void GetUserAttributes (std::vector< MbUserAttribute *> &attrs, const MbUserAttribType &type) const
 Выдать пользовательский атрибут данного подтипа.
 
void RemoveUserAttributes (const MbUserAttribType &type)
 Удалить пользовательский атрибут (один и более) данного подтипа.
 
void DetachUserAttributes (std::vector< MbUserAttribute *> &attrs, const MbUserAttribType &type)
 Отдать пользовательский атрибут данного подтипа.
 
void AttributesChange ()
 Выполнить действия при изменении атрибутов.
 
void AttributesConvert (MbAttributeContainer &other) const
 Выполнить действия при конвертации атрибутов.
 
void AttributesTransform (const MbMatrix3D &, MbRegTransform *=NULL)
 Выполнить действия при трансформировании атрибутов.
 
void AttributesMove (const MbVector3D &, MbRegTransform *=NULL)
 Выполнить действия при перемещении атрибутов.
 
void AttributesRotate (const MbAxis3D &, double angle, MbRegTransform *=NULL)
 Выполнить действия при вращении атрибутов.
 
void AttributesCopy (MbAttributeContainer &other, MbRegDuplicate *=NULL) const
 Выполнить действия при копировании атрибутов.
 
void AttributesMerge (MbAttributeContainer &other)
 Выполнить действия при объединении атрибутов.
 
void AttributesReplace (MbAttributeContainer &other)
 Выполнить действия при замене атрибутов.
 
void AttributesSplit (const std::vector< MbAttributeContainer *> &others)
 Выполнить действия при разделении атрибутов.
 
void AttributesDelete ()
 Выполнить действия при удалении атрибутов.
 
static MbUserAttributeReduceUserAttrib (const MbExternalAttribute &source)
 Преобразовать из пользовательского в "системный".
 
static MbExternalAttributeAdvanceUserAttrib (const MbUserAttribute &source)
 Преобразовать из "системного" в пользовательский
 

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

Контейнер атрибутов.

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

Методы

◆ RemoveAttribute()

bool MbAttributeContainer::RemoveAttribute ( const MbAttribute )

Выдать атрибут заданного типа, если их несколько - то первый попавшийся.

Удалить атрибут из контейнера.

◆ GetVisual()

bool MbAttributeContainer::GetVisual ( float &  a,
float &  d,
float &  sp,
float &  sh,
float &  t,
float &  e 
) const

Выдать визуальные свойства объекта.

Выдать визуальные свойства объекта.

Аргументы
[out]a- Коэффициент общего фона (рассеянного освещения)
[out]d- Коэффициент диффузного отражения
[out]s- Коэффициент зеркального отражения
[out]h- Блеск (показатель степени в законе зеркального отражения)
[out]t- Коэффициент непрозрачности
[out]e- Коэффициент излучения
Возвращает
true если есть такой атрибут
false в противном случае

◆ IsColored()

bool MbAttributeContainer::IsColored ( ) const
inline

Есть ли у объекта свой цвет.

Есть ли у объекта свой цвет.

Есть ли у объекта свой цвет.

Возвращает
true если есть такой атрибут
false в противном случае

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