CommonLibSSE (powerof3)
hkpShapePhantom.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/H/hkMotionState.h"
4 #include "RE/H/hkpPhantom.h"
5 
6 namespace RE
7 {
8  class hkTransform;
9  class hkpCdBodyPairCollector;
10  class hkpCdPointCollector;
11  struct hkpCollisionInput;
12  struct hkpLinearCastInput;
13 
14  class hkpShapePhantom : public hkpPhantom
15  {
16  public:
17  inline static constexpr auto RTTI = RTTI_hkpShapePhantom;
18 
19  ~hkpShapePhantom() override; // 00
20 
21  // override (hkpPhantom)
22  hkWorldOperation::Result SetShape(const hkpShape* a_shape) override; // 03
23  hkMotionState* GetMotionState() override; // 05 - { return &motionState; }
24  void CalcAabb(hkAabb& a_aabb) override; // 07
25  void DeallocateInternalArrays() override; // 0E - { hkpPhantom::DeallocateInternalArrays(); }
26 
27  // add
28  virtual void SetPositionAndLinearCast(const hkVector4& a_position, const hkpLinearCastInput& a_input, hkpCdPointCollector& a_castCollector, hkpCdPointCollector* a_startCollector) = 0; // 0F
29  virtual void SetTransformAndLinearCast(const hkTransform& a_transform, const hkpLinearCastInput& a_input, hkpCdPointCollector& a_castCollector, hkpCdPointCollector* a_startCollector) = 0; // 10
30  virtual void GetClosestPoints(hkpCdPointCollector& a_collector, const hkpCollisionInput* a_input = 0) = 0; // 11
31  virtual void GetPenetrations(hkpCdBodyPairCollector& a_collector, const hkpCollisionInput* a_input = 0) = 0; // 12
32 
33  // members
35  };
36  static_assert(sizeof(hkpShapePhantom) == 0x1A0);
37 }
Definition: hkAabb.h:8
Definition: hkMotionState.h:11
Definition: hkTransform.h:9
Definition: hkVector4.h:8
Definition: hkpCdPointCollector.h:8
Definition: hkpPhantom.h:15
Definition: hkpShapePhantom.h:15
virtual void SetPositionAndLinearCast(const hkVector4 &a_position, const hkpLinearCastInput &a_input, hkpCdPointCollector &a_castCollector, hkpCdPointCollector *a_startCollector)=0
virtual void GetPenetrations(hkpCdBodyPairCollector &a_collector, const hkpCollisionInput *a_input=0)=0
hkMotionState motionState
Definition: hkpShapePhantom.h:34
hkWorldOperation::Result SetShape(const hkpShape *a_shape) override
void CalcAabb(hkAabb &a_aabb) override
virtual void GetClosestPoints(hkpCdPointCollector &a_collector, const hkpCollisionInput *a_input=0)=0
~hkpShapePhantom() override
void DeallocateInternalArrays() override
static constexpr auto RTTI
Definition: hkpShapePhantom.h:17
hkMotionState * GetMotionState() override
virtual void SetTransformAndLinearCast(const hkTransform &a_transform, const hkpLinearCastInput &a_input, hkpCdPointCollector &a_castCollector, hkpCdPointCollector *a_startCollector)=0
Definition: hkpShape.h:31
Result
Definition: hkpWorldObject.h:20
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_hkpShapePhantom
Definition: Offsets_RTTI.h:7725
Definition: hkpCollisionInput.h:13
Definition: hkpLinearCastInput.h:8