|
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. |