Skip to main content

BoundFrustum

The BoundFrustum type defines a view frustum in 3D space using six clipping planes derived from projection and modelview matrices. It supports precise containment tests against axis-aligned bounding boxes and bounding spheres, enabling efficient visibility and culling operations. The implementation prioritizes performance, precision, and flexibility with support for custom vector types.

#include <geometry/TellusimBounds.h>

BoundFrustumf

Represents a BoundFrustum using 32-bit floating-point precision.

BoundFrustumd

Represents a BoundFrustum using 64-bit floating-point precision.

Variables

TypeNameDescription
Matrix4x4projectionProjection matrix.
Matrix4x4modelviewModelview matrix.
Vector3cameraCamera position.
Vector4plane_lLeft clipping plane.
Vector4plane_rRight clipping plane.
Vector4plane_bBottom clipping plane.
Vector4plane_tTop clipping plane.
Vector4plane_nNear clipping plane.
Vector4plane_fFar clipping plane.
Vector4planes[6]Array access.
uint8_tsign_l[4]Left clipping plane sign.
uint8_tsign_r[4]Right clipping plane sign.
uint8_tsign_b[4]Bottom clipping plane sign.
uint8_tsign_t[4]Top clipping plane sign.
uint8_tsign_n[4]Near clipping plane sign.
uint8_tsign_f[4]Far clipping plane sign.
uint8_tsigns[6][4]Array access.

Constructors

BoundFrustum()
BoundFrustum(const Matrix4x4 &projection, const Matrix4x4 &modelview, Type aspect = 1.0f)
BoundFrustum(const BoundFrustum &bf)
explicit BoundFrustum(const BoundFrustum<CType> &bf)

Methods

Bound frustum from matrix.

void set(const Matrix4x4 &p, const Matrix4x4 &m, Type aspect = 1.0f)

Inside bound box.

bool inside4(const BoundBox &bb) const
bool inside(const BoundBox &bb) const
bool insideAll4(const BoundBox &bb) const
bool insideAll(const BoundBox &bb) const

Inside bound sphere.

bool inside4(const BoundSphere &bs) const
bool inside(const BoundSphere &bs) const
bool insideAll4(const BoundSphere &bs) const
bool insideAll(const BoundSphere &bs) const

Bound frustum parameters.

const Matrix4x4 &getProjection() const
const Matrix4x4 &getModelview() const
const Vector3 &getCamera() const