explicitly deserialize btCapsuleShape date (margin, scaling, halfextents), because the API modifies them
This commit is contained in:
@@ -117,6 +117,7 @@ public:
|
||||
///fills the dataBuffer and returns the struct name (and 0 on failure)
|
||||
virtual const char* serialize(void* dataBuffer, btSerializer* serializer) const;
|
||||
|
||||
SIMD_FORCE_INLINE void deSerializeFloat(struct btCapsuleShapeData* dataBuffer);
|
||||
|
||||
};
|
||||
|
||||
@@ -181,4 +182,13 @@ SIMD_FORCE_INLINE const char* btCapsuleShape::serialize(void* dataBuffer, btSeri
|
||||
return "btCapsuleShapeData";
|
||||
}
|
||||
|
||||
SIMD_FORCE_INLINE void btCapsuleShape::deSerializeFloat(btCapsuleShapeData* dataBuffer)
|
||||
{
|
||||
m_implicitShapeDimensions.deSerializeFloat(dataBuffer->m_convexInternalShapeData.m_implicitShapeDimensions);
|
||||
m_collisionMargin = dataBuffer->m_convexInternalShapeData.m_collisionMargin;
|
||||
m_localScaling.deSerializeFloat(dataBuffer->m_convexInternalShapeData.m_localScaling);
|
||||
//it is best to already pre-allocate the matching btCapsuleShape*(X/Z) version to match m_upAxis
|
||||
m_upAxis = dataBuffer->m_upAxis;
|
||||
}
|
||||
|
||||
#endif //BT_CAPSULE_SHAPE_H
|
||||
|
||||
Reference in New Issue
Block a user