btDefaultMotionState.h
Go to the documentation of this file.
00001 #ifndef BT_DEFAULT_MOTION_STATE_H
00002 #define BT_DEFAULT_MOTION_STATE_H
00003 
00004 #include "btMotionState.h"
00005 
00007 struct  btDefaultMotionState : public btMotionState
00008 {
00009         btTransform m_graphicsWorldTrans;
00010         btTransform     m_centerOfMassOffset;
00011         btTransform m_startWorldTrans;
00012         void*           m_userPointer;
00013 
00014         btDefaultMotionState(const btTransform& startTrans = btTransform::getIdentity(),const btTransform& centerOfMassOffset = btTransform::getIdentity())
00015                 : m_graphicsWorldTrans(startTrans),
00016                 m_centerOfMassOffset(centerOfMassOffset),
00017                 m_startWorldTrans(startTrans),
00018                 m_userPointer(0)
00019 
00020         {
00021         }
00022 
00024         virtual void    getWorldTransform(btTransform& centerOfMassWorldTrans ) const 
00025         {
00026                         centerOfMassWorldTrans =        m_centerOfMassOffset.inverse() * m_graphicsWorldTrans ;
00027         }
00028 
00031         virtual void    setWorldTransform(const btTransform& centerOfMassWorldTrans)
00032         {
00033                         m_graphicsWorldTrans = centerOfMassWorldTrans * m_centerOfMassOffset ;
00034         }
00035 
00036         
00037 
00038 };
00039 
00040 #endif //BT_DEFAULT_MOTION_STATE_H
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


bullet
Author(s): Erwin Coumans, ROS package maintained by Tully Foote
autogenerated on Wed Oct 31 2012 07:54:31