CommonLibSSE NG
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 inline static constexpr auto VTABLE = VTABLE_hkpWorldObject;
32
34 {
35 kEnable,
37 };
38
39 enum class BroadPhaseType
40 {
42 kEntity,
45
46 kTotal
47 };
48
49 ~hkpWorldObject() override; // 00
50
51 // override (hkReferencedObject)
52 void CalcContentStatistics(hkStatisticsCollector* a_collector, const hkClass* a_class) const override; // 02
53
54 // add
55 virtual hkWorldOperation::Result SetShape(const hkpShape* a_shape); // 03 - { return hkWorldOperation::Result::kDone; }
56 virtual hkWorldOperation::Result UpdateShape(hkpShapeModifier* a_shapeModifier); // 04 - { return hkWorldOperation::Result::kDone; }
57 virtual hkMotionState* GetMotionState() = 0; // 05
58
61 const hkpShape* GetShape() const;
63
64 // members
66 std::uint64_t userData; // 18 - bhkWorldObject*?
69 std::uint32_t padAC; // AC
72 void* treeData; // C8
73 };
74 static_assert(sizeof(hkpWorldObject) == 0xD0);
75}
Definition TESObjectREFR.h:112
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:69
const hkpShape * GetShape() const
hkMultiThreadCheck multiThreadCheck
Definition hkpWorldObject.h:68
void CalcContentStatistics(hkStatisticsCollector *a_collector, const hkClass *a_class) const override
hkpLinkedCollidable collidable
Definition hkpWorldObject.h:67
virtual hkWorldOperation::Result UpdateShape(hkpShapeModifier *a_shapeModifier)
~hkpWorldObject() override
hkStringPtr name
Definition hkpWorldObject.h:70
static constexpr auto VTABLE
Definition hkpWorldObject.h:31
hkpWorld * world
Definition hkpWorldObject.h:65
const hkpCollidable * GetCollidable() const
BroadPhaseType
Definition hkpWorldObject.h:40
TESObjectREFR * GetUserData() const
void * treeData
Definition hkpWorldObject.h:72
hkArray< hkpProperty > properties
Definition hkpWorldObject.h:71
hkpCollidable * GetCollidableRW()
virtual hkWorldOperation::Result SetShape(const hkpShape *a_shape)
virtual hkMotionState * GetMotionState()=0
MultiThreadingChecks
Definition hkpWorldObject.h:34
std::uint64_t userData
Definition hkpWorldObject.h:66
Result
Definition hkpWorldObject.h:21
Definition AbsorbEffect.h:6
constexpr REL::VariantID RTTI_hkpWorldObject(686314, 394123, 0x1efb520)
constexpr std::array< REL::VariantID, 1 > VTABLE_hkpWorldObject
Definition Offsets_VTABLE.h:4996