C3D Toolkit
Kernel - 112346, Vision - 2.6.2.8
|
Группы | |
Контейнеры | |
Автоматические указатели | |
Работа со строками | |
Работа с потоками | |
Классы | |
class | c3d::StrHash |
Хэш с типом строки. Подробнее... | |
class | MbAccurateTimer |
Высокоточный таймер. Подробнее... | |
class | MbAverageTimer |
Таймер со статистикой. Подробнее... | |
class | BalanceTreeNode< Type > |
Узел сбалансированного дерева. Подробнее... | |
class | BalanceTree< Type > |
Cбалансированное дерево. Подробнее... | |
class | BalanceTreeIterator< Type > |
Итератор сбалансированного дерева. Подробнее... | |
class | PriorityQueue< Index, Weight > |
Очередь с приоритетом с использованием кучи. Подробнее... | |
class | KdTree< Scalar > |
К-d дерево. Подробнее... | |
class | Visitor |
Абстрактный базовый класс посетителя. Подробнее... | |
class | VisitorImpl< T > |
Обобщенное объявление поддержки посещения объекта конкретным посетителем. Подробнее... | |
class | ExceptionMode |
Определение режима обработки исключений. Подробнее... | |
class | ScopedExceptionMode |
Меняет режим обработки исключений в области видимости. Подробнее... | |
class | FatalErrorHandler |
Обработчик фатальных ошибок. Подробнее... | |
class | CacheCleaner |
Базовый класс для объектов, требующих сборки мусора. Подробнее... | |
class | MbGarbageCollection |
Сборщик мусора в объектах, использующих кэширование данных. Подробнее... | |
class | AuxiliaryData |
Родительский класс данных для менеджера параллельной обработки. Подробнее... | |
class | CommonMutex |
Класс блокировки. Подробнее... | |
class | ScopedLock |
Блокировка в области видимости. Может принимать нулевой указатель на мьютекс. Блокировка происходит, если указатель на мьютекс ненулевой и код выполняется параллельно. Подробнее... | |
class | ScopedRecursiveLock |
Рекурсивная блокировка в области видимости. Может принимать нулевой указатель на мьютекс. Блокировка происходит, если указатель на мьютекс ненулевой и код выполняется параллельно. Подробнее... | |
class | MbSyncItem |
Базовый объект синхронизации с отложенной инициализацией. Подробнее... | |
class | MbNestSyncItem |
Базовый объект синхронизации с отложенной инициализацией, поддерживающий множественные блокировки. Подробнее... | |
class | MbPersistentSyncItem |
Базовый объект, предоставляющий средства синхронизации. Подробнее... | |
class | MbPersistentNestSyncItem |
Базовый объект синхронизации, поддерживающий множественные блокировки. Подробнее... | |
struct | IfProgressIndicator |
Индикатор прогресса выполнения. Подробнее... | |
Макросы | |
#define | C3D_IO_CATCH_START try { |
Стартовать try-catch регион для I/O операций. | |
#define | C3D_IO_CATCH_END(iostrm) |
Завершить try-catch регион для I/O операций (аргумент iostrm - поток чтения или записи). | |
#define | PRECONDITION(expr) ((void)0) |
Определение PRECONDITION. | |
#define | CALL_DECLARATION |
Определение CALL_DECLARATION. Подробнее... | |
#define | EXPORT_DECLARATION |
Определение EXPORT_DECLARATION. Подробнее... | |
#define | OBVIOUS_PRIVATE_COPY(ClassName) |
Объявление оператора присваивания и конструктора копирования. Подробнее... | |
#define | COUNTOF(array) (sizeof(array)/sizeof(array[0])) |
Получить количество элементов массива. | |
#define | MATH_CLASS |
Объявление экспортности или импортности классов. Подробнее... | |
#define | MATH_5_11_R03_VERSION 0x0590005CL |
Версия файла - 5.11. | |
#define | MATH_5_BC_VERSION 0x0590005FL |
Версия файла - 5.0. | |
#define | MATH_6_0_VERSION 0x06000009L |
Версия файла - 6.0. | |
#define | MATH_6_PLUS_VERSION 0x06000032L |
Версия файла - 6.1. | |
#define | MATH_7_0_VERSION 0x07000005L |
Версия файла - 7.0. | |
#define | MATH_7_PLUS_VERSION 0x0701012CL |
Версия файла - 7.1. | |
#define | MATH_8_0_VERSION 0x0800001AL |
Версия файла - 8.0. | |
#define | MATH_8_PLUS_VERSION 0x08000133L |
Версия файла - 8.1. | |
#define | MATH_9_0_VERSION 0x09000005L |
Версия файла - 9.0. | |
#define | MATH_9_SP1_VERSION 0x09000008L |
Версия файла - 9.1. | |
#define | LAST_NOUNICODE_VERSION 0x0A000018L |
Версия файла - 10.0 NoUnicode. | |
#define | UNICODE_VERSION 0x0A001000L |
Версия файла - 10.0 Unicode. | |
#define | MATH_10_VERSION 0x0A001021L |
Версия файла - 10.0. | |
#define | MATH_10_SP1_VERSION 0x0A001023L |
Версия файла - 10.1. | |
#define | MATH_11_VERSION 0x0B000031L |
Версия файла - 11.0. | |
#define | MATH_11_SP1_VERSION 0x0B000032L |
Версия файла - 11.1. | |
#define | MATH_12_VERSION 0x0C00004DL |
Версия файла - 12.0. | |
#define | MATH_12_SP1_VERSION 0x0C00004EL |
Версия файла - 12.1. | |
#define | MATH_13_START_VERSION 0x0D000000L |
Версия файла - 13.0 (начало версии). | |
#define | MATH_13_VERSION 0x0D000060L |
Версия файла - 13.0. | |
#define | MATH_13_SP1_VERSION 0x0D001016L |
Версия файла - 13.1. | |
#define | MATH_13_SP2_VERSION 0x0D002004L |
Версия файла - 13.2. | |
#define | MATH_13_SP3_START_VERSION 0x0D003000L |
Версия файла - 13.3 (начало версии). | |
#define | MATH_13_SP3_VERSION 0x0D003001L |
Версия файла - 13.3. | |
#define | MATH_14_START_VERSION 0x0E000000L |
Версия файла - 14.0 (начало версии). | |
#define | MATH_14_VERSION 0x0E000021L |
Версия файла - 14.0. | |
#define | MATH_14_SP1_START_VERSION 0x0E001000L |
Версия файла - 14.1 (начало версии). | |
#define | MATH_14_SP1_VERSION 0x0E001011L |
Версия файла - 14.1. | |
#define | MATH_14_SP2_START_VERSION 0x0E002000L |
Версия файла - 14.2 (начало версии). | |
#define | MATH_14_SP2_VERSION 0x0E002001L |
Версия файла - 14.2. | |
#define | MATH_15_START_VERSION 0x0F000000L |
Версия файла - 15.0 (начало версии). | |
#define | MATH_15_VERSION 0x0F000014L |
Версия файла - 15.0. | |
#define | MATH_15_SP1_START_VERSION 0x0F001000L |
Версия файла - 15.1 (начало версии). | |
#define | MATH_15_SP1_VERSION 0x0F001010L |
Версия файла - 15.1. | |
#define | MATH_15_SP2_START_VERSION 0x0F002000L |
Версия файла - 15.2 (начало версии). | |
#define | MATH_15_SP2_VERSION 0x0F002010L |
Версия файла - 15.2. | |
#define | MATH_16_START_VERSION 0x10000000L |
Версия файла - 16.0 (начало версии). | |
#define | C3D_16_VERSION 0x10000008L |
Версия файла - C3D 16.0. | |
#define | MATH_16_VERSION 0x1000000DL |
Версия файла - 16.0. | |
#define | MATH_16_SP1_START_VERSION 0x10001000L |
Версия файла - 16.1 (начало версии). | |
#define | MATH_16_SP1_VERSION 0x10001002L |
Версия файла - 16.1. | |
#define | MATH_17_START_VERSION 0x11000000L |
Версия файла - 17.0 (начало версии). | |
#define | C3D_2016_VERSION 0x1100000FL |
Версия файла - C3D 2016. | |
#define | MATH_17_VERSION 0x1100001FL |
Версия файла - 17.0. | |
#define | C3D_2017_VERSION MATH_17_VERSION |
Версия файла - C3D 2017. | |
#define | MATH_17_SP1_VERSION 0x11001001L |
Версия файла - 17.1. | |
#define | MATH_18_START_VERSION 0x12000000L |
Версия файла - 18.0 (начало версии). | |
#define | C3D_2018_VERSION 0x1200000DL |
Версия файла - C3D 2018. | |
#define | MATH_18_VERSION 0x12000010L |
Версия файла - 18.0. | |
#define | MATH_19_START_VERSION 0x13000000L |
Версия файла - 19.0 (начало версии). | |
#define | MATH_18_SP1_VERSION 0x13000005L |
Версия файла - 18.1. | |
#define | C3D_2019_VERSION 0x1300000FL |
Версия файла - C3D 2019. | |
#define | MATH_19_VERSION 0x13000101L |
Версия файла - 19.0. | |
#define | C3D_2020_VERSION 0x13001004L |
Версия файла - C3D 2020. | |
#define | MATH_20_VERSION 0x14000012L |
Версия файла - 20.0. | |
#define | VISITING_CLASS(Class) |
Реализация функции, инициирующей посещение объекта. Подробнее... | |
#define | C3D_CONTROLED_THROW_EX(expt) if( ExceptionMode::IsEnabled() ) throw expt; |
Бросить указанное исключение, если режим позволяет. | |
#define | C3D_CONTROLED_THROW if( ExceptionMode::IsEnabled() ) throw; |
Бросить исключение, если режим позволяет. | |
#define | CommonRecursiveMutex CommonMutex |
Одинаковая реализация CommonMutex и CommonRecursiveMutex. | |
Определения типов | |
typedef uint32 | SimpleName |
Определение простого имени. Подробнее... | |
typedef uint32 | VERSION |
Версия. | |
Перечисления | |
enum | MbeWritableReleaseVersion { wrv_FirstRelease = MATH_17_SP1_VERSION, wrv_MATH_17_SP1 = MATH_17_SP1_VERSION, wrv_C3D_2018 = C3D_2018_VERSION, wrv_MATH_18 = MATH_18_VERSION, wrv_MATH_18_SP1 = MATH_18_SP1_VERSION, wrv_C3D_2019 = C3D_2019_VERSION, wrv_MATH_19 = MATH_19_VERSION, wrv_C3D_2020 = C3D_2020_VERSION, wrv_MATH_20 = MATH_20_VERSION, wrv_PrevRelease = wrv_MATH_19, wrv_LastRelease = wrv_C3D_2020, wrv_MaxPossible = SYS_MAX_UINT32 } |
Список потенциально допустимых предыдущих версий для записи. Подробнее... | |
enum | DelType { defDelete, noDelete, Delete } |
Типы удаления элементов. Подробнее... | |
enum | ThreeStates { ts_negative = -1, ts_neutral = 0, ts_positive = 1 } |
Трехпозиционный флаг. Подробнее... | |
Функции | |
int | SimpleNameCompare (const SimpleName &h1, const SimpleName &h2) |
Сравнить простые имена. | |
bool | IsGoodSimpleName (const SimpleName &s) |
Проверить валидность простого имени. | |
SimpleName | c3d::Hash32 (uint8 *k, size_t length, SimpleName _c=INIT_HASH32_VAL) |
Хэш-функция. Подробнее... | |
template<typename T > | |
SimpleName | c3d::Hash32Ptr (T *k) |
Хэш указателя. Подробнее... | |
SimpleName | c3d::HashStr (const c3d::string_t &str) |
Хэш строки. Подробнее... | |
SimpleName | c3d::HashStr (const char *c_str) |
Хэш строки. Подробнее... | |
SimpleName | c3d::HashStr (const wchar_t *w_str) |
Хэш строки. Подробнее... | |
const StrHash | c3d::NullStrHash (0, StrHash::htp_undef) |
Хэш пустой строки. Подробнее... | |
const StrHash | c3d::UndefStrHash (SimpleName(-1), StrHash::htp_undef) |
Хэш при отсутствии строки. Подробнее... | |
SimpleName | c3d::Hash32SN (SimpleName k1, SimpleName k2) |
Хэш двух простых имен. Подробнее... | |
template<class T > | |
T::iterator | c3d::older_stl_support::erase (T &obj, typename T::iterator pos) |
Суррогат "iterator erase( iterator pos )" для старых версий std:map и std::set. Подробнее... | |
bool | IsVersion16bit (VERSION version) |
Является ли версия файла 16-битной. | |
bool | IsVersion32bit (VERSION version) |
Является ли версия файла 32-битной. | |
bool | IsVersion64bit (VERSION version) |
Является ли версия файла 64-битной. | |
VERSION | GetCurrentMathFileVersion () |
Текущая версия потока. | |
bool | CanWriteToMathFileVersion (VERSION dstVertsion, bool *canUseWriterEx=c3d_null) |
Можно ли потенциально сохранить в заданную версию? | |
VERSION | GetPrevReleaseMathFileVersion () |
Версия потока предпоследнего релиза. | |
VERSION | GetLastReleaseMathFileVersion () |
Версия потока последнего релиза. | |
uint16 | MkUint16 (uint8 lo, uint8 hi) |
Создать uint16 на основе двух uint8. | |
uint32 | MkUint32 (uint16 lo, uint16 hi) |
Создать uint32 на основе двух uint16. | |
uint64 | MkUint64 (uint32 lo, uint32 hi) |
Создать uint64 на основе двух uint32. | |
uint32 | LoUint32 (uint64 u64) |
Выделить младшее слово uint32 из uint64. | |
int32 | LoInt32 (uint64 u64) |
Выделить младшее слово int32 из int64. | |
uint32 | HiUint32 (uint64 u64) |
Выделить старшее слово uint32 из uint64. | |
int32 | HiInt32 (uint64 u64) |
Выделить старшее слово int32 из int64. | |
uint16 | LoUint16 (uint32 u32) |
Выделить младшее слово uint16 из uint32. | |
int16 | LoInt16 (uint32 u32) |
Выделить младшее слово int16 из uint32. | |
uint16 | HiUint16 (uint32 u32) |
Выделить старшее слово uint16 из uint32. | |
int16 | HiInt16 (uint32 u32) |
Выделить старшее слово int16 из uint32. | |
uint8 | LoUint8 (uint16 u16) |
Выделить младшее слово uint8 из uint16. | |
int8 | LoInt8 (uint16 u16) |
Выделить младшее слово int8 из uint16. | |
uint8 | HiUint8 (uint16 u16) |
Выделить старшее слово uint8 из uint16. | |
int8 | HiInt8 (uint16 u16) |
Выделить младшее слово int8 из uint16. | |
template<class SignedType > | |
SignedType | abs_t (const SignedType x) |
Модуль числа. Подробнее... | |
void | EnableMathModules (const char *name, int nameLength, const char *key, int keyLength) |
Включить модули ядра. Подробнее... | |
bool | VerifyLicenseKey (const char *name, const char *key, const char *pub_key) |
Проверить ключ активации на валидность. Подробнее... | |
bool | IsMathModelerEnable () |
Проверить контроллер защиты моделировщика. Подробнее... | |
bool | IsMathConverterEnable () |
Проверить контроллер защиты конвертеров. Подробнее... | |
bool | IsMathSolverEnable () |
Проверить контроллер защиты решателя. Подробнее... | |
bool | IsMathVisionEnable () |
Проверить контроллер защиты визуализатора. Подробнее... | |
bool | IsMathBShaperEnable () |
Проверить контроллер защиты преобразователя сеток в BRep. Подробнее... | |
void | FreeMathModulesChecker () |
Отпустить контролера работы модулей ядра. Подробнее... | |
void | c3d::EnableMemoryLeakDump () |
Включить контроль утечек памяти. Подробнее... | |
bool | IsSafeMultithreading () |
Установлен ли режим безопасной многопоточности (используется в CacheManager). | |
bool | LocksEnabled () |
Включены ли блокировки (режим многопоточности >= mtm_Standard и код выполняется параллельно). | |
Переменные | |
const SimpleName | c3d::SIMPLENAME_MAX = size_t(SYS_MAX_UINT32) |
Максимально допустимое простое имя. | |
const SimpleName | c3d::UNDEFINED_SNAME = size_t(SYS_MAX_UINT32) |
Значение используемое, в качестве "неопределенного", еще не назначенного имени. | |
const SimpleName | c3d::INIT_HASH32_VAL = size_t( 31415926 ) |
Начальное число для хэш-функции. | |
c3d_constexpr uint | c3d::GOLDENRATIO = 0x9e3779b9 |
Золотое сечение - произвольное число для хэш-функции. | |
c3d_constexpr uint | SYS_MAX_UINT = 0xffffffff |
Максимальное значение uint. | |
c3d_constexpr size_t | SYS_MAX_T = 0xffffffff |
Максимальное значение size_t. | |
c3d_constexpr ptrdiff_t | SYS_MAX_ST = 0x7fffffff |
Максимальное значение ptrdiff_t. | |
c3d_constexpr ptrdiff_t | SYS_MIN_ST = 0x80000000 |
Минимальное значение ptrdiff_t. | |
c3d_constexpr uint8 | SYS_MAX_UINT8 = 0xFF |
Максимальное значение uint8. | |
c3d_constexpr uint16 | SYS_MAX_UINT16 = 0xFFFF |
Максимальное значение uint16. | |
c3d_constexpr uint32 | SYS_MAX_UINT32 = 0xFFFFFFFF |
Максимальное значение uint32. | |
c3d_constexpr uint64 | SYS_MAX_UINT64 = 0xFFFFFFFFFFFFFFFF |
Максимальное значение uint64. | |
c3d_constexpr int16 | SYS_MAX_INT16 = 0x7FFF |
Максимальное значение int16. | |
c3d_constexpr int32 | SYS_MAX_INT32 = 0x7FFFFFFF |
Максимальное значение int32. | |
c3d_constexpr int64 | SYS_MAX_INT64 = 0x7FFFFFFFFFFFFFFF |
Максимальное значение int64. | |
c3d_constexpr int16 | SYS_MIN_INT16 = (int16)(uint16)0x8000 |
Минимальное значение int16. | |
c3d_constexpr int32 | SYS_MIN_INT32 = (int32)(uint32)0x80000000 |
Минимальное значение int32. | |
c3d_constexpr int64 | SYS_MIN_INT64 = (int64)(uint64)0x8000000000000000 |
Минимальное значение int64. | |
c3d_constexpr size_t | NSIZE = SYS_MAX_T |
Неопределенный размер. | |
c3d_constexpr uint | NPOS32 = (uint)SYS_MAX_UINT32 |
Неопределенная позиция (для 32 битных данных). | |
c3d_constexpr size_t | SIZE_OF_POINTER = sizeof(char *) |
Размер указателя в байтах. Подробнее... | |
#define CALL_DECLARATION |
Определение CALL_DECLARATION.
Определение CALL_DECLARATION.
#define EXPORT_DECLARATION |
Определение EXPORT_DECLARATION.
Определение EXPORT_DECLARATION.
#define OBVIOUS_PRIVATE_COPY | ( | ClassName | ) |
Объявление оператора присваивания и конструктора копирования.
Объявление приватных оператора присваивания и конструктора копирования. Используется для запрета неявной реализации этой функциональности, т.к. при отсутствии в классах явного дублирующего конструктора и оператора присваивания автоматически генерируются неявные - в основном, через копирование памяти, что может привести к некорректному поведению системы.
#define MATH_CLASS |
Объявление экспортности или импортности классов.
Объявление экспортности в данном модуле или импортности в других подключаемых модулях.
#define VISITING_CLASS | ( | Class | ) |
Реализация функции, инициирующей посещение объекта.
Реализация функции, инициирующей посещение объекта.
Сделана через динамическое приведение типов ради реализации асимметричного посетителя (см. Александреску "Modern C++ Design"). Необходимо объявлять в любом классе, поддерживающем посещение.
typedef uint32 SimpleName |
Определение простого имени.
Определение простого имени.
Список потенциально допустимых предыдущих версий для записи.
enum DelType |
enum ThreeStates |
|
inline |
Хэш-функция.
Хэш по последовательности байт и предыдущему хэшу.
Каждый бит k влияет на возвращаемое значение.
Функция плохо подходит для использования в криптографии.
k - Указатель на начало последовательности байт.
length - Количество байт в последовательности.
_c - Предыдущий hash или произвольное значение.
SimpleName c3d::Hash32Ptr | ( | T * | k | ) |
Хэш указателя.
Хэш указателя.
|
inline |
Хэш строки.
Хэш строки.
|
inline |
Хэш строки.
Хэш строки.
|
inline |
Хэш строки.
Хэш строки.
const StrHash c3d::NullStrHash | ( | 0 | , |
StrHash::htp_undef | |||
) |
Хэш пустой строки.
Хэш пустой строки.
const StrHash c3d::UndefStrHash | ( | SimpleName(-1) | , |
StrHash::htp_undef | |||
) |
Хэш при отсутствии строки.
Хэш при отсутствии строки.
|
inline |
Хэш двух простых имен.
Хэш двух простых имен.
Часто встречающаяся комбинация - hash от двух SimpleName (uint32).
|
inline |
Суррогат "iterator erase( iterator pos )" для старых версий std:map и std::set.
Для унификации кода при поддержке версий std:map и std::set, в которых не реализована iterator erase( iterator pos ).
[in] | obj | - Контейнер из которого удаляется элемент. |
[in] | pos | - Итератор на удаляемый элемент. |
SignedType abs_t | ( | const SignedType | x | ) |
Модуль числа.
Модуль числа.
void EnableMathModules | ( | const char * | name, |
int | nameLength, | ||
const char * | key, | ||
int | keyLength | ||
) |
Включить модули ядра.
Включить соответствующие модули ядра.
bool VerifyLicenseKey | ( | const char * | name, |
const char * | key, | ||
const char * | pub_key | ||
) |
Проверить ключ активации на валидность.
Проверить ключ активации на валидность.
bool IsMathModelerEnable | ( | ) |
Проверить контроллер защиты моделировщика.
Проверить контроллер защиты моделировщика.
bool IsMathConverterEnable | ( | ) |
Проверить контроллер защиты конвертеров.
Проверить контроллер защиты конвертеров.
bool IsMathSolverEnable | ( | ) |
Проверить контроллер защиты решателя.
Проверить контроллер защиты решателя.
bool IsMathVisionEnable | ( | ) |
Проверить контроллер защиты визуализатора.
Проверить контроллер защиты визуализатора.
bool IsMathBShaperEnable | ( | ) |
Проверить контроллер защиты преобразователя сеток в BRep.
Проверить контроллер защиты преобразователя сеток в BRep.
void FreeMathModulesChecker | ( | ) |
Отпустить контролера работы модулей ядра.
Отпустить контролера работы модулей ядра.
void c3d::EnableMemoryLeakDump | ( | ) |
Включить контроль утечек памяти.
Включить контроль утечек памяти.
c3d_constexpr size_t SIZE_OF_POINTER = sizeof(char *) |
Размер указателя в байтах.
Размер указателя в байтах.