Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members | Tutorials
Public Types | Public Member Functions | Public Attributes | List of all members
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

bool clipLine (core::line3d< f32 > &line) const
 clips a line to the view frustum.
const core::aabbox3d< f32 > & getBoundingBox () const
 returns a bounding box enclosing the whole view frustum
core::vector3df getFarLeftDown () const
 returns the point which is on the far left bottom corner inside the the view frustum.
core::vector3df getFarLeftUp () const
 returns the point which is on the far left upper corner inside the the view frustum.
core::vector3df getFarRightDown () const
 returns the point which is on the far right bottom corner inside the the view frustum.
core::vector3df getFarRightUp () const
 returns the point which is on the far right top corner inside the the view frustum.
core::vector3df getNearLeftDown () const
 returns the point which is on the near left bottom corner inside the the view frustum.
core::vector3df getNearLeftUp () const
 returns the point which is on the near left upper corner inside the the view frustum.
core::vector3df getNearRightDown () const
 returns the point which is on the near right bottom corner inside the the view frustum.
core::vector3df getNearRightUp () const
 returns the point which is on the near right top corner inside the the view frustum.
core::matrix4getTransform (video::E_TRANSFORMATION_STATE state)
 get the given state's matrix based on frustum E_TRANSFORMATION_STATE
const core::matrix4getTransform (video::E_TRANSFORMATION_STATE state) const
 get the given state's matrix based on frustum E_TRANSFORMATION_STATE
void recalculateBoundingBox ()
 recalculates the bounding box member based on the planes
void setFrom (const core::matrix4 &mat)
 This constructor creates a view frustum based on a projection and/or view matrix.
 SViewFrustum ()
 Default Constructor.
 SViewFrustum (const SViewFrustum &other)
 Copy Constructor.
 SViewFrustum (const core::matrix4 &mat)
 This constructor creates a view frustum based on a projection and/or view matrix.
void transform (const core::matrix4 &mat)
 transforms the frustum by the matrix

Public Attributes

core::aabbox3d< f32boundingBox
 bounding box around the view frustum
core::vector3df cameraPosition
 the position of the camera
core::plane3d< f32planes [VF_PLANE_COUNT]
 all planes enclosing the view frustum.

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

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

irr::scene::SViewFrustum::SViewFrustum ( )
inline

Default Constructor.

Definition at line 48 of file SViewFrustum.h.

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.

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

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::plane3d< T >::getKnownIntersectionWithLine(), irr::core::ISREL3D_FRONT, planes, irr::core::line3d< T >::start, and VF_PLANE_COUNT.

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.

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

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

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

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

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.

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.

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.

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.

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.

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.

void irr::scene::SViewFrustum::recalculateBoundingBox ( )
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(), and transform().

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

transforms the frustum by the matrix

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

Member Data Documentation

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]

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

The Irrlicht Engine
The Irrlicht Engine Documentation © 2003-2010 by Nikolaus Gebhardt. Generated on Mon May 6 2013 07:46:21 by Doxygen (1.8.1.2)