CommonLibSSE (Parapets fork)
Loading...
Searching...
No Matches
NiCamera.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/N/NiAVObject.h"
4#include "RE/N/NiFrustum.h"
5#include "RE/N/NiPoint3.h"
6#include "RE/N/NiRect.h"
7
8namespace RE
9{
10 class NiCamera : public NiAVObject
11 {
12 public:
13 inline static constexpr auto RTTI = RTTI_NiCamera;
14 inline static constexpr auto Ni_RTTI = NiRTTI_NiCamera;
15
16 ~NiCamera() override; // 00
17
18 // override (NiAVObject)
19 const NiRTTI* GetRTTI() const override; // 02
20 NiObject* CreateClone(NiCloningProcess& a_cloning) override; // 17 - { return this; }
21 void LoadBinary(NiStream& a_stream) override; // 18 - { return; }
22 void LinkObject(NiStream& a_stream) override; // 19 - { return; }
23 bool RegisterStreamables(NiStream& a_stream) override; // 1A
24 void SaveBinary(NiStream& a_stream) override; // 1B - { return; }
25 bool IsEqual(NiObject* a_object) override; // 1C
26 void UpdateWorldBound() override; // 2F - { return; }
27 void UpdateWorldData(NiUpdateData* a_data) override; // 30
28
29 static bool WorldPtToScreenPt3(const float a_matrix[4][4], const NiRect<float>& a_port, const NiPoint3& a_point, float& a_xOut, float& a_yOut, float& a_zOut, float a_zeroTolerance);
30
31 // members
32#ifndef SKYRIMVR
33 float worldToCam[4][4]; // 110
34#else
35 float unkVR9[37];
36#endif
38 float minNearPlaneDist; // 16C
39 float maxFarNearRatio; // 170
41 float lodAdjust; // 184
42 };
43#ifndef SKYRIMVR
44 static_assert(sizeof(NiCamera) == 0x188);
45#else
46 static_assert(sizeof(NiCamera) == 0x208);
47#endif
48}
Definition: NiAVObject.h:45
Definition: NiCamera.h:11
void SaveBinary(NiStream &a_stream) override
float worldToCam[4][4]
Definition: NiCamera.h:33
NiFrustum viewFrustum
Definition: NiCamera.h:37
bool IsEqual(NiObject *a_object) override
const NiRTTI * GetRTTI() const override
float lodAdjust
Definition: NiCamera.h:41
NiObject * CreateClone(NiCloningProcess &a_cloning) override
NiRect< float > port
Definition: NiCamera.h:40
float minNearPlaneDist
Definition: NiCamera.h:38
void LinkObject(NiStream &a_stream) override
bool RegisterStreamables(NiStream &a_stream) override
static bool WorldPtToScreenPt3(const float a_matrix[4][4], const NiRect< float > &a_port, const NiPoint3 &a_point, float &a_xOut, float &a_yOut, float &a_zOut, float a_zeroTolerance)
float maxFarNearRatio
Definition: NiCamera.h:39
static constexpr auto Ni_RTTI
Definition: NiCamera.h:14
void UpdateWorldBound() override
~NiCamera() override
void LoadBinary(NiStream &a_stream) override
static constexpr auto RTTI
Definition: NiCamera.h:13
void UpdateWorldData(NiUpdateData *a_data) override
Definition: NiFrustum.h:6
Definition: NiObject.h:37
Definition: NiPoint3.h:6
Definition: NiRTTI.h:6
Definition: NiRect.h:7
Definition: NiStream.h:6
Definition: NiAVObject.h:22
Definition: AbsorbEffect.h:6
constexpr REL::ID NiRTTI_NiCamera
Definition: Offsets_NiRTTI.h:174
constexpr REL::ID RTTI_NiCamera
Definition: Offsets_RTTI.h:5338