Bullet Collision Detection & Physics Library
btDefaultMotionState.h
Go to the documentation of this file.
1 #ifndef BT_DEFAULT_MOTION_STATE_H
2 #define BT_DEFAULT_MOTION_STATE_H
3 
4 #include "btMotionState.h"
5 
9 {
14 
16 
18  : m_graphicsWorldTrans(startTrans),
19  m_centerOfMassOffset(centerOfMassOffset),
20  m_startWorldTrans(startTrans),
21  m_userPointer(0)
22 
23  {
24  }
25 
27  virtual void getWorldTransform(btTransform & centerOfMassWorldTrans) const
28  {
29  centerOfMassWorldTrans = m_graphicsWorldTrans * m_centerOfMassOffset.inverse();
30  }
31 
34  virtual void setWorldTransform(const btTransform& centerOfMassWorldTrans)
35  {
36  m_graphicsWorldTrans = centerOfMassWorldTrans * m_centerOfMassOffset;
37  }
38 };
39 
40 #endif //BT_DEFAULT_MOTION_STATE_H
btDefaultMotionState::getWorldTransform
virtual void getWorldTransform(btTransform &centerOfMassWorldTrans) const
synchronizes world transform from user to physics
Definition: btDefaultMotionState.h:27
btTransform::inverse
btTransform inverse() const
Return the inverse of this transform.
Definition: btTransform.h:182
btMotionState.h
btDefaultMotionState::setWorldTransform
virtual void setWorldTransform(const btTransform &centerOfMassWorldTrans)
synchronizes world transform from physics to user Bullet only calls the update of worldtransform for ...
Definition: btDefaultMotionState.h:34
btDefaultMotionState::m_graphicsWorldTrans
btTransform m_graphicsWorldTrans
Definition: btDefaultMotionState.h:10
btDefaultMotionState::m_centerOfMassOffset
btTransform m_centerOfMassOffset
Definition: btDefaultMotionState.h:11
btDefaultMotionState::btDefaultMotionState
btDefaultMotionState(const btTransform &startTrans=btTransform::getIdentity(), const btTransform &centerOfMassOffset=btTransform::getIdentity())
Definition: btDefaultMotionState.h:17
btDefaultMotionState
The btDefaultMotionState provides a common implementation to synchronize world transforms with offset...
Definition: btDefaultMotionState.h:7
btTransform
The btTransform class supports rigid transforms with only translation and rotation and no scaling/she...
Definition: btTransform.h:28
btMotionState
The btMotionState interface class allows the dynamics world to synchronize and interpolate the update...
Definition: btMotionState.h:23
btDefaultMotionState::m_startWorldTrans
btTransform m_startWorldTrans
Definition: btDefaultMotionState.h:12
BT_DECLARE_ALIGNED_ALLOCATOR
#define BT_DECLARE_ALIGNED_ALLOCATOR()
Definition: btScalar.h:425
ATTRIBUTE_ALIGNED16
#define ATTRIBUTE_ALIGNED16(a)
Definition: btScalar.h:99
btTransform::getIdentity
static const btTransform & getIdentity()
Return an identity transform.
Definition: btTransform.h:197
btDefaultMotionState::m_userPointer
void * m_userPointer
Definition: btDefaultMotionState.h:13