2002-10-12 11:37:38 +00:00
|
|
|
#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
|
2002-10-30 02:07:20 +00:00
|
|
|
|