| 1 | #pragma once |
|---|---|
| 2 | |
| 3 | #include <gfx/seadCamera.h> |
| 4 | #include <math/seadMatrix.h> |
| 5 | |
| 6 | namespace al { |
| 7 | |
| 8 | class CameraViewFlag; |
| 9 | struct OrthoProjectionInfo; |
| 10 | class Projection; |
| 11 | |
| 12 | class CameraViewInfo { |
| 13 | public: |
| 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 | |
| 32 | private: |
| 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 |