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