CommonLibSSE (powerof3)
hkpKeyframedRigidMotion.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/H/hkpMotion.h"
4 
5 namespace RE
6 {
7  class hkpMaxSizeMotion;
8 
10  {
11  public:
12  inline static constexpr auto RTTI = RTTI_hkpKeyframedRigidMotion;
13 
14  ~hkpKeyframedRigidMotion() override; // 00
15 
16  // override (hkpMotion)
17  void SetMass(float a_mass) override; // 03 - { return; }
18  void SetMassInv(float a_massInv) override; // 04 - { return; }
19  void GetInertiaLocal(hkMatrix3& a_inertiaOut) const override; // 05
20  void GetInertiaWorld(hkMatrix3& a_inertiaOut) const override; // 06
21  void SetInertiaLocal(const hkMatrix3& a_inertia) override; // 07 - { return; }
22  void SetInertiaInvLocal(const hkMatrix3& a_inertiaInv) override; // 08 - { return; }
23  void GetInertiaInvLocal(hkMatrix3& a_inertiaInvOut) const override; // 09
24  void GetInertiaInvWorld(hkMatrix3& a_inertiaInvOut) const override; // 0A
25  void GetProjectedPointVelocity(const hkVector4& a_point, const hkVector4& a_normal, float& a_velOut, float& a_invVirtMassOut) const override; // 12
26  void ApplyLinearImpulse(const hkVector4& a_impulse) override; // 13 - { return; }
27  void ApplyPointImpulse(const hkVector4& a_impulse, const hkVector4& a_point) override; // 14 - { return; }
28  void ApplyAngularImpulse(const hkVector4& a_impulse) override; // 15 - { return; }
29  void ApplyForce(const float a_deltaTime, const hkVector4& a_force) override; // 16 - { return; }
30  void ApplyForce(const float a_deltaTime, const hkVector4& a_force, const hkVector4& a_point) override; // 17 - { return; }
31  void ApplyTorque(const float a_deltaTime, const hkVector4& a_torque) override; // 18 - { return; }
32 
33  // add
34  virtual void SetStepPosition(float a_position, float a_timestep); // 1A - { return; }
35  virtual void SetStoredMotion(hkpMaxSizeMotion* a_savedMotion); // 1B
36  };
37  static_assert(sizeof(hkpKeyframedRigidMotion) == 0x140);
38 
40  {
41  public:
42  inline static constexpr auto RTTI = RTTI_hkpMaxSizeMotion;
43  };
44  static_assert(sizeof(hkpMaxSizeMotion) == 0x140);
45 }
Definition: hkMatrix3.h:8
Definition: hkVector4.h:8
Definition: hkpKeyframedRigidMotion.h:10
virtual void SetStepPosition(float a_position, float a_timestep)
virtual void SetStoredMotion(hkpMaxSizeMotion *a_savedMotion)
void SetMass(float a_mass) override
void GetInertiaInvWorld(hkMatrix3 &a_inertiaInvOut) const override
static constexpr auto RTTI
Definition: hkpKeyframedRigidMotion.h:12
void GetInertiaWorld(hkMatrix3 &a_inertiaOut) const override
void ApplyLinearImpulse(const hkVector4 &a_impulse) override
void ApplyForce(const float a_deltaTime, const hkVector4 &a_force, const hkVector4 &a_point) override
void SetInertiaInvLocal(const hkMatrix3 &a_inertiaInv) override
void SetMassInv(float a_massInv) override
void ApplyTorque(const float a_deltaTime, const hkVector4 &a_torque) override
void ApplyPointImpulse(const hkVector4 &a_impulse, const hkVector4 &a_point) override
void GetProjectedPointVelocity(const hkVector4 &a_point, const hkVector4 &a_normal, float &a_velOut, float &a_invVirtMassOut) const override
void ApplyAngularImpulse(const hkVector4 &a_impulse) override
void ApplyForce(const float a_deltaTime, const hkVector4 &a_force) override
void SetInertiaLocal(const hkMatrix3 &a_inertia) override
void GetInertiaLocal(hkMatrix3 &a_inertiaOut) const override
void GetInertiaInvLocal(hkMatrix3 &a_inertiaInvOut) const override
Definition: hkpKeyframedRigidMotion.h:40
static constexpr auto RTTI
Definition: hkpKeyframedRigidMotion.h:42
Definition: hkpMotion.h:16
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_hkpKeyframedRigidMotion
Definition: Offsets_RTTI.h:7636
constexpr REL::ID RTTI_hkpMaxSizeMotion
Definition: Offsets_RTTI.h:7644