C3D Toolkit
Kernel - 117950, Vision - 2.7.5.29
|
Classes | |
class | Cluster |
Cluster. More... | |
class | FileSpace |
File space. More... | |
struct | ClusterReference |
Position for reading/writing in a cluster. More... | |
class | iobuf_Seq |
Stream buffer. More... | |
class | membuf |
Memory stream buffer. More... | |
class | TapeRegistrator |
Compile with the given preprocessor define for control of reading/writing char* and TCHAR* only via ReadTCHAR/WriteTCHAR(), not via illegally operator << and >>. More... | |
class | TapeRegistratorEx |
Array for registration of objects with information about reading/writing position. More... | |
class | ScopedReadProgress |
Scoped progress indicator for reader. More... | |
class | TapeManager |
Stream manager. More... | |
struct | TapeClassContainer |
Array of stream classes registration. More... | |
class | ClassDescriptor |
Packed class name. More... | |
class | TapeBase |
Base class for stream classes. More... | |
class | TapeClass |
"Wrapper" for one stream class. More... | |
class | tape |
The base class of the stream for implementation of reading and writing. More... | |
class | reader |
Stream for reading. More... | |
class | reader_ex |
Stream for reading from several FileSpaces by given positions in clusters. More... | |
class | writer |
Stream for writing. More... | |
class | writer_ex |
Stream for writing to several FileSpaces. More... | |
class | rw |
Stream for reading and writing. More... | |
class | c3d::IModelTreeNode |
Model tree node. More... | |
class | c3d::IModelTree |
Generic model tree. More... | |
class | c3d::IEmbodimentNode |
Embodiments tree node. More... | |
class | c3d::IEmbodimentTree |
Embodiment Tree. More... | |
class | VersionContainer |
Container of versions. More... | |
class | c3d::MbTreeNode |
Tree node. More... | |
class | c3d::MbEmbodimentNode |
Embodiments tree node. More... | |
class | c3d::MbModelTree |
Tree of geometric model. More... | |
class | c3d::ItemDataBase |
A base class for user data of a tree node. More... | |
class | c3d::ItemDataBool |
Bool property. More... | |
class | c3d::ItemDataInteger |
Integer property. More... | |
class | c3d::ItemDataDouble |
Double property. More... | |
class | c3d::ItemDataString |
String property. More... | |
class | c3d::ItemAttrBool |
Data of Bool attribute. More... | |
class | c3d::ItemAttrInteger |
Data of Integer attribute. More... | |
class | c3d::ItemAttrDouble |
Data of Double attribute. More... | |
class | c3d::ItemAttrString |
Data of String attribute. More... | |
class | c3d::ItemAttrProductInfo |
Data of MbProductInfo attribute. More... | |
class | c3d::ItemAttrInt64 |
Data of int64 attribute. More... | |
class | c3d::ItemAttrIdentifier |
Data of Identifier attribute. More... | |
class | c3d::ItemAttrColor |
Data of Color attribute. More... | |
class | c3d::ItemAttrWidth |
Data of Width attribute. More... | |
class | c3d::ItemAttrStyle |
Data of Style attribute. More... | |
class | c3d::ItemAttrSelected |
Data of Selection attribute. More... | |
class | c3d::ItemAttrVisible |
Data of Visibility attribute. More... | |
class | c3d::ItemAttrChanged |
Data of Modification attribute. More... | |
class | c3d::ItemAttrDencity |
Data of Dencity attribute. More... | |
class | c3d::ItemAttrUpdateStamp |
Data of Update timestamp attribute. More... | |
class | c3d::ItemAttrAnchor |
Data of Anchor attribute. More... | |
class | c3d::ItemAttrEmbodiment |
Data of embodiment attribute. More... | |
class | c3d::ItemAttrThickness |
Data of Thickness attribute. More... | |
class | c3d::UserDataMap |
A container for user data of a tree node. More... | |
struct | c3d::MbItemData |
Tree node data. More... | |
Macros | |
#define | EOF (-1) |
End of file. | |
#define | DECLARE_PERSISTENT_OPS(Class) |
Friend operators of reading and writing of pointers and references. | |
#define | DECLARE_PERSISTENT_OPS_B(Class) |
Declaration of operators of reading and writing of pointers and references. | |
#define | IMPL_PERSISTENT_OPS(Class) |
Operators of reading and writing of pointers and references. | |
#define | DECLARE_PERSISTENT_RO_OPS(Class) |
Operators of reading pointers and references for a class without writing. | |
#define | DECLARE_PERSISTENT_FUNCS(Class) |
Functions of reading and writing. | |
#define | DECLARE_PERSISTENT_RO_FUNCS(Class) |
Function of reading for class without writing. | |
#define | DECLARE_PERSISTENT_CTOR(Class) |
Constructor for a stream class. | |
#define | IMP_PERSISTENT_CTOR(Class) Class::Class( TapeInit ) {} |
Constructor for a stream class. | |
#define | IMP_PERSISTENT_CTOR1(Class, Base) Class::Class( TapeInit ) : Base( tapeInit ) {} |
Constructor for a class with one stream base. | |
#define | IMP_PERSISTENT_CTOR2(Class, Base1, Base2) Class::Class( TapeInit ) : Base1( tapeInit ), Base2( tapeInit ) {} |
Constructor for a class with two stream bases. | |
#define | IMP_PERSISTENT_REGISTRATION(AppID, Class) |
Construction of a new instance of the class. More... | |
#define | IMP_PERSISTENT_RO_REGISTRATION(AppID, Class) |
Construction of a new instance of the class for a class without writing. | |
#define | __OVERLOAD_MEMORY_ALLOCATE_FREE_ |
The variable enables overloading of new/delete operators which provides sequential access to the allocation/deallocation functions from different threads. More... | |
#define | DECLARE_NEW_DELETE_CLASS(Class) |
Declaration of functions new, delete and access operators. | |
#define | IMP_PERSISTENT_NEW_DELETE_CLASS(Class) |
Implementation of functions new, delete and access operators. | |
#define | DECLARE_NEW_DELETE_CLASS_EX(Class) |
Declaration of new and delete operators which provide sequential access to the allocation/deallocation functions from different threads. All standard new and delete operators are overloaded. | |
#define | IMP_PERSISTENT_NEW_DELETE_CLASS_EX(Class) |
Implementation of new and delete operators which provides sequential access to the allocation/deallocation functions from different threads. All standard new and delete operators are overloaded. | |
#define | DECLARE_PERSISTENT_CLASS(Class) |
Declaration of class Class as a stream one. More... | |
#define | DECLARE_PERSISTENT_CLASS_NEW_DEL(Class) |
Analog of DECLARE_PERSISTENT_CLASS macro with support of new/delete operators overloading which provides sequential access to the allocation/deallocation functions from different threads. More... | |
#define | IMP_PERSISTENT_CLASS(AppID, Class) |
Implementation of DECLARE_PERSISTENT_CLASS declaration. More... | |
#define | IMP_PERSISTENT_CLASS_NEW_DEL(AppID, Class) |
Analog of IMP_PERSISTENT_CLASS macro with support of new/delete operators overloading which provides sequential access to the allocation/deallocation functions from different threads. More... | |
#define | IMP_PERSISTENT_RO_CLASS_NEW_DEL(AppID, Class) |
Analog of IMP_PERSISTENT_RO_CLASS macro with support of new/delete operators overloading which provides sequential access to the allocation/deallocation functions from different threads. More... | |
#define | IMP_PERSISTENT_CLASS_FROM_BASE_NEW_DEL(AppID, Class, Base) |
Analog of IMP_PERSISTENT_CLASS_FROM_BASE macro with support of new/delete operators overloading which provides sequential access to the allocation/deallocation functions from different threads. More... | |
#define | IMP_PERSISTENT_CLASS_WD_NEW_DEL(AppID, Class) |
Analog of IMP_PERSISTENT_CLASS_WD macro with support of new/delete operators overloading which provides sequential access to the allocation/deallocation functions from different threads. More... | |
Typedefs | |
typedef TapeBase *(CALL_DECLARATION * | BUILD_FUNC) (void) |
Template of function of a new instance creation. | |
typedef void *(CALL_DECLARATION * | CAST_FUNC) (const TapeBase *) |
Template of conversion function. More... | |
typedef void(CALL_DECLARATION * | READ_FUNC) (reader &in, void *) |
typedef void(CALL_DECLARATION * | WRITE_FUNC) (writer &out, void *) |
Template of instance writing function. | |
Enumerations | |
enum | RegistrableRec { noRegistrable , registrable } |
Types of objects registration. More... | |
enum | TapeInit { tapeInit } |
The objects initialization types. More... | |
enum | TapePointerType { tpt_Null = 0x00 , tpt_Indexed16 = 0x01 , tpt_Object = 0x02 , tpt_Indexed8 = 0x03 , tpt_Indexed32 = 0x04 , tpt_Indexed64 = 0x05 , tpt_DetachedObject = 0x06 , tpt_ObjectCatalog = 0x07 } |
Methods of writing pointers. More... | |
enum | c3d::MbeItemDataType |
A type of user data of the model tree node. More... | |
Functions | |
bool | IsEqualSArrayItems (const Cluster &, const Cluster &) |
size_t | LenCOUNT (VERSION version) |
Length of size_t data in the stream. | |
size_t | SizeOfFileSpace (VERSION version, size_t cnt, bool calcFull) |
Length of FileSpace data in stream of the specified version. | |
size_t | getMemLen (const Cluster &c, VERSION) |
Size of cluster's data. More... | |
size_t | getMemLen (const FileSpace &s, VERSION version) |
The file data size. More... | |
bool | IsGoodFile (const FileSpace &file, const iobuf_Seq &owner) |
Check the cluster array of the file. More... | |
iobuf & | createiobuf (const TCHAR *fileName) |
Read the buffer from the disk. | |
bool | writeiobuftodisk (const TCHAR *fileName, membuf &buf) |
Write the buffer to the disk. | |
template<class Base > | |
void | ReadBase (reader &in, Base *base) |
Function of reading the base class. | |
template<class Base > | |
void | WriteBase (writer &out, const Base *base) |
Function of writing the base class. | |
template<class Base > | |
void | ReadVBase (reader &in, Base *base) |
Function of reading of a virtual base class. | |
template<class Base > | |
void | WriteVBase (writer &out, const Base *base) |
Function of writing of a virtual base class. | |
uint16 | hash (const char *name) |
Pack the string (class name) into uint16. | |
writer & | operator<< (writer &ps, bool i) |
Writing bool to the stream. | |
reader & | operator>> (reader &ps, bool &i) |
Reading of bool to the stream. | |
writer & | operator<< (writer &ps, signed int i) |
Writing signed int to the stream. | |
writer & | operator<< (writer &ps, unsigned int i) |
Writing unsigned int to the stream. | |
reader & | operator>> (reader &ps, signed int &i) |
Reading signed int to the stream. | |
reader & | operator>> (reader &ps, unsigned int &i) |
Reading unsigned int to the stream. | |
writer & | operator<< (writer &ps, int64 val) |
Writing int32 to the stream. More... | |
reader & | operator>> (reader &ps, int64 &val) |
Reading int64 to the stream. | |
reader & | operator>> (reader &ps, signed char &ch) |
Reading signed char to the stream. | |
reader & | operator>> (reader &ps, unsigned char &ch) |
Reading unsigned char to the stream. | |
reader & | operator>> (reader &ps, char &ch) |
Reading char to the stream. | |
reader & | operator>> (reader &ps, signed short &sh) |
Reading signed short to the stream. | |
reader & | operator>> (reader &ps, unsigned short &sh) |
Reading unsigned short to the stream. | |
reader & | operator>> (reader &ps, wchar_t &sh) |
Reading wchar_t to the stream. | |
reader & | operator>> (reader &ps, float &f) |
Reading float to the stream. | |
reader & | operator>> (reader &ps, double &d) |
Reading double to the stream. | |
reader & | operator>> (reader &ps, long double &l) |
Reading long double from the stream. | |
template<class _Class > | |
reader & | operator>> (reader &ps, SPtr< _Class > &sPtr) |
Reading a smart pointer from the stream. | |
template<class _Class > | |
writer & | operator<< (writer &ps, const SPtr< _Class > &sPtr) |
Writing a smart pointer to the stream. | |
writer & | operator<< (writer &ps, signed char ch) |
Write signed char to the stream. | |
writer & | operator<< (writer &ps, unsigned char ch) |
Write unsigned char to the stream. | |
writer & | operator<< (writer &ps, char ch) |
Write char to the stream. | |
writer & | operator<< (writer &ps, signed short sh) |
Write signed short to the stream. | |
writer & | operator<< (writer &ps, unsigned short sh) |
Write unsigned short to the stream. | |
writer & | operator<< (writer &ps, wchar_t sh) |
Write wchar_t to the stream. | |
writer & | operator<< (writer &ps, float f) |
Write float to the stream. | |
writer & | operator<< (writer &ps, const double &d) |
Write double to the stream. | |
writer & | operator<< (writer &ps, const long double &l) |
Write long double to the stream. | |
void | WriteTCHAR (writer &out, const TCHAR *ts, bool directSingleByte=false) |
Write TCHAR string to the stream. | |
void | ReadTCHAR (reader &in, TCHAR *&ts, bool directSingleByte=false) |
Read TCHAR string from the stream. | |
void | WriteWcharT (writer &out, const wchar_t *ts) |
Write wchar_t string to the stream. | |
void | ReadWcharT (reader &in, wchar_t *&ts) |
Read TCHAR string from the stream. | |
void | WriteCOUNT (writer &out, size_t count) |
Write size_t subject to the stream version. | |
void | WriteINT_T (writer &out, ptrdiff_t count) |
Writing ptrdiff_t subject to the stream version. | |
size_t | ReadCOUNT (reader &in, bool uint_val=true) |
Reading size_t subject to the stream version. | |
ptrdiff_t | ReadINT_T (reader &in, bool uint_val=true) |
Reading ptrdiff_t subject to the stream version. | |
void | WriteCOUNT (void *out, VERSION version, size_t count) |
Writing size_t to the memory subject to the stream version. | |
void | WriteCOUNT (void *out, VERSION version, ptrdiff_t count) |
Writing ptrdiff_t to the memory subject to the stream version. | |
size_t | ReadCOUNT (void *in, VERSION version) |
Reading of size_t to the memory subject to the stream version. | |
ClassDescriptor | GetPackedClassName (const ClassDescriptor &classDescr, const VersionContainer &ver) |
Get the packed class name from the hash value written to the stream. More... | |
void | AddPackedClassNameForVersion (const ClassDescriptor &newClassName, const ClassDescriptor &oldClassName, uint appIndex, VERSION lowVersion, VERSION highVersion) |
Add a new mapping of the hash value written to the stream to the packed class name. More... | |
bool | IsValidStreamClassName (const char *className, const MbUuid &appID) |
Diagnostics of collisions of new class name with registered classes. More... | |
void | WriteSimpleName (writer &out, const SimpleName &s) |
Writing of a simple name. | |
SimpleName | ReadSimpleName (reader &in) |
Reading of a simple name. | |
writer & | c3d::operator<< (writer &out, const StrHash &strHash) |
Operator of writing hash. More... | |
reader & | c3d::operator>> (reader &in, c3d::StrHash &strHash) |
Operator of hash reading. More... | |
writer & | operator<< (writer &ps, const std::string &s) |
Writing a string to the stream. | |
reader & | operator>> (reader &ps, std::string &s) |
Reading a string from the stream. | |
writer & | operator<< (writer &ps, const std::wstring &s) |
Writing a string to the stream. | |
reader & | operator>> (reader &ps, std::wstring &s) |
Reading a string from the stream. | |
writer & | operator<< (writer &ps, const std::wstring *s) |
Writing a string to the stream. | |
void | ReadCluster (reader &in, uint16 clusterSize, Cluster &cl) |
Read the cluster. More... | |
size_t | WriteClusterInfo (void *out, VERSION version, const Cluster &obj) |
Write the information about the cluster. | |
size_t | ReadClusterInfo (void *in, VERSION version, Cluster &obj) |
Read the information about the cluster. | |
reader & | operator>> (reader &, VersionContainer &) |
Operator of version container reading. More... | |
writer & | operator<< (writer &, const VersionContainer &) |
Operator of version container writing. More... | |
#define IMP_PERSISTENT_REGISTRATION | ( | AppID, | |
Class | |||
) |
Construction of a new instance of the class.
Construction of a new instance of the class.
Definition of functions of construction a new instance of the class, function of conversion from a pointer to TapeBase to a pointer to the class and addition of the class (not an instance) to the array of stream classes by creating variable r ## Class of type TapeClass (and in constructor of TapeClass addition to array of stream classes is performed). Symbol ## is a directive for preprocessor about the necessity of "gluing" of the current identifier with the next one.
#define __OVERLOAD_MEMORY_ALLOCATE_FREE_ |
The variable enables overloading of new/delete operators which provides sequential access to the allocation/deallocation functions from different threads.
The variable enables overloading of new/delete operators which provides sequential access to the allocation/deallocation functions from different threads.
#define DECLARE_PERSISTENT_CLASS | ( | Class | ) |
Declaration of class Class as a stream one.
Declaration of class Class as a stream one. It is set in the declaration of class in file *.h. Declares operators <<, >> and also functions Read and Write which must be defined in any file *.cpp Class must be inherited from TapeBase. The read constructor must be defined for the class and its solid should be in .cpp file.
#define DECLARE_PERSISTENT_CLASS_NEW_DEL | ( | Class | ) |
Analog of DECLARE_PERSISTENT_CLASS macro with support of new/delete operators overloading which provides sequential access to the allocation/deallocation functions from different threads.
Analog of DECLARE_PERSISTENT_CLASS macro with support of new/delete operators overloading which provides sequential access to the allocation/deallocation functions from different threads (enabled by defining __OVERLOAD_MEMORY_ALLOCATE_FREE_).
#define IMP_PERSISTENT_CLASS | ( | AppID, | |
Class | |||
) |
Implementation of DECLARE_PERSISTENT_CLASS declaration.
Implementation of DECLARE_PERSISTENT_CLASS declaration. Describes the necessary operations for a stream class. It is set into any .cpp file. Class must be inherited from TapeBase. Function Read of reading and function Write of writing should be implemented.
#define IMP_PERSISTENT_CLASS_NEW_DEL | ( | AppID, | |
Class | |||
) |
Analog of IMP_PERSISTENT_CLASS macro with support of new/delete operators overloading which provides sequential access to the allocation/deallocation functions from different threads.
Analog of IMP_PERSISTENT_CLASS macro with support of new/delete operators overloading which provides sequential access to the allocation/deallocation functions from different threads (enabled by defining __OVERLOAD_MEMORY_ALLOCATE_FREE_).
#define IMP_PERSISTENT_RO_CLASS_NEW_DEL | ( | AppID, | |
Class | |||
) |
Analog of IMP_PERSISTENT_RO_CLASS macro with support of new/delete operators overloading which provides sequential access to the allocation/deallocation functions from different threads.
Analog of IMP_PERSISTENT_RO_CLASS macro with support of new/delete operators overloading which provides sequential access to the allocation/deallocation functions from different threads (enabled by defining __OVERLOAD_MEMORY_ALLOCATE_FREE_).
#define IMP_PERSISTENT_CLASS_FROM_BASE_NEW_DEL | ( | AppID, | |
Class, | |||
Base | |||
) |
Analog of IMP_PERSISTENT_CLASS_FROM_BASE macro with support of new/delete operators overloading which provides sequential access to the allocation/deallocation functions from different threads.
Analog of IMP_PERSISTENT_CLASS_FROM_BASE macro with support of new/delete operators overloading which provides sequential access to the allocation/deallocation functions from different threads (enabled by defining __OVERLOAD_MEMORY_ALLOCATE_FREE_).
#define IMP_PERSISTENT_CLASS_WD_NEW_DEL | ( | AppID, | |
Class | |||
) |
Analog of IMP_PERSISTENT_CLASS_WD macro with support of new/delete operators overloading which provides sequential access to the allocation/deallocation functions from different threads.
Analog of IMP_PERSISTENT_CLASS_WD macro with support of new/delete operators overloading which provides sequential access to the allocation/deallocation functions from different threads (enabled by defining __OVERLOAD_MEMORY_ALLOCATE_FREE_).
typedef void*(CALL_DECLARATION * CAST_FUNC) (const TapeBase *) |
Template of conversion function.
Template of function of conversion from a pointer to TapeBase to a pointer to the class.
typedef void(CALL_DECLARATION * READ_FUNC) (reader &in, void *) |
Template of instance reading function.
enum RegistrableRec |
enum TapeInit |
enum TapePointerType |
Methods of writing pointers.
Methods of writing pointers.
Enumerator | |
---|---|
tpt_Null | Null pointer. |
tpt_Indexed16 | Pointer index in the registration array (2 bytes). |
tpt_Object | The object solid. |
tpt_Indexed8 | Index of pointer in the registration array (1 byte). |
tpt_Indexed32 | Pointer index in the registration array (4 bytes). |
tpt_Indexed64 | Index of pointer in the registration array (8 byte). |
tpt_DetachedObject | The object solid in separated FileSpace. |
tpt_ObjectCatalog | The object catalog in separated FileSpace. |
enum c3d::MbeItemDataType |
A type of user data of the model tree node.
A type of user data of the model tree node.
Size of cluster's data.
Size of cluster data in the stream of the specified version.
The file data size.
The file space data size in the stream of the specified version.
Check the cluster array of the file.
Check array of clusters this file consists of.
Writing int32 to the stream.
Writing uint32 to the stream. Reading int32 to the stream. Reading uint32 to the stream. Writing int64 to the stream.
ClassDescriptor GetPackedClassName | ( | const ClassDescriptor & | classDescr, |
const VersionContainer & | ver | ||
) |
Get the packed class name from the hash value written to the stream.
Get the packed class name from the hash value written to the stream.
[in] | classDescr | - Hash value wrapper. |
[in] | ver | - The version of the stream in which the hash is written. |
void AddPackedClassNameForVersion | ( | const ClassDescriptor & | newClassName, |
const ClassDescriptor & | oldClassName, | ||
uint | appIndex, | ||
VERSION | lowVersion, | ||
VERSION | highVersion | ||
) |
Add a new mapping of the hash value written to the stream to the packed class name.
Add a new mapping of the hash value written to the stream to the packed class name.
[in] | newClassName | - New class name. |
[in] | oldClassName | - Old class name. |
[in] | appIndex | - The index of the application that the class belongs to. |
[in] | lowVersion | - Version lower bound. |
[in] | highVersion | - Version upper bound. |
bool IsValidStreamClassName | ( | const char * | className, |
const MbUuid & | appID | ||
) |
Diagnostics of collisions of new class name with registered classes.
Diagnostics of collisions of new class name with registered classes.
[in] | className | - The class name. |
[in] | appID | - The application id. |
Operator of writing hash.
Write operator.
|
inline |
Operator of hash reading.
Read operator.
Read the cluster.
Write the cluster.
reader& operator>> | ( | reader & | , |
VersionContainer & | |||
) |
Operator of version container reading.
Read operator.
writer& operator<< | ( | writer & | , |
const VersionContainer & | |||
) |
Operator of version container writing.
Write operator.