Irrlicht 3D Engine
irr::scene::SViewFrustum Struct Reference

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::matrix4getTransform (video::E_TRANSFORMATION_STATE state)
 get the given state's matrix based on frustum E_TRANSFORMATION_STATE More...
 
const core::matrix4getTransform (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< f32boundingBox
 bounding box around the view frustum More...
 
core::vector3df cameraPosition
 the position of the camera More...
 
core::plane3d< f32planes [VF_PLANE_COUNT]
 all planes enclosing the view frustum. More...
 

Detailed Description

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.

Member Enumeration Documentation

§ VFPLANES

Enumerator
VF_FAR_PLANE 

Far plane of the frustum. That is the plane farest away from the eye.

VF_NEAR_PLANE 

Near plane of the frustum. That is the plane nearest to the eye.

VF_LEFT_PLANE 

Left plane of the frustum.

VF_RIGHT_PLANE 

Right plane of the frustum.

VF_BOTTOM_PLANE 

Bottom plane of the frustum.

VF_TOP_PLANE 

Top plane of the frustum.

VF_PLANE_COUNT 

Amount of planes enclosing the view frustum. Should be 6.

Definition at line 27 of file SViewFrustum.h.

Constructor & Destructor Documentation

§ SViewFrustum() [1/3]

§ SViewFrustum() [2/3]

irr::scene::SViewFrustum::SViewFrustum ( const SViewFrustum other)
inline

Copy Constructor.

Copy constructor ViewFrustum

Definition at line 129 of file SViewFrustum.h.

References boundingBox, cameraPosition, planes, and VF_PLANE_COUNT.

§ SViewFrustum() [3/3]

irr::scene::SViewFrustum::SViewFrustum ( const core::matrix4 mat)
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().

Member Function Documentation

§ clipLine()

bool irr::scene::SViewFrustum::clipLine ( core::line3d< f32 > &  line) const
inline

clips a line to the view frustum.

Clips a line to the frustum.

Returns
True if the line was clipped, false if not

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

§ getBoundingBox()

const core::aabbox3d< f32 > & irr::scene::SViewFrustum::getBoundingBox ( ) const
inline

returns a bounding box enclosing the whole view frustum

Definition at line 238 of file SViewFrustum.h.

References boundingBox.

Referenced by SViewFrustum().

§ getFarLeftDown()

core::vector3df irr::scene::SViewFrustum::getFarLeftDown ( ) const
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().

§ getFarLeftUp()

core::vector3df irr::scene::SViewFrustum::getFarLeftUp ( ) const
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().

§ getFarRightDown()

core::vector3df irr::scene::SViewFrustum::getFarRightDown ( ) const
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().

§ getFarRightUp()

core::vector3df irr::scene::SViewFrustum::getFarRightUp ( ) const
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().

§ getNearLeftDown()

core::vector3df irr::scene::SViewFrustum::getNearLeftDown ( ) const
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().

§ getNearLeftUp()

core::vector3df irr::scene::SViewFrustum::getNearLeftUp ( ) const
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().

§ getNearRightDown()

core::vector3df irr::scene::SViewFrustum::getNearRightDown ( ) const
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().

§ getNearRightUp()

core::vector3df irr::scene::SViewFrustum::getNearRightUp ( ) const
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().

§ getTransform() [1/2]

core::matrix4 & irr::scene::SViewFrustum::getTransform ( video::E_TRANSFORMATION_STATE  state)
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().

§ getTransform() [2/2]

const core::matrix4 & irr::scene::SViewFrustum::getTransform ( video::E_TRANSFORMATION_STATE  state) const
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.

§ recalculateBoundingBox()

void irr::scene::SViewFrustum::recalculateBoundingBox ( )
inline

§ setFrom()

void irr::scene::SViewFrustum::setFrom ( const core::matrix4 mat)
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().

§ transform()

void irr::scene::SViewFrustum::transform ( const core::matrix4 mat)
inline

transforms the frustum by the matrix

Parameters
matMatrix 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().

Member Data Documentation

§ boundingBox

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

§ cameraPosition

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

§ planes

core::plane3d<f32> irr::scene::SViewFrustum::planes[VF_PLANE_COUNT]

The documentation for this struct was generated from the following file: