CommonLibSSE NG
hkpLimitedHingeConstraintData.h
Go to the documentation of this file.
1 #pragma once
2 
6 
7 namespace RE
8 {
10  {
11  public:
13  {
14  kMotor = 0,
17 
20 
24 
25  kNUM
26  };
27 
28  inline static constexpr auto RTTI = RTTI_hkpLimitedHingeConstraintData;
29  inline static constexpr auto VTABLE = VTABLE_hkpLimitedHingeConstraintData;
30 
31  struct Atoms
32  {
40  };
41  static_assert(sizeof(Atoms) == 0xF0);
42 
43  struct Runtime
44  {
45  inline float getCurrentAngle()
46  {
47  return solverResults[SolverResultType::kLimit].data * -1.f;
48  }
49 
50  hkpSolverResults solverResults[SolverResultType::kNUM]; // 00
52  float previousTargetAngle; // 44
53  };
54  static_assert(sizeof(Runtime) == 0x48);
55 
56  // members
57  Atoms atoms; // 18
58  };
59  static_assert(sizeof(hkpLimitedHingeConstraintData) == 0x110);
60 }
Definition: hkpConstraintData.h:11
Definition: hkpLimitedHingeConstraintData.h:10
Atoms atoms
Definition: hkpLimitedHingeConstraintData.h:54
SolverResultType
Definition: hkpLimitedHingeConstraintData.h:13
@ kLinear0
Definition: hkpLimitedHingeConstraintData.h:21
@ kMotor
Definition: hkpLimitedHingeConstraintData.h:14
@ kAngle1
Definition: hkpLimitedHingeConstraintData.h:19
@ kAngle0
Definition: hkpLimitedHingeConstraintData.h:18
@ kLinear2
Definition: hkpLimitedHingeConstraintData.h:23
@ kNUM
Definition: hkpLimitedHingeConstraintData.h:25
@ kLimit
Definition: hkpLimitedHingeConstraintData.h:16
@ kLinear1
Definition: hkpLimitedHingeConstraintData.h:22
@ kFriction
Definition: hkpLimitedHingeConstraintData.h:15
static constexpr auto RTTI
Definition: hkpLimitedHingeConstraintData.h:28
static constexpr auto VTABLE
Definition: hkpLimitedHingeConstraintData.h:29
Definition: hkpSolverResults.h:7
float data
Definition: hkpSolverResults.h:10
Definition: AbsorbEffect.h:6
constexpr std::array< REL::VariantID, 1 > VTABLE_hkpLimitedHingeConstraintData
Definition: Offsets_VTABLE.h:5021
constexpr REL::VariantID RTTI_hkpLimitedHingeConstraintData(689871, 397726, 0x1f597a8)
Definition: hkpConstraintAtom.h:99
Definition: hkpConstraintAtom.h:145
Definition: hkpConstraintAtom.h:105
Definition: hkpConstraintAtom.h:154
Definition: hkpConstraintAtom.h:81
Definition: hkpLimitedHingeConstraintData.h:32
struct hkp2dAngConstraintAtom twoDAng
Definition: hkpLimitedHingeConstraintData.h:38
struct hkpAngFrictionConstraintAtom angFriction
Definition: hkpLimitedHingeConstraintData.h:36
struct hkpAngMotorConstraintAtom angMotor
Definition: hkpLimitedHingeConstraintData.h:35
struct hkpSetLocalTransformsConstraintAtom transforms
Definition: hkpLimitedHingeConstraintData.h:33
struct hkpAngLimitConstraintAtom angLimit
Definition: hkpLimitedHingeConstraintData.h:37
struct hkpSetupStabilizationAtom setupStabilization
Definition: hkpLimitedHingeConstraintData.h:34
struct hkpBallSocketConstraintAtom ballSocket
Definition: hkpLimitedHingeConstraintData.h:39
Definition: hkpLimitedHingeConstraintData.h:44
bool previousTargetInitialized
Definition: hkpLimitedHingeConstraintData.h:51
float previousTargetAngle
Definition: hkpLimitedHingeConstraintData.h:52
hkpSolverResults solverResults[SolverResultType::kNUM]
Definition: hkpLimitedHingeConstraintData.h:50
float getCurrentAngle()
Definition: hkpLimitedHingeConstraintData.h:45
Definition: hkpConstraintAtom.h:91
Definition: hkpConstraintAtom.h:73