CommonLibSSE (powerof3)
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
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 hkVector4 GetPointVelocity(const hkVector4& a_point) const
38 {
40 return linearVelocity + angularVelocity.Cross(a_point - centerOfMassInWorld);
41 }
42 };
43 static_assert(sizeof(hkpKeyframedRigidMotion) == 0x140);
44
46 {
47 public:
48 inline static constexpr auto RTTI = RTTI_hkpMaxSizeMotion;
49 };
50 static_assert(sizeof(hkpMaxSizeMotion) == 0x140);
51}
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:37
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:46
static constexpr auto RTTI
Definition: hkpKeyframedRigidMotion.h:48
Definition: hkpMotion.h:16
hkVector4 angularVelocity
Definition: hkpMotion.h:84
hkMotionState motionState
Definition: hkpMotion.h:81
hkVector4 linearVelocity
Definition: hkpMotion.h:83
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_hkpMaxSizeMotion(static_cast< std::uint64_t >(689849))
constexpr REL::ID RTTI_hkpKeyframedRigidMotion(static_cast< std::uint64_t >(689850))