add name for collision shape and constraint serialization (to objects, shapes and constaints can be mapped to user data)

updated serialization structures and header files (for new 'm_name' field, replacing user pointer)
fix issue with  btGeneric6DofConstraint::setParam in headerfile
This commit is contained in:
erwin.coumans
2010-02-04 05:28:17 +00:00
parent af1dafc659
commit 99d9fddc42
12 changed files with 440 additions and 416 deletions

View File

@@ -527,9 +527,9 @@ public:
///override the default global value of a parameter (such as ERP or CFM), optionally provide the axis (0..5).
///If no axis is provided, it uses the default axis for this constraint.
virtual void btGeneric6DofConstraint::setParam(int num, btScalar value, int axis = -1);
virtual void setParam(int num, btScalar value, int axis = -1);
///return the local value of parameter
virtual btScalar btGeneric6DofConstraint::getParam(int num, int axis = -1) const;
virtual btScalar getParam(int num, int axis = -1) const;
virtual int calculateSerializeBufferSize() const;

View File

@@ -16,7 +16,7 @@ subject to the following restrictions:
#include "btTypedConstraint.h"
#include "BulletDynamics/Dynamics/btRigidBody.h"
#include "LinearMath/btSerializer.h"
#define DEFAULT_DEBUGDRAW_SIZE btScalar(0.3f)
@@ -105,7 +105,11 @@ const char* btTypedConstraint::serialize(void* dataBuffer, btSerializer* seriali
tcd->m_rbA = (btRigidBodyData*)&m_rbA;
tcd->m_rbB = (btRigidBodyData*)&m_rbB;
tcd->m_name = (char*) serializer->findNameForPointer(this);
if (tcd->m_name)
{
serializer->serializeName(tcd->m_name);
}
tcd->m_objectType = m_objectType;
tcd->m_needsFeedback = m_needsFeedback;

View File

@@ -276,6 +276,7 @@ struct btTypedConstraintData
{
btRigidBodyData *m_rbA;
btRigidBodyData *m_rbB;
char *m_name;
int m_objectType;
int m_userConstraintType;
@@ -286,7 +287,8 @@ struct btTypedConstraintData
float m_dbgDrawSize;
int m_disableCollisionsBetweenLinkedBodies;
char m_pad[4];
char m_pad4[4];
};
SIMD_FORCE_INLINE int btTypedConstraint::calculateSerializeBufferSize() const