blender/source/gameengine/Physics/Sumo/Fuzzics/include/SM_MotionState.h
Kester Maddock 4e2f7baff2 Improved rigid body handling for non spherical bounds type.
Polyheder dynamic objects are now converted properly.
2004-04-16 06:26:33 +00:00

38 lines
1.0 KiB
C++

#ifndef SM_MOTIONSTATE_H
#define SM_MOTIONSTATE_H
#include "MT_Transform.h"
class SM_MotionState {
public:
SM_MotionState() :
m_pos(0.0, 0.0, 0.0),
m_orn(0.0, 0.0, 0.0, 1.0),
m_lin_vel(0.0, 0.0, 0.0),
m_ang_vel(0.0, 0.0, 0.0)
{}
void setPosition(const MT_Point3& pos) { m_pos = pos; }
void setOrientation(const MT_Quaternion& orn) { m_orn = orn; }
void setLinearVelocity(const MT_Vector3& lin_vel) { m_lin_vel = lin_vel; }
void setAngularVelocity(const MT_Vector3& ang_vel) { m_ang_vel = ang_vel; }
const MT_Point3& getPosition() const { return m_pos; }
const MT_Quaternion& getOrientation() const { return m_orn; }
const MT_Vector3& getLinearVelocity() const { return m_lin_vel; }
const MT_Vector3& getAngularVelocity() const { return m_ang_vel; }
virtual MT_Transform getTransform() const {
return MT_Transform(m_pos, m_orn);
}
protected:
MT_Point3 m_pos;
MT_Quaternion m_orn;
MT_Vector3 m_lin_vel;
MT_Vector3 m_ang_vel;
};
#endif