CommonLibSSE NG
BSMultiBoundAABB.h
Go to the documentation of this file.
1 #pragma once
2 
4 #include "RE/N/NiPoint3.h"
5 
6 namespace RE
7 {
9  {
10  public:
11  inline static constexpr auto RTTI = RTTI_BSMultiBoundAABB;
12  inline static auto Ni_RTTI = NiRTTI_BSMultiBoundAABB;
13 
14  ~BSMultiBoundAABB() override; // 00
15 
16  // override (NiObject)
17  const NiRTTI* GetRTTI() const override; // 02
18  NiObject* CreateClone(NiCloningProcess& a_cloning) override; // 17
19  void LoadBinary(NiStream& a_stream) override; // 18
20  void LinkObject(NiStream& a_stream) override; // 19
21  bool RegisterStreamables(NiStream& a_stream) override; // 1A
22  void SaveBinary(NiStream& a_stream) override; // 1B
23  bool IsEqual(NiObject* a_object) override; // 1C
24  std::uint32_t GetType() override; // 25 - { return 1; }
25  float GetLength() override; // 26
26  bool Unk_27() override; // 27
27  void Unk_28() override; // 28
28  bool Unk_29() override; // 29
29  void Unk_2A() override; // 2A
30  void Unk_2B() override; // 2B
31  bool GetWithinPoint(const NiPoint3& a_pos) override; // 2C
32  void SetCenter(const NiPoint3& a_center) override; // 2D
33  void Unk_2E() override; // 2E
34 
35  // members
36  std::uint32_t pad18; // 18
37  NiPoint3 center; // 1C - world coordinates
38  std::uint32_t pad28; // 28
39  NiPoint3 size; // 2C
40  std::uint32_t pad38; // 38
41  std::uint32_t pad3C; // 3C
42  };
43  static_assert(sizeof(BSMultiBoundAABB) == 0x40);
44 }
Definition: BSMultiBoundAABB.h:9
bool Unk_29() override
float GetLength() override
std::uint32_t pad18
Definition: BSMultiBoundAABB.h:36
std::uint32_t pad3C
Definition: BSMultiBoundAABB.h:41
bool Unk_27() override
bool GetWithinPoint(const NiPoint3 &a_pos) override
bool RegisterStreamables(NiStream &a_stream) override
std::uint32_t GetType() override
NiPoint3 center
Definition: BSMultiBoundAABB.h:37
void SetCenter(const NiPoint3 &a_center) override
const NiRTTI * GetRTTI() const override
static constexpr auto RTTI
Definition: BSMultiBoundAABB.h:11
NiPoint3 size
Definition: BSMultiBoundAABB.h:39
std::uint32_t pad28
Definition: BSMultiBoundAABB.h:38
void Unk_28() override
void LinkObject(NiStream &a_stream) override
bool IsEqual(NiObject *a_object) override
void Unk_2E() override
std::uint32_t pad38
Definition: BSMultiBoundAABB.h:40
void SaveBinary(NiStream &a_stream) override
void Unk_2B() override
~BSMultiBoundAABB() override
static auto Ni_RTTI
Definition: BSMultiBoundAABB.h:12
void Unk_2A() override
NiObject * CreateClone(NiCloningProcess &a_cloning) override
void LoadBinary(NiStream &a_stream) override
Definition: BSMultiBoundShape.h:8
Definition: NiCloningProcess.h:10
Definition: NiObject.h:37
Definition: NiPoint3.h:6
Definition: NiRTTI.h:6
Definition: NiStream.h:29
Definition: AbsorbEffect.h:6
constexpr REL::VariantID NiRTTI_BSMultiBoundAABB(524554, 411152, 0x3175fb0)
constexpr REL::VariantID RTTI_BSMultiBoundAABB(513957, 392660, 0x1edc548)