1#pragma once
2
3#include <gfx/seadCamera.h>
4#include <math/seadMatrix.h>
5
6namespace al {
7
8class CameraViewFlag;
9struct OrthoProjectionInfo;
10class Projection;
11
12class CameraViewInfo {
13public:
14 CameraViewInfo(s32 index, const sead::LookAtCamera& lookAtCam, const Projection& projection,
15 const CameraViewFlag& flag, const OrthoProjectionInfo& orthoProjectionInfo);
16
17 const sead::Projection& getProjectionSead() const;
18 const sead::Matrix44f& getProjMtx() const;
19 const sead::Matrix44f& getProjMtxStd() const;
20 f32 getAspect() const;
21 f32 getNear() const;
22 f32 getFar() const;
23
24 s32 getIndex() const { return mIndex; }
25
26 bool isValid() const { return mIsValid; }
27
28 const sead::LookAtCamera& getLookAtCam() const { return mLookAtCam; }
29
30 const Projection& getProjection() const { return mProjection; }
31
32private:
33 s32 mIndex;
34 bool mIsValid = true;
35 bool mIsActiveInterpole = true;
36 bool _6 = false;
37 const sead::LookAtCamera& mLookAtCam;
38 const Projection& mProjection;
39 const CameraViewFlag& mViewFlag;
40 const OrthoProjectionInfo& mOrthoProjectionInfo;
41};
42} // namespace al
43