CommonLibSSE NG
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 
19  {
20  public:
21  inline static constexpr auto RTTI = RTTI_LocalMapCamera__DefaultState;
22  inline static constexpr auto VTABLE = VTABLE_LocalMapCamera__DefaultState;
23 
24  ~DefaultState() override; // 00
25 
26  // add
27  void Begin() override; // 01
28  void Update(BSTSmartPointer<TESCameraState>& a_nextState) override; // 03
29 
30  // members
33  float zoom; // 38
34  float minFrustumHalfWidth; // 3C
35  float minFrustumHalfHeight; // 40
36  std::uint32_t pad44; // 44
37  };
38  static_assert(sizeof(DefaultState) == 0x48);
39 
40  LocalMapCamera(float a_zRotation);
41  ~LocalMapCamera() override; // 00
42 
43  void SetAreaBounds(NiPoint3& a_maxExtent, NiPoint3& a_minExtent);
45  void SetDefaultStateMinFrustumDimensions(float a_width, float a_height);
46  void SetDefaultStateTranslation(float a_x, float a_y, float a_z);
47  void SetNorthRotation(float a_northRotation);
48 
49  // members
54  float zRotation; // 60
55  std::uint32_t pad64; // 64
56 
57  protected:
58  LocalMapCamera* Ctor(float a_zRotation);
59  };
60  static_assert(sizeof(LocalMapCamera) == 0x68);
61 }
Definition: BSTSmartPointer.h:36
Definition: LocalMapCamera.h:19
static constexpr auto VTABLE
Definition: LocalMapCamera.h:22
float zoom
Definition: LocalMapCamera.h:33
void Update(BSTSmartPointer< TESCameraState > &a_nextState) override
std::uint32_t pad44
Definition: LocalMapCamera.h:36
float minFrustumHalfWidth
Definition: LocalMapCamera.h:34
NiPoint3 translation
Definition: LocalMapCamera.h:32
static constexpr auto RTTI
Definition: LocalMapCamera.h:21
NiPoint3 initialPosition
Definition: LocalMapCamera.h:31
float minFrustumHalfHeight
Definition: LocalMapCamera.h:35
Definition: LocalMapCamera.h:14
void SetDefaultStateTranslation(float a_x, float a_y, float a_z)
LocalMapCamera * Ctor(float a_zRotation)
NiPointer< NiCamera > camera
Definition: LocalMapCamera.h:53
NiPoint3 maxExtent
Definition: LocalMapCamera.h:50
BSTSmartPointer< DefaultState > defaultState
Definition: LocalMapCamera.h:52
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:54
NiPoint3 minExtent
Definition: LocalMapCamera.h:51
static constexpr auto RTTI
Definition: LocalMapCamera.h:16
void SetDefaultStateInitialPosition(NiPoint3 &a_position)
std::uint32_t pad64
Definition: LocalMapCamera.h:55
~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 std::array< REL::VariantID, 1 > VTABLE_LocalMapCamera__DefaultState
Definition: Offsets_VTABLE.h:416
constexpr REL::VariantID RTTI_LocalMapCamera(684973, 392710, 0x1edd3c0)
constexpr REL::VariantID RTTI_LocalMapCamera__DefaultState(684975, 392712, 0x1edd408)