Castle Battle  1.0
Public Member Functions | Private Attributes | List of all members
MotionStateManager Class Reference

MotionStateManager handles physics motion of objects. More...

#include <motionstatemanager.h>

Inheritance diagram for MotionStateManager:

Public Member Functions

 MotionStateManager (btTransform &pos, scene::ISceneNode *node)
 Set the private attributes. More...
 
virtual ~MotionStateManager ()
 
virtual void getWorldTransform (btTransform &wordTrans) const
 Virtual method called by Bullet before setWorldTransform. More...
 
virtual void setWorldTransform (const btTransform &worldTrans)
 Virtual method called by Bullet whenever there is a physics change to an object. More...
 

Private Attributes

scene::ISceneNode * node
 Graphic node to transform. More...
 
btTransform initialPosition
 Initial state. More...
 

Detailed Description

MotionStateManager handles physics motion of objects.

Constructor & Destructor Documentation

◆ MotionStateManager()

MotionStateManager::MotionStateManager ( btTransform &  pos,
scene::ISceneNode *  node 
)

Set the private attributes.

Parameters
posbtTransform (translation and rotation)
nodeISceneNode graphic object
6  {
7  this->initialPosition = pos;
8  this->node = node;
9 }
btTransform initialPosition
Initial state.
Definition: motionstatemanager.h:14
scene::ISceneNode * node
Graphic node to transform.
Definition: motionstatemanager.h:12

◆ ~MotionStateManager()

virtual MotionStateManager::~MotionStateManager ( )
inlinevirtual
22 {}

Member Function Documentation

◆ getWorldTransform()

void MotionStateManager::getWorldTransform ( btTransform &  wordTrans) const
virtual

Virtual method called by Bullet before setWorldTransform.

20  {
21  worldTrans = initialPosition;
22 }
btTransform initialPosition
Initial state.
Definition: motionstatemanager.h:14

◆ setWorldTransform()

void MotionStateManager::setWorldTransform ( const btTransform &  worldTrans)
virtual

Virtual method called by Bullet whenever there is a physics change to an object.

This is the right place to update graphic objects.

10  {
11  if(this->node == nullptr) return;
12  btQuaternion rotation = worldTrans.getRotation();
13  btVector3 position = worldTrans.getOrigin();
14  this->node->setPosition(toIrrlichtVector(position));
15  this->node->updateAbsolutePosition();
16  this->node->setRotation(QuaternionToEuler(rotation));
17  this->initialPosition = worldTrans;
18 
19 }
btTransform initialPosition
Initial state.
Definition: motionstatemanager.h:14
core::vector3df toIrrlichtVector(btVector3 vec)
Inverse of toBulletVector()
Definition: bullethelper.cpp:15
scene::ISceneNode * node
Graphic node to transform.
Definition: motionstatemanager.h:12
core::vector3df QuaternionToEuler(const btQuaternion &TQuat)
Inverse of EulerToQuaternion()
Definition: bullethelper.cpp:26

Member Data Documentation

◆ initialPosition

btTransform MotionStateManager::initialPosition
private

Initial state.

◆ node

scene::ISceneNode* MotionStateManager::node
private

Graphic node to transform.


The documentation for this class was generated from the following files: