CommonLibSSE (Parapets fork)
Loading...
Searching...
No Matches
hkpWorld.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/H/hkArray.h"
6#include "RE/H/hkStepInfo.h"
9
10namespace RE
11{
12 class hkCriticalSection;
13 class hkdWorld;
14 class hknpWorld;
15 class hkpActionListener;
16 class hkpBroadPhase;
17 class hkpBroadPhaseBorder;
18 class hkpBroadPhaseBorderListener;
19 class hkpCollisionDispatcher;
20 class hkpCollisionFilter;
21 class hkpConstraintListener;
22 class hkpContactImpulseLimitBreachedListener;
23 class hkpContactListener;
24 class hkpConvexListFilter;
25 class hkpEntityEntityBroadPhaseListener;
26 class hkpEntityListener;
27 class hkpIslandActivationListener;
28 class hkpIslandPostCollideListener;
29 class hkpIslandPostIntegrateListener;
30 class hkpPhantom;
31 class hkpPhantomBroadPhaseListener;
32 class hkpPhantomListener;
33 class hkpSimulation;
34 class hkpSimulationIsland;
35 class hkpTreeWorldManager;
36 class hkpTypedBroadPhaseDispatcher;
37 class hkpWorldDeletionListener;
38 class hkpWorldExtension;
39 class hkpWorldMaintenanceMgr;
40 class hkpWorldOperationQueue;
41 class hkpWorldPostCollideListener;
42 class hkpWorldPostIntegrateListener;
43 class hkpWorldPostSimulationListener;
44 class hkWorldMemoryAvailableWatchDog;
45 struct hkpDebugInfoOnPendingOperationQueues;
46 struct hkpMtThreadStructure;
47 struct hkpProcessCollisionInput;
48 struct hkpViolatedConstraintArray;
49 struct hkpWorldRayCastInput;
50 struct hkpWorldRayCastOutput;
51
53 {
54 public:
55 // members
58 };
59 static_assert(sizeof(hkpWorldDynamicsStepInfo) == 0x140);
60
62 {
63 public:
64 inline static constexpr auto RTTI = RTTI_hkpWorld;
65
66 ~hkpWorld() override; // 00
67
68 // override (hkReferencedObject)
69 void CalcContentStatistics(hkStatisticsCollector* a_collector, const hkClass* a_class) const override; // 02
70
71 inline void CastRay(const hkpWorldRayCastInput& a_input, hkpWorldRayCastOutput& a_output) const
72 {
73 using func_t = decltype(&hkpWorld::CastRay);
75 return func(this, a_input, a_output);
76 }
77
78 // members
79 hkpSimulation* simulation; // 010
80 std::uint64_t pad018; // 018
87 hkpWorldMaintenanceMgr* maintenanceMgr; // 070
90 std::uint8_t pad081; // 081
91 std::uint16_t pad082; // 082
92 std::uint32_t pad084; // 084
94 hkpTreeWorldManager* kdTreeManager; // 090
95 bool autoUpdateTree; // 098
96 std::uint8_t pad099; // 099
97 std::uint16_t pad09A; // 09A
98 std::uint32_t pad09C; // 09C
99 hkpTypedBroadPhaseDispatcher* broadPhaseDispatcher; // 0A0
100 hkpPhantomBroadPhaseListener* phantomBroadPhaseListener; // 0A8
101 hkpEntityEntityBroadPhaseListener* entityEntityBroadPhaseListener; // 0B0
102 hkpBroadPhaseBorderListener* broadPhaseBorderListener; // 0B8
103 hkpMtThreadStructure* multithreadedSimulationJobData; // 0C0
104 hkpProcessCollisionInput* collisionInput; // 0C8
105 hkpCollisionFilter* collisionFilter; // 0D0
106 hkpCollisionDispatcher* collisionDispatcher; // 0D8
107 hkpConvexListFilter* convexListFilter; // 0E0
108 hkpWorldOperationQueue* pendingOperations; // 0E8
109 std::int32_t pendingOperationsCount; // 0F0
110 std::int32_t pendingBodyOperationsCount; // 0F4
111 std::int32_t criticalOperationsLockCount; // 0F8
115 std::uint16_t pad102; // 102
116 std::uint32_t pad104; // 104
117 hkpDebugInfoOnPendingOperationQueues* pendingOperationQueues; // 108
118 std::int32_t pendingOperationQueueCount; // 110
122 std::uint16_t pad122; // 122
123 std::uint32_t minDesiredIslandSize; // 124
124 hkCriticalSection* modifyConstraintCriticalSection; // 128
125 std::int32_t isLocked; // 130
126 std::uint32_t pad134; // 134
127 hkCriticalSection* islandDirtyListCriticalSection; // 138
128 hkCriticalSection* propertyMasterLock; // 140
131 std::uint16_t pad14A; // 14A
135 bool wantDeactivation; // 155
137 std::uint8_t pad153; // 157
143 std::uint8_t pad169; // 169
144 std::uint16_t pad16A; // 16A
149 std::uint8_t pad179; // 179
150 std::uint16_t pad17A; // 17A
155 std::uint32_t lastEntityUID; // 18C
156 std::uint32_t lastIslandUID; // 190
157 std::uint32_t lastConstraintUID; // 194
173 hkpViolatedConstraintArray* violatedConstraintArray; // 288
174 hkpBroadPhaseBorder* broadPhaseBorder; // 290
175 hkdWorld* destructionWorld; // 298
176 hknpWorld* npWorld; // 2A0
177 std::uint64_t pad2A8; // 2A8
180 std::int32_t broadPhaseNumMarkers; // 410
181 std::int32_t sizeOfToiEventQueue; // 414
182 std::int32_t broadPhaseQuerySize; // 418
183 std::int32_t broadPhaseUpdateSize; // 41C
185 std::uint8_t pad421; // 421
186 std::uint16_t pad422; // 422
187 std::uint32_t pad424; // 424
188 std::uint64_t pad428; // 428
189 };
190 static_assert(sizeof(hkpWorld) == 0x430);
191}
Definition: hkArray.h:189
Definition: hkMultiThreadCheck.h:6
Definition: hkRefPtr.h:7
Definition: hkReferencedObject.h:11
Definition: hkStepInfo.h:8
Definition: hkVector4.h:8
Definition: hkpBroadPhase.h:21
Definition: hkpRigidBody.h:8
Definition: hkpSimulationIsland.h:16
Definition: hkpWorld.h:62
std::int32_t maxEntriesPerToiNarrowphaseCollideTask
Definition: hkpWorld.h:146
std::int32_t sizeOfToiEventQueue
Definition: hkpWorld.h:181
std::uint32_t pad09C
Definition: hkpWorld.h:98
bool enableToiWeldRejection
Definition: hkpWorld.h:134
bool wantDeactivation
Definition: hkpWorld.h:135
std::int32_t criticalOperationsLockCount
Definition: hkpWorld.h:111
hkArray< hkpContactListener * > contactListeners
Definition: hkpWorld.h:170
std::int32_t pendingOperationsCount
Definition: hkpWorld.h:109
std::uint16_t pad082
Definition: hkpWorld.h:91
std::uint32_t pad084
Definition: hkpWorld.h:92
std::int32_t maxSectorsPerMidphaseCollideTask
Definition: hkpWorld.h:140
bool allowIntegrationOfIslandsWithoutConstraintsInASeparateJob
Definition: hkpWorld.h:121
hkpPhantomBroadPhaseListener * phantomBroadPhaseListener
Definition: hkpWorld.h:100
std::uint16_t pad122
Definition: hkpWorld.h:122
stl::enumeration< hkpWorldCinfo::ContactPointGeneration, std::uint8_t > contactPointGeneration
Definition: hkpWorld.h:184
std::uint8_t pad099
Definition: hkpWorld.h:96
hkpCollisionDispatcher * collisionDispatcher
Definition: hkpWorld.h:106
hkVector4 broadPhaseExtents[2]
Definition: hkpWorld.h:179
float numToisTillAllowedPenetrationToiHigher
Definition: hkpWorld.h:153
std::uint8_t pad169
Definition: hkpWorld.h:143
std::uint8_t pad421
Definition: hkpWorld.h:185
std::uint32_t lastEntityUID
Definition: hkpWorld.h:155
hkArray< hkpWorldExtension * > worldExtensions
Definition: hkpWorld.h:172
hkpWorldMaintenanceMgr * maintenanceMgr
Definition: hkpWorld.h:87
std::int32_t pendingOperationQueueCount
Definition: hkpWorld.h:118
hkpBroadPhase * broadPhase
Definition: hkpWorld.h:93
float snapCollisionToConvexEdgeThreshold
Definition: hkpWorld.h:132
hkArray< hkpWorldPostIntegrateListener * > worldPostIntegrateListeners
Definition: hkpWorld.h:166
hkCriticalSection * modifyConstraintCriticalSection
Definition: hkpWorld.h:124
float deactivationReferenceDistance
Definition: hkpWorld.h:138
hkArray< hkpConstraintListener * > constraintListeners
Definition: hkpWorld.h:162
float numToisTillAllowedPenetrationToi
Definition: hkpWorld.h:152
hkpTreeWorldManager * kdTreeManager
Definition: hkpWorld.h:94
std::int32_t maxNumToiCollisionPairsSinglethreaded
Definition: hkpWorld.h:147
hkArray< hkpSimulationIsland * > activeSimulationIslands
Definition: hkpWorld.h:84
hkArray< hkpWorldDeletionListener * > worldDeletionListeners
Definition: hkpWorld.h:163
std::uint8_t pad081
Definition: hkpWorld.h:90
bool criticalOperationsAllowed
Definition: hkpWorld.h:114
std::uint8_t pad153
Definition: hkpWorld.h:137
hkpEntityEntityBroadPhaseListener * entityEntityBroadPhaseListener
Definition: hkpWorld.h:101
std::uint8_t pad179
Definition: hkpWorld.h:149
std::uint32_t pad424
Definition: hkpWorld.h:187
bool assertOnRunningOutOfSolverMemory
Definition: hkpWorld.h:89
std::int32_t broadPhaseQuerySize
Definition: hkpWorld.h:182
hkArray< hkpPhantomListener * > phantomListeners
Definition: hkpWorld.h:161
std::uint32_t lastIslandUID
Definition: hkpWorld.h:156
hkpBroadPhaseBorder * broadPhaseBorder
Definition: hkpWorld.h:174
std::uint16_t pad09A
Definition: hkpWorld.h:97
bool useHybridBroadphase
Definition: hkpWorld.h:130
bool blockExecutingPendingOperations
Definition: hkpWorld.h:113
std::int32_t isLocked
Definition: hkpWorld.h:125
std::uint32_t lastConstraintUID
Definition: hkpWorld.h:157
std::uint16_t pad102
Definition: hkpWorld.h:115
hkCriticalSection * islandDirtyListCriticalSection
Definition: hkpWorld.h:127
float numToisTillAllowedPenetrationSimplifiedToi
Definition: hkpWorld.h:151
std::int32_t maxSectorsPerNarrowphaseCollideTask
Definition: hkpWorld.h:141
std::uint64_t pad018
Definition: hkpWorld.h:80
hkArray< hkpIslandPostCollideListener * > islandPostCollideListeners
Definition: hkpWorld.h:169
hkArray< hkpSimulationIsland * > dirtySimulationIslands
Definition: hkpWorld.h:86
hkVector4 gravity
Definition: hkpWorld.h:81
std::int32_t criticalOperationsLockCountForPhantoms
Definition: hkpWorld.h:112
hkpViolatedConstraintArray * violatedConstraintArray
Definition: hkpWorld.h:173
std::int32_t broadPhaseUpdateSize
Definition: hkpWorld.h:183
stl::enumeration< hkpWorldCinfo::SimulationType, std::uint8_t > simulationType
Definition: hkpWorld.h:148
bool wantSimulationIslands
Definition: hkpWorld.h:129
hkArray< hkpPhantom * > phantoms
Definition: hkpWorld.h:158
~hkpWorld() override
hkpCollisionFilter * collisionFilter
Definition: hkpWorld.h:105
hkArray< hkpContactImpulseLimitBreachedListener * > contactImpulseLimitBreachedListeners
Definition: hkpWorld.h:171
float toiCollisionResponseRotateNormal
Definition: hkpWorld.h:139
std::uint64_t pad2A8
Definition: hkpWorld.h:177
std::uint32_t pad104
Definition: hkpWorld.h:116
bool autoUpdateTree
Definition: hkpWorld.h:95
hkArray< hkpActionListener * > actionListeners
Definition: hkpWorld.h:159
std::uint32_t pad134
Definition: hkpWorld.h:126
hkArray< hkpIslandPostIntegrateListener * > islandPostIntegrateListeners
Definition: hkpWorld.h:168
hkpConvexListFilter * convexListFilter
Definition: hkpWorld.h:107
std::uint16_t pad16A
Definition: hkpWorld.h:144
hkArray< hkpSimulationIsland * > inactiveSimulationIslands
Definition: hkpWorld.h:85
float numToisTillAllowedPenetrationToiForced
Definition: hkpWorld.h:154
void CalcContentStatistics(hkStatisticsCollector *a_collector, const hkClass *a_class) const override
hkpBroadPhaseBorderListener * broadPhaseBorderListener
Definition: hkpWorld.h:102
static constexpr auto RTTI
Definition: hkpWorld.h:64
hkRefPtr< hkWorldMemoryAvailableWatchDog > memoryWatchDog
Definition: hkpWorld.h:88
std::uint16_t pad17A
Definition: hkpWorld.h:150
hkpDebugInfoOnPendingOperationQueues * pendingOperationQueues
Definition: hkpWorld.h:117
std::uint16_t pad14A
Definition: hkpWorld.h:131
hkpSimulation * simulation
Definition: hkpWorld.h:79
std::int32_t pendingBodyOperationsCount
Definition: hkpWorld.h:110
hkArray< hkpWorldPostSimulationListener * > worldPostSimulationListeners
Definition: hkpWorld.h:165
bool shouldActivateOnRigidBodyTransformChange
Definition: hkpWorld.h:136
hkArray< hkpWorldPostCollideListener * > worldPostCollideListeners
Definition: hkpWorld.h:167
hknpWorld * npWorld
Definition: hkpWorld.h:176
hkpMtThreadStructure * multithreadedSimulationJobData
Definition: hkpWorld.h:103
std::uint32_t minDesiredIslandSize
Definition: hkpWorld.h:123
bool processToisMultithreaded
Definition: hkpWorld.h:142
hkdWorld * destructionWorld
Definition: hkpWorld.h:175
hkpSimulationIsland * fixedIsland
Definition: hkpWorld.h:82
float snapCollisionToConcaveEdgeThreshold
Definition: hkpWorld.h:133
hkpWorldDynamicsStepInfo dynamicsStepInfo
Definition: hkpWorld.h:178
hkpTypedBroadPhaseDispatcher * broadPhaseDispatcher
Definition: hkpWorld.h:99
hkpRigidBody * fixedRigidBody
Definition: hkpWorld.h:83
hkpProcessCollisionInput * collisionInput
Definition: hkpWorld.h:104
std::uint16_t pad422
Definition: hkpWorld.h:186
std::int32_t broadPhaseNumMarkers
Definition: hkpWorld.h:180
void CastRay(const hkpWorldRayCastInput &a_input, hkpWorldRayCastOutput &a_output) const
Definition: hkpWorld.h:71
hkArray< hkpEntityListener * > entityListeners
Definition: hkpWorld.h:160
hkCriticalSection * propertyMasterLock
Definition: hkpWorld.h:128
bool processActionsInSingleThread
Definition: hkpWorld.h:120
hkpWorldOperationQueue * pendingOperations
Definition: hkpWorld.h:108
hkArray< hkpIslandActivationListener * > islandActivationListeners
Definition: hkpWorld.h:164
std::int32_t maxEntriesPerToiMidphaseCollideTask
Definition: hkpWorld.h:145
std::uint64_t pad428
Definition: hkpWorld.h:188
hkMultiThreadCheck multiThreadCheck
Definition: hkpWorld.h:119
Definition: Relocation.h:858
Definition: PCH.h:216
constexpr REL::ID CastRay(static_cast< std::uintptr_t >(61399))
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_hkpWorld
Definition: Offsets_RTTI.h:7794
Definition: hkpSolverInfo.h:9
Definition: hkpWorld.h:53
hkStepInfo stepInfo
Definition: hkpWorld.h:56
hkpSolverInfo solverInfo
Definition: hkpWorld.h:57
Definition: hkpWorldRayCastInput.h:8
Definition: hkpWorldRayCastOutput.h:10