remove Extras/obsolete/quickstep

improve serialization based on feedback: make it easier to serialize a single object, or single shape, or single bvh.
Modified Bullet/Demos/ConcaveDemo to use btSerializer to serialize the btOptimizedBvh (or optionally the trimesh+bvh)

You can also serialize trimesh without BVH, use:
serializer->setSerializationFlags(BT_SERIALIZE_NO_BVH);//	or BT_SERIALIZE_NO_TRIANGLEINFOMAP
This commit is contained in:
erwin.coumans
2010-02-25 20:12:40 +00:00
parent 44503b20a9
commit 40dc18f604
272 changed files with 561 additions and 44611 deletions

View File

@@ -1382,9 +1382,7 @@ void btCollisionWorld::serializeCollisionObjects(btSerializer* serializer)
btCollisionObject* colObj = m_collisionObjects[i];
if (colObj->getInternalType() == btCollisionObject::CO_COLLISION_OBJECT)
{
btChunk* chunk = serializer->allocate(colObj->calculateSerializeBufferSize(),1);
const char* structType = colObj->serialize(chunk->m_oldPtr, serializer);
serializer->finalizeChunk(chunk,structType,BT_COLLISIONOBJECT_CODE,colObj);
colObj->serializeSingleObject(serializer);
}
}
@@ -1399,11 +1397,7 @@ void btCollisionWorld::serializeCollisionObjects(btSerializer* serializer)
if (!serializedShapes.find(shape))
{
serializedShapes.insert(shape,shape);
//serialize all collision shapes
int len = shape->calculateSerializeBufferSize();
btChunk* chunk = serializer->allocate(len,1);
const char* structType = shape->serialize(chunk->m_oldPtr, serializer);
serializer->finalizeChunk(chunk,structType,BT_SHAPE_CODE,shape);
shape->serializeSingleShape(serializer);
}
}
@@ -1412,6 +1406,8 @@ void btCollisionWorld::serializeCollisionObjects(btSerializer* serializer)
void btCollisionWorld::serialize(btSerializer* serializer)
{
serializer->startSerialization();
serializeCollisionObjects(serializer);