CommonLibVR
BSTriShape.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSGeometry.h"
4 
5 namespace RE
6 {
7  class BSTriShape : public BSGeometry
8  {
9  public:
10  inline static constexpr auto RTTI = RTTI_BSTriShape;
11  inline static constexpr auto Ni_RTTI = NiRTTI_BSTriShape;
12  inline static constexpr auto VTABLE = VTABLE_BSTriShape;
13 
14  ~BSTriShape() override; // 00
15 
16  // override (BSGeometry)
17  const NiRTTI* GetRTTI() const override; // 02
18  BSTriShape* AsTriShape() override; // 09
19  NiObject* CreateClone(NiCloningProcess& a_cloning) override; // 17
20  void LoadBinary(NiStream& a_stream) override; // 18
21  void LinkObject(NiStream& a_stream) override; // 19 - { BSGeometry::LinkObject(a_stream); }
22  bool RegisterStreamables(NiStream& a_stream) override; // 1A - { return BSGeometry::RegisterStreamables(a_stream); }
23  void SaveBinary(NiStream& a_stream) override; // 1B
24  bool IsEqual(NiObject* a_object) override; // 1C - { return false; }
25 
26  // members
27  std::uint16_t triangleCount; // 158 VR 198
28  std::uint16_t vertexCount; // 15A VR 19A
29  std::uint32_t pad15C; // 15C VR 19C
30  private:
31  KEEP_FOR_RE()
32  };
33 #ifndef SKYRIMVR
34  static_assert(sizeof(BSTriShape) == 0x160);
35 #else
36  static_assert(sizeof(BSTriShape) == 0x1A0);
37 #endif
38 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: BSGeometry.h:17
Definition: BSTriShape.h:8
std::uint16_t vertexCount
Definition: BSTriShape.h:28
bool IsEqual(NiObject *a_object) override
std::uint16_t triangleCount
Definition: BSTriShape.h:27
BSTriShape * AsTriShape() override
std::uint32_t pad15C
Definition: BSTriShape.h:29
void LoadBinary(NiStream &a_stream) override
void LinkObject(NiStream &a_stream) override
static constexpr auto Ni_RTTI
Definition: BSTriShape.h:11
bool RegisterStreamables(NiStream &a_stream) override
static constexpr auto RTTI
Definition: BSTriShape.h:10
static constexpr auto VTABLE
Definition: BSTriShape.h:12
~BSTriShape() override
NiObject * CreateClone(NiCloningProcess &a_cloning) override
void SaveBinary(NiStream &a_stream) override
const NiRTTI * GetRTTI() const override
Definition: NiCloningProcess.h:10
Definition: NiObject.h:37
Definition: NiRTTI.h:6
Definition: NiStream.h:29
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_BSTriShape(static_cast< std::uint64_t >(685042))
constexpr REL::ID NiRTTI_BSTriShape(static_cast< std::uint64_t >(523928))
constexpr std::array< REL::ID, 1 > VTABLE_BSTriShape
Definition: Offsets_VTABLE.h:10557