20 #if !defined( __CELLOS_LV2__) && !defined(__MWERKS__) 27 #ifdef BT_INTERNAL_UPDATE_SERIALIZATION_STRUCTURES 35 #else//BT_INTERNAL_UPDATE_SERIALIZATION_STRUCTURES 42 #endif //BT_INTERNAL_UPDATE_SERIALIZATION_STRUCTURES 54 #ifdef BT_INTERNAL_UPDATE_SERIALIZATION_STRUCTURES 64 #else//BT_INTERNAL_UPDATE_SERIALIZATION_STRUCTURES 77 #endif//BT_INTERNAL_UPDATE_SERIALIZATION_STRUCTURES 83 :
bFile(fileName,
"BULLET ")
91 :
bFile(memoryBuffer,len,
"BULLET ")
149 char *dataPtrHead = 0;
164 char *
id =
readStruct(dataPtrHead, dataChunk);
245 printf(
"skipping BT_QUANTIZED_BVH_CODE due to broken DNA\n");
255 if (
mFlags &FD_ENDIAN_SWAP)
280 #ifdef BT_INTERNAL_UPDATE_SERIALIZATION_STRUCTURES 286 fwrite(&dataChunk,
sizeof(
bChunkInd),1,fp);
297 fwrite(&dataChunk,
sizeof(
bChunkInd),1,fp);
303 #else//BT_INTERNAL_UPDATE_SERIALIZATION_STRUCTURES 308 fwrite(&dataChunk,
sizeof(
bChunkInd),1,fp);
315 fwrite(&dataChunk,
sizeof(
bChunkInd),1,fp);
318 #endif//BT_INTERNAL_UPDATE_SERIALIZATION_STRUCTURES 324 #ifdef BT_INTERNAL_UPDATE_SERIALIZATION_STRUCTURES 351 #else//BT_INTERNAL_UPDATE_SERIALIZATION_STRUCTURES 368 #endif//BT_INTERNAL_UPDATE_SERIALIZATION_STRUCTURES 374 littleEndian= ((
char*)&littleEndian)[0];
383 FILE *fp = fopen(fileName,
"wb");
389 endian= ((
char*)&endian)[0];
420 printf(
"Error: cannot open file %s for writing\n",fileName);
432 dataChunk.
code = code;
436 dataChunk.
oldPtr = oldPtr;
443 assert(len==elemBytes);
btAlignedObjectArray< bStructHandle * > m_contactManifolds
void push_back(const T &_Val)
#define BT_CONTACTMANIFOLD_CODE
btAlignedObjectArray< char * > m_dataBlocks
int getNextBlock(bChunkInd *dataChunk, const char *dataPtr, const int flags)
btAlignedObjectArray< bStructHandle * > m_triangleInfoMaps
#define BT_CONSTRAINT_CODE
btAlignedObjectArray< bStructHandle * > m_constraints
#define BT_MULTIBODY_CODE
char * readStruct(char *head, class bChunkInd &chunk)
virtual void parseInternal(int verboseMode, char *memDna, int memDnaLength)
#define BT_QUANTIZED_BVH_CODE
#define BT_MB_LINKCOLLIDER_CODE
void addStruct(const char *structType, void *data, int len, void *oldPtr, int code)
btAlignedObjectArray< bStructHandle * > m_collisionObjects
#define BT_DYNAMICSWORLD_CODE
virtual void writeDNA(FILE *fp)
void swapLen(char *dataPtr)
int size() const
return the number of elements in the array
virtual void parse(int verboseMode)
#define btAlignedFree(ptr)
void insert(const Key &key, const Value &value)
btAlignedObjectArray< bStructHandle * > m_softBodies
#define BT_COLLISIONOBJECT_CODE
btAlignedObjectArray< bStructHandle * > m_multiBodyLinkColliders
#define SIZEOFBLENDERHEADER
virtual int write(const char *fileName, bool fixupPointers=false)
virtual void addDataBlock(char *dataBlock)
btAlignedObjectArray< bStructHandle * > m_bvhs
btAlignedObjectArray< bStructHandle * > m_multiBodies
#define BT_RIGIDBODY_CODE
btAlignedObjectArray< bChunkInd > m_chunks
btAlignedObjectArray< bStructHandle * > m_collisionShapes
short * getStruct(int ind)
#define btAlignedAlloc(size, alignment)
void init(char *data, int len, bool swap=false)
virtual void writeChunks(FILE *fp, bool fixupPointers)
#define BT_TRIANLGE_INFO_MAP
btAlignedObjectArray< bStructHandle * > m_dynamicsWorldInfo
btAlignedObjectArray< bStructHandle * > m_rigidBodies
int getReverseType(short type)
btHashMap< btHashPtr, bChunkInd > m_chunkPtrPtrMap
static int getOffset(int flags)