CommonLibVR
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 constexpr auto Ni_RTTI = NiRTTI_BSMultiBoundAABB;
13  inline static constexpr auto VTABLE = VTABLE_BSMultiBoundAABB;
14 
15  ~BSMultiBoundAABB() override; // 00
16 
17  // override (NiObject)
18  const NiRTTI* GetRTTI() const override; // 02
19  NiObject* CreateClone(NiCloningProcess& a_cloning) override; // 17
20  void LoadBinary(NiStream& a_stream) override; // 18
21  void LinkObject(NiStream& a_stream) override; // 19
22  bool RegisterStreamables(NiStream& a_stream) override; // 1A
23  void SaveBinary(NiStream& a_stream) override; // 1B
24  bool IsEqual(NiObject* a_object) override; // 1C
25  std::uint32_t GetType() override; // 25 - { return 1; }
26  float GetLength() override; // 26
27  bool Unk_27() override; // 27
28  void Unk_28() override; // 28
29  bool Unk_29() override; // 29
30  void Unk_2A() override; // 2A
31  void Unk_2B() override; // 2B
32  bool GetWithinPoint(const NiPoint3& a_pos) override; // 2C
33  void SetCenter(const NiPoint3& a_center) override; // 2D
34  void Unk_2E() override; // 2E
35 
36  // members
37  std::uint32_t pad18; // 18
38  NiPoint3 center; // 1C - world coordinates
39  std::uint32_t pad28; // 28
40  NiPoint3 size; // 2C
41  std::uint32_t pad38; // 38
42  std::uint32_t pad3C; // 3C
43  private:
44  KEEP_FOR_RE()
45  };
46  static_assert(sizeof(BSMultiBoundAABB) == 0x40);
47 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: BSMultiBoundAABB.h:9
bool Unk_29() override
float GetLength() override
std::uint32_t pad18
Definition: BSMultiBoundAABB.h:37
std::uint32_t pad3C
Definition: BSMultiBoundAABB.h:42
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:38
void SetCenter(const NiPoint3 &a_center) override
const NiRTTI * GetRTTI() const override
static constexpr auto VTABLE
Definition: BSMultiBoundAABB.h:13
static constexpr auto Ni_RTTI
Definition: BSMultiBoundAABB.h:12
static constexpr auto RTTI
Definition: BSMultiBoundAABB.h:11
NiPoint3 size
Definition: BSMultiBoundAABB.h:40
std::uint32_t pad28
Definition: BSMultiBoundAABB.h:39
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:41
void SaveBinary(NiStream &a_stream) override
void Unk_2B() override
~BSMultiBoundAABB() override
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::ID RTTI_BSMultiBoundAABB(static_cast< std::uint64_t >(513957))
constexpr std::array< REL::ID, 1 > VTABLE_BSMultiBoundAABB
Definition: Offsets_VTABLE.h:9252
constexpr REL::ID NiRTTI_BSMultiBoundAABB(static_cast< std::uint64_t >(524554))