CommonLibSSE (powerof3)
Loading...
Searching...
No Matches
hkpWorldObject.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/H/hkArray.h"
6#include "RE/H/hkStringPtr.h"
8#include "RE/H/hkpProperty.h"
9
10namespace RE
11{
12 class hkMotionState;
13 class hkpCollidable;
14 class hkpShapeModifier;
15 class hkpWorld;
16 class TESObjectREFR;
17
18 namespace hkWorldOperation
19 {
20 enum class Result
21 {
23 kDone
24 };
25 }
26
28 {
29 public:
30 inline static constexpr auto RTTI = RTTI_hkpWorldObject;
31
33 {
34 kEnable,
36 };
37
38 enum class BroadPhaseType
39 {
41 kEntity,
44
45 kTotal
46 };
47
48 ~hkpWorldObject() override; // 00
49
50 // override (hkReferencedObject)
51 void CalcContentStatistics(hkStatisticsCollector* a_collector, const hkClass* a_class) const override; // 02
52
53 // add
54 virtual hkWorldOperation::Result SetShape(const hkpShape* a_shape); // 03 - { return hkWorldOperation::Result::kDone; }
55 virtual hkWorldOperation::Result UpdateShape(hkpShapeModifier* a_shapeModifier); // 04 - { return hkWorldOperation::Result::kDone; }
56 virtual hkMotionState* GetMotionState() = 0; // 05
57
60 const hkpShape* GetShape() const;
62
63 // members
65 std::uint64_t userData; // 18 - bhkWorldObject*?
68 std::uint32_t padAC; // AC
71 void* treeData; // C8
72 };
73 static_assert(sizeof(hkpWorldObject) == 0xD0);
74}
Definition: TESObjectREFR.h:110
Definition: hkArray.h:189
Definition: hkMotionState.h:11
Definition: hkMultiThreadCheck.h:6
Definition: hkReferencedObject.h:11
Definition: hkStringPtr.h:6
Definition: hkpCollidable.h:13
Definition: hkpLinkedCollidable.h:11
Definition: hkpShape.h:32
Definition: hkpWorld.h:62
Definition: hkpWorldObject.h:28
static constexpr auto RTTI
Definition: hkpWorldObject.h:30
std::uint32_t padAC
Definition: hkpWorldObject.h:68
const hkpShape * GetShape() const
hkMultiThreadCheck multiThreadCheck
Definition: hkpWorldObject.h:67
void CalcContentStatistics(hkStatisticsCollector *a_collector, const hkClass *a_class) const override
hkpLinkedCollidable collidable
Definition: hkpWorldObject.h:66
virtual hkWorldOperation::Result UpdateShape(hkpShapeModifier *a_shapeModifier)
~hkpWorldObject() override
hkStringPtr name
Definition: hkpWorldObject.h:69
hkpWorld * world
Definition: hkpWorldObject.h:64
const hkpCollidable * GetCollidable() const
BroadPhaseType
Definition: hkpWorldObject.h:39
TESObjectREFR * GetUserData() const
void * treeData
Definition: hkpWorldObject.h:71
hkArray< hkpProperty > properties
Definition: hkpWorldObject.h:70
hkpCollidable * GetCollidableRW()
virtual hkWorldOperation::Result SetShape(const hkpShape *a_shape)
virtual hkMotionState * GetMotionState()=0
MultiThreadingChecks
Definition: hkpWorldObject.h:33
std::uint64_t userData
Definition: hkpWorldObject.h:65
Result
Definition: hkpWorldObject.h:21
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_hkpWorldObject(static_cast< std::uint64_t >(686314))