|
Bullet Collision Detection & Physics Library
|
Go to the documentation of this file.
95 void parseStruct(
char *strcPtr,
char *dtPtr,
int old_dna,
int new_dna,
bool fixupPointers);
96 void getMatchingFileDNA(
short* old,
const char* lookupName,
const char* lookupType,
char *strcData,
char *data,
bool fixupPointers);
97 char*
getFileElement(
short *firstStruct,
char *lookupName,
char *lookupType,
char *data,
short **foundPos);
100 void swap(
char *head,
class bChunkInd& ch,
bool ignoreEndianFlag);
101 void swapData(
char *data,
short type,
int arraySize,
bool ignoreEndianFlag);
102 void swapStruct(
int dna_nr,
char *data,
bool ignoreEndianFlag);
110 virtual void parseInternal(
int verboseMode,
char* memDna,
int memDnaLength);
113 bFile(
const char *filename,
const char headerString[7]);
117 bFile(
char *memoryBuffer,
int len,
const char headerString[7]);
146 virtual void parse(
int verboseMode) = 0;
148 virtual int write(
const char* fileName,
bool fixupPointers=
false) = 0;
150 virtual void writeChunks(FILE* fp,
bool fixupPointers );
152 virtual void writeDNA(FILE* fp) = 0;
159 virtual void setFileDNA(
int verboseMode,
char* buffer,
int len);
void swap(char *head, class bChunkInd &ch, bool ignoreEndianFlag)
@ FD_VERBOSE_DUMP_FILE_INFO
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)
@ FD_VERBOSE_DUMP_DNA_TYPE_DEFINITIONS
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)