1#include "Game/LiveActor/ClippingJudge.hpp"
2#include "Game/Util.hpp"
4ClippingJudge::ClippingJudge(
const char *pName) :
NameObj(pName), mFrustum() {
5 for (s32 i = 0; i < 8; i++) {
6 mClipDistances[i] = -1.0f;
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;
23void ClippingJudge::movement() {
24 calcViewingVolume(&mFrustum, MR::getFarZ());
26 for (u32 i = 1; i < 8; i++) {
27 calcViewingVolume(&mClipFrustums[i], mClipDistances[i]);
31bool ClippingJudge::isJudgedToClipFrustum(
const TVec3f &rVec, f32 a2)
const {
32 return !mFrustum.mayIntersectBall3(rVec, a2);
35bool ClippingJudge::isJudgedToClipFrustum(
const TVec3f &rVec, f32 a2, s32 index)
const {
36 return (!index) ? !mFrustum.mayIntersectBall3(rVec, a2) : !mClipFrustums[index].mayIntersectBall3(rVec, a2);
41ClippingJudge::~ClippingJudge() {
virtual void init(const JMapInfoIter &)
Intializes the NameObj and can set various settings and construct necessary classes.
The most basic form of an object.