C3D Toolkit
Kernel - 105435, Vision - 121811.105435
|
Контейнер атрибутов. Подробнее...
#include <attribute_container.h>
Открытые члены | |
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 () |
Удалить все атрибуты из контейнера. | |
MbAttribute * | AddAttribute (MbAttribute *attr, bool checkSame=true) |
Добавить атрибут в контейнер. | |
MbAttribute * | AddAttribute (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 MbAttribute * | GetSimpleAttribute (MbeAttributeType) const |
Выдать простой атрибут данного подтипа. | |
MbAttribute * | SetSimpleAttribute (MbeAttributeType) |
Выдать простой атрибут данного подтипа. | |
MbAttribute * | SetSimpleAttribute (MbAttribute *simpAttr) |
Установить простой атрибут данного подтипа. | |
MbAttribute * | SetSimpleAttribute (const MbAttribute &simpAttr) |
Установить простой атрибут данного подтипа (всегда копирует атрибут). | |
void | RemoveSimpleAttribute (MbeAttributeType) |
Удалить простой атрибут(один и более) данного подтипа. | |
MbAttribute * | DetachSimpleAttribute (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 MbUserAttribute * | ReduceUserAttrib (const MbExternalAttribute &source) |
Преобразовать из пользовательского в "системный". | |
static MbExternalAttribute * | AdvanceUserAttrib (const MbUserAttribute &source) |
Преобразовать из "системного" в пользовательский | |
Контейнер атрибутов.
Контейнер атрибутов.
От данного класса наследуются объекты модели геометрического ядра MbItem и топологические объекты с именем MbTopologyItem .
Наследники данного класса содержат атрибуты.
Методами данного класса выполняются действия над атрибутами объектов геометрического ядра.
Атрибут может влиять на состояние атрибута через его владельца, тo есть геометрическое ядро предусматривает возможность передачи атрибутам информации об изменениях их владельцев посредством вызовов предопределенных функций у самого атрибута.
Кроме передачи самой информации об изменениях происходящих с владельцем, предусмотрена возможность определять поведение атрибута при этих изменениях путем выбора одного из предопределенных типов поведения на каждое изменения владельца.
Типы действий, влияющих на состояние атрибутов.
Копирование, например, при создании копии тела. Действие над атрибутом производится после копирования владеющего объекта.
Разделение, например, разделение грани на две части при вырезании. Действие над атрибутом производится после разбиения владеющего объекта.
Слияние, например, слияние граней при булевых операциях. Действие над атрибутом производится перед выполнением слияния объектов. Обрабатываются атрибуты всех объектов, участвующих в слиянии.
Изменение, не связанное с разделением или слиянием. Действие над атрибутом производится после изменения владеющего объекта.
Преобразование, например, поворот или параллельный перенос. Действие над атрибутом производится после преобразования владеющего объекта.
Подмена, например замена одной грани тела на другую. Действие над атрибутом производится перед выполнением замены объектов. Обрабатываются атрибуты всех объектов, участвующих в замене.
Удаление объекта. Действие над атрибутом производится перед удалением объекта.
bool MbAttributeContainer::RemoveAttribute | ( | const MbAttribute * | ) |
Выдать атрибут заданного типа, если их несколько - то первый попавшийся.
Удалить атрибут из контейнера.
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 | - Коэффициент излучения |
|
inline |
Есть ли у объекта свой цвет.
Есть ли у объекта свой цвет.
Есть ли у объекта свой цвет.