Bullet Collision Detection & Physics Library
|
Go to the documentation of this file.
20 #if !defined(__CELLOS_LV2__) && !defined(__MWERKS__)
26 #ifdef BT_INTERNAL_UPDATE_SERIALIZATION_STRUCTURES
34 #else //BT_INTERNAL_UPDATE_SERIALIZATION_STRUCTURES
41 #endif //BT_INTERNAL_UPDATE_SERIALIZATION_STRUCTURES
46 :
bFile(
"",
"BULLET ")
52 #ifdef BT_INTERNAL_UPDATE_SERIALIZATION_STRUCTURES
62 #else //BT_INTERNAL_UPDATE_SERIALIZATION_STRUCTURES
75 #endif //BT_INTERNAL_UPDATE_SERIALIZATION_STRUCTURES
79 :
bFile(fileName,
"BULLET ")
85 :
bFile(memoryBuffer, len,
"BULLET ")
135 char* dataPtrHead = 0;
147 if (dataChunk.
dna_nr >= 0)
149 char*
id =
readStruct(dataPtrHead, dataChunk);
232 printf(
"skipping BT_QUANTIZED_BVH_CODE due to broken DNA\n");
260 #ifdef BT_INTERNAL_UPDATE_SERIALIZATION_STRUCTURES
266 fwrite(&dataChunk,
sizeof(
bChunkInd), 1, fp);
277 fwrite(&dataChunk,
sizeof(
bChunkInd), 1, fp);
283 #else //BT_INTERNAL_UPDATE_SERIALIZATION_STRUCTURES
288 fwrite(&dataChunk,
sizeof(
bChunkInd), 1, fp);
295 fwrite(&dataChunk,
sizeof(
bChunkInd), 1, fp);
298 #endif //BT_INTERNAL_UPDATE_SERIALIZATION_STRUCTURES
303 #ifdef BT_INTERNAL_UPDATE_SERIALIZATION_STRUCTURES
330 #else //BT_INTERNAL_UPDATE_SERIALIZATION_STRUCTURES
347 #endif //BT_INTERNAL_UPDATE_SERIALIZATION_STRUCTURES
352 int littleEndian = 1;
353 littleEndian = ((
char*)&littleEndian)[0];
361 FILE* fp = fopen(fileName,
"wb");
367 endian = ((
char*)&endian)[0];
400 printf(
"Error: cannot open file %s for writing\n", fileName);
409 dataChunk.
code = code;
413 dataChunk.
oldPtr = oldPtr;
420 assert(len == elemBytes);
#define BT_CONTACTMANIFOLD_CODE
#define btAlignedFree(ptr)
#define BT_TRIANLGE_INFO_MAP
static int getOffset(int flags)
btAlignedObjectArray< bStructHandle * > m_bvhs
int getReverseType(short type)
btAlignedObjectArray< bStructHandle * > m_multiBodies
#define BT_DYNAMICSWORLD_CODE
void swapLen(char *dataPtr)
#define btAlignedAlloc(size, alignment)
char * readStruct(char *head, class bChunkInd &chunk)
#define BT_MULTIBODY_CODE
btAlignedObjectArray< bStructHandle * > m_rigidBodies
#define BT_MB_LINKCOLLIDER_CODE
btAlignedObjectArray< bStructHandle * > m_dynamicsWorldInfo
#define BT_COLLISIONOBJECT_CODE
virtual int write(const char *fileName, bool fixupPointers=false)
btAlignedObjectArray< bStructHandle * > m_collisionShapes
virtual void addDataBlock(char *dataBlock)
#define SIZEOFBLENDERHEADER
btAlignedObjectArray< bStructHandle * > m_contactManifolds
int getNextBlock(bChunkInd *dataChunk, const char *dataPtr, const int flags)
btAlignedObjectArray< bChunkInd > m_chunks
btAlignedObjectArray< bStructHandle * > m_triangleInfoMaps
virtual void parseInternal(int verboseMode, char *memDna, int memDnaLength)
#define BT_CONSTRAINT_CODE
#define BT_QUANTIZED_BVH_CODE
btAlignedObjectArray< char * > m_dataBlocks
void insert(const Key &key, const Value &value)
virtual void writeDNA(FILE *fp)
btAlignedObjectArray< bStructHandle * > m_constraints
virtual void parse(int verboseMode)
void init(char *data, int len, bool swap=false)
short * getStruct(int ind)
btHashMap< btHashPtr, bChunkInd > m_chunkPtrPtrMap
void addStruct(const char *structType, void *data, int len, void *oldPtr, int code)
btAlignedObjectArray< bStructHandle * > m_collisionObjects
#define BT_RIGIDBODY_CODE
void push_back(const T &_Val)
virtual void writeChunks(FILE *fp, bool fixupPointers)
btAlignedObjectArray< bStructHandle * > m_softBodies
btAlignedObjectArray< bStructHandle * > m_multiBodyLinkColliders
int size() const
return the number of elements in the array