1#pragma once
2
3#include <basis/seadTypes.h>
4#include <math/seadBoundBox.h>
5#include <math/seadMatrix.h>
6#include <math/seadVector.h>
7
8namespace al {
9class SceneCameraInfo;
10class ClippingFarAreaObserver;
11
12class ClippingJudge {
13public:
14 ClippingJudge(const ClippingFarAreaObserver*, const SceneCameraInfo*);
15
16 void update();
17 bool isJudgedToClipFrustumUnUseFarLevel(const sead::Vector3f&, f32, f32) const;
18 bool isJudgeToClipFrustumCore(const sead::Vector3f&, f32, f32) const;
19 bool isJudgedToClipFrustum(const sead::Vector3f&, f32, f32, s32) const;
20 bool isJudgeToClipFrustumCore(const sead::Vector3f&, f32, f32, f32) const;
21 bool isInClipFrustum(const sead::Vector3f&, f32, f32, s32) const;
22 bool isInClipFrustumAllView(const sead::Vector3f&, f32, f32) const;
23 bool isJudgedToClipFrustumUnUseFarLevelObb(const sead::Matrix34f*, const sead::BoundBox3f&,
24 f32) const;
25 bool isJudgedToClipFrustumCoreObb(const sead::Matrix34f*, const sead::BoundBox3f&, f32) const;
26 bool isInClipFrustumObb(const sead::Matrix34f*, const sead::BoundBox3f&, f32, s32) const;
27 bool isJudgedToClipFrustumCoreObb(const sead::Matrix34f*, const sead::BoundBox3f&, f32,
28 f32) const;
29 bool isJudgedToClipFrustumObb(const sead::Matrix34f*, const sead::BoundBox3f&, f32, s32) const;
30
31private:
32 void* filler[0x3];
33};
34
35} // namespace al
36