33 #ifndef __CU_FRUSTRUM_H__
34 #define __CU_FRUSTRUM_H__
38 #include "../util/CUDebug.h"
84 enum class Side : unsigned int {
99 #pragma mark Constructors
140 return set(inverseView);
174 #pragma mark Attributes
186 CUAssertLog((
unsigned int)side < PLANE_COUNT,
"Side is not valid");
187 return _planes[(
unsigned int)side];
198 CUAssertLog(index < CORNER_COUNT,
"Index is not valid");
199 return _points[index];
203 #pragma mark Containment Methods
292 return findBox(center.
x, center.
y, center.
z, dimension.
x / 2, dimension.
y / 2, dimension.
z / 2);
310 Region findBox(
float x,
float y,
float z,
float halfWidth,
float halfHeight,
float halfDepth);
Frustum & set(const Mat4 &inverseView)
float x
Definition: CUVec3.h:66
Frustum(const Frustum &frustum)
Definition: CUFrustum.h:121
Side
Definition: CUFrustum.h:84
~Frustum()
Definition: CUFrustum.h:128
Region findSphere(const Vec3 ¢er, float radius)
Frustum & operator=(const Mat4 &inverseView)
Definition: CUFrustum.h:139
float z
Definition: CUVec3.h:70
Definition: CUFrustum.h:51
Region findSphereWithoutNearFar(float x, float y, float z, float radius)
Definition: CUFrustum.h:276
const Plane & getPlane(Side side)
Definition: CUFrustum.h:185
static const int CORNER_COUNT
Definition: CUFrustum.h:57
Region findBox(const Vec3 ¢er, const Vec3 &dimension)
Definition: CUFrustum.h:291
Region findSphereWithoutNearFar(const Vec3 ¢er, float radius)
static const int PLANE_COUNT
Definition: CUFrustum.h:55
Frustum()
Definition: CUFrustum.h:103
Region findSphere(float x, float y, float z, float radius)
Definition: CUFrustum.h:246
Region
Definition: CUFrustum.h:60
static const Mat4 IDENTITY
Definition: CUMat4.h:114
Region find(float x, float y, float z)
Definition: CUFrustum.h:222
Frustum & operator=(const Frustum &frustum)
Definition: CUFrustum.h:150
Region find(const Vec3 point)
Frustum(const Mat4 &inverseView)
Definition: CUFrustum.h:112
const Vec3 & getCorner(unsigned int index)
Definition: CUFrustum.h:197
float y
Definition: CUVec3.h:68
Definition: CUAnimationNode.h:52