16 #ifndef BT_MULTIBODY_LINK_H
17 #define BT_MULTIBODY_LINK_H
29 #define BT_MULTIBODYLINK_INCLUDE_PLANAR_JOINTS
30 #define TEST_SPATIAL_ALGEBRA_LAYER
140 m_zeroRotParentToThis(0, 0, 0, 1),
141 m_cachedRotParentToThis(0, 0, 0, 1),
161 m_jointPos[0] = m_jointPos[1] = m_jointPos[2] = m_jointPos[4] = m_jointPos[5] = m_jointPos[6] = 0.f;
163 m_jointTorque[0] = m_jointTorque[1] = m_jointTorque[2] = m_jointTorque[3] = m_jointTorque[4] = m_jointTorque[5] = 0.f;
174 m_cachedRVector = m_dVector +
quatRotate(m_cachedRotParentToThis,m_eVector);
178 m_cachedRVector = m_eVector + m_jointPos[0] *
getAxisBottom(0);
184 btScalar *pJointPos = (pq ? pq : &m_jointPos[0]);
191 m_cachedRVector = m_dVector +
quatRotate(m_cachedRotParentToThis,m_eVector);
205 m_cachedRVector = m_dVector +
quatRotate(m_cachedRotParentToThis,m_eVector);
219 m_cachedRVector = m_dVector +
quatRotate(m_cachedRotParentToThis,m_eVector);
233 #endif //BT_MULTIBODY_LINK_H
btQuaternion m_zeroRotParentToThis
const btVector3 & getAxisBottom(int dof) const
btVector3 m_appliedConstraintForce
void setValue(const btScalar &_x, const btScalar &_y, const btScalar &_z)
btVector3 m_cachedRVector
eFeatherstoneJointType m_jointType
class btMultiBodyLinkCollider * m_collider
void updateCacheMultiDof(btScalar *pq=0)
void setAxisTop(int dof, const btScalar &x, const btScalar &y, const btScalar &z)
btSpatialMotionVector m_absFrameLocVelocity
btVector3 quatRotate(const btQuaternion &rotation, const btVector3 &v)
btScalar m_jointTorque[6]
btQuaternion m_cachedRotParentToThis
btSpatialMotionVector m_axes[6]
void setAxisBottom(int dof, const btVector3 &axis)
btVector3 can be used to represent 3D points and vectors.
btVector3 m_appliedTorque
btSpatialMotionVector m_absFrameTotVelocity
btVector3 m_appliedConstraintTorque
BT_DECLARE_ALIGNED_ALLOCATOR()
btTransform m_cachedWorldTransform
void setAxisTop(int dof, const btVector3 &axis)
The btQuaternion implements quaternion to perform linear algebra rotations in combination with btMatr...
struct btMultiBodyJointFeedback * m_jointFeedback
const btVector3 & getAxisTop(int dof) const
void setAxisBottom(int dof, const btScalar &x, const btScalar &y, const btScalar &z)
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...