CommonLibSSE (Parapets fork)
hkpPhantom.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/H/hkArray.h"
4 #include "RE/H/hkpPhantomType.h"
5 #include "RE/H/hkpWorldObject.h"
6 
7 namespace RE
8 {
9  class hkAabb;
10  class hkpCollidable;
11  class hkpPhantomListener;
12  class hkpPhantomOverlapListener;
13 
14  class hkpPhantom : public hkpWorldObject
15  {
16  public:
17  inline static constexpr auto RTTI = RTTI_hkpPhantom;
18 
19  ~hkpPhantom() override; // 00
20 
21  // override (hkpWorldObject)
22  void CalcContentStatistics(hkStatisticsCollector* a_collector, const hkClass* a_class) const override; // 02
23 
24  // add
25  virtual hkpPhantomType GetType() const = 0; // 06
26  virtual void CalcAabb(hkAabb& a_aabb) = 0; // 07
27  virtual void AddOverlappingCollidable(hkpCollidable* a_collidable) = 0; // 08
28  virtual bool IsOverlappingCollidableAdded(const hkpCollidable* a_collidable) = 0; // 09
29  virtual void RemoveOverlappingCollidable(hkpCollidable* a_collidable) = 0; // 0A
30  virtual void EnsureDeterministicOrder() = 0; // 0B
31  virtual hkpPhantom* Clone() const = 0; // 0C
32  virtual void UpdateShapeCollectionFilter(); // 0D - { return; }
33  virtual void DeallocateInternalArrays(); // 0E
34 
35  // members
38  };
39  static_assert(sizeof(hkpPhantom) == 0xF0);
40 }
Definition: hkAabb.h:8
Definition: hkpCollidable.h:12
Definition: hkpPhantom.h:15
virtual void EnsureDeterministicOrder()=0
~hkpPhantom() override
virtual bool IsOverlappingCollidableAdded(const hkpCollidable *a_collidable)=0
virtual void CalcAabb(hkAabb &a_aabb)=0
virtual void AddOverlappingCollidable(hkpCollidable *a_collidable)=0
hkArray< hkpPhantomListener * > phantomListeners
Definition: hkpPhantom.h:37
hkArray< hkpPhantomOverlapListener * > overlapListeners
Definition: hkpPhantom.h:36
virtual void DeallocateInternalArrays()
virtual hkpPhantomType GetType() const =0
void CalcContentStatistics(hkStatisticsCollector *a_collector, const hkClass *a_class) const override
virtual void RemoveOverlappingCollidable(hkpCollidable *a_collidable)=0
virtual void UpdateShapeCollectionFilter()
virtual hkpPhantom * Clone() const =0
static constexpr auto RTTI
Definition: hkpPhantom.h:17
Definition: hkpWorldObject.h:27
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_hkpPhantom
Definition: Offsets_RTTI.h:7680
hkpPhantomType
Definition: hkpPhantomType.h:6