CommonLibSSE NG
hkpSolverInfo.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/H/hkBaseTypes.h"
4 #include "RE/H/hkVector4.h"
5 
6 namespace RE
7 {
8  struct hkpSolverInfo
9  {
11  {
12  enum DeactivationClass : std::uint32_t
13  {
20 
21  kTotal
22  };
23  };
25 
27  {
32  float maxDistSqrd[2]; // 10
33  hkHalf maxRotSqrd[2]; // 18
34  };
35  static_assert(sizeof(DeactivationInfo) == 0x1C);
36 
37  // members
38  alignas(0x10) float one; // 000
39  float tau; // 004
40  float damping; // 008
41  float frictionTau; // 00C
46  float dampDivTau; // 050
47  float tauDivDamp; // 054
48  float dampDivFrictionTau; // 058
49  float frictionTauDivDamp; // 05C
50  float contactRestingVelocity; // 060
51  DeactivationInfo deactivationInfo[DeactivationClass::kTotal]; // 064
52  float deltaTime; // 10C
53  float invDeltaTime; // 110
54  std::int32_t numSteps; // 114
55  std::int32_t numMicroSteps; // 118
56  float invNumMicroSteps; // 11C
57  float invNumSteps; // 120
60  std::uint8_t deactivationIntegrateCounter; // 127
62  std::uint32_t pad12C; // 12C
63  };
64  static_assert(sizeof(hkpSolverInfo) == 0x130);
65 }
Definition: hkBaseTypes.h:16
Definition: hkVector4.h:9
Definition: AbsorbEffect.h:6
Definition: hkpSolverInfo.h:11
DeactivationClass
Definition: hkpSolverInfo.h:13
@ kTotal
Definition: hkpSolverInfo.h:21
@ kLow
Definition: hkpSolverInfo.h:16
@ kOff
Definition: hkpSolverInfo.h:15
@ kInvalid
Definition: hkpSolverInfo.h:14
@ kMedium
Definition: hkpSolverInfo.h:17
@ kHigh
Definition: hkpSolverInfo.h:18
@ kAggressive
Definition: hkpSolverInfo.h:19
Definition: hkpSolverInfo.h:27
float linearVelocityThresholdInv
Definition: hkpSolverInfo.h:28
float angularVelocityThresholdInv
Definition: hkpSolverInfo.h:29
hkHalf maxRotSqrd[2]
Definition: hkpSolverInfo.h:33
float relativeSleepVelocityThreshold
Definition: hkpSolverInfo.h:31
float maxDistSqrd[2]
Definition: hkpSolverInfo.h:32
float slowObjectVelocityMultiplier
Definition: hkpSolverInfo.h:30
Definition: hkpSolverInfo.h:9
hkVector4 globalAccelerationPerSubStep
Definition: hkpSolverInfo.h:42
hkVector4 globalAccelerationPerStep
Definition: hkpSolverInfo.h:43
float damping
Definition: hkpSolverInfo.h:40
float one
Definition: hkpSolverInfo.h:35
float invNumSteps
Definition: hkpSolverInfo.h:57
hkVector4 invIntegrateVelocityFactor
Definition: hkpSolverInfo.h:45
std::uint8_t deactivationNumInactiveFramesSelectFlag[2]
Definition: hkpSolverInfo.h:59
float tauDivDamp
Definition: hkpSolverInfo.h:47
bool forceCoherentConstraintOrderingInSolver
Definition: hkpSolverInfo.h:58
std::uint8_t deactivationIntegrateCounter
Definition: hkpSolverInfo.h:60
DeactivationInfo deactivationInfo[DeactivationClass::kTotal]
Definition: hkpSolverInfo.h:51
float invNumMicroSteps
Definition: hkpSolverInfo.h:56
float invDeltaTime
Definition: hkpSolverInfo.h:53
float contactRestingVelocity
Definition: hkpSolverInfo.h:50
float frictionTau
Definition: hkpSolverInfo.h:41
std::int32_t numMicroSteps
Definition: hkpSolverInfo.h:55
std::int32_t numSteps
Definition: hkpSolverInfo.h:54
hkVector4 integrateVelocityFactor
Definition: hkpSolverInfo.h:44
float tau
Definition: hkpSolverInfo.h:39
float maxConstraintViolationSqrd
Definition: hkpSolverInfo.h:61
float dampDivTau
Definition: hkpSolverInfo.h:46
float dampDivFrictionTau
Definition: hkpSolverInfo.h:48
std::uint32_t pad12C
Definition: hkpSolverInfo.h:62
float frictionTauDivDamp
Definition: hkpSolverInfo.h:49
float deltaTime
Definition: hkpSolverInfo.h:52