C3D Toolkit  Kernel - 111051, Vision - 2.6.0.14

Генератор имен c добавками к имени. Подробнее...

#include <name_item.h>

+ Граф наследования:MbSNameMaker:
+ Граф связей класса MbSNameMaker:

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

enum  ESides { i_SideNone = 0, i_SidePlus = 1, i_SideMinus = -1 }
 Типы добавок к имени. Подробнее...
 

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

 MbSNameMaker (SimpleName _mainName=c3d::UNDEFINED_SNAME, ESides _sideAdd=MbSNameMaker::i_SideNone, SimpleName _buttAdd=0)
 Конструктор.
 
virtual ~MbSNameMaker ()
 Деструктор.
 
SimpleName GetSimpleName (size_t i) const
 Получить простое имя из массива с контролем выхода за границы.
 
void Inverse ()
 Инверсия простых имен именователя.
 
bool GetNameAsPosition (size_t i, ptrdiff_t &row, ptrdiff_t &col) const
 Выдать имя в виде условного положения в сетке копирования (для массивов).
 
void SetSideAdd (ESides s)
 Добавка к имени боковой грани.
 
void SetButtAdd (SimpleName b)
 Добавка к имени торцевой грани.
 
void SetCopyHist (bool setHist)
 Установить состояние флага работы с индексами копирования.
 
bool GetCopyHist () const
 Получить состояние флага работы с индексами копирования.
 
void SetParentNamesAttributes (bool addPNA)
 Установить состояние флага добавки атрибутов типа имя в объединенные грани и ребра.
 
bool GetParentNamesAttributes () const
 Получить состояние флага добавки атрибутов типа имя в объединенные грани и ребра.
 
void SetNamesCount (size_t newCount)
 Установить количество имен.
 
virtual MbSNameMakerDuplicate () const
 Создать копию. Подробнее...
 
virtual void SetNameMaker (const MbSNameMaker &other, bool setVersion=false)
 Инициализировать по другому именователю.
 
virtual void MakeButtFaceName (MbTopologyItem &item, MbSNameMaker::ESides side) const
 Генерация имени name торцевой грани: mainName, +/-defName, знак определяется направлением.
 
virtual void MakeFaceName (MbTopologyItem &item, size_t i, SimpleName add) const
 Генерация имени грани: mainName, hash( sideName, add ).
 
virtual void MakeItemName (MbTopologyItem &item, size_t i) const
 Генерация имени на основе главного имени и простого имени из именователя.
 
virtual void CompileEdgeName (MbTopologyItem &item, const MbName *faceName1, const MbName *faceName2, size_t ind, bool sameSense) const
 Генерация имени ребра из имен граней (sense - направление ребра по отношению к подлежащей кривой).
 
virtual void CompileEdgeName (MbTopologyItem &item, const MbName &other) const
 Генерация имени по другому имени, полное совпадение.
 
void AddSNameMaker (const MbSNameMaker &other)
 Добавить генератор имен.
 
MbSNameMakerGetSNameMakerFrom (size_t iFrom, size_t iTo)
 Создать с именем индекса iFrom.
 
MbSNameMaker GetOriginalSNameMaker () const
 Получить генератор имен оригинала, считая, что это именователь копии.
 
bool IsSame (const MbSNameMaker &) const
 Являются ли объекты равными?
 
- Открытые члены унаследованные от SimpleNameArray
 SimpleNameArray (size_t i_max=0, uint16 i_delta=1)
 Конструктор.
 
 SimpleNameArray (const SimpleNameArray &other)
 Конструктор копирования.
 
void Delta (uint16 newDelta)
 Установить приращение по количеству элементов при выделении дополнительной памяти (1 - автоприращение).
 
void SetMaxDelta (uint16 newDelta)
 Установить максимальное из приращений.
 
size_t Count () const
 Количество элементов в массиве.
 
ptrdiff_t MaxIndex () const
 Индекс последнего элемента.
 
void Reserve (size_t additionalSpace)
 Зарезервировать память под указанное количество элементов.
 
void Flush ()
 Удалить все элементы в массиве без освобождения памяти.
 
void Adjust ()
 Освободить неиспользуемую память.
 
const SimpleNameGetAddr () const
 Получить адрес начала массива.
 
SimpleNameoperator[] (size_t loc) const
 Получить элемент по индексу.
 
SimpleNameAddAt (const SimpleName &ent, size_t index)
 Вставить элемент по индексу.
 
SimpleNameAddAt (const MbName &ent, size_t index)
 Вставить хэш имени по индексу.
 
SimpleNameAdd (const SimpleName &ent)
 Добавить элемент в конец массива.
 
SimpleNameAdd (const MbName &ent)
 Добавить элемент в конец массива.
 
void RemoveInd (size_t delIndex)
 Удалить элемент по индексу.
 
void RemoveInd (size_t firstIdx, size_t lastIdx)
 Удалить элементы начиная с индекса firstIdx до lastIdx-1 включительно.
 
SimpleNameInsertInd (size_t index, const SimpleName &ent)
 Вставить элемент по индексу.
 
SimpleNameInsertInd (size_t index, const MbName &ent)
 Вставить хэш имени по индексу.
 
size_t FindIt (const SimpleName &ent) const
 Найти объект среди элементов массива.
 
SimpleNameArrayoperator+= (const SimpleNameArray &other)
 Оператор добавления.
 
- Открытые члены унаследованные от MbNameMaker
 MbNameMaker (SimpleName mn)
 Конструктор по главному имени. Подробнее...
 
 MbNameMaker (const MbName &n)
 Конструктор по имени. Подробнее...
 
virtual ~MbNameMaker ()
 Деструктор.
 
SimpleName GetMainName () const
 Получить главное имя.
 
void SetMainName (SimpleName n)
 Установить главное имя. Подробнее...
 
const VersionContainerGetVersionContainer () const
 Получить версию изготовления.
 
const MbNameVersionGetMbNameVersion () const
 Получить версию изготовления.
 
void SetVersion (const MbNameVersion &v)
 Установить версию изготовления. Подробнее...
 
VERSION GetMathVersion () const
 Получить версию математического ядра.
 
void SetMathVersion (VERSION v)
 Установить версию математического ядра. Подробнее...
 
virtual void GetItemName (const MbTopologyItem &item, MbName &name) const
 Получить имя топологического объекта. Подробнее...
 
virtual void SetItemName (const MbName &name, MbTopologyItem &item) const
 Установить имя топологическому объекту. Подробнее...
 
virtual bool IsChild (const MbTopologyItem &) const
 Является ли именователь родительским для данного топологического элемента?
 
virtual void MakeName (SimpleName sn1, SimpleName sn2, MbTopologyItem &dstItem) const
 Генерация имени топологического объекта по двум простым именам. Подробнее...
 
virtual void MakeName (SimpleName sn, MbTopologyItem &dstItem) const
 Генерация имени топологического объекта по простому имени. Подробнее...
 
virtual void MakeFilletFaceName (const MbName &srcName, MbTopologyItem &dstItem) const
 Генерация имени для грани скругления. Подробнее...
 
virtual void MakeNameBy (SimpleName sn, MbTopologyItem &dstItem) const
 Генерация имени топологического объекта по шаблону и простому имени. Подробнее...
 
void SetOriginalMainName (SimpleName orig, MbNamePairList *list)
 Установить исходное главное имя и таблицу соответствия имён.
 
SimpleName GetOriginalMainName () const
 Исходное главное имя.
 
const MbNamePairListGetNameList () const
 Таблица соответствия имён оригиналов и их копий.
 
MbNamePairListSetNameList () const
 Таблица соответствия имён оригиналов и их копий.
 
MbNameMaker GetOriginalNameMaker () const
 Получить генератор имен оригинала, считая, что это именователь копии.
 
bool CleanNameList (c3d::ConstNamesVector &delNamesCopies) const
 Удалить ненужные элементы по именам копий.
 
bool ReplaceNameList (const MbName &newNameCopies, const c3d::ConstNamesVector &oldNamesCopies) const
 Заменить имена копий.
 
bool IsSame (const MbNameMaker &) const
 Являются ли объекты равными?
 
- Открытые члены унаследованные от MbRefItem
 MbRefItem ()
 Конструктор без параметров.
 
virtual MbeRefType RefType () const
 Регистрационный тип (для копирования, дублирования).
 
refcount_t GetUseCount () const
 Выдать количество ссылок (выдать количество владельцев объекта).
 
refcount_t AddRef () const
 Увеличить количество ссылок на единицу.
 
refcount_t DecRef () const
 Уменьшить количество ссылок на единицу.
 
refcount_t Release () const
 Уменьшить количество ссылок на единицу и, если количество ссылок стало равным нулю, удалить себя.
 

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

 MbSNameMaker (const MbSNameMaker &other)
 Конструктор по другому именователю (конструктор копирования).
 
- Защищенные члены унаследованные от MbNameMaker
 MbNameMaker (const MbNameMaker &nm)
 Конструктор другому генератору имен. Подробнее...
 
void MakeName (SimpleName sn1, SimpleName sn2, MbName &dstName) const
 Генерация имени по двум простым именам SimpleName.
 
void MakeName (SimpleName sn, MbName &dstName) const
 Генерация имени по простому имени SimpleName.
 
void MakeFilletFaceName (const MbName &srcName, MbName &dstName) const
 Генерация имени для грани скругления.
 
void MakeNameBy (SimpleName sn, MbName &dstName) const
 Генерация имени по шаблону и простому имени.
 
void MakeNameBy (SimpleName snFirst, SimpleName snCut, MbName &dstName) const
 Генерация имени по шаблону и двум простым именам.
 
void MakeNameBy (const MbName &srcName, MbName &dstName) const
 Генерация имени по шаблону и источнику для грани скругления.
 

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

ESides sideAdd
 Добавка к имени боковой грани.
 
SimpleName buttAdd
 Добавка к имени торцевой грани.
 
bool cpyHist
 Добавлять индексы копирования и старые имена в конец (не записываем).
 
- Защищенные данные унаследованные от MbNameMaker
MbName defName
 Шаблон имени.
 
MbNameVersion version
 Версия изготовления.
 
SimpleName original
 Исходное главное имя.
 
MbNamePairListnameList
 Таблица соответствия имён оригиналов и их копий.
 

Друзья

readeroperator>> (reader &in, MbSNameMaker &ref)
 Оператор чтения.
 
writeroperator<< (writer &out, const MbSNameMaker &ref)
 Оператор записи.
 
writeroperator<< (writer &out, MbSNameMaker &ref)
 Оператор записи.
 

Дополнительные унаследованные члены

- Открытые статические члены унаследованные от MbNameMaker
static MbTopologyProxyCreateTopologyProxy ()
 Создать заменитель топологического объекта.
 

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

Генератор имен c добавками к имени.

Генератор имен (именователь) топологических объектов c добавлением информации об источниках.
Делает имена граням. Не используйте главные имена из диапазона MbName::ReservedMainNames (исключение - MbName::ReservedMainNames::rmn_DefaultName).

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

◆ ESides

Типы добавок к имени.

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

Никакое.

i_SidePlus 

Положительное.

i_SideMinus 

Отрицательное.

Методы

◆ Duplicate()

MbSNameMaker & MbSNameMaker::Duplicate ( ) const
inlinevirtual

Создать копию.

Создать копию оболочки с регистратором.

Возвращает
Копия объекта.

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