C3D Kernel  104065
Открытые типы | Открытые члены | Открытые статические члены | Статические открытые данные | Защищенные типы | Защищенные данные | Друзья
Класс MbName

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

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

Полный список членов класса

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

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
}
 Зарезервированные главные имена. Подробнее...
typedef std_unique_ptr< MbNameUniqueNamePtr

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

 MbName ()
 Конструктор по умолчанию
 MbName (const MbName &other)
 Конструктор копирования.
virtual ~MbName ()
 Деструктор.
SimpleName GetMainName () const
 Получить главное имя.
bool SetMainName (SimpleName n)
 Установить главное имя.
void SetName (const MbName &, bool setFlags=true)
 Установить имя.
bool IsEmpty () const
 Пуст ли массив идентификаторов имени.
void SetEmpty ()
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 IsCutIndex () 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)
 Функция сравнения имён.

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

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


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

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

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

i_First 

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

i_Cut 

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

i_Copy 

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

i_Extra 

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

i_PseudoCopy 

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

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

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

bni_First 

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

bni_Cut 

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

bni_Total 

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

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

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

eni_Extra 

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

eni_Total 

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

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

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

rmn_DummyFaceName 

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

rmn_RightSectionName 

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

rmn_LeftSectionName 

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

rmn_DefaultName 

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

enum MbName::EFlags [protected]
Элементы перечислений:
f_Cut 

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

f_Sheet 

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

f_InnerBend 

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

f_OuterBend 

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

f_SideBend 

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

f_RibBend 

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


Методы

bool MbName::IsEmpty ( ) const [inline]

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

SimpleName MbName::GetNameExtra ( size_t  i) const

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

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

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

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

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

Аргументы:
[out]row- Индекс ряда.
[out]col- Индекс солонки.
Возвращает:
true - если положение копии было найдено, иначе - false.
void MbName::GetCopyIndices ( SArray< SimpleName > &  indexes,
size_t &  count 
) const

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

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

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

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

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

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

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


Объявления и описания членов класса находятся в файле:
 Указатель Классы Пространства имен Файлы Функции Переменные Определения типов Перечисления Элементы перечислений Друзья Макросы