CommonLibVR
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  inline static constexpr auto VTABLE = VTABLE_hkpCharacterProxy;
28 
29  ~hkpCharacterProxy() override; // 00
30 
31  // override (hkReferencedObject)
32  void CalcContentStatistics(hkStatisticsCollector* a_collector, const hkClass* a_class) const override; // 02
33 
34  // override (hkpEntityListener)
35  void EntityRemovedCallback(hkpEntity* a_entity) override; // 02
36 
37  // override (hkpPhantomListener)
38  void PhantomRemovedCallback(hkpPhantom* a_phantom) override; // 02
39 
40  // add
41  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
42  virtual void ExtractSurfaceConstraintInfo(const hkpRootCdPoint& a_hit, hkpSurfaceConstraintInfo& a_surfaceOut, float a_timeTravelled) const; // 04
43 
44  // members
52  float dynamicFriction; // 88
53  float staticFriction; // 8C
54  hkVector4 up; // 90
55  float extraUpStaticFriction; // A0
57  float keepDistance; // A8
58  float keepContactTolerance; // AC
60  std::int32_t userPlanes; // B4
62  float characterStrength; // BC
63  float characterMass; // C0
64  std::uint32_t padC4; // C4
66  float maxSlopeCosine; // D8
68  std::int32_t maxCastIterations; // E0
70  private:
71  KEEP_FOR_RE()
72  };
73  static_assert(sizeof(hkpCharacterProxy) == 0xF0);
74 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: hkArray.h:190
Definition: hkReferencedObject.h:11
Definition: hkVector4.h:9
Definition: hkpAllCdPointCollector.h:10
Definition: hkpCharacterProxy.h:24
float contactAngleSensitivity
Definition: hkpCharacterProxy.h:59
hkVector4 up
Definition: hkpCharacterProxy.h:54
hkArray< hkpTriggerVolume * > overlappingTriggerVolumes
Definition: hkpCharacterProxy.h:48
hkpShapePhantom * shapePhantom
Definition: hkpCharacterProxy.h:51
float extraUpStaticFriction
Definition: hkpCharacterProxy.h:55
hkArray< hkpPhantom * > phantoms
Definition: hkpCharacterProxy.h:47
float maxSlopeCosine
Definition: hkpCharacterProxy.h:66
void EntityRemovedCallback(hkpEntity *a_entity) override
std::uint32_t padC4
Definition: hkpCharacterProxy.h:64
bool refreshManifoldInCheckSupport
Definition: hkpCharacterProxy.h:69
static constexpr auto VTABLE
Definition: hkpCharacterProxy.h:27
hkArray< hkpRigidBody * > bodies
Definition: hkpCharacterProxy.h:46
float staticFriction
Definition: hkpCharacterProxy.h:53
hkArray< hkpRootCdPoint > manifold
Definition: hkpCharacterProxy.h:45
float penetrationRecoverySpeed
Definition: hkpCharacterProxy.h:67
float keepContactTolerance
Definition: hkpCharacterProxy.h:58
float keepDistance
Definition: hkpCharacterProxy.h:57
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:52
hkVector4 oldDisplacement
Definition: hkpCharacterProxy.h:50
~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:65
virtual void ExtractSurfaceConstraintInfo(const hkpRootCdPoint &a_hit, hkpSurfaceConstraintInfo &a_surfaceOut, float a_timeTravelled) const
float characterStrength
Definition: hkpCharacterProxy.h:62
float extraDownStaticFriction
Definition: hkpCharacterProxy.h:56
static constexpr auto RTTI
Definition: hkpCharacterProxy.h:26
std::int32_t maxCastIterations
Definition: hkpCharacterProxy.h:68
float characterMass
Definition: hkpCharacterProxy.h:63
hkVector4 velocity
Definition: hkpCharacterProxy.h:49
float maxCharacterSpeedForSolver
Definition: hkpCharacterProxy.h:61
std::int32_t userPlanes
Definition: hkpCharacterProxy.h:60
Definition: hkpEntityListener.h:8
Definition: hkpEntity.h:25
Definition: hkpPhantomListener.h:8
Definition: hkpPhantom.h:15
Definition: hkpShapePhantom.h:15
Definition: AbsorbEffect.h:6
constexpr std::array< REL::ID, 3 > VTABLE_hkpCharacterProxy
Definition: Offsets_VTABLE.h:14172
constexpr REL::ID RTTI_hkpCharacterProxy(static_cast< std::uint64_t >(689957))
Definition: hkpRootCdPoint.h:11
Definition: hkpSimplexSolver.h:8