Defines the view frustum. That's the space visible by the camera. More...
#include <SViewFrustum.h>
Public Types | |
enum | VFPLANES { VF_FAR_PLANE = 0, VF_NEAR_PLANE, VF_LEFT_PLANE, VF_RIGHT_PLANE, VF_BOTTOM_PLANE, VF_TOP_PLANE, VF_PLANE_COUNT } |
Public Member Functions | |
SViewFrustum () | |
Default Constructor. More... | |
SViewFrustum (const SViewFrustum &other) | |
Copy Constructor. More... | |
SViewFrustum (const core::matrix4 &mat) | |
This constructor creates a view frustum based on a projection and/or view matrix. More... | |
bool | clipLine (core::line3d< f32 > &line) const |
clips a line to the view frustum. More... | |
const core::aabbox3d< f32 > & | getBoundingBox () const |
returns a bounding box enclosing the whole view frustum More... | |
core::vector3df | getFarLeftDown () const |
returns the point which is on the far left bottom corner inside the the view frustum. More... | |
core::vector3df | getFarLeftUp () const |
returns the point which is on the far left upper corner inside the the view frustum. More... | |
core::vector3df | getFarRightDown () const |
returns the point which is on the far right bottom corner inside the the view frustum. More... | |
core::vector3df | getFarRightUp () const |
returns the point which is on the far right top corner inside the the view frustum. More... | |
core::vector3df | getNearLeftDown () const |
returns the point which is on the near left bottom corner inside the the view frustum. More... | |
core::vector3df | getNearLeftUp () const |
returns the point which is on the near left upper corner inside the the view frustum. More... | |
core::vector3df | getNearRightDown () const |
returns the point which is on the near right bottom corner inside the the view frustum. More... | |
core::vector3df | getNearRightUp () const |
returns the point which is on the near right top corner inside the the view frustum. More... | |
core::matrix4 & | getTransform (video::E_TRANSFORMATION_STATE state) |
get the given state's matrix based on frustum E_TRANSFORMATION_STATE More... | |
const core::matrix4 & | getTransform (video::E_TRANSFORMATION_STATE state) const |
get the given state's matrix based on frustum E_TRANSFORMATION_STATE More... | |
void | recalculateBoundingBox () |
recalculates the bounding box member based on the planes More... | |
void | setFrom (const core::matrix4 &mat) |
This constructor creates a view frustum based on a projection and/or view matrix. More... | |
void | transform (const core::matrix4 &mat) |
transforms the frustum by the matrix More... | |
Public Attributes | |
core::aabbox3d< f32 > | boundingBox |
bounding box around the view frustum More... | |
core::vector3df | cameraPosition |
the position of the camera More... | |
core::plane3d< f32 > | planes [VF_PLANE_COUNT] |
all planes enclosing the view frustum. More... | |
Defines the view frustum. That's the space visible by the camera.
The view frustum is enclosed by 6 planes. These six planes share eight points. A bounding box around these eight points is also stored in this structure.
Definition at line 25 of file SViewFrustum.h.
Definition at line 27 of file SViewFrustum.h.
|
inline |
Default Constructor.
Definition at line 48 of file SViewFrustum.h.
References clipLine(), getBoundingBox(), getFarLeftDown(), getFarLeftUp(), getFarRightDown(), getFarRightUp(), getNearLeftDown(), getNearLeftUp(), getNearRightDown(), getNearRightUp(), getTransform(), recalculateBoundingBox(), setFrom(), and transform().
|
inline |
Copy Constructor.
Copy constructor ViewFrustum
Definition at line 129 of file SViewFrustum.h.
References boundingBox, cameraPosition, planes, and VF_PLANE_COUNT.
|
inline |
This constructor creates a view frustum based on a projection and/or view matrix.
Definition at line 142 of file SViewFrustum.h.
References setFrom().
|
inline |
clips a line to the view frustum.
Clips a line to the frustum.
Definition at line 344 of file SViewFrustum.h.
References irr::core::line3d< T >::end, irr::core::vector3d< T >::getInterpolated(), irr::core::plane3d< T >::getKnownIntersectionWithLine(), irr::core::ISREL3D_FRONT, planes, irr::core::line3d< T >::start, and VF_PLANE_COUNT.
Referenced by SViewFrustum().
|
inline |
returns a bounding box enclosing the whole view frustum
Definition at line 238 of file SViewFrustum.h.
References boundingBox.
Referenced by SViewFrustum().
|
inline |
returns the point which is on the far left bottom corner inside the the view frustum.
Definition at line 168 of file SViewFrustum.h.
References irr::core::plane3d< T >::getIntersectionWithPlanes(), planes, VF_BOTTOM_PLANE, VF_FAR_PLANE, and VF_LEFT_PLANE.
Referenced by recalculateBoundingBox(), and SViewFrustum().
|
inline |
returns the point which is on the far left upper corner inside the the view frustum.
Definition at line 158 of file SViewFrustum.h.
References irr::core::plane3d< T >::getIntersectionWithPlanes(), planes, VF_FAR_PLANE, VF_LEFT_PLANE, and VF_TOP_PLANE.
Referenced by recalculateBoundingBox(), and SViewFrustum().
|
inline |
returns the point which is on the far right bottom corner inside the the view frustum.
Definition at line 188 of file SViewFrustum.h.
References irr::core::plane3d< T >::getIntersectionWithPlanes(), planes, VF_BOTTOM_PLANE, VF_FAR_PLANE, and VF_RIGHT_PLANE.
Referenced by recalculateBoundingBox(), and SViewFrustum().
|
inline |
returns the point which is on the far right top corner inside the the view frustum.
Definition at line 178 of file SViewFrustum.h.
References irr::core::plane3d< T >::getIntersectionWithPlanes(), planes, VF_FAR_PLANE, VF_RIGHT_PLANE, and VF_TOP_PLANE.
Referenced by recalculateBoundingBox(), and SViewFrustum().
|
inline |
returns the point which is on the near left bottom corner inside the the view frustum.
Definition at line 208 of file SViewFrustum.h.
References irr::core::plane3d< T >::getIntersectionWithPlanes(), planes, VF_BOTTOM_PLANE, VF_LEFT_PLANE, and VF_NEAR_PLANE.
Referenced by SViewFrustum().
|
inline |
returns the point which is on the near left upper corner inside the the view frustum.
Definition at line 198 of file SViewFrustum.h.
References irr::core::plane3d< T >::getIntersectionWithPlanes(), planes, VF_LEFT_PLANE, VF_NEAR_PLANE, and VF_TOP_PLANE.
Referenced by SViewFrustum().
|
inline |
returns the point which is on the near right bottom corner inside the the view frustum.
Definition at line 228 of file SViewFrustum.h.
References irr::core::plane3d< T >::getIntersectionWithPlanes(), planes, VF_BOTTOM_PLANE, VF_NEAR_PLANE, and VF_RIGHT_PLANE.
Referenced by SViewFrustum().
|
inline |
returns the point which is on the near right top corner inside the the view frustum.
Definition at line 218 of file SViewFrustum.h.
References irr::core::plane3d< T >::getIntersectionWithPlanes(), planes, VF_NEAR_PLANE, VF_RIGHT_PLANE, and VF_TOP_PLANE.
Referenced by SViewFrustum().
|
inline |
get the given state's matrix based on frustum E_TRANSFORMATION_STATE
View Frustum depends on Projection & View Matrix
Definition at line 310 of file SViewFrustum.h.
References irr::video::ETS_PROJECTION, and irr::video::ETS_VIEW.
Referenced by SViewFrustum().
|
inline |
get the given state's matrix based on frustum E_TRANSFORMATION_STATE
View Frustum depends on Projection & View Matrix
Definition at line 328 of file SViewFrustum.h.
References irr::video::ETS_PROJECTION, and irr::video::ETS_VIEW.
|
inline |
recalculates the bounding box member based on the planes
Definition at line 243 of file SViewFrustum.h.
References irr::core::aabbox3d< T >::addInternalPoint(), boundingBox, cameraPosition, getFarLeftDown(), getFarLeftUp(), getFarRightDown(), getFarRightUp(), and irr::core::aabbox3d< T >::reset().
Referenced by setFrom(), SViewFrustum(), and transform().
|
inline |
This constructor creates a view frustum based on a projection and/or view matrix.
This constructor creates a view frustum based on a projection and/or view matrix.
Definition at line 255 of file SViewFrustum.h.
References irr::core::plane3d< T >::D, irr::core::plane3d< T >::Normal, planes, recalculateBoundingBox(), irr::core::reciprocal_squareroot(), VF_BOTTOM_PLANE, VF_FAR_PLANE, VF_LEFT_PLANE, VF_NEAR_PLANE, VF_PLANE_COUNT, VF_RIGHT_PLANE, VF_TOP_PLANE, irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and irr::core::vector3d< T >::Z.
Referenced by SViewFrustum().
|
inline |
transforms the frustum by the matrix
mat | Matrix by which the view frustum is transformed. |
Definition at line 148 of file SViewFrustum.h.
References cameraPosition, planes, recalculateBoundingBox(), irr::core::CMatrix4< T >::transformPlane(), irr::core::CMatrix4< T >::transformVect(), and VF_PLANE_COUNT.
Referenced by SViewFrustum().
core::aabbox3d<f32> irr::scene::SViewFrustum::boundingBox |
bounding box around the view frustum
Definition at line 110 of file SViewFrustum.h.
Referenced by getBoundingBox(), recalculateBoundingBox(), and SViewFrustum().
core::vector3df irr::scene::SViewFrustum::cameraPosition |
the position of the camera
Definition at line 104 of file SViewFrustum.h.
Referenced by recalculateBoundingBox(), SViewFrustum(), and transform().
core::plane3d<f32> irr::scene::SViewFrustum::planes[VF_PLANE_COUNT] |
all planes enclosing the view frustum.
Definition at line 107 of file SViewFrustum.h.
Referenced by clipLine(), getFarLeftDown(), getFarLeftUp(), getFarRightDown(), getFarRightUp(), getNearLeftDown(), getNearLeftUp(), getNearRightDown(), getNearRightUp(), setFrom(), SViewFrustum(), and transform().