16 #ifndef BT_MULTIBODY_LINK_H 17 #define BT_MULTIBODY_LINK_H 28 #define BT_MULTIBODYLINK_INCLUDE_PLANAR_JOINTS 29 #define TEST_SPATIAL_ALGEBRA_LAYER 37 #ifdef TEST_SPATIAL_ALGEBRA_LAYER 67 #ifdef TEST_SPATIAL_ALGEBRA_LAYER 76 #ifdef BT_MULTIBODYLINK_INCLUDE_PLANAR_JOINTS 98 #ifndef TEST_SPATIAL_ALGEBRA_LAYER 139 m_zeroRotParentToThis(0, 0, 0, 1),
140 m_cachedRotParentToThis(0, 0, 0, 1),
156 m_jointPos[0] = m_jointPos[1] = m_jointPos[2] = m_jointPos[4] = m_jointPos[5] = m_jointPos[6] = 0.f;
158 m_jointTorque[0] = m_jointTorque[1] = m_jointTorque[2] = m_jointTorque[3] = m_jointTorque[4] = m_jointTorque[5] = 0.f;
168 m_cachedRVector = m_dVector +
quatRotate(m_cachedRotParentToThis,m_eVector);
172 m_cachedRVector = m_eVector + m_jointPos[0] *
getAxisBottom(0);
178 btScalar *pJointPos = (pq ? pq : &m_jointPos[0]);
185 m_cachedRVector = m_dVector +
quatRotate(m_cachedRotParentToThis,m_eVector);
199 m_cachedRVector = m_dVector +
quatRotate(m_cachedRotParentToThis,m_eVector);
203 #ifdef BT_MULTIBODYLINK_INCLUDE_PLANAR_JOINTS 215 m_cachedRVector = m_dVector +
quatRotate(m_cachedRotParentToThis,m_eVector);
229 #endif //BT_MULTIBODY_LINK_H btQuaternion m_zeroRotParentToThis
void setValue(const btScalar &_x, const btScalar &_y, const btScalar &_z)
const btVector3 & getAxisTop(int dof) const
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
const btVector3 & getAxisBottom(int dof) const
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
BT_DECLARE_ALIGNED_ALLOCATOR()
void setAxisTop(int dof, const btVector3 &axis)
The btQuaternion implements quaternion to perform linear algebra rotations in combination with btMatr...
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...