CommonLibSSE (powerof3)
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 
10 namespace RE
11 {
12  class hkMotionState;
13  class hkpCollidable;
14  class hkpShapeModifier;
15  class hkpWorld;
16 
17  namespace hkWorldOperation
18  {
19  enum class Result
20  {
21  kPostponed,
22  kDone
23  };
24  }
25 
27  {
28  public:
29  inline static constexpr auto RTTI = RTTI_hkpWorldObject;
30 
32  {
33  kEnable,
34  kIgnore
35  };
36 
37  enum class BroadPhaseType
38  {
39  kInvalid,
40  kEntity,
41  kPhantom,
43 
44  kTotal
45  };
46 
47  ~hkpWorldObject() override; // 00
48 
49  // override (hkReferencedObject)
50  void CalcContentStatistics(hkStatisticsCollector* a_collector, const hkClass* a_class) const override; // 02
51 
52  // add
53  virtual hkWorldOperation::Result SetShape(const hkpShape* a_shape); // 03 - { return hkWorldOperation::Result::kDone; }
54  virtual hkWorldOperation::Result UpdateShape(hkpShapeModifier* a_shapeModifier); // 04 - { return hkWorldOperation::Result::kDone; }
55  virtual hkMotionState* GetMotionState() = 0; // 05
56 
57  const hkpCollidable* GetCollidable() const;
59 
60  // members
61  hkpWorld* world; // 10
62  std::uint64_t userData; // 18 - bhkWorldObject*?
65  std::uint32_t padAC; // AC
68  void* treeData; // C8
69  };
70  static_assert(sizeof(hkpWorldObject) == 0xD0);
71 }
Definition: hkArray.h:189
Definition: hkMotionState.h:11
Definition: hkMultiThreadCheck.h:6
Definition: hkReferencedObject.h:11
Definition: hkStringPtr.h:6
Definition: hkpCollidable.h:12
Definition: hkpLinkedCollidable.h:11
Definition: hkpShape.h:31
Definition: hkpWorldObject.h:27
virtual hkMotionState * GetMotionState()=0
static constexpr auto RTTI
Definition: hkpWorldObject.h:29
std::uint32_t padAC
Definition: hkpWorldObject.h:65
hkMultiThreadCheck multiThreadCheck
Definition: hkpWorldObject.h:64
void CalcContentStatistics(hkStatisticsCollector *a_collector, const hkClass *a_class) const override
hkpLinkedCollidable collidable
Definition: hkpWorldObject.h:63
virtual hkWorldOperation::Result UpdateShape(hkpShapeModifier *a_shapeModifier)
const hkpCollidable * GetCollidable() const
~hkpWorldObject() override
hkpCollidable * GetCollidableRW()
hkStringPtr name
Definition: hkpWorldObject.h:66
hkpWorld * world
Definition: hkpWorldObject.h:61
BroadPhaseType
Definition: hkpWorldObject.h:38
void * treeData
Definition: hkpWorldObject.h:68
hkArray< hkpProperty > properties
Definition: hkpWorldObject.h:67
virtual hkWorldOperation::Result SetShape(const hkpShape *a_shape)
MultiThreadingChecks
Definition: hkpWorldObject.h:32
std::uint64_t userData
Definition: hkpWorldObject.h:62
Definition: hkpWorld.h:62
Result
Definition: hkpWorldObject.h:20
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_hkpWorldObject
Definition: Offsets_RTTI.h:7800