CommonLibSSE NG
hkpCollisionFilter.h
Go to the documentation of this file.
1 #pragma once
2 
8 
9 namespace RE
10 {
11  class hkpBvTreeShape;
12  class hkpWorld;
13 
15  public hkReferencedObject, // 00
16  public hkpCollidableCollidableFilter, // 08
17  public hkpShapeCollectionFilter, // 10
18  public hkpRayShapeCollectionFilter, // 18
19  public hkpRayCollidableFilter // 20
20  {
21  public:
22  inline static constexpr auto RTTI = RTTI_hkpCollisionFilter;
23  inline static constexpr auto VTABLE = VTABLE_hkpCollisionFilter;
24 
25  enum class hkpFilterType
26  {
27  kUnknown = 0,
28  kNull = 1,
29  kGroup = 2,
30  kList = 3,
31  kFilterCustom = 4,
32  kFilterPair = 5,
34  };
35 
36  ~hkpCollisionFilter() override; // 00
37 
38  // add
39  virtual void Init(hkpWorld* world);
40 
41  // override (hkpShapeCollectionFilter)
42  std::int32_t NumShapeKeyHitsLimitBreached(const hkpCollisionInput& a_input, const hkpCdBody& a_bodyA, const hkpCdBody& a_bodyB, const hkpBvTreeShape* a_shapeB, hkAabb& a_AABB, hkpShapeKey* a_shapeKeysInOut, std::int32_t a_shapeKeysCapacity) const override; // 02
43 
44  // members
45  std::uint32_t pad30; // 30
46  std::uint32_t pad34; // 34
48  std::uint32_t pad3C; // 3C
49  std::uint32_t pad40; // 40
50  std::uint32_t pad44; // 44
51  };
52  static_assert(sizeof(hkpCollisionFilter) == 0x48);
53 }
Definition: hkAabb.h:8
Definition: hkReferencedObject.h:11
Definition: hkpBvTreeShape.h:12
Definition: hkpCdBody.h:8
Definition: hkpCollidableCollidableFilter.h:8
Definition: hkpCollisionFilter.h:20
stl::enumeration< hkpFilterType, std::uint32_t > type
Definition: hkpCollisionFilter.h:47
hkpFilterType
Definition: hkpCollisionFilter.h:26
std::uint32_t pad34
Definition: hkpCollisionFilter.h:46
std::uint32_t pad3C
Definition: hkpCollisionFilter.h:48
std::uint32_t pad40
Definition: hkpCollisionFilter.h:49
virtual void Init(hkpWorld *world)
static constexpr auto RTTI
Definition: hkpCollisionFilter.h:22
std::uint32_t pad30
Definition: hkpCollisionFilter.h:45
std::uint32_t pad44
Definition: hkpCollisionFilter.h:50
std::int32_t NumShapeKeyHitsLimitBreached(const hkpCollisionInput &a_input, const hkpCdBody &a_bodyA, const hkpCdBody &a_bodyB, const hkpBvTreeShape *a_shapeB, hkAabb &a_AABB, hkpShapeKey *a_shapeKeysInOut, std::int32_t a_shapeKeysCapacity) const override
static constexpr auto VTABLE
Definition: hkpCollisionFilter.h:23
~hkpCollisionFilter() override
Definition: hkpRayCollidableFilter.h:10
Definition: hkpRayShapeCollectionFilter.h:12
Definition: hkpShapeCollectionFilter.h:15
Definition: hkpWorld.h:62
Definition: AbsorbEffect.h:6
constexpr std::array< REL::VariantID, 5 > VTABLE_hkpCollisionFilter
Definition: Offsets_VTABLE.h:4968
constexpr REL::VariantID RTTI_hkpCollisionFilter(689813, 397668, 0x1f58cc8)
std::uint32_t hkpShapeKey
Definition: hkpContactPointEvent.h:12
Definition: hkpCollisionInput.h:13