16 #ifndef BT_GEAR_CONSTRAINT_H
17 #define BT_GEAR_CONSTRAINT_H
21 #ifdef BT_USE_DOUBLE_PRECISION
22 #define btGearConstraintData btGearConstraintDoubleData
23 #define btGearConstraintDataName "btGearConstraintDoubleData"
25 #define btGearConstraintData btGearConstraintFloatData
26 #define btGearConstraintDataName "btGearConstraintFloatData"
136 #ifndef BT_USE_DOUBLE_PRECISION
137 gear->m_padding[0] = 0;
138 gear->m_padding[1] = 0;
139 gear->m_padding[2] = 0;
140 gear->m_padding[3] = 0;
#define btGearConstraintData
#define btGearConstraintDataName
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
#define SIMD_FORCE_INLINE
The btGeatConstraint will couple the angular velocity for two bodies around given local axis and rati...
virtual const char * serialize(void *dataBuffer, btSerializer *serializer) const
fills the dataBuffer and returns the struct name (and 0 on failure)
virtual ~btGearConstraint()
virtual btScalar getParam(int num, int axis=-1) const
return the local value of parameter
virtual void setParam(int num, btScalar value, int axis=-1)
override the default global value of a parameter (such as ERP or CFM), optionally provide the axis (0...
const btVector3 & getAxisA() const
void setRatio(btScalar ratio)
void setAxisA(btVector3 &axisA)
void setAxisB(btVector3 &axisB)
const btVector3 & getAxisB() const
virtual int calculateSerializeBufferSize() const
virtual void getInfo2(btConstraintInfo2 *info)
internal method used by the constraint solver, don't use them directly
virtual void getInfo1(btConstraintInfo1 *info)
internal method used by the constraint solver, don't use them directly
btGearConstraint(btRigidBody &rbA, btRigidBody &rbB, const btVector3 &axisInA, const btVector3 &axisInB, btScalar ratio=1.f)
Implemented by Erwin Coumans. The idea for the constraint comes from Dimitris Papavasiliou.
btScalar getRatio() const
The btRigidBody is the main class for rigid body objects.
TypedConstraint is the baseclass for Bullet constraints and vehicles.
virtual const char * serialize(void *dataBuffer, btSerializer *serializer) const
fills the dataBuffer and returns the struct name (and 0 on failure)
btVector3 can be used to represent 3D points and vectors.
void serialize(struct btVector3Data &dataOut) const
btVector3DoubleData m_axisInA
btTypedConstraintDoubleData m_typeConstraintData
btVector3DoubleData m_axisInB
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
btTypedConstraintFloatData m_typeConstraintData
btVector3FloatData m_axisInB
btVector3FloatData m_axisInA
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64