# Visualization Library

A lightweight C++ OpenGL middleware for 2D/3D graphics

[Home] [Tutorials] [All Classes] [Grouped Classes]

Public Member Functions | Protected Attributes

# vl::Frustum Class Reference

A set of planes defining a frustum used for culling purposes (frustum culling). More...

`#include <Frustum.hpp>`

Inheritance diagram for vl::Frustum:

List of all members.

## Public Member Functions

virtual const char * | className ()
| Returns the name of the class.
std::vector< Plane > & | planes ()
const std::vector< Plane > & | planes () const
void | setPlane (unsigned i, const Plane &plane)
const Plane & | plane (unsigned i) const
bool | cull (const Sphere &sphere) const
bool | cull (const AABB &aabb) const
bool | cull (const std::vector< fvec3 > &points) const

## Protected Attributes

std::vector< Plane > | mPlanes

## Detailed Description

A set of planes defining a frustum used for culling purposes (frustum culling).

See also:
  Camera, Viewport

Definition at line 49 of file Frustum.hpp.

## Member Function Documentation

virtual const char* vl::Frustum::className | ( | ) | `[inline, virtual]`

Returns the name of the class.

Reimplemented from vl::Object.

Definition at line 52 of file Frustum.hpp.

std::vector<Plane>& vl::Frustum::planes | ( | ) | `[inline]`

Definition at line 54 of file Frustum.hpp.

References mPlanes.

Referenced by vl::Camera::adjustView(), vl::Camera::Camera(), vl::Camera::computeFrustumPlanes(), vl::Camera::computeRayFrustum(), cull(), vl::Rendering::render(), and vl::SceneManagerPortals::visitSector().

const std::vector<Plane>& vl::Frustum::planes | ( | ) | const`[inline]`

Definition at line 55 of file Frustum.hpp.

References mPlanes.

void vl::Frustum::setPlane | ( | unsigned | i,
|  | const Plane & | plane
| ) |  | `[inline]`

Definition at line 57 of file Frustum.hpp.

References mPlanes, plane(), and VL_CHECK.

Referenced by vl::SceneManagerPortals::visitSector().

const Plane& vl::Frustum::plane | ( | unsigned | i ) | const`[inline]`

Definition at line 58 of file Frustum.hpp.

References mPlanes, and VL_CHECK.

Referenced by vl::Camera::adjustView(), cull(), and setPlane().

bool vl::Frustum::cull | ( | const Sphere & | sphere ) | const`[inline]`

Definition at line 60 of file Frustum.hpp.

References vl::Sphere::center(), vl::Plane::distance(), vl::Sphere::isNull(), plane(), planes(), and vl::Sphere::radius().

Referenced by vl::ActorTreeAbstract::extractVisibleActors(), vl::RayIntersector::intersect(), and vl::Rendering::render().

bool vl::Frustum::cull | ( | const AABB & | aabb ) | const`[inline]`

Definition at line 73 of file Frustum.hpp.

References vl::AABB::isNull(), vl::Plane::isOutside(), plane(), and planes().

bool vl::Frustum::cull | ( | const std::vector< fvec3 > & | points ) | const`[inline]`

Definition at line 85 of file Frustum.hpp.

References vl::Plane::distance(), plane(), and planes().

## Member Data Documentation

std::vector<Plane> vl::Frustum::mPlanes`[protected]`

Definition at line 100 of file Frustum.hpp.

Referenced by plane(), planes(), and setPlane().

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

- D:/VL/BuildSystem/VL_DISTRO/Visualization_Library_SDK/src/vlGraphics/Frustum.hpp

Visualization Library v2011.05.1142 Reference Documentation
Copyright 2005-2011 Michele Bosi. All rights reserved.
Updated on Thu May 26 2011 22:51:41.
Permission is granted to use this page to write and publish articles regarding Visualization Library.