CommonLibSSE (Parapets fork)
hkpSimulationIsland.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/H/hkArray.h"
4 #include "RE/H/hkBaseTypes.h"
6 #include "RE/H/hkpAgentNnTrack.h"
8 
9 namespace RE
10 {
11  class hkpAction;
12  class hkpEntity;
13  class hkpWorld;
14 
16  {
17  public:
18  inline static constexpr auto RTTI = RTTI_hkpSimulationIsland;
19 
20  ~hkpSimulationIsland() override; // 00
21 
22  // override (hkpConstraintOwner)
23  const hkClass* GetClassType() const override; // 01 - { return &hkpSimulationIslandClass; }
24  void CalcContentStatistics(hkStatisticsCollector* a_collector, const hkClass* a_class) const override; // 02
25  void AddConstraintToCriticalLockedIsland(hkpConstraintInstance* a_constraint) override; // 03
26  void RemoveConstraintFromCriticalLockedIsland(hkpConstraintInstance* a_constraint) override; // 04
27  void AddCallbackRequest(hkpConstraintInstance* a_constraint, std::int32_t a_request) override; // 05
28 
29  // members
30  hkpWorld* world; // 20
31  std::int32_t numConstraints; // 28
34  std::uint8_t splitCheckFrameCounter; // 30
35 
36  bool splitCheckRequested: 2; // 31 - 0
37  bool isSparse: 2; // 31 - 2
38  bool actionListCleanupNeeded: 2; // 31 - 4
39  bool allowIslandLocking: 2; // 31 - 6
40  bool isInActiveIslandsArray: 2; // 32 - 0
41  bool activeMark: 2; // 32 - 2
42  bool tryToIncreaseIslandSizeMark: 2; // 32 - 4
43  bool inIntegrateJob: 2; // 32 - 6
44 
45  std::uint8_t pad33; // 33
51  std::uint32_t pad5C; // 5C
55  };
56  static_assert(sizeof(hkpSimulationIsland) == 0xB8);
57 }
Definition: hkArray.h:196
Definition: hkMultiThreadCheck.h:6
Definition: hkpConstraintOwner.h:11
Definition: hkpSimulationIsland.h:16
std::uint32_t pad5C
Definition: hkpSimulationIsland.h:51
std::int32_t numConstraints
Definition: hkpSimulationIsland.h:31
hkMultiThreadCheck multiThreadCheck
Definition: hkpSimulationIsland.h:46
const hkClass * GetClassType() const override
bool isInActiveIslandsArray
Definition: hkpSimulationIsland.h:40
float timeSinceLastLowFrequencyCheck
Definition: hkpSimulationIsland.h:48
hkpAgentNnTrack midphaseAgentTrack
Definition: hkpSimulationIsland.h:53
~hkpSimulationIsland() override
hkTime timeOfDeactivation
Definition: hkpSimulationIsland.h:50
bool activeMark
Definition: hkpSimulationIsland.h:41
hkpWorld * world
Definition: hkpSimulationIsland.h:30
bool actionListCleanupNeeded
Definition: hkpSimulationIsland.h:38
std::uint8_t splitCheckFrameCounter
Definition: hkpSimulationIsland.h:34
bool inIntegrateJob
Definition: hkpSimulationIsland.h:43
static constexpr auto RTTI
Definition: hkpSimulationIsland.h:18
hkObjectIndex storageIndex
Definition: hkpSimulationIsland.h:32
void CalcContentStatistics(hkStatisticsCollector *a_collector, const hkClass *a_class) const override
void AddConstraintToCriticalLockedIsland(hkpConstraintInstance *a_constraint) override
bool allowIslandLocking
Definition: hkpSimulationIsland.h:39
void RemoveConstraintFromCriticalLockedIsland(hkpConstraintInstance *a_constraint) override
void AddCallbackRequest(hkpConstraintInstance *a_constraint, std::int32_t a_request) override
hkArray< hkpAction * > actions
Definition: hkpSimulationIsland.h:49
float timeSinceLastHighFrequencyCheck
Definition: hkpSimulationIsland.h:47
bool tryToIncreaseIslandSizeMark
Definition: hkpSimulationIsland.h:42
bool splitCheckRequested
Definition: hkpSimulationIsland.h:36
hkInplaceArray< hkpEntity *, 1 > entities
Definition: hkpSimulationIsland.h:52
hkpAgentNnTrack narrowphaseAgentTrack
Definition: hkpSimulationIsland.h:54
bool isSparse
Definition: hkpSimulationIsland.h:37
std::uint8_t pad33
Definition: hkpSimulationIsland.h:45
hkObjectIndex dirtyListIndex
Definition: hkpSimulationIsland.h:33
Definition: hkpWorld.h:63
Definition: AbsorbEffect.h:6
std::uint16_t hkObjectIndex
Definition: hkBaseTypes.h:5
constexpr REL::ID RTTI_hkpSimulationIsland
Definition: Offsets_RTTI.h:7734
float hkTime
Definition: hkBaseTypes.h:6
Definition: hkpAgentNnTrack.h:17