C3D Toolkit
Kernel - 117958, Vision - 2.7.6.12
|
Modules | |
Containers | |
Smart Pointers | |
Work with Strings | |
Work with Streams | |
Classes | |
class | c3d::StrHash |
Hash with a string type. More... | |
class | MbAccurateTimer |
High resolution timer. More... | |
class | MbAverageTimer |
Average timer. More... | |
class | BalanceTreeNode< Type > |
Node of balanced tree. More... | |
class | BalanceTree< Type > |
Balanced tree. More... | |
class | BalanceTreeIterator< Type > |
Iterator of balanced tree. More... | |
class | PriorityQueue< Index, Weight > |
Priority queue using a heap. More... | |
class | KdTree< Scalar > |
K-d tree. More... | |
class | Visitor |
Abstract base class of the visitor. More... | |
class | VisitorImpl< T > |
A generallized declaration of support of the object visit by a concrete visitor. More... | |
class | ExceptionMode |
Definition of mode for exception handling. More... | |
class | ScopedExceptionMode |
Alter mode for exception handling in a scope. More... | |
class | FatalErrorHandler |
Handler of fatal errors. More... | |
class | c3d::LogHelper |
Logging switch in a scope. More... | |
class | CacheCleaner |
Base class for objects which require a garbage collection. More... | |
class | MbGarbageCollection |
Garbage collector in objects which use data caching. More... | |
class | AuxiliaryData |
Parent class of data for manager of parallel processing. More... | |
class | CommonMutex |
Lock class. More... | |
class | ParallelRegionGuard |
Scoped guard of parallel region. More... | |
class | ScopedLock |
Scoped lock. Can accept a null pointer to a mutex. Locking occurs if the pointer to the mutex is nonzero and the code runs in parallel. More... | |
class | ScopedRecursiveLock |
Recursive scoped lock. Can accept a null pointer to a mutex. Locking occurs if the pointer to the mutex is nonzero and the code runs in parallel. More... | |
class | MbSyncItem |
Base synchronization object with lazy initialization. More... | |
class | MbNestSyncItem |
Base synchronization object with lazy initialization which supports nested locks. More... | |
class | MbPersistentSyncItem |
Base object providing means of synchronization. More... | |
class | MbPersistentNestSyncItem |
Base synchronization object with support of nested locks. More... | |
struct | IfProgressIndicator |
A run progress indicator. More... | |
Macros | |
#define | C3D_IO_CATCH_START try { |
Start try-catch region for I/O operations. | |
#define | C3D_IO_CATCH_END(iostrm) |
Complete try-catch region for I/O operations (argument iostrm - reading or writing stream). | |
#define | PRECONDITION(expr) ((void)0) |
The PRECONDITION definition. | |
#define | CALL_DECLARATION |
The CALL_DECLARATION definition. More... | |
#define | EXPORT_DECLARATION |
The EXPORT_DECLARATION definition. More... | |
#define | OBVIOUS_PRIVATE_COPY(ClassName) |
The declaration of assignment operator and copy constructor. More... | |
#define | COUNTOF(array) (sizeof(array)/sizeof(array[0])) |
Get the number of array elements. | |
#define | MATH_CLASS __attribute__ ((visibility ("default"))) |
The declaration of export or import classes. More... | |
#define | MATH_5_11_R03_VERSION 0x0590005CL |
The file version - 5.11. | |
#define | MATH_5_BC_VERSION 0x0590005FL |
The file version - 5.0. | |
#define | MATH_6_0_VERSION 0x06000009L |
The file version - 6.0. | |
#define | MATH_6_PLUS_VERSION 0x06000032L |
The file version - 6.1. | |
#define | MATH_7_0_VERSION 0x07000005L |
The file version - 7.0. | |
#define | MATH_7_PLUS_VERSION 0x0701012CL |
The file version - 7.1. | |
#define | MATH_8_0_VERSION 0x0800001AL |
The file version - 8.0. | |
#define | MATH_8_PLUS_VERSION 0x08000133L |
The file version - 8.1. | |
#define | MATH_9_0_VERSION 0x09000005L |
The file version - 9.0. | |
#define | MATH_9_SP1_VERSION 0x09000008L |
The file version - 9.1. | |
#define | LAST_NOUNICODE_VERSION 0x0A000018L |
The file version - 10.0 NoUnicode. | |
#define | UNICODE_VERSION 0x0A001000L |
The file version - 10.0 Unicode. | |
#define | MATH_10_VERSION 0x0A001021L |
The file version - 10.0. | |
#define | MATH_10_SP1_VERSION 0x0A001023L |
The file version - 10.1. | |
#define | MATH_11_VERSION 0x0B000031L |
The file version - 11.0. | |
#define | MATH_11_SP1_VERSION 0x0B000032L |
The file version - 11.1. | |
#define | MATH_12_VERSION 0x0C00004DL |
The file version - 12.0. | |
#define | MATH_12_SP1_VERSION 0x0C00004EL |
The file version - 12.1. | |
#define | MATH_13_START_VERSION 0x0D000000L |
The file version - 13.0 (start of version). | |
#define | MATH_13_VERSION 0x0D000060L |
The file version - 13.0. | |
#define | MATH_13_SP1_VERSION 0x0D001016L |
The file version - 13.1. | |
#define | MATH_13_SP2_VERSION 0x0D002004L |
The file version - 13.2. | |
#define | MATH_13_SP3_START_VERSION 0x0D003000L |
The file version - 13.3 (start of version). | |
#define | MATH_13_SP3_VERSION 0x0D003001L |
The file version - 13.3. | |
#define | MATH_14_START_VERSION 0x0E000000L |
The file version - 14.0 (start of version). | |
#define | MATH_14_VERSION 0x0E000021L |
The file version - 14.0. | |
#define | MATH_14_SP1_START_VERSION 0x0E001000L |
The file version - 14.1 (start of version). | |
#define | MATH_14_SP1_VERSION 0x0E001011L |
The file version - 14.1. | |
#define | MATH_14_SP2_START_VERSION 0x0E002000L |
The file version - 14.2 (start of version). | |
#define | MATH_14_SP2_VERSION 0x0E002001L |
The file version - 14.2. | |
#define | MATH_15_START_VERSION 0x0F000000L |
The file version - 15.0 (start of version). | |
#define | MATH_15_VERSION 0x0F000014L |
The file version - 15.0. | |
#define | MATH_15_SP1_START_VERSION 0x0F001000L |
The file version - 15.1 (start of version). | |
#define | MATH_15_SP1_VERSION 0x0F001010L |
The file version - 15.1. | |
#define | MATH_15_SP2_START_VERSION 0x0F002000L |
The file version - 15.2 (start of version). | |
#define | MATH_15_SP2_VERSION 0x0F002010L |
The file version - 15.2. | |
#define | MATH_16_START_VERSION 0x10000000L |
The file version - 16.0 (start of version). | |
#define | C3D_16_VERSION 0x10000008L |
The file version - C3D 16.0. | |
#define | MATH_16_VERSION 0x1000000DL |
The file version - 16.0. | |
#define | MATH_16_SP1_START_VERSION 0x10001000L |
The file version - 16.1 (start of version). | |
#define | MATH_16_SP1_VERSION 0x10001002L |
The file version - 16.1. | |
#define | MATH_17_START_VERSION 0x11000000L |
The file version - 17.0 (start of version). | |
#define | C3D_2016_VERSION 0x1100000FL |
The file version - C3D 2016. | |
#define | MATH_17_VERSION 0x1100001FL |
The file version - 17.0. | |
#define | C3D_2017_VERSION MATH_17_VERSION |
The file version - C3D 2017. | |
#define | MATH_17_SP1_VERSION 0x11001001L |
The file version - 17.1. | |
#define | MATH_18_START_VERSION 0x12000000L |
The file version - 18.0 (start of version). | |
#define | C3D_2018_VERSION 0x1200000DL |
The file version - C3D 2018. | |
#define | MATH_18_VERSION 0x12000010L |
The file version - 18.0. | |
#define | MATH_19_START_VERSION 0x13000000L |
The file version - 19.0 (start of version). | |
#define | MATH_18_SP1_VERSION 0x13000005L |
The file version - 18.1. | |
#define | C3D_2019_VERSION 0x1300000FL |
The file version - C3D 2019. | |
#define | MATH_19_VERSION 0x13000101L |
The file version - 19.0. | |
#define | C3D_2020_VERSION 0x13001004L |
The file version - C3D 2020. | |
#define | MATH_20_TR_VERSION 0x14000012L |
The file version - 20.0 TR. | |
#define | MATH_20_VERSION 0x14001026L |
The file version - 20.0. | |
#define | C3D_2021_VERSION 0x14002001L |
The file version - C3D 2021. | |
#define | MATH_21_VERSION 0x15000001L |
The file version - 21.0. | |
#define | MATH_21_UHF_VERSION 0x15000011L |
The file version - 21.0 UHF (Upper Hot Fix). | |
#define | C3D_2022_VERSION 0x15001001L |
The file version - C3D 2022. | |
#define | MATH_22_VERSION 0x16000001L |
The file version - 22.0. | |
#define | MATH_22_HF1_VERSION 0x16000002L |
The file version - 22.0 HF1. | |
#define | MATH_22_HF2_VERSION 0x16000003L |
The file version - 22.0 HF2. | |
#define | MATH_22_UHF_VERSION 0x16000011L |
The file version - 22.0 UHF (Upper Hot Fix). | |
#define | C3D_2023_VERSION 0x16001001L |
The file version - C3D 2023. | |
#define | VISITING_CLASS(Class) |
Implementation of a function initializing a visit of an object. More... | |
#define | C3D_CONTROLED_THROW_EX(expt) if( ExceptionMode::IsEnabled() ) throw expt; |
Throw the specified exception if allowed by the exception mode. | |
#define | C3D_CONTROLED_THROW if( ExceptionMode::IsEnabled() ) throw; |
Throw exception if allowed by the mode for exception handling. | |
#define | CommonRecursiveMutex CommonMutex |
Same implementation of CommonMutex and CommonRecursiveMutex. | |
Typedefs | |
typedef uint32 | SimpleName |
Definition of simple name. More... | |
typedef uint32 | VERSION |
Version. | |
Enumerations | |
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_TR = MATH_20_TR_VERSION , wrv_MATH_20 = MATH_20_VERSION , wrv_C3D_2021 = C3D_2021_VERSION , wrv_MATH_21 = MATH_21_VERSION , wrv_C3D_2022 = C3D_2022_VERSION , wrv_MATH_22 = MATH_22_VERSION , wrv_C3D_2023 = C3D_2023_VERSION , wrv_PrevRelease = wrv_MATH_22 , wrv_LastRelease = wrv_C3D_2023 , wrv_MaxPossible = SYS_MAX_INT32 } |
List of potentially writable previous releases. More... | |
enum | DelType { defDelete , noDelete , Delete } |
Types of elemets deletion. More... | |
enum | ThreeStates { ts_negative = -1 , ts_neutral = 0 , ts_positive = 1 } |
Tree-position flag. More... | |
Functions | |
int | SimpleNameCompare (const SimpleName &h1, const SimpleName &h2) |
Compare simple names. | |
bool | IsGoodSimpleName (const SimpleName &s) |
Check the simple name correctness. | |
SimpleName | c3d::Hash32 (uint8 *k, size_t length, SimpleName _c=INIT_HASH32_VAL) |
Hash-function. More... | |
template<typename T > | |
SimpleName | c3d::Hash32Ptr (T *k) |
Hash of the pointer. More... | |
SimpleName | c3d::HashStr (const c3d::string_t &str) |
Hash of the string. More... | |
SimpleName | c3d::HashStr (const char *c_str) |
Hash of the string. More... | |
SimpleName | c3d::HashStr (const wchar_t *w_str) |
Hash of the string. More... | |
const StrHash | c3d::NullStrHash (0, StrHash::htp_undef) |
Hash of the empty string. More... | |
const StrHash | c3d::UndefStrHash (SimpleName(-1), StrHash::htp_undef) |
Hash for the string absence. More... | |
SimpleName | c3d::Hash32SN (SimpleName k1, SimpleName k2) |
Hash of two simple names. More... | |
template<class ItemPtr > | |
bool | c3d::IsNullPointer (const ItemPtr *itemPtr) |
Null pointer check . More... | |
template<class ElementsVector > | |
void | c3d::UniqueSortVector (ElementsVector &items) |
Sorting an array with removing duplicates. More... | |
template<class ElementsVector , class Element > | |
size_t | c3d::DirectSearch (const ElementsVector &items, const Element &item) |
Finding an element in a unsorted array. More... | |
template<class ElementsVector , class Element > | |
size_t | c3d::BinarySearch (const ElementsVector &items, const Element &item) |
Finding an element in a sorted array. More... | |
template<class T > | |
T::iterator | c3d::older_stl_support::erase (T &obj, typename T::iterator pos) |
"iterator erase( iterator pos )" surrogate for older versions of std:map and std:: set.. More... | |
bool | IsVersion16bit (VERSION version) |
Whether there is a 16-bit file version. | |
bool | IsVersion32bit (VERSION version) |
Whether there is a 32-bit file version. | |
bool | IsVersion64bit (VERSION version) |
Whether there is a 64-bit file version. | |
VERSION | GetCurrentMathFileVersion () |
The current version. | |
bool | CanWriteToMathFileVersion (VERSION dstVertsion, bool *canUseWriterEx=nullptr) |
Can it be saved to this math version? | |
VERSION | GetPrevReleaseMathFileVersion () |
The previous release version. | |
VERSION | GetLastReleaseMathFileVersion () |
The last release version. | |
double | c3d::ACos (double x) |
Secure acos function. More... | |
bool | c3d::IsFinite (double val) |
Function to check whether the given number is finite. More... | |
uint16 | MkUint16 (uint8 lo, uint8 hi) |
Create uint16 by two uint8. | |
uint32 | MkUint32 (uint16 lo, uint16 hi) |
Create uint32 by two uint16. | |
uint64 | MkUint64 (uint32 lo, uint32 hi) |
Create uint64 by two uint32. | |
uint32 | LoUint32 (uint64 u64) |
Get lower uint32 word from uint64. | |
int32 | LoInt32 (uint64 u64) |
Get lower int32 word from int64. | |
uint32 | HiUint32 (uint64 u64) |
Get upper uint32 word from uint64. | |
int32 | HiInt32 (uint64 u64) |
Get upper int32 word from int64. | |
uint16 | LoUint16 (uint32 u32) |
Get lower int16 word from int32. | |
int16 | LoInt16 (uint32 u32) |
Get lower int16 word from uint32. | |
uint16 | HiUint16 (uint32 u32) |
Get upper uint16 word from uint32. | |
int16 | HiInt16 (uint32 u32) |
Get upper int16 word from uint32. | |
uint8 | LoUint8 (uint16 u16) |
Get lower uint8 word from uint16. | |
int8 | LoInt8 (uint16 u16) |
Get lower int8 word from uint16. | |
uint8 | HiUint8 (uint16 u16) |
Get upper uint8 word from uint16. | |
int8 | HiInt8 (uint16 u16) |
Get upper int8 word from uint16. | |
template<class SignedType > | |
SignedType | abs_t (const SignedType x) |
Absolute value. More... | |
void | EnableMathModules (const char *name, int nameLength, const char *key, int keyLength) |
Enable kernel modules. More... | |
bool | VerifyLicenseKey (const char *name, const char *key, const char *pub_key) |
Verify key. More... | |
bool | IsMathModelerEnable () |
Check the controller of the Modeler. More... | |
bool | IsMathConverterEnable () |
Check the controller of the Converter. More... | |
bool | IsMathSolverEnable () |
Check the controller of the Solver. More... | |
bool | IsMathVisionEnable () |
Check the controller of the Vision. More... | |
bool | IsMathBShaperEnable () |
Check the controller of the BShaper. More... | |
bool | IsMathCollisionEnable () |
Check the controller of the Collision Detection. More... | |
bool | IsMathFairCurveEnable () |
Check the controller of the FairCurve modeler. More... | |
void | FreeMathModulesChecker () |
Free the controller of the kernel modules work. More... | |
void | c3d::EnableMemoryLeakDump () |
Enable memory leakage control. More... | |
bool | IsSafeMultithreading () |
Whether is enabled a safe multithreading mode (used in CacheManager). | |
bool | LocksEnabled () |
Whether locks are enabled (multithreading is on and code is executed in parallel). | |
Variables | |
const SimpleName | c3d::SIMPLENAME_MAX = size_t(SYS_MAX_UINT32) |
Maximum allowable simple name. | |
const SimpleName | c3d::UNDEFINED_SNAME = size_t(SYS_MAX_UINT32) |
A value is used as "undefined", not yet assigned name. | |
const SimpleName | c3d::INIT_HASH32_VAL = size_t( 31415926 ) |
The initial value for the hash-function. | |
constexpr uint32 | c3d::GOLDENRATIO = 0x9e3779b9 |
Golden section - an arbitrary number for hash-function. | |
constexpr uint | SYS_MAX_UINT = 0xffffffff |
Maximum value of uint. | |
constexpr size_t | SYS_MAX_T = 0xffffffff |
Maximum value of size_t. | |
constexpr ptrdiff_t | SYS_MAX_ST = 0x7fffffff |
Maximum value of ptrdiff_t. | |
constexpr ptrdiff_t | SYS_MIN_ST = 0x80000000 |
Minimum value of ptrdiff_t. | |
constexpr uint8 | SYS_MAX_UINT8 = 0xFF |
Maximum value of uint8. | |
constexpr uint16 | SYS_MAX_UINT16 = 0xFFFF |
Maximum value of uint16. | |
constexpr uint32 | SYS_MAX_UINT32 = 0xFFFFFFFF |
Maximum value of uint32. | |
constexpr uint64 | SYS_MAX_UINT64 = 0xFFFFFFFFFFFFFFFF |
Maximum value of uint64. | |
constexpr int16 | SYS_MAX_INT16 = 0x7FFF |
Maximum value of int16. | |
constexpr int32 | SYS_MAX_INT32 = 0x7FFFFFFF |
Maximum value of int32. | |
constexpr int64 | SYS_MAX_INT64 = 0x7FFFFFFFFFFFFFFF |
Maximum value of int64. | |
constexpr int16 | SYS_MIN_INT16 = (int16)(uint16)0x8000 |
Minimum value of int16. | |
constexpr int32 | SYS_MIN_INT32 = (int32)(uint32)0x80000000 |
Minimum value of int32. | |
constexpr int64 | SYS_MIN_INT64 = (int64)(uint64)0x8000000000000000 |
Minimum value of int64. | |
constexpr size_t | NSIZE = SYS_MAX_T |
Undefined size. | |
constexpr uint | NPOS32 = (uint)SYS_MAX_UINT32 |
Undefined position (for 32-bit data). | |
constexpr size_t | SIZE_OF_POINTER = sizeof(char *) |
Size of pointer in bytes. More... | |
#define CALL_DECLARATION |
The CALL_DECLARATION definition.
The CALL_DECLARATION definition.
#define EXPORT_DECLARATION |
The EXPORT_DECLARATION definition.
The EXPORT_DECLARATION definition.
#define OBVIOUS_PRIVATE_COPY | ( | ClassName | ) |
The declaration of assignment operator and copy constructor.
The declaration of private assignment operator and copy constructor. This is used to prohibit an implicit implementation of this functionality because if there is no an explicit copy constructor or an assignment operator implicit copy constructor and assigment operator are generated automatically mostly by copying of memory, that can lead to incorrect behaviour of the system.
#define MATH_CLASS __attribute__ ((visibility ("default"))) |
The declaration of export or import classes.
The declaration of export in this module or import in other plugged modules.
#define VISITING_CLASS | ( | Class | ) |
Implementation of a function initializing a visit of an object.
Implementation of a function initializing a visit of an object.
It is made by the dynamic cast in order to implement an asymmetric visitor (see Alexandrescu "Modern C++ Design"). There is necessary to declare this in every class which supports a visitor.
typedef uint32 SimpleName |
Definition of simple name.
Definition of simple name.
List of potentially writable previous releases.
enum DelType |
enum ThreeStates |
|
inline |
Hash-function.
Hash by sequence of bytes and the previous hash.
Each byte k influences on the return value.
The function is bad for use in the cryptography.
k - A pointer to the beginning of the bytes sequence.
length - Number of bytes in the sequence.
_c - The previous hash or an arbitrary value.
SimpleName c3d::Hash32Ptr | ( | T * | k | ) |
Hash of the pointer.
Hash of the pointer.
|
inline |
Hash of the string.
Hash of the string.
|
inline |
Hash of the string.
Hash of the string.
|
inline |
Hash of the string.
Hash of the string.
const StrHash c3d::NullStrHash | ( | 0 | , |
StrHash::htp_undef | |||
) |
Hash of the empty string.
Hash of the empty string.
const StrHash c3d::UndefStrHash | ( | SimpleName(-1) | , |
StrHash::htp_undef | |||
) |
Hash for the string absence.
Hash for the string absence.
|
inline |
Hash of two simple names.
Hash of two simple names.
Frequently occurring combination - hash of two SimpleName (uint32).
bool c3d::IsNullPointer | ( | const ItemPtr * | itemPtr | ) |
Null pointer check .
Null pointer check.
void c3d::UniqueSortVector | ( | ElementsVector & | items | ) |
Sorting an array with removing duplicates.
Sorting an array with removing duplicates.
size_t c3d::DirectSearch | ( | const ElementsVector & | items, |
const Element & | item | ||
) |
Finding an element in a unsorted array.
Finding an element in a unsorted array.
size_t c3d::BinarySearch | ( | const ElementsVector & | items, |
const Element & | item | ||
) |
Finding an element in a sorted array.
Finding an element in a sorted array.
|
inline |
"iterator erase( iterator pos )" surrogate for older versions of std:map and std:: set..
To unify the code with support for STD:map and std::set versions that do not implement iterator erase( iterator pos).
[in] | obj | - Container that the item is being removed from. |
[in] | pos | - Iterator to the element to remove. |
|
inline |
Secure acos function.
Secure acos function. The function puts the parameter x into the range [-1, +1].
|
inline |
Function to check whether the given number is finite.
Function to check whether the given number is finite.
If given number is MB_INFINITY or MB_QNAN then it is not finite.
SignedType abs_t | ( | const SignedType | x | ) |
Absolute value.
Absolute value.
void EnableMathModules | ( | const char * | name, |
int | nameLength, | ||
const char * | key, | ||
int | keyLength | ||
) |
Enable kernel modules.
Enable the corresponding kernel modules.
bool VerifyLicenseKey | ( | const char * | name, |
const char * | key, | ||
const char * | pub_key | ||
) |
Verify key.
Verify key.
bool IsMathModelerEnable | ( | ) |
Check the controller of the Modeler.
Check the controller of the Modeler.
bool IsMathConverterEnable | ( | ) |
Check the controller of the Converter.
Check the controller of the Converter.
bool IsMathSolverEnable | ( | ) |
Check the controller of the Solver.
Check the controller of the Solver.
bool IsMathVisionEnable | ( | ) |
Check the controller of the Vision.
Check the controller of the Vision.
bool IsMathBShaperEnable | ( | ) |
Check the controller of the BShaper.
Check the controller of the BShaper.
bool IsMathCollisionEnable | ( | ) |
Check the controller of the Collision Detection.
Check the controller of the Collision Detection.
bool IsMathFairCurveEnable | ( | ) |
Check the controller of the FairCurve modeler.
Check the controller of the FairCurve modeler.
void FreeMathModulesChecker | ( | ) |
Free the controller of the kernel modules work.
Free the controller of the kernel modules work.
void c3d::EnableMemoryLeakDump | ( | ) |
Enable memory leakage control.
Enable memory leakage control.
|
constexpr |
Size of pointer in bytes.
Size of pointer in bytes.