C3D Toolkit  Kernel - 105122, Vision - 0.181114.105122

Имя объекта. Подробнее...

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

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

enum  EIndexes {
  i_Main, i_First, i_Cut, i_Copy,
  i_Extra, i_PseudoCopy = -1
}
 Индекс имени. Подробнее...
 
enum  BaseNameIndex { bni_Main, bni_First, bni_Cut, bni_Total }
 Основной индекс имени. Подробнее...
 
enum  ExtraNameIndex { eni_Copy, eni_Extra, eni_Total }
 Дополнительный индекс имени. Подробнее...
 
enum  ReservedMainNames {
  rmn_EmergencyName = -5, rmn_DummyFaceName = -4, rmn_RightSectionName = -3, rmn_LeftSectionName = -2,
  rmn_DefaultName = -1
}
 Зарезервированные главные имена. Подробнее...
 

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

 MbName ()
 Конструктор по умолчанию
 
 MbName (const MbName &other)
 Конструктор копирования.
 
virtual ~MbName ()
 Деструктор.
 
SimpleName GetMainName () const
 Получить главное имя.
 
bool SetMainName (SimpleName n)
 Установить главное имя.
 
void SetName (const MbName &, bool setFlags=true)
 Установить имя.
 
bool IsEmpty () const
 Пуст ли массив идентификаторов имени. Подробнее...
 
size_t CountAll () const
 Дать количество элементов массива.
 
size_t CountBase () const
 Дать количество элементов массива в базовой части.
 
void AddNamesBase (SimpleNameArray &to) const
 Извлечь имена в массив.
 
SimpleName GetNameBase (size_t i) const
 Дать или сгенерировать основное имя.
 
SimpleName GetNameExtra (size_t i) const
 Дать или сгенерировать дополнительное имя. Подробнее...
 
bool GetCutIndex (SimpleName &cutIndex) const
 Получение индекса разрезки.
 
void SetCutIndex (SimpleName cutIndex)
 Установка индекса разрезки.
 
SimpleName GetFirstName () const
 Получить первое имя.
 
SimpleName GetFirstNameDirect () const
 Прямой доступ к первому имени.
 
void SetFirstNameDirect (SimpleName fi)
 Прямой доступ к первому имени.
 
bool IsCutFlag () const
 Получение значения флага порезанности.
 
void SetCutFlag (bool s=true)
 Установление значения флага порезанности.
 
void SetSheet (bool s)
 Установление значения флага листового примитива.
 
void SetInnerBend (bool s)
 Установка значения флага внутренней части сгиба.
 
void SetOuterBend (bool s)
 Установка значения флага внешней части сгиба.
 
void SetSideBend (bool s)
 Установка значения флага боковой грани сгиба.
 
void SetStampRibBend (bool s)
 Установка значения флага грани ребра жесткости листового тела.
 
bool IsSheet () const
 Получение значения флага листового примитива.
 
bool IsInnerBend () const
 Получение значения флага внутренней части сгиба.
 
bool IsOuterBend () const
 Получение значения флага внешней части сгиба.
 
bool IsSideBend () const
 Получение значения флага боковой грани сгиба.
 
bool IsStampRibBend () const
 Получение значения флага грани ребра жесткости листового тела.
 
void SetCopyIndex (SimpleName ci)
 Установка индекса копирования.
 
bool GetCopyIndex (SimpleName &ci) const
 Получение индекса копирования.
 
bool SetCopyPosition (size_t row, size_t col)
 Установить положение в сетке копирования. Подробнее...
 
bool GetCopyPosition (ptrdiff_t &row, ptrdiff_t &col)
 Выдать положение в сетке копирования. Подробнее...
 
bool IsCopied () const
 Можно ли получить индексы копирования.
 
SimpleName GetCopySourceName () const
 Выдать главное имя источника для копирования, вызывать только после проверки - IsCopied();.
 
void GetCopyIndices (SArray< SimpleName > &indexes, size_t &count) const
 Получить массив индексов копирования. Подробнее...
 
SimpleName Hash () const
 Вычислить хэш себя.
 
bool operator== (const MbName &) const
 Оператор равенства.
 
bool operator< (const MbName &) const
 Оператор сравнения.
 
bool operator!= (const MbName &n) const
 Оператор неравенства.
 
void GetProperties (MbProperties &)
 Выдать свойства объекта.
 
void SetProperties (const MbProperties &)
 Записать свойства объекта.
 
void ToString (c3d::string_t &strName) const
 Преобразовать имя в строку.
 
void FromString (const c3d::string_t &strName)
 Преобразовать в имя из строки.
 
size_t SizeOf () const
 Размер в памяти.
 
void operator= (const MbName &other)
 Оператор присваивания.
 
void Assign (const MbName &other)
 Функция присваивания (без копирования флагов).
 
void MakeTemplate ()
 Сделать из имени шаблон.
 

Открытые статические члены

static UniqueNamePtr UniqueFaceName ()
 Уникальное имя фиктивной грани.
 

Статические открытые данные

static const UniqueNamePtr uniqueFaceName
 Уникальное имя фиктивной грани.
 

Защищенные типы

enum  EFlags {
  f_Cut = 0x01, f_Sheet = 0x02, f_InnerBend = 0x04, f_OuterBend = 0x08,
  f_SideBend = 0x10, f_RibBend = 0x20
}
 Флаги. Подробнее...
 

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

MbIdArr defNames
 Множество идентификаторов.
 

Друзья

class MbNameMaker
 
class MbSNameMaker
 
int MbDefNameCompare (const MbName &n1, const MbName &n2)
 Функция сравнения имён. Подробнее...
 
int MbMemDefNameCompare (const MbName &n1, const MbName &n2)
 Функция сравнения имён. Подробнее...
 

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

Имя объекта.

Имя топологического объекта (автоматически генерируемый атрибут).

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

◆ EIndexes

Индекс имени.

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

Индекс главного имени.

i_First 

Индекс уникального имени, содержащего в себе hash, построенный по жестким правилам.

i_Cut 

Индекс индекса разрезанности.

i_Copy 

Индекс индекса копирования.

i_Extra 

Индекс предыдущего hash'a копирования.

i_PseudoCopy 

Индекс псевдо копирования.

◆ BaseNameIndex

Основной индекс имени.

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

Индекс главного имени.

bni_First 

Индекс уникального имени, содержащего в себе hash, построенный по жестким правилам.

bni_Cut 

Индекс индекса разрезанности (может нести признак разрезанности).

bni_Total 

Максимальное размер базовой части имени.

◆ ExtraNameIndex

Дополнительный индекс имени.

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

Индекс индекса копирования.

eni_Extra 

Индекс предыдущего hash'a копирования.

eni_Total 

Периодичность структуры индексов.

◆ ReservedMainNames

Зарезервированные главные имена.

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

Системное аварийное имя для замены.

rmn_DummyFaceName 

Системное имя фиктивной грани.

rmn_RightSectionName 

Системное имя правой секущей плоскости.

rmn_LeftSectionName 

Системное имя левой секущей плоскости.

rmn_DefaultName 

Системное имя по умолчанию (= SIMPLENAME_MAX).

◆ EFlags

enum MbName::EFlags
protected

Флаги.

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

Примитив разрезан.

f_Sheet 

Примитив является листовым. (Действителен только для граней)

f_InnerBend 

Примитив является внутренней гранью сгиба. (Действителен только для граней) //-V112.

f_OuterBend 

Примитив является внешней гранью сгиба. (Действителен только для граней)

f_SideBend 

Примитив является боковой гранью сгиба. (Действителен только для граней)

f_RibBend 

Примитив является гранью ребра жесткости листового тела. (Действителен только для граней)

Методы

◆ IsEmpty()

bool MbName::IsEmpty ( ) const
inline

Пуст ли массив идентификаторов имени.

Очистить массив идентификаторов имени.

◆ GetNameExtra()

SimpleName MbName::GetNameExtra ( size_t  i) const

Дать или сгенерировать дополнительное имя.

Получение индекса разрезки.

◆ SetCopyPosition()

bool MbName::SetCopyPosition ( size_t  row,
size_t  col 
)

Установить положение в сетке копирования.

Установить положение копии в сетке копирования при размножении объекта по прямоугольной или концентрической сетке.

Аргументы
[in]row- Индекс ряда.
[in]col- Индекс солонки.
Возвращает
true - если индекс установлен, иначе - false.

◆ GetCopyPosition()

bool MbName::GetCopyPosition ( ptrdiff_t &  row,
ptrdiff_t &  col 
)

Выдать положение в сетке копирования.

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

Аргументы
[out]row- Индекс ряда.
[out]col- Индекс солонки.
Возвращает
true - если положение копии было найдено, иначе - false.

◆ GetCopyIndices()

void MbName::GetCopyIndices ( SArray< SimpleName > &  indexes,
size_t &  count 
) const

Получить массив индексов копирования.

Получить заданное количество индексов копирования в обратном порядке. Если запросить больше чем есть - не даст ничего.

Аргументы
[out]indexes- Множество индексов копирования.
[in,out]count- Количество запрашиваемых индексов [in], количество полученных индексов [out].

Документация по друзьям класса и функциям, относящимся к классу

◆ MbDefNameCompare

int MbDefNameCompare ( const MbName n1,
const MbName n2 
)
friend

Функция сравнения имён.

Функция сравнения имён для работы в сортированных структурах.

◆ MbMemDefNameCompare

int MbMemDefNameCompare ( const MbName n1,
const MbName n2 
)
friend

Функция сравнения имён.

Функция сравнения имён возвращает:
-1, если n1 < n2;
0, если n1 == n2;
+1, если n1 > n2;


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