CommonLibVR
LocalMapCamera.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSTSmartPointer.h"
4 #include "RE/N/NiPoint3.h"
5 #include "RE/N/NiSmartPointer.h"
6 #include "RE/T/TESCamera.h"
7 #include "RE/T/TESCameraState.h"
8 
9 namespace RE
10 {
11  class NiCamera;
12 
13  class LocalMapCamera : public TESCamera
14  {
15  public:
16  inline static constexpr auto RTTI = RTTI_LocalMapCamera;
17  inline static constexpr auto VTABLE = VTABLE_LocalMapCamera;
18 
20  {
21  public:
22  inline static constexpr auto RTTI = RTTI_LocalMapCamera__DefaultState;
23  inline static constexpr auto VTABLE = VTABLE_LocalMapCamera__DefaultState;
24 
25  ~DefaultState() override; // 00
26 
27  // add
28  void Begin() override; // 01
29  void Update(BSTSmartPointer<TESCameraState>& a_nextState) override; // 03
30 
31  // members
34  float zoom; // 38
35  float minFrustumHalfWidth; // 3C
36  float minFrustumHalfHeight; // 40
37  std::uint32_t pad44; // 44
38  };
39  static_assert(sizeof(DefaultState) == 0x48);
40 
41  LocalMapCamera(float a_zRotation);
42  ~LocalMapCamera() override; // 00
43 
44  void SetAreaBounds(NiPoint3& a_maxExtent, NiPoint3& a_minExtent);
46  void SetDefaultStateMinFrustumDimensions(float a_width, float a_height);
47  void SetDefaultStateTranslation(float a_x, float a_y, float a_z);
48  void SetNorthRotation(float a_northRotation);
49 
50  // members
55  float zRotation; // 60
56  std::uint32_t pad64; // 64
57 
58  protected:
59  LocalMapCamera* Ctor(float a_zRotation);
60 
61  private:
62  KEEP_FOR_RE()
63  };
64  static_assert(sizeof(LocalMapCamera) == 0x68);
65 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: BSTSmartPointer.h:37
Definition: LocalMapCamera.h:20
static constexpr auto VTABLE
Definition: LocalMapCamera.h:23
float zoom
Definition: LocalMapCamera.h:34
void Update(BSTSmartPointer< TESCameraState > &a_nextState) override
std::uint32_t pad44
Definition: LocalMapCamera.h:37
float minFrustumHalfWidth
Definition: LocalMapCamera.h:35
NiPoint3 translation
Definition: LocalMapCamera.h:33
static constexpr auto RTTI
Definition: LocalMapCamera.h:22
NiPoint3 initialPosition
Definition: LocalMapCamera.h:32
float minFrustumHalfHeight
Definition: LocalMapCamera.h:36
Definition: LocalMapCamera.h:14
void SetDefaultStateTranslation(float a_x, float a_y, float a_z)
LocalMapCamera * Ctor(float a_zRotation)
static constexpr auto VTABLE
Definition: LocalMapCamera.h:17
NiPointer< NiCamera > camera
Definition: LocalMapCamera.h:54
NiPoint3 maxExtent
Definition: LocalMapCamera.h:51
BSTSmartPointer< DefaultState > defaultState
Definition: LocalMapCamera.h:53
void SetAreaBounds(NiPoint3 &a_maxExtent, NiPoint3 &a_minExtent)
void SetDefaultStateMinFrustumDimensions(float a_width, float a_height)
LocalMapCamera(float a_zRotation)
float zRotation
Definition: LocalMapCamera.h:55
NiPoint3 minExtent
Definition: LocalMapCamera.h:52
static constexpr auto RTTI
Definition: LocalMapCamera.h:16
void SetDefaultStateInitialPosition(NiPoint3 &a_position)
std::uint32_t pad64
Definition: LocalMapCamera.h:56
~LocalMapCamera() override
void SetNorthRotation(float a_northRotation)
Definition: NiPoint3.h:6
Definition: NiSmartPointer.h:9
Definition: TESCameraState.h:16
Definition: TESCamera.h:13
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_LocalMapCamera(static_cast< std::uint64_t >(684973))
constexpr std::array< REL::ID, 1 > VTABLE_LocalMapCamera
Definition: Offsets_VTABLE.h:11965
constexpr REL::ID RTTI_LocalMapCamera__DefaultState(static_cast< std::uint64_t >(684975))
constexpr std::array< REL::ID, 1 > VTABLE_LocalMapCamera__DefaultState
Definition: Offsets_VTABLE.h:11966