FdkBaseLib 2.1.1
|
A view frustum class defined by six planes. More...
#include <Frustum.h>
Public Types | |
enum | Plane { eNear = 0 , eFar , eLeft , eRight , eTop , eBottom , eNumPlanes } |
Frustum planes. | |
enum | { eNumCorners = 8 } |
enum class | Visibility { NotVisible , FullVisible , PartialVisible } |
Frustum visibility result. More... | |
Public Member Functions | |
Frustum ()=default | |
Default constructor. | |
Frustum (const Mat4< T > &projMatrix, const Box2< T > &rect, const Box2< T > &viewport, T near=0.0, T far=1.0) | |
Construct a frustum from a projection matrix and viewport. | |
Frustum (const Mat4< T > &m, T near, T far, T focalLength, T filmWidth, T filmHeight) | |
Construct a frustum from camera parameters. | |
const fdk::Plane< T > & | getPlane (Plane plane) const |
Get a frustum plane. | |
const fdk::Plane< T > * | planes () const |
Return the six planes defining the frustum. | |
const Vec3< T > * | corners () const |
Return the eight corners of the frustum. | |
bool | containsPoint (const Vec3< T > &point) const |
Test the visibility of a point. | |
bool | isBoxVisible (const fdk::Box3< T > &b) const |
Test the visibility of a Box. | |
Visibility | arePointsVisible (const Vec3< T > *points, size_t count) const |
Test the visibility of a polygon defined by a list of coplanar vertices. | |
Frustum | transform (const Mat4< T > &m) const |
Transform the plane by matrix m. | |
A view frustum class defined by six planes.
|
strong |
Frustum visibility result.
Enumerator | |
---|---|
NotVisible | The object is completely outside the view frustum. |
FullVisible | The object is completely inside the view frustum. |
PartialVisible | Part of the object is inside the view frustum. |
©2024 The Foundry Visionmongers, Ltd. All Rights Reserved. |