Blender  V3.3
Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
btDefaultSerializer Class Reference

#include <btSerializer.h>

Inheritance diagram for btDefaultSerializer:
btSerializer

Public Member Functions

 btDefaultSerializer (int totalSize=0, unsigned char *buffer=0)
 
virtual ~btDefaultSerializer ()
 
void insertHeader ()
 
void writeHeader (unsigned char *buffer) const
 
virtual void startSerialization ()
 
virtual void finishSerialization ()
 
virtual voidgetUniquePointer (void *oldPtr)
 
virtual const unsigned char * getBufferPointer () const
 
virtual int getCurrentBufferSize () const
 
virtual void finalizeChunk (btChunk *chunk, const char *structType, int chunkCode, void *oldPtr)
 
virtual unsigned char * internalAlloc (size_t size)
 
virtual btChunkallocate (size_t size, int numElements)
 
virtual const char * findNameForPointer (const void *ptr) const
 
virtual void registerNameForPointer (const void *ptr, const char *name)
 
virtual void serializeName (const char *name)
 
virtual int getSerializationFlags () const
 
virtual void setSerializationFlags (int flags)
 
int getNumChunks () const
 
const btChunkgetChunk (int chunkIndex) const
 
- Public Member Functions inherited from btSerializer
virtual ~btSerializer ()
 

Static Public Member Functions

static int getMemoryDnaSizeInBytes ()
 
static const char * getMemoryDna ()
 

Public Attributes

btHashMap< btHashPtr, void * > m_skipPointers
 

Protected Member Functions

virtual voidfindPointer (void *oldPtr)
 
virtual void writeDNA ()
 
int getReverseType (const char *type) const
 
void initDNA (const char *bdnaOrg, int dnalen)
 

Protected Attributes

btAlignedObjectArray< char * > mTypes
 
btAlignedObjectArray< short * > mStructs
 
btAlignedObjectArray< short > mTlens
 
btHashMap< btHashInt, int > mStructReverse
 
btHashMap< btHashString, int > mTypeLookup
 
btHashMap< btHashPtr, void * > m_chunkP
 
btHashMap< btHashPtr, const char * > m_nameMap
 
btHashMap< btHashPtr, btPointerUidm_uniquePointers
 
int m_uniqueIdGenerator
 
int m_totalSize
 
unsigned char * m_buffer
 
bool m_ownsBuffer
 
int m_currentSize
 
voidm_dna
 
int m_dnaLength
 
int m_serializationFlags
 
btAlignedObjectArray< btChunk * > m_chunkPtrs
 

Detailed Description

The btDefaultSerializer is the main Bullet serialization class. The constructor takes an optional argument for backwards compatibility, it is recommended to leave this empty/zero.

Definition at line 156 of file btSerializer.h.

Constructor & Destructor Documentation

◆ btDefaultSerializer()

btDefaultSerializer::btDefaultSerializer ( int  totalSize = 0,
unsigned char *  buffer = 0 
)
inline

◆ ~btDefaultSerializer()

virtual btDefaultSerializer::~btDefaultSerializer ( )
inlinevirtual

Definition at line 419 of file btSerializer.h.

References btAlignedFree, m_buffer, m_dna, and m_ownsBuffer.

Member Function Documentation

◆ allocate()

virtual btChunk* btDefaultSerializer::allocate ( size_t  size,
int  numElements 
)
inlinevirtual

Implements btSerializer.

Definition at line 609 of file btSerializer.h.

References data, internalAlloc(), m_chunkPtrs, ptr, btAlignedObjectArray< T >::push_back(), and size().

Referenced by serializeName(), and writeDNA().

◆ finalizeChunk()

virtual void btDefaultSerializer::finalizeChunk ( btChunk chunk,
const char *  structType,
int  chunkCode,
void oldPtr 
)
inlinevirtual

◆ findNameForPointer()

virtual const char* btDefaultSerializer::findNameForPointer ( const void ptr) const
inlinevirtual

Implements btSerializer.

Definition at line 626 of file btSerializer.h.

References btHashMap< Key, Value >::find(), m_nameMap, and ptr.

◆ findPointer()

virtual void* btDefaultSerializer::findPointer ( void oldPtr)
inlineprotectedvirtual

Implements btSerializer.

Definition at line 184 of file btSerializer.h.

References btHashMap< Key, Value >::find(), m_chunkP, and ptr.

Referenced by finalizeChunk(), and serializeName().

◆ finishSerialization()

virtual void btDefaultSerializer::finishSerialization ( )
inlinevirtual

◆ getBufferPointer()

virtual const unsigned char* btDefaultSerializer::getBufferPointer ( ) const
inlinevirtual

Implements btSerializer.

Definition at line 564 of file btSerializer.h.

References m_buffer.

Referenced by RB_dworld_export().

◆ getChunk()

const btChunk* btDefaultSerializer::getChunk ( int  chunkIndex) const
inlinevirtual

Implements btSerializer.

Definition at line 681 of file btSerializer.h.

References m_chunkPtrs.

◆ getCurrentBufferSize()

virtual int btDefaultSerializer::getCurrentBufferSize ( ) const
inlinevirtual

Implements btSerializer.

Definition at line 569 of file btSerializer.h.

References m_currentSize.

Referenced by RB_dworld_export().

◆ getMemoryDna()

static const char* btDefaultSerializer::getMemoryDna ( )
inlinestatic

Definition at line 437 of file btSerializer.h.

References sBulletDNAstr, and sBulletDNAstr64.

◆ getMemoryDnaSizeInBytes()

static int btDefaultSerializer::getMemoryDnaSizeInBytes ( )
inlinestatic

Definition at line 427 of file btSerializer.h.

References sBulletDNAlen, and sBulletDNAlen64.

◆ getNumChunks()

int btDefaultSerializer::getNumChunks ( ) const
inlinevirtual

Implements btSerializer.

Definition at line 676 of file btSerializer.h.

References m_chunkPtrs, and btAlignedObjectArray< T >::size().

◆ getReverseType()

int btDefaultSerializer::getReverseType ( const char *  type) const
inlineprotected

Definition at line 199 of file btSerializer.h.

References btHashMap< Key, Value >::find(), mTypeLookup, and type.

Referenced by finalizeChunk().

◆ getSerializationFlags()

virtual int btDefaultSerializer::getSerializationFlags ( ) const
inlinevirtual

Implements btSerializer.

Definition at line 667 of file btSerializer.h.

References m_serializationFlags.

◆ getUniquePointer()

virtual void* btDefaultSerializer::getUniquePointer ( void oldPtr)
inlinevirtual

◆ initDNA()

void btDefaultSerializer::initDNA ( const char *  bdnaOrg,
int  dnalen 
)
inlineprotected

◆ insertHeader()

void btDefaultSerializer::insertHeader ( )
inline

Definition at line 447 of file btSerializer.h.

References BT_HEADER_LENGTH, m_buffer, m_currentSize, and writeHeader().

◆ internalAlloc()

virtual unsigned char* btDefaultSerializer::internalAlloc ( size_t  size)
inlinevirtual

Definition at line 591 of file btSerializer.h.

References btAlignedAlloc, btAssert, m_buffer, m_currentSize, m_totalSize, ptr, and size().

Referenced by allocate(), and startSerialization().

◆ registerNameForPointer()

virtual void btDefaultSerializer::registerNameForPointer ( const void ptr,
const char *  name 
)
inlinevirtual

Implements btSerializer.

Definition at line 634 of file btSerializer.h.

References btHashMap< Key, Value >::insert(), m_nameMap, and ptr.

◆ serializeName()

virtual void btDefaultSerializer::serializeName ( const char *  name)
inlinevirtual

◆ setSerializationFlags()

virtual void btDefaultSerializer::setSerializationFlags ( int  flags)
inlinevirtual

Implements btSerializer.

Definition at line 672 of file btSerializer.h.

References m_serializationFlags.

◆ startSerialization()

virtual void btDefaultSerializer::startSerialization ( )
inlinevirtual

◆ writeDNA()

virtual void btDefaultSerializer::writeDNA ( )
inlineprotectedvirtual

Definition at line 192 of file btSerializer.h.

References allocate(), BT_DNA_CODE, finalizeChunk(), m_dna, m_dnaLength, and btChunk::m_oldPtr.

Referenced by finishSerialization().

◆ writeHeader()

void btDefaultSerializer::writeHeader ( unsigned char *  buffer) const
inline

Definition at line 453 of file btSerializer.h.

References buffer.

Referenced by finishSerialization(), insertHeader(), and startSerialization().

Member Data Documentation

◆ m_buffer

unsigned char* btDefaultSerializer::m_buffer
protected

◆ m_chunkP

btHashMap<btHashPtr, void*> btDefaultSerializer::m_chunkP
protected

Definition at line 165 of file btSerializer.h.

Referenced by finalizeChunk(), findPointer(), and finishSerialization().

◆ m_chunkPtrs

btAlignedObjectArray<btChunk*> btDefaultSerializer::m_chunkPtrs
protected

Definition at line 181 of file btSerializer.h.

Referenced by allocate(), finishSerialization(), getChunk(), and getNumChunks().

◆ m_currentSize

int btDefaultSerializer::m_currentSize
protected

◆ m_dna

void* btDefaultSerializer::m_dna
protected

Definition at line 176 of file btSerializer.h.

Referenced by initDNA(), writeDNA(), and ~btDefaultSerializer().

◆ m_dnaLength

int btDefaultSerializer::m_dnaLength
protected

Definition at line 177 of file btSerializer.h.

Referenced by initDNA(), and writeDNA().

◆ m_nameMap

btHashMap<btHashPtr, const char*> btDefaultSerializer::m_nameMap
protected

Definition at line 167 of file btSerializer.h.

Referenced by findNameForPointer(), finishSerialization(), and registerNameForPointer().

◆ m_ownsBuffer

bool btDefaultSerializer::m_ownsBuffer
protected

Definition at line 174 of file btSerializer.h.

Referenced by btDefaultSerializer(), and ~btDefaultSerializer().

◆ m_serializationFlags

int btDefaultSerializer::m_serializationFlags
protected

Definition at line 179 of file btSerializer.h.

Referenced by finalizeChunk(), getSerializationFlags(), and setSerializationFlags().

◆ m_skipPointers

btHashMap<btHashPtr, void*> btDefaultSerializer::m_skipPointers

Definition at line 366 of file btSerializer.h.

Referenced by finishSerialization(), and getUniquePointer().

◆ m_totalSize

int btDefaultSerializer::m_totalSize
protected

◆ m_uniqueIdGenerator

int btDefaultSerializer::m_uniqueIdGenerator
protected

Definition at line 170 of file btSerializer.h.

Referenced by getUniquePointer(), and startSerialization().

◆ m_uniquePointers

btHashMap<btHashPtr, btPointerUid> btDefaultSerializer::m_uniquePointers
protected

Definition at line 169 of file btSerializer.h.

Referenced by finishSerialization(), and getUniquePointer().

◆ mStructReverse

btHashMap<btHashInt, int> btDefaultSerializer::mStructReverse
protected

Definition at line 162 of file btSerializer.h.

Referenced by finishSerialization(), and initDNA().

◆ mStructs

btAlignedObjectArray<short*> btDefaultSerializer::mStructs
protected

Definition at line 160 of file btSerializer.h.

Referenced by finishSerialization(), and initDNA().

◆ mTlens

btAlignedObjectArray<short> btDefaultSerializer::mTlens
protected

Definition at line 161 of file btSerializer.h.

Referenced by finishSerialization(), and initDNA().

◆ mTypeLookup

btHashMap<btHashString, int> btDefaultSerializer::mTypeLookup
protected

Definition at line 163 of file btSerializer.h.

Referenced by finishSerialization(), getReverseType(), and initDNA().

◆ mTypes

btAlignedObjectArray<char*> btDefaultSerializer::mTypes
protected

Definition at line 159 of file btSerializer.h.

Referenced by finishSerialization(), and initDNA().


The documentation for this class was generated from the following file: