CommonLibVR
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 class hkpRigidBody;
13
14 class bhkRigidBody : public bhkEntity
15 {
16 public:
17 inline static constexpr auto RTTI = RTTI_bhkRigidBody;
18 inline static constexpr auto Ni_RTTI = NiRTTI_bhkRigidBody;
19 inline static constexpr auto VTABLE = VTABLE_bhkRigidBody;
20
21 ~bhkRigidBody() override; // 00
22
23 // override (bhkEntity)
24 const NiRTTI* GetRTTI() const override; // 02
25 bhkRigidBody* AsBhkRigidBody() override; // 15 - { return this; }
26 NiObject* CreateClone(NiCloningProcess& a_cloning) override; // 17
27 void LoadBinary(NiStream& a_stream) override; // 18
28 void LinkObject(NiStream& a_stream) override; // 19
29 bool RegisterStreamables(NiStream& a_stream) override; // 1A
30 void SaveBinary(NiStream& a_stream) override; // 1B
31 bool IsEqual(NiObject* a_object) override; // 1C
32 void MoveToWorld(bhkWorld* a_world) override; // 29
33 void RemoveFromCurrentWorld() override; // 2A
34 void Unk_2B(void) override; // 2B
35 void Unk_2C(void) override; // 2C - { return 0x110; }
36 void Unk_2D(void) override; // 2D
37 void Unk_2E(void) override; // 2E
38 void Unk_2F(void) override; // 2F
39 void Unk_30(void) override; // 30
40 void Unk_32(void) override; // 32
41
42 // add
43 virtual void GetPosition(hkVector4& a_outPosition); // 33
44 virtual void GetRotation(hkQuaternion& a_outRotation); // 34
45 virtual void SetPosition(hkVector4& a_position); // 35
46 virtual void SetRotation(hkQuaternion& a_rotation); // 36
47 virtual void SetPositionAndRotation(hkVector4& a_position, hkQuaternion& a_rotation); // 37
48 virtual void GetCenterOfMassLocal(hkVector4& a_outCenterOfMassLocal); // 38
49 virtual void GetCenterOfMassWorld(hkVector4& a_outCenterOfMassWorld); // 39
50 virtual void GetTransform(hkTransform& a_outTransform); // 3A
51 virtual void GetAabbWorldspace(hkAabb& a_outAabb); // 3B
52 virtual void Unk_3C(void); // 3C
53
55 void SetAngularImpulse(const hkVector4& a_impulse);
56 void SetAngularVelocity(const hkVector4& a_newVel);
57 void SetLinearImpulse(const hkVector4& a_impulse);
58 void SetLinearVelocity(const hkVector4& a_newVel);
59
60 // members
61 BSTArray<void*> unk28; // 28 - array of smart ptrs to bhkConstraints
62 private:
64 };
65 static_assert(sizeof(bhkRigidBody) == 0x40);
66}
#define KEEP_FOR_RE()
Definition PCH.h:517
Definition BSTArray.h:378
Definition NiCloningProcess.h:10
Definition NiObject.h:37
Definition NiRTTI.h:6
Definition NiStream.h:29
Definition bhkEntity.h:8
Definition bhkRigidBody.h:15
BSTArray< void * > unk28
Definition bhkRigidBody.h:61
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)
~bhkRigidBody() override
void SetAngularImpulse(const hkVector4 &a_impulse)
static constexpr auto VTABLE
Definition bhkRigidBody.h:19
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
static constexpr auto Ni_RTTI
Definition bhkRigidBody.h:18
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:17
hkpRigidBody * GetRigidBody() const
Definition bhkWorld.h:14
Definition hkAabb.h:8
Definition hkQuaternion.h:8
Definition hkTransform.h:9
Definition hkVector4.h:9
Definition hkpRigidBody.h:8
Definition AbsorbEffect.h:6
constexpr REL::ID NiRTTI_bhkRigidBody(static_cast< std::uint64_t >(525068))
constexpr REL::ID RTTI_bhkRigidBody(static_cast< std::uint64_t >(513967))
constexpr std::array< REL::ID, 1 > VTABLE_bhkRigidBody
Definition Offsets_VTABLE.h:13357