CommonLibSSE NG
Loading...
Searching...
No Matches
hkpKeyframedRigidMotion.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/H/hkpMotion.h"
4
5namespace RE
6{
7 class hkpMaxSizeMotion;
8
10 {
11 public:
12 inline static constexpr auto RTTI = RTTI_hkpKeyframedRigidMotion;
13 inline static constexpr auto VTABLE = VTABLE_hkpKeyframedRigidMotion;
14
15 ~hkpKeyframedRigidMotion() override; // 00
16
17 // override (hkpMotion)
18 void SetMass(float a_mass) override; // 03 - { return; }
19 void SetMassInv(float a_massInv) override; // 04 - { return; }
20 void GetInertiaLocal(hkMatrix3& a_inertiaOut) const override; // 05
21 void GetInertiaWorld(hkMatrix3& a_inertiaOut) const override; // 06
22 void SetInertiaLocal(const hkMatrix3& a_inertia) override; // 07 - { return; }
23 void SetInertiaInvLocal(const hkMatrix3& a_inertiaInv) override; // 08 - { return; }
24 void GetInertiaInvLocal(hkMatrix3& a_inertiaInvOut) const override; // 09
25 void GetInertiaInvWorld(hkMatrix3& a_inertiaInvOut) const override; // 0A
26 void GetProjectedPointVelocity(const hkVector4& a_point, const hkVector4& a_normal, float& a_velOut, float& a_invVirtMassOut) const override; // 12
27 void ApplyLinearImpulse(const hkVector4& a_impulse) override; // 13 - { return; }
28 void ApplyPointImpulse(const hkVector4& a_impulse, const hkVector4& a_point) override; // 14 - { return; }
29 void ApplyAngularImpulse(const hkVector4& a_impulse) override; // 15 - { return; }
30 void ApplyForce(const float a_deltaTime, const hkVector4& a_force) override; // 16 - { return; }
31 void ApplyForce(const float a_deltaTime, const hkVector4& a_force, const hkVector4& a_point) override; // 17 - { return; }
32 void ApplyTorque(const float a_deltaTime, const hkVector4& a_torque) override; // 18 - { return; }
33
34 // add
35 virtual void SetStepPosition(float a_position, float a_timestep); // 1A - { return; }
36 virtual void SetStoredMotion(hkpMaxSizeMotion* a_savedMotion); // 1B
37
38 hkVector4 GetPointVelocity(const hkVector4& a_point) const
39 {
41 return linearVelocity + angularVelocity.Cross(a_point - centerOfMassInWorld);
42 }
43 };
44 static_assert(sizeof(hkpKeyframedRigidMotion) == 0x140);
45
47 {
48 public:
49 inline static constexpr auto RTTI = RTTI_hkpMaxSizeMotion;
50 };
51 static_assert(sizeof(hkpMaxSizeMotion) == 0x140);
52}
Definition hkMatrix3.h:8
hkSweptTransform sweptTransform
Definition hkMotionState.h:15
hkVector4 centerOfMass1
Definition hkSweptTransform.h:12
Definition hkVector4.h:9
hkVector4 Cross(const hkVector4 &a_pt) const
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
hkVector4 GetPointVelocity(const hkVector4 &a_point) const
Definition hkpKeyframedRigidMotion.h:38
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
static constexpr auto VTABLE
Definition hkpKeyframedRigidMotion.h:13
void GetInertiaInvLocal(hkMatrix3 &a_inertiaInvOut) const override
Definition hkpKeyframedRigidMotion.h:47
static constexpr auto RTTI
Definition hkpKeyframedRigidMotion.h:49
Definition hkpMotion.h:16
hkVector4 angularVelocity
Definition hkpMotion.h:85
hkMotionState motionState
Definition hkpMotion.h:82
hkVector4 linearVelocity
Definition hkpMotion.h:84
Definition AbsorbEffect.h:6
constexpr REL::VariantID RTTI_hkpMaxSizeMotion(689849, 397704, 0x1f593b8)
constexpr REL::VariantID RTTI_hkpKeyframedRigidMotion(689850, 397705, 0x1f593e0)
constexpr std::array< REL::VariantID, 1 > VTABLE_hkpKeyframedRigidMotion
Definition Offsets_VTABLE.h:4998