SMG-Decomp
A decompilation of Super Mario Galaxy 1
Loading...
Searching...
No Matches
ClippingJudge.cpp
1#include "Game/LiveActor/ClippingJudge.hpp"
2#include "Game/Util.hpp"
3
4ClippingJudge::ClippingJudge(const char *pName) : NameObj(pName), mFrustum() {
5 for (s32 i = 0; i < 8; i++) {
6 mClipDistances[i] = -1.0f;
7 }
8
9 mClipDistances[0] = 0.0f;
10 mClipDistances[1] = 60000.0f;
11 mClipDistances[2] = 50000.0f;
12 mClipDistances[3] = 40000.0f;
13 mClipDistances[4] = 30000.0f;
14 mClipDistances[5] = 20000.0f;
15 mClipDistances[6] = 10000.0f;
16 mClipDistances[7] = 5000.0f;
17}
18
20
21}
22
23void ClippingJudge::movement() {
24 calcViewingVolume(&mFrustum, MR::getFarZ());
25
26 for (u32 i = 1; i < 8; i++) {
27 calcViewingVolume(&mClipFrustums[i], mClipDistances[i]);
28 }
29}
30
31bool ClippingJudge::isJudgedToClipFrustum(const TVec3f &rVec, f32 a2) const {
32 return !mFrustum.mayIntersectBall3(rVec, a2);
33}
34
35bool ClippingJudge::isJudgedToClipFrustum(const TVec3f &rVec, f32 a2, s32 index) const {
36 return (!index) ? !mFrustum.mayIntersectBall3(rVec, a2) : !mClipFrustums[index].mayIntersectBall3(rVec, a2);
37}
38
39// ClippingJudge::calcViewingVolume
40
41ClippingJudge::~ClippingJudge() {
42
43}
virtual void init(const JMapInfoIter &)
Intializes the NameObj and can set various settings and construct necessary classes.
The most basic form of an object.
Definition NameObj.hpp:11