CommonLibSSE (powerof3)
Loading...
Searching...
No Matches
hkpCompressedMeshShape.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/H/hkAabb.h"
4#include "RE/H/hkArray.h"
6#include "RE/H/hkVector4.h"
9
10namespace RE
11{
12 class hkpMeshMaterial;
13 class hkpNamedMeshMaterial;
14
16 {
17 public:
18 inline static constexpr auto RTTI = RTTI_hkpCompressedMeshShape;
19
20 enum class MaterialType
21 {
27 };
28
29 class Chunk
30 {
31 public:
32 //members
38 std::uint32_t materialInfo; // 50
39 std::uint16_t reference; // 54
40 std::uint16_t transformIndex; // 56
41 std::uint64_t pad58; // 58
42 };
43 static_assert(sizeof(Chunk) == 0x60);
44
46 {
47 public:
48 //members
49 std::uint16_t a; // 00
50 std::uint16_t b; // 02
51 std::uint16_t c; // 04
52 std::uint16_t pad06; // 06
53 std::uint32_t material; // 08
54 std::uint16_t weldingInfo; // 0C
55 std::uint16_t transformIndex; // 0E
56 };
57 static_assert(sizeof(BigTriangle) == 0x10);
58
60 {
61 public:
62 //members
67 std::uint16_t reference; // 40
68 std::uint16_t transformIndex; // 42
69 std::uint8_t pad44[12]; // 44
70 };
71 static_assert(sizeof(ConvexPiece) == 0x50);
72
73 ~hkpCompressedMeshShape() override; // 00
74
75 // override (hkpShapeCollection)
76 void CalcContentStatistics(hkStatisticsCollector* a_collector, const hkClass* a_class) const override; // 02
77 std::int32_t CalcSizeForSpu(const CalcSizeForSpuInput& a_input, std::int32_t a_spuBufferSizeLeft) const override; // 06
78 void GetAabbImpl(const hkTransform& a_localToWorld, float a_tolerance, hkAabb& a_out) const override; // 07
79 void InitWeldingInfo(hkpWeldingUtility::WeldingType a_weldingType) override; // 0B
80 void SetWeldingInfo(hkpShapeKey a_key, std::int16_t a_weldingInfo) override; // 0C
81
82 // members
83 std::int32_t bitsPerIndex; // 030
84 std::int32_t bitsPerWIndex; // 034
85 std::int32_t wIndexMask; // 03C
86 std::int32_t indexMask; // 038
87 float radius; // 040
90 std::uint16_t pad46; // 046
99 float error; // 0C8
100 std::uint32_t padCC; // 0CC
102 std::uint32_t defaultCollisionFilterInfo; // 0F0
103 std::uint32_t padF4; // 0F4
105 std::uint16_t materialStriding; // 100
106 std::uint16_t numMaterials; // 102
107 std::uint32_t pad104; // 104
109 std::uint64_t pad118; // 118
110 };
111 static_assert(sizeof(hkpCompressedMeshShape) == 0x120);
112}
Definition: hkAabb.h:8
Definition: hkArray.h:189
Definition: hkTransform.h:9
Definition: hkVector4.h:9
Definition: hkpCompressedMeshShape.h:46
std::uint32_t material
Definition: hkpCompressedMeshShape.h:53
std::uint16_t pad06
Definition: hkpCompressedMeshShape.h:52
std::uint16_t a
Definition: hkpCompressedMeshShape.h:49
std::uint16_t c
Definition: hkpCompressedMeshShape.h:51
std::uint16_t weldingInfo
Definition: hkpCompressedMeshShape.h:54
std::uint16_t b
Definition: hkpCompressedMeshShape.h:50
std::uint16_t transformIndex
Definition: hkpCompressedMeshShape.h:55
Definition: hkpCompressedMeshShape.h:30
std::uint32_t materialInfo
Definition: hkpCompressedMeshShape.h:38
std::uint16_t transformIndex
Definition: hkpCompressedMeshShape.h:40
hkArray< std::uint16_t > indices
Definition: hkpCompressedMeshShape.h:35
std::uint64_t pad58
Definition: hkpCompressedMeshShape.h:41
hkVector4 offset
Definition: hkpCompressedMeshShape.h:33
hkArray< std::uint16_t > weldingInfo
Definition: hkpCompressedMeshShape.h:37
hkArray< std::uint16_t > stripLengths
Definition: hkpCompressedMeshShape.h:36
std::uint16_t reference
Definition: hkpCompressedMeshShape.h:39
hkArray< std::uint16_t > vertices
Definition: hkpCompressedMeshShape.h:34
Definition: hkpCompressedMeshShape.h:60
hkArray< std::uint16_t > faceVertices
Definition: hkpCompressedMeshShape.h:65
std::uint16_t transformIndex
Definition: hkpCompressedMeshShape.h:68
std::uint16_t reference
Definition: hkpCompressedMeshShape.h:67
std::uint8_t pad44[12]
Definition: hkpCompressedMeshShape.h:69
hkVector4 offset
Definition: hkpCompressedMeshShape.h:63
hkArray< std::uint16_t > faceOffsets
Definition: hkpCompressedMeshShape.h:66
hkArray< std::uint16_t > vertices
Definition: hkpCompressedMeshShape.h:64
Definition: hkpCompressedMeshShape.h:16
void GetAabbImpl(const hkTransform &a_localToWorld, float a_tolerance, hkAabb &a_out) const override
std::uint16_t materialStriding
Definition: hkpCompressedMeshShape.h:105
std::int32_t indexMask
Definition: hkpCompressedMeshShape.h:86
hkArray< std::uint32_t > materials
Definition: hkpCompressedMeshShape.h:91
std::uint32_t padCC
Definition: hkpCompressedMeshShape.h:100
std::uint64_t pad118
Definition: hkpCompressedMeshShape.h:109
~hkpCompressedMeshShape() override
std::int32_t wIndexMask
Definition: hkpCompressedMeshShape.h:85
std::int32_t CalcSizeForSpu(const CalcSizeForSpuInput &a_input, std::int32_t a_spuBufferSizeLeft) const override
std::uint32_t defaultCollisionFilterInfo
Definition: hkpCompressedMeshShape.h:102
std::uint32_t padF4
Definition: hkpCompressedMeshShape.h:103
stl::enumeration< hkpWeldingUtility::WeldingType, std::uint8_t > weldingType
Definition: hkpCompressedMeshShape.h:88
hkAabb bounds
Definition: hkpCompressedMeshShape.h:101
float radius
Definition: hkpCompressedMeshShape.h:87
void CalcContentStatistics(hkStatisticsCollector *a_collector, const hkClass *a_class) const override
std::int32_t bitsPerIndex
Definition: hkpCompressedMeshShape.h:83
MaterialType
Definition: hkpCompressedMeshShape.h:21
std::int32_t bitsPerWIndex
Definition: hkpCompressedMeshShape.h:84
hkArray< BigTriangle > bigTriangles
Definition: hkpCompressedMeshShape.h:96
std::uint16_t pad46
Definition: hkpCompressedMeshShape.h:90
float error
Definition: hkpCompressedMeshShape.h:99
hkArray< std::uint16_t > materials16
Definition: hkpCompressedMeshShape.h:92
hkArray< hkVector4 > bigVertices
Definition: hkpCompressedMeshShape.h:95
hkArray< Chunk > chunks
Definition: hkpCompressedMeshShape.h:97
hkArray< hkpNamedMeshMaterial > namedMaterials
Definition: hkpCompressedMeshShape.h:108
hkArray< hkQsTransform > transforms
Definition: hkpCompressedMeshShape.h:94
static constexpr auto RTTI
Definition: hkpCompressedMeshShape.h:18
hkpMeshMaterial * meshMaterials
Definition: hkpCompressedMeshShape.h:104
stl::enumeration< MaterialType, std::uint8_t > materialType
Definition: hkpCompressedMeshShape.h:89
void SetWeldingInfo(hkpShapeKey a_key, std::int16_t a_weldingInfo) override
std::uint16_t numMaterials
Definition: hkpCompressedMeshShape.h:106
hkArray< std::uint8_t > materials8
Definition: hkpCompressedMeshShape.h:93
void InitWeldingInfo(hkpWeldingUtility::WeldingType a_weldingType) override
hkArray< ConvexPiece > convexPieces
Definition: hkpCompressedMeshShape.h:98
std::uint32_t pad104
Definition: hkpCompressedMeshShape.h:107
Definition: hkpMeshMaterial.h:6
Definition: hkpShapeCollection.h:12
WeldingType
Definition: hkpWeldingUtility.h:14
Definition: PCH.h:217
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_hkpCompressedMeshShape(static_cast< std::uint64_t >(690843))
std::uint32_t hkpShapeKey
Definition: hkpContactPointEvent.h:12
Definition: hkpShape.h:50