| Bullet Collision Detection & Physics Library
    | 
 
 
 
Go to the documentation of this file.
   92         void parseStruct(
char* strcPtr, 
char* dtPtr, 
int old_dna, 
int new_dna, 
bool fixupPointers);
 
   93         void getMatchingFileDNA(
short* old, 
const char* lookupName, 
const char* lookupType, 
char* strcData, 
char* data, 
bool fixupPointers);
 
   94         char* 
getFileElement(
short* firstStruct, 
char* lookupName, 
char* lookupType, 
char* data, 
short** foundPos);
 
   96         void swap(
char* head, 
class bChunkInd& ch, 
bool ignoreEndianFlag);
 
   97         void swapData(
char* data, 
short type, 
int arraySize, 
bool ignoreEndianFlag);
 
   98         void swapStruct(
int dna_nr, 
char* data, 
bool ignoreEndianFlag);
 
  105         virtual void parseInternal(
int verboseMode, 
char* memDna, 
int memDnaLength);
 
  108         bFile(
const char* filename, 
const char headerString[7]);
 
  112         bFile(
char* memoryBuffer, 
int len, 
const char headerString[7]);
 
  141         virtual void parse(
int verboseMode) = 0;
 
  143         virtual int write(
const char* fileName, 
bool fixupPointers = 
false) = 0;
 
  145         virtual void writeChunks(FILE* fp, 
bool fixupPointers);
 
  147         virtual void writeDNA(FILE* fp) = 0;
 
  154         virtual void setFileDNA(
int verboseMode, 
char* buffer, 
int len);
 
  
void swap(char *head, class bChunkInd &ch, bool ignoreEndianFlag)
virtual void addDataBlock(char *dataBlock)=0
btAlignedObjectArray< char * > m_pointerFixupArray
void dumpChunks(bDNA *dna)
int resolvePointersStructRecursive(char *strcPtr, int old_dna, int verboseMode, int recursion)
virtual void writeDNA(FILE *fp)=0
char * getFileElement(short *firstStruct, char *lookupName, char *lookupType, char *data, short **foundPos)
void swapLen(char *dataPtr)
char * readStruct(char *head, class bChunkInd &chunk)
virtual void parseData()=0
void writeFile(const char *fileName)
int getNextBlock(bChunkInd *dataChunk, const char *dataPtr, const int flags)
bFile(const char *filename, const char headerString[7])
btAlignedObjectArray< bChunkInd > m_chunks
virtual void parseInternal(int verboseMode, char *memDna, int memDnaLength)
virtual void parse(int verboseMode)=0
void * findLibPointer(void *ptr)
void swapData(char *data, short type, int arraySize, bool ignoreEndianFlag)
bPtrMap & getLibPointers()
void swapStruct(int dna_nr, char *data, bool ignoreEndianFlag)
virtual void setFileDNA(int verboseMode, char *buffer, int len)
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)
void setFileDNAisMemoryDNA()
virtual void parseHeader()
void resolvePointersChunk(const bChunkInd &dataChunk, int verboseMode)
this loop only works fine if the Blender DNA structure of the file matches the headerfiles
btAlignedObjectArray< char * > m_pointerPtrFixupArray
void resolvePointers(int verboseMode)
Resolve pointers replaces the original pointers in structures, and linked lists by the new in-memory ...
btHashMap< btHashPtr, bChunkInd > m_chunkPtrPtrMap
virtual int write(const char *fileName, bool fixupPointers=false)=0
void resolvePointersMismatch()
void safeSwapPtr(char *dst, const char *src)
virtual void writeChunks(FILE *fp, bool fixupPointers)
char * getAsString(int code)