Loading...
Searching...
No Matches
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.
| SViewFrustum (const core::matrix4 &mat)
| This constructor creates a view frustum based on a projection and/or view matrix.
| SViewFrustum (const SViewFrustum &other)
| Copy Constructor.
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::matrix4 & | getTransform (video::E_TRANSFORMATION_STATE state)
| get the given state's matrix based on frustum E_TRANSFORMATION_STATE
const core::matrix4 & | getTransform (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.
void | transform (const core::matrix4 &mat)
| transforms the frustum by the matrix

## Public Attributes

core::aabbox3d< f32 > | boundingBox
| bounding box around the view frustum
core::vector3df | cameraPosition
| the position of the camera
core::plane3d< f32 > | planes [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

## VFPLANES

enum irr::scene::SViewFrustum::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]

irr::scene::SViewFrustum::SViewFrustum | ( |  | ) |

inline

Default Constructor.

Definition at line 48 of file SViewFrustum.h.

Referenced by SViewFrustum().

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

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

## 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 planes, VF_BOTTOM_PLANE, VF_FAR_PLANE, and VF_LEFT_PLANE.

Referenced by recalculateBoundingBox().

## 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 planes, VF_FAR_PLANE, VF_LEFT_PLANE, and VF_TOP_PLANE.

Referenced by recalculateBoundingBox().

## 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 planes, VF_BOTTOM_PLANE, VF_FAR_PLANE, and VF_RIGHT_PLANE.

Referenced by recalculateBoundingBox().

## 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 planes, VF_FAR_PLANE, VF_RIGHT_PLANE, and VF_TOP_PLANE.

Referenced by recalculateBoundingBox().

## 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 planes, VF_BOTTOM_PLANE, VF_LEFT_PLANE, and VF_NEAR_PLANE.

## 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 planes, VF_LEFT_PLANE, VF_NEAR_PLANE, and VF_TOP_PLANE.

## 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 planes, VF_BOTTOM_PLANE, VF_NEAR_PLANE, and VF_RIGHT_PLANE.

## 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 planes, VF_NEAR_PLANE, VF_RIGHT_PLANE, and VF_TOP_PLANE.

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

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

recalculates the bounding box member based on the planes

Definition at line 243 of file SViewFrustum.h.

References boundingBox, cameraPosition, getFarLeftDown(), getFarLeftUp(), getFarRightDown(), and getFarRightUp().

Referenced by setFrom(), and transform().

## 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 planes, recalculateBoundingBox(), irr::core::reciprocal_squareroot(), VF_BOTTOM_PLANE, VF_FAR_PLANE, VF_LEFT_PLANE, VF_NEAR_PLANE, VF_PLANE_COUNT, VF_RIGHT_PLANE, and VF_TOP_PLANE.

Referenced by SViewFrustum().

## transform()

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

## boundingBox

core::aabbox3d<f32> irr::scene::SViewFrustum::boundingBox

bounding box around the view frustum

Definition at line 110 of file SViewFrustum.h.

Referenced by SViewFrustum(), getBoundingBox(), and recalculateBoundingBox().

## cameraPosition

core::vector3df irr::scene::SViewFrustum::cameraPosition

the position of the camera

Definition at line 104 of file SViewFrustum.h.

Referenced by SViewFrustum(), recalculateBoundingBox(), and transform().

## planes

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 SViewFrustum(), clipLine(), getFarLeftDown(), getFarLeftUp(), getFarRightDown(), getFarRightUp(), getNearLeftDown(), getNearLeftUp(), getNearRightDown(), getNearRightUp(), setFrom(), and transform().

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

- SViewFrustum.h

- Irrlicht Engine Documentation © 2003-2012 by Nikolaus Gebhardt. Generated on for Irrlicht 3D Engine by Doxygen 1.15.0