CommonLibSSE (Parapets fork)
hkpCharacterProxy.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/H/hkArray.h"
5 #include "RE/H/hkVector4.h"
8 
9 namespace RE
10 {
11  class hkpAllCdPointCollector;
12  class hkpCharacterProxyListener;
13  class hkpPhantom;
14  class hkpRigidBody;
15  class hkpShapePhantom;
16  class hkpTriggerVolume;
17  struct hkpRootCdPoint;
18  struct hkpSurfaceConstraintInfo;
19 
21  public hkReferencedObject, // 00
22  public hkpEntityListener, // 10
23  public hkpPhantomListener // 18
24  {
25  public:
26  inline static constexpr auto RTTI = RTTI_hkpCharacterProxy;
27 
28  ~hkpCharacterProxy() override; // 00
29 
30  // override (hkReferencedObject)
31  void CalcContentStatistics(hkStatisticsCollector* a_collector, const hkClass* a_class) const override; // 02
32 
33  // override (hkpEntityListener)
34  void EntityRemovedCallback(hkpEntity* a_entity) override; // 02
35 
36  // override (hkpPhantomListener)
37  void PhantomRemovedCallback(hkpPhantom* a_phantom) override; // 02
38 
39  // add
40  virtual void UpdateManifold(const hkpAllCdPointCollector& a_startPointCollector, const hkpAllCdPointCollector& a_castCollector, hkArray<hkpRootCdPoint>& a_manifold, hkArray<hkpRigidBody*>& a_bodies, hkArray<hkpPhantom*>& a_phantoms, bool a_isMultithreaded = false); // 03
41  virtual void ExtractSurfaceConstraintInfo(const hkpRootCdPoint& a_hit, hkpSurfaceConstraintInfo& a_surfaceOut, float a_timeTravelled) const; // 04
42 
43  // members
51  float dynamicFriction; // 88
52  float staticFriction; // 8C
53  hkVector4 up; // 90
54  float extraUpStaticFriction; // A0
56  float keepDistance; // A8
57  float keepContactTolerance; // AC
59  std::int32_t userPlanes; // B4
61  float characterStrength; // BC
62  float characterMass; // C0
63  std::uint32_t padC4; // C4
65  float maxSlopeCosine; // D8
67  std::int32_t maxCastIterations; // E0
69  };
70  static_assert(sizeof(hkpCharacterProxy) == 0xF0);
71 }
Definition: hkArray.h:189
Definition: hkReferencedObject.h:11
Definition: hkVector4.h:8
Definition: hkpAllCdPointCollector.h:10
Definition: hkpCharacterProxy.h:24
float contactAngleSensitivity
Definition: hkpCharacterProxy.h:58
hkVector4 up
Definition: hkpCharacterProxy.h:53
hkArray< hkpTriggerVolume * > overlappingTriggerVolumes
Definition: hkpCharacterProxy.h:47
hkpShapePhantom * shapePhantom
Definition: hkpCharacterProxy.h:50
float extraUpStaticFriction
Definition: hkpCharacterProxy.h:54
hkArray< hkpPhantom * > phantoms
Definition: hkpCharacterProxy.h:46
float maxSlopeCosine
Definition: hkpCharacterProxy.h:65
void EntityRemovedCallback(hkpEntity *a_entity) override
std::uint32_t padC4
Definition: hkpCharacterProxy.h:63
bool refreshManifoldInCheckSupport
Definition: hkpCharacterProxy.h:68
hkArray< hkpRigidBody * > bodies
Definition: hkpCharacterProxy.h:45
float staticFriction
Definition: hkpCharacterProxy.h:52
hkArray< hkpRootCdPoint > manifold
Definition: hkpCharacterProxy.h:44
float penetrationRecoverySpeed
Definition: hkpCharacterProxy.h:66
float keepContactTolerance
Definition: hkpCharacterProxy.h:57
float keepDistance
Definition: hkpCharacterProxy.h:56
virtual void UpdateManifold(const hkpAllCdPointCollector &a_startPointCollector, const hkpAllCdPointCollector &a_castCollector, hkArray< hkpRootCdPoint > &a_manifold, hkArray< hkpRigidBody * > &a_bodies, hkArray< hkpPhantom * > &a_phantoms, bool a_isMultithreaded=false)
float dynamicFriction
Definition: hkpCharacterProxy.h:51
hkVector4 oldDisplacement
Definition: hkpCharacterProxy.h:49
~hkpCharacterProxy() override
void PhantomRemovedCallback(hkpPhantom *a_phantom) override
void CalcContentStatistics(hkStatisticsCollector *a_collector, const hkClass *a_class) const override
hkArray< hkpCharacterProxyListener * > listeners
Definition: hkpCharacterProxy.h:64
virtual void ExtractSurfaceConstraintInfo(const hkpRootCdPoint &a_hit, hkpSurfaceConstraintInfo &a_surfaceOut, float a_timeTravelled) const
float characterStrength
Definition: hkpCharacterProxy.h:61
float extraDownStaticFriction
Definition: hkpCharacterProxy.h:55
static constexpr auto RTTI
Definition: hkpCharacterProxy.h:26
std::int32_t maxCastIterations
Definition: hkpCharacterProxy.h:67
float characterMass
Definition: hkpCharacterProxy.h:62
hkVector4 velocity
Definition: hkpCharacterProxy.h:48
float maxCharacterSpeedForSolver
Definition: hkpCharacterProxy.h:60
std::int32_t userPlanes
Definition: hkpCharacterProxy.h:59
Definition: hkpEntityListener.h:8
Definition: hkpEntity.h:23
Definition: hkpPhantomListener.h:8
Definition: hkpPhantom.h:15
Definition: hkpShapePhantom.h:15
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_hkpCharacterProxy
Definition: Offsets_RTTI.h:7549
Definition: hkpRootCdPoint.h:11
Definition: hkpSimplexSolver.h:8