CommonLibVR
hkpBoxShape.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/H/hkVector4.h"
4 #include "RE/H/hkpConvexShape.h"
5 
6 namespace RE
7 {
8  class hkpBoxShape : public hkpConvexShape
9  {
10  public:
11  inline static constexpr auto RTTI = RTTI_hkpBoxShape;
12  inline static constexpr auto VTABLE = VTABLE_hkpBoxShape;
13 
14  ~hkpBoxShape() override; // 00
15 
16  // overwrite
17  void CalcContentStatistics(hkStatisticsCollector* a_collector, const hkClass* a_class) const override; // 02
18  std::int32_t CalcSizeForSpu(const CalcSizeForSpuInput& a_input, std::int32_t a_spuBufferSizeLeft) const override; // 06 - { return 64; }
19  void GetAabbImpl(const hkTransform& a_localToWorld, float a_tolerance, hkAabb& a_out) const override; // 07
20  bool CastRayImpl(const hkpShapeRayCastInput& a_input, hkpShapeRayCastOutput& a_output) const override; // 08
21  std::int32_t GetNumCollisionSpheresImpl() override; // 0B - { return 8; }
22  const hkpSphere* GetCollisionSpheresImpl(hkSphere* a_sphereBuffer) override; // 0C
23  void GetCentreImpl(hkVector4& a_centreOut) override; // 0D
24  void Unk_0E(void) override; // 0E
25  void Unk_0F(void) override; // 0F
26  void Unk_11(void) override; // 11
27 
28  // members
29  std::uint32_t pad28; // 28
30  std::uint32_t pad2C; // 2C
32  private:
33  KEEP_FOR_RE()
34  };
35  static_assert(sizeof(hkpBoxShape) == 0x40);
36 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: hkAabb.h:8
Definition: hkTransform.h:9
Definition: hkVector4.h:9
Definition: hkpBoxShape.h:9
std::int32_t GetNumCollisionSpheresImpl() override
void Unk_11(void) override
~hkpBoxShape() override
void CalcContentStatistics(hkStatisticsCollector *a_collector, const hkClass *a_class) const override
hkVector4 halfExtents
Definition: hkpBoxShape.h:31
std::uint32_t pad2C
Definition: hkpBoxShape.h:30
void Unk_0F(void) override
void Unk_0E(void) override
void GetAabbImpl(const hkTransform &a_localToWorld, float a_tolerance, hkAabb &a_out) const override
void GetCentreImpl(hkVector4 &a_centreOut) override
static constexpr auto VTABLE
Definition: hkpBoxShape.h:12
bool CastRayImpl(const hkpShapeRayCastInput &a_input, hkpShapeRayCastOutput &a_output) const override
const hkpSphere * GetCollisionSpheresImpl(hkSphere *a_sphereBuffer) override
static constexpr auto RTTI
Definition: hkpBoxShape.h:11
std::int32_t CalcSizeForSpu(const CalcSizeForSpuInput &a_input, std::int32_t a_spuBufferSizeLeft) const override
std::uint32_t pad28
Definition: hkpBoxShape.h:29
Definition: hkpConvexShape.h:8
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_hkpBoxShape(static_cast< std::uint64_t >(689807))
constexpr std::array< REL::ID, 1 > VTABLE_hkpBoxShape
Definition: Offsets_VTABLE.h:14150
Definition: hkpShapeRayCastOutput.h:9
Definition: hkpShape.h:51