CommonLibSSE (Parapets fork)
hkpShapeCollection.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/H/hkpShape.h"
6 
7 namespace RE
8 {
10  public hkpShape, // 00
11  public hkpShapeContainer // 20
12  {
13  public:
14  inline static constexpr auto RTTI = RTTI_hkpShapeCollection;
15 
16  enum class CollectionType
17  {
18  kList,
21  kUser,
23  kMeshShape,
25 
26  kTotal
27  };
28 
29  ~hkpShapeCollection() override; // 00
30 
31  // override (hkpShape)
32  void CalcContentStatistics(hkStatisticsCollector* a_collector, const hkClass* a_class) const override; // 02
33  float GetMaximumProjection(const hkVector4& a_direction) const override; // 03
34  const hkpShapeContainer* GetContainer() const override; // 04
35  void GetAabbImpl(const hkTransform& a_localToWorld, float a_tolerance, hkAabb& a_out) const override; // 07
36  bool CastRayImpl(const hkpShapeRayCastInput& a_input, hkpShapeRayCastOutput& a_output) const override; // 08
37  void CastRayWithCollectorImpl(const hkpShapeRayCastInput& a_input, const hkpCdBody& a_cdBody, hkpRayHitCollector& a_collector) const override; // 09
38 
39  // override (hkpShapeContainer)
40  bool IsWeldingEnabled() const override; // 06 - { return !disableWelding; }
41 
42  // add
43  virtual void InitWeldingInfo(hkpWeldingUtility::WeldingType a_weldingType); // 0B - { return; }
44  virtual void SetWeldingInfo(hkpShapeKey a_key, std::int16_t a_weldingInfo); // 0C - { return; }
45 
46  // members
47  bool disableWelding; // 28
49  std::uint16_t pad2A; // 2A
50  std::uint32_t pad2C; // 2C
51  };
52  static_assert(sizeof(hkpShapeCollection) == 0x30);
53 }
Definition: hkAabb.h:8
Definition: hkTransform.h:9
Definition: hkVector4.h:8
Definition: hkpCdBody.h:8
Definition: hkpShapeCollection.h:12
virtual void SetWeldingInfo(hkpShapeKey a_key, std::int16_t a_weldingInfo)
bool disableWelding
Definition: hkpShapeCollection.h:47
static constexpr auto RTTI
Definition: hkpShapeCollection.h:14
void CastRayWithCollectorImpl(const hkpShapeRayCastInput &a_input, const hkpCdBody &a_cdBody, hkpRayHitCollector &a_collector) const override
float GetMaximumProjection(const hkVector4 &a_direction) const override
std::uint32_t pad2C
Definition: hkpShapeCollection.h:50
CollectionType
Definition: hkpShapeCollection.h:17
const hkpShapeContainer * GetContainer() const override
std::uint16_t pad2A
Definition: hkpShapeCollection.h:49
virtual void InitWeldingInfo(hkpWeldingUtility::WeldingType a_weldingType)
~hkpShapeCollection() override
void CalcContentStatistics(hkStatisticsCollector *a_collector, const hkClass *a_class) const override
stl::enumeration< CollectionType, std::uint8_t > collectionType
Definition: hkpShapeCollection.h:48
bool IsWeldingEnabled() const override
bool CastRayImpl(const hkpShapeRayCastInput &a_input, hkpShapeRayCastOutput &a_output) const override
void GetAabbImpl(const hkTransform &a_localToWorld, float a_tolerance, hkAabb &a_out) const override
Definition: hkpShapeContainer.h:6
Definition: hkpShape.h:31
WeldingType
Definition: hkpWeldingUtility.h:14
Definition: AbsorbEffect.h:6
std::uint32_t hkpShapeKey
Definition: hkpShape.h:27
constexpr REL::ID RTTI_hkpShapeCollection
Definition: Offsets_RTTI.h:7720
Definition: hkpShapeRayCastOutput.h:9