Bullet Collision Detection & Physics Library
bParse::btBulletFile Class Reference

#include <btBulletFile.h>

Inheritance diagram for bParse::btBulletFile:
Collaboration diagram for bParse::btBulletFile:

Public Member Functions

 btBulletFile ()
 btBulletFile (const char *fileName)
 btBulletFile (char *memoryBuffer, int len)
virtual ~btBulletFile ()
virtual void addDataBlock (char *dataBlock)
virtual int write (const char *fileName, bool fixupPointers=false)
virtual void parse (int verboseMode)
virtual void parseData ()
virtual void writeDNA (FILE *fp)
void addStruct (const char *structType, void *data, int len, void *oldPtr, int code)
Public Member Functions inherited from bParse::bFile
 bFile (const char *filename, const char headerString[7])
 bFile (char *memoryBuffer, int len, const char headerString[7])
virtual ~bFile ()
bDNAgetFileDNA ()
int getFlags () const
void setFileDNAisMemoryDNA ()
bPtrMapgetLibPointers ()
void * findLibPointer (void *ptr)
bool ok ()
virtual void writeChunks (FILE *fp, bool fixupPointers)
void updateOldPointers ()
void resolvePointers (int verboseMode)
 Resolve pointers replaces the original pointers in structures, and linked lists by the new in-memory structures.
void dumpChunks (bDNA *dna)
virtual void setFileDNA (int verboseMode, char *buffer, int len)
int getVersion () const
void preSwap ()
void writeFile (const char *fileName)

Public Attributes

btAlignedObjectArray< bStructHandle * > m_multiBodies
btAlignedObjectArray< bStructHandle * > m_multiBodyLinkColliders
btAlignedObjectArray< bStructHandle * > m_softBodies
btAlignedObjectArray< bStructHandle * > m_rigidBodies
btAlignedObjectArray< bStructHandle * > m_collisionObjects
btAlignedObjectArray< bStructHandle * > m_collisionShapes
btAlignedObjectArray< bStructHandle * > m_constraints
btAlignedObjectArray< bStructHandle * > m_bvhs
btAlignedObjectArray< bStructHandle * > m_triangleInfoMaps
btAlignedObjectArray< bStructHandle * > m_dynamicsWorldInfo
btAlignedObjectArray< bStructHandle * > m_contactManifolds
btAlignedObjectArray< char * > m_dataBlocks

Protected Attributes

char * m_DnaCopy
Protected Attributes inherited from bParse::bFile
char m_headerString [7]
bool mOwnsBuffer
char * mFileBuffer
int mFileLen
int mVersion
bPtrMap mLibPointers
int mDataStart
bDNAmFileDNA
bDNAmMemoryDNA
btAlignedObjectArray< char * > m_pointerFixupArray
btAlignedObjectArray< char * > m_pointerPtrFixupArray
btAlignedObjectArray< bChunkIndm_chunks
btHashMap< btHashPtr, bChunkIndm_chunkPtrPtrMap
bPtrMap mDataPointers
int mFlags

Additional Inherited Members

Protected Member Functions inherited from bParse::bFile
int getNextBlock (bChunkInd *dataChunk, const char *dataPtr, const int flags)
void safeSwapPtr (char *dst, const char *src)
virtual void parseHeader ()
void resolvePointersMismatch ()
void resolvePointersChunk (const bChunkInd &dataChunk, int verboseMode)
 this loop only works fine if the Blender DNA structure of the file matches the headerfiles
int resolvePointersStructRecursive (char *strcPtr, int old_dna, int verboseMode, int recursion)
void parseStruct (char *strcPtr, char *dtPtr, int old_dna, int new_dna, bool fixupPointers)
void getMatchingFileDNA (short *old, const char *lookupName, const char *lookupType, char *strcData, char *data, bool fixupPointers)
char * getFileElement (short *firstStruct, char *lookupName, char *lookupType, char *data, short **foundPos)
void swap (char *head, class bChunkInd &ch, bool ignoreEndianFlag)
void swapData (char *data, short type, int arraySize, bool ignoreEndianFlag)
void swapStruct (int dna_nr, char *data, bool ignoreEndianFlag)
void swapLen (char *dataPtr)
void swapDNA (char *ptr)
char * readStruct (char *head, class bChunkInd &chunk)
char * getAsString (int code)
virtual void parseInternal (int verboseMode, char *memDna, int memDnaLength)

Detailed Description

Definition at line 28 of file btBulletFile.h.

Constructor & Destructor Documentation

◆ btBulletFile() [1/3]

btBulletFile::btBulletFile ( )

Definition at line 45 of file btBulletFile.cpp.

◆ btBulletFile() [2/3]

btBulletFile::btBulletFile ( const char * fileName)

Definition at line 78 of file btBulletFile.cpp.

◆ btBulletFile() [3/3]

btBulletFile::btBulletFile ( char * memoryBuffer,
int len )

Definition at line 84 of file btBulletFile.cpp.

◆ ~btBulletFile()

btBulletFile::~btBulletFile ( )
virtual

Definition at line 90 of file btBulletFile.cpp.

Member Function Documentation

◆ addDataBlock()

void btBulletFile::addDataBlock ( char * dataBlock)
virtual

Implements bParse::bFile.

Definition at line 249 of file btBulletFile.cpp.

◆ addStruct()

void btBulletFile::addStruct ( const char * structType,
void * data,
int len,
void * oldPtr,
int code )

Perform structure size validation

Definition at line 407 of file btBulletFile.cpp.

◆ parse()

void btBulletFile::parse ( int verboseMode)
virtual

Implements bParse::bFile.

Definition at line 301 of file btBulletFile.cpp.

◆ parseData()

void btBulletFile::parseData ( )
virtual

Implements bParse::bFile.

Definition at line 104 of file btBulletFile.cpp.

◆ write()

int btBulletFile::write ( const char * fileName,
bool fixupPointers = false )
virtual

Implements bParse::bFile.

Definition at line 360 of file btBulletFile.cpp.

◆ writeDNA()

void btBulletFile::writeDNA ( FILE * fp)
virtual

Implements bParse::bFile.

Definition at line 254 of file btBulletFile.cpp.

Member Data Documentation

◆ m_bvhs

btAlignedObjectArray<bStructHandle*> bParse::btBulletFile::m_bvhs

Definition at line 48 of file btBulletFile.h.

◆ m_collisionObjects

btAlignedObjectArray<bStructHandle*> bParse::btBulletFile::m_collisionObjects

Definition at line 42 of file btBulletFile.h.

◆ m_collisionShapes

btAlignedObjectArray<bStructHandle*> bParse::btBulletFile::m_collisionShapes

Definition at line 44 of file btBulletFile.h.

◆ m_constraints

btAlignedObjectArray<bStructHandle*> bParse::btBulletFile::m_constraints

Definition at line 46 of file btBulletFile.h.

◆ m_contactManifolds

btAlignedObjectArray<bStructHandle*> bParse::btBulletFile::m_contactManifolds

Definition at line 54 of file btBulletFile.h.

◆ m_dataBlocks

btAlignedObjectArray<char*> bParse::btBulletFile::m_dataBlocks

Definition at line 56 of file btBulletFile.h.

◆ m_DnaCopy

char* bParse::btBulletFile::m_DnaCopy
protected

Definition at line 31 of file btBulletFile.h.

◆ m_dynamicsWorldInfo

btAlignedObjectArray<bStructHandle*> bParse::btBulletFile::m_dynamicsWorldInfo

Definition at line 52 of file btBulletFile.h.

◆ m_multiBodies

btAlignedObjectArray<bStructHandle*> bParse::btBulletFile::m_multiBodies

Definition at line 34 of file btBulletFile.h.

◆ m_multiBodyLinkColliders

btAlignedObjectArray<bStructHandle*> bParse::btBulletFile::m_multiBodyLinkColliders

Definition at line 36 of file btBulletFile.h.

◆ m_rigidBodies

btAlignedObjectArray<bStructHandle*> bParse::btBulletFile::m_rigidBodies

Definition at line 40 of file btBulletFile.h.

◆ m_softBodies

btAlignedObjectArray<bStructHandle*> bParse::btBulletFile::m_softBodies

Definition at line 38 of file btBulletFile.h.

◆ m_triangleInfoMaps

btAlignedObjectArray<bStructHandle*> bParse::btBulletFile::m_triangleInfoMaps

Definition at line 50 of file btBulletFile.h.


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