CommonLibSSE NG
Loading...
Searching...
No Matches
bhkRigidBody.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/B/BSTArray.h"
4#include "RE/B/bhkEntity.h"
5
6namespace RE
7{
8 class hkAabb;
9 class hkTransform;
10 class hkQuaternion;
11 class hkVector4;
12
13 class bhkRigidBody : public bhkEntity
14 {
15 public:
16 inline static constexpr auto RTTI = RTTI_bhkRigidBody;
17 inline static auto Ni_RTTI = NiRTTI_bhkRigidBody;
18
19 ~bhkRigidBody() override; // 00
20
21 // override (bhkEntity)
22 const NiRTTI* GetRTTI() const override; // 02
23 bhkRigidBody* AsBhkRigidBody() override; // 15 - { return this; }
24 NiObject* CreateClone(NiCloningProcess& a_cloning) override; // 17
25 void LoadBinary(NiStream& a_stream) override; // 18
26 void LinkObject(NiStream& a_stream) override; // 19
27 bool RegisterStreamables(NiStream& a_stream) override; // 1A
28 void SaveBinary(NiStream& a_stream) override; // 1B
29 bool IsEqual(NiObject* a_object) override; // 1C
30 void MoveToWorld(bhkWorld* a_world) override; // 29
31 void RemoveFromCurrentWorld() override; // 2A
32 void Unk_2B(void) override; // 2B
33 void Unk_2C(void) override; // 2C - { return 0x110; }
34 void Unk_2D(void) override; // 2D
35 void Unk_2E(void) override; // 2E
36 void Unk_2F(void) override; // 2F
37 void Unk_30(void) override; // 30
38 void Unk_32(void) override; // 32
39
40 // add
41 virtual void GetPosition(hkVector4& a_outPosition); // 33
42 virtual void GetRotation(hkQuaternion& a_outRotation); // 34
43 virtual void SetPosition(hkVector4& a_position); // 35
44 virtual void SetRotation(hkQuaternion& a_rotation); // 36
45 virtual void SetPositionAndRotation(hkVector4& a_position, hkQuaternion& a_rotation); // 37
46 virtual void GetCenterOfMassLocal(hkVector4& a_outCenterOfMassLocal); // 38
47 virtual void GetCenterOfMassWorld(hkVector4& a_outCenterOfMassWorld); // 39
48 virtual void GetTransform(hkTransform& a_outTransform); // 3A
49 virtual void GetAabbWorldspace(hkAabb& a_outAabb); // 3B
50 virtual void Unk_3C(void); // 3C
51
52 void SetAngularImpulse(const hkVector4& a_impulse);
53 void SetAngularVelocity(const hkVector4& a_newVel);
54 void SetLinearImpulse(const hkVector4& a_impulse);
55 void SetLinearVelocity(const hkVector4& a_newVel);
56
57 // members
58 BSTArray<void*> unk28; // 28 - array of smart ptrs to bhkConstraints
59 };
60 static_assert(sizeof(bhkRigidBody) == 0x40);
61}
Definition BSTArray.h:377
Definition NiCloningProcess.h:10
Definition NiObject.h:37
Definition NiRTTI.h:6
Definition NiStream.h:27
Definition bhkEntity.h:8
Definition bhkRigidBody.h:14
BSTArray< void * > unk28
Definition bhkRigidBody.h:58
void Unk_2D(void) override
virtual void SetRotation(hkQuaternion &a_rotation)
virtual void GetAabbWorldspace(hkAabb &a_outAabb)
NiObject * CreateClone(NiCloningProcess &a_cloning) override
virtual void GetRotation(hkQuaternion &a_outRotation)
static auto Ni_RTTI
Definition bhkRigidBody.h:17
~bhkRigidBody() override
void SetAngularImpulse(const hkVector4 &a_impulse)
bhkRigidBody * AsBhkRigidBody() override
const NiRTTI * GetRTTI() const override
void Unk_2E(void) override
void LinkObject(NiStream &a_stream) override
virtual void Unk_3C(void)
void LoadBinary(NiStream &a_stream) override
virtual void GetTransform(hkTransform &a_outTransform)
void RemoveFromCurrentWorld() override
void Unk_2B(void) override
virtual void GetCenterOfMassWorld(hkVector4 &a_outCenterOfMassWorld)
void Unk_2C(void) override
bool RegisterStreamables(NiStream &a_stream) override
void Unk_30(void) override
virtual void GetPosition(hkVector4 &a_outPosition)
void SetLinearVelocity(const hkVector4 &a_newVel)
bool IsEqual(NiObject *a_object) override
void Unk_32(void) override
virtual void GetCenterOfMassLocal(hkVector4 &a_outCenterOfMassLocal)
virtual void SetPosition(hkVector4 &a_position)
void MoveToWorld(bhkWorld *a_world) override
void SaveBinary(NiStream &a_stream) override
void SetLinearImpulse(const hkVector4 &a_impulse)
void SetAngularVelocity(const hkVector4 &a_newVel)
virtual void SetPositionAndRotation(hkVector4 &a_position, hkQuaternion &a_rotation)
void Unk_2F(void) override
static constexpr auto RTTI
Definition bhkRigidBody.h:16
Definition bhkWorld.h:14
Definition hkAabb.h:8
Definition hkQuaternion.h:8
Definition hkTransform.h:9
Definition hkVector4.h:9
Definition AbsorbEffect.h:6
constexpr REL::VariantID RTTI_bhkRigidBody(513967, 392755, 0x1eddd00)
constexpr REL::VariantID NiRTTI_bhkRigidBody(525068, 411544, 0x3187f58)