Bullet Collision Detection & Physics Library: btDefaultMotionState.h Source File

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
7 ATTRIBUTE_ALIGNED16(struct) btDefaultMotionState : public btMotionState
8 {
9 btTransform m_graphicsWorldTrans;
10 btTransform m_centerOfMassOffset;
11 btTransform m_startWorldTrans;
12 void* m_userPointer;
13
14 BT_DECLARE_ALIGNED_ALLOCATOR();
15
16 btDefaultMotionState(const btTransform& startTrans = btTransform::getIdentity(),const btTransform& centerOfMassOffset = btTransform::getIdentity())
17 : m_graphicsWorldTrans(startTrans),
18 m_centerOfMassOffset(centerOfMassOffset),
19 m_startWorldTrans(startTrans),
20 m_userPointer(0)
21
22 {
23 }
24
26 virtual void getWorldTransform(btTransform& centerOfMassWorldTrans ) const
27 {
28 centerOfMassWorldTrans = m_graphicsWorldTrans * m_centerOfMassOffset.inverse() ;
29 }
30
33 virtual void setWorldTransform(const btTransform& centerOfMassWorldTrans)
34 {
35 m_graphicsWorldTrans = centerOfMassWorldTrans * m_centerOfMassOffset;
36 }
37
38
39
40 };
41
42 #endif //BT_DEFAULT_MOTION_STATE_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:33
btDefaultMotionState::m_graphicsWorldTrans
btTransform m_graphicsWorldTrans
Definition: btDefaultMotionState.h:9
btDefaultMotionState::m_startWorldTrans
btTransform m_startWorldTrans
Definition: btDefaultMotionState.h:11
btDefaultMotionState
The btDefaultMotionState provides a common implementation to synchronize world transforms with offset...
Definition: btDefaultMotionState.h:7
btDefaultMotionState::getWorldTransform
virtual void getWorldTransform(btTransform &centerOfMassWorldTrans) const
synchronizes world transform from user to physics
Definition: btDefaultMotionState.h:26
btDefaultMotionState::m_userPointer
void * m_userPointer
Definition: btDefaultMotionState.h:12
btDefaultMotionState::btDefaultMotionState
btDefaultMotionState(const btTransform &startTrans=btTransform::getIdentity(), const btTransform &centerOfMassOffset=btTransform::getIdentity())
Definition: btDefaultMotionState.h:16
ATTRIBUTE_ALIGNED16
#define ATTRIBUTE_ALIGNED16(a)
Definition: btScalar.h:65
btTransform
The btTransform class supports rigid transforms with only translation and rotation and no scaling/she...
Definition: btTransform.h:34
btMotionState.h
btTransform::getIdentity
static const btTransform & getIdentity()
Return an identity transform.
Definition: btTransform.h:203
btMotionState
The btMotionState interface class allows the dynamics world to synchronize and interpolate the update...
Definition: btMotionState.h:23
BT_DECLARE_ALIGNED_ALLOCATOR
#define BT_DECLARE_ALIGNED_ALLOCATOR()
Definition: btScalar.h:389
btDefaultMotionState::m_centerOfMassOffset
btTransform m_centerOfMassOffset
Definition: btDefaultMotionState.h:10
btTransform::inverse
btTransform inverse() const
Return the inverse of this transform.
Definition: btTransform.h:188