2022-10-09 05:13:17 +00:00
|
|
|
#ifndef _CPHYSICSSTATE
|
|
|
|
#define _CPHYSICSSTATE
|
2022-10-02 06:06:32 +00:00
|
|
|
|
2022-10-05 17:24:06 +00:00
|
|
|
#include "MetroidPrime/CAxisAngle.hpp"
|
|
|
|
|
2022-10-02 06:06:32 +00:00
|
|
|
#include "Kyoto/Math/CQuaternion.hpp"
|
|
|
|
#include "Kyoto/Math/CVector3f.hpp"
|
|
|
|
|
|
|
|
class CPhysicsState {
|
|
|
|
public:
|
|
|
|
CPhysicsState(const CVector3f& trasnlation, const CQuaternion& orientation,
|
|
|
|
const CVector3f& constantForce, const CAxisAngle& angularMomentum,
|
|
|
|
const CVector3f& momentum, const CVector3f& force, const CVector3f& impulse,
|
|
|
|
const CAxisAngle& torque, const CAxisAngle& angularImpulse);
|
|
|
|
|
2022-10-05 17:24:06 +00:00
|
|
|
CVector3f GetTranslation() const { return x0_translation; }
|
2024-11-03 19:15:10 +00:00
|
|
|
CQuaternion GetOrientation() const { return xc_orientation; }
|
2022-10-05 17:24:06 +00:00
|
|
|
CVector3f GetConstantForceWR() const { return x1c_constantForce; }
|
|
|
|
CAxisAngle GetAngularMomentumWR() const { return x28_angularMomentum; }
|
|
|
|
CVector3f GetMomentumWR() const { return x34_momentum; }
|
|
|
|
CVector3f GetForceWR() const { return x40_force; }
|
|
|
|
CVector3f GetImpulseWR() const { return x4c_impulse; }
|
|
|
|
CAxisAngle GetTorque() const { return x58_torque; }
|
|
|
|
CAxisAngle GetAngularImpulseWR() const { return x64_angularImpulse; }
|
|
|
|
|
2022-10-02 06:06:32 +00:00
|
|
|
private:
|
|
|
|
CVector3f x0_translation;
|
|
|
|
CQuaternion xc_orientation;
|
|
|
|
CVector3f x1c_constantForce;
|
|
|
|
CAxisAngle x28_angularMomentum;
|
|
|
|
CVector3f x34_momentum;
|
|
|
|
CVector3f x40_force;
|
|
|
|
CVector3f x4c_impulse;
|
|
|
|
CAxisAngle x58_torque;
|
|
|
|
CAxisAngle x64_angularImpulse;
|
|
|
|
};
|
|
|
|
|
2022-10-09 05:13:17 +00:00
|
|
|
#endif // _CPHYSICSSTATE
|