add support for double precision and 64bit serialization (and compatibility between all versions)

fix some issue in serialization of nested array data
add some tesing files
This commit is contained in:
erwin.coumans
2010-01-25 19:42:51 +00:00
parent 5d8e6dc3f3
commit e7ff71d99b
48 changed files with 1207 additions and 294 deletions

View File

@@ -19,6 +19,7 @@ subject to the following restrictions:
#include "btConvexShape.h"
#include "LinearMath/btAabbUtil2.h"
///The btConvexInternalShape is an internal base class, shared by most convex shape implementations.
class btConvexInternalShape : public btConvexShape
{
@@ -118,19 +119,17 @@ public:
};
struct btConvexInternalShapeData
{
btCollisionShapeData m_collisionShapeData;
btVector3Data m_localScaling;
btVector3FloatData m_localScaling;
btVector3Data m_implicitShapeDimensions;
btVector3FloatData m_implicitShapeDimensions;
btScalar m_collisionMargin;
float m_collisionMargin;
char m_padding[4];
int m_padding;
};
@@ -147,9 +146,9 @@ SIMD_FORCE_INLINE const char* btConvexInternalShape::serialize(void* dataBuffer,
btConvexInternalShapeData* shapeData = (btConvexInternalShapeData*) dataBuffer;
btCollisionShape::serialize(&shapeData->m_collisionShapeData, serializer);
m_implicitShapeDimensions.serialize(shapeData->m_implicitShapeDimensions);
m_localScaling.serialize(shapeData->m_localScaling);
shapeData->m_collisionMargin = m_collisionMargin;
m_implicitShapeDimensions.serializeFloat(shapeData->m_implicitShapeDimensions);
m_localScaling.serializeFloat(shapeData->m_localScaling);
shapeData->m_collisionMargin = float(m_collisionMargin);
return "btConvexInternalShapeData";
}