# osg::ShadowVolumeOccluder Class Reference

ShadowVolumeOccluder is a helper class for implementating shadow occlusion culling. More...

List of all members.

## Public Types

typedef std::vector< Polytope > | HoleList

## Public Member Functions

| ShadowVolumeOccluder (const ShadowVolumeOccluder &svo)
| ShadowVolumeOccluder ()
bool | operator< (const ShadowVolumeOccluder &svo) const
bool | computeOccluder (const NodePath &nodePath, const ConvexPlanarOccluder &occluder, CullStack &cullStack, bool createDrawables=false)
| compute the shadow volume occluder.
void | disableResultMasks ()
void | pushCurrentMask ()
void | popCurrentMask ()
bool | matchProjectionMatrix (const osg::Matrix &matrix) const
| return true if the matrix passed in matches the projection matrix that this ShadowVolumeOccluder is associated with.
void | setNodePath (NodePath &nodePath)
| Set the NodePath which describes which node in the scene graph that this occluder is attached to.
NodePath & | getNodePath ()
const NodePath & | getNodePath () const
float | getVolume () const
| get the volume of the occluder minus its holes, in eye coords, the volume is normalized by dividing by the volume of the view frustum in eye coords.
Polytope & | getOccluder ()
| return the occluder polytope.
const Polytope & | getOccluder () const
| return the const occluder polytope.
HoleList & | getHoleList ()
| return the list of holes.
const HoleList & | getHoleList () const
| return the const list of holes.
bool | contains (const std::vector< Vec3 > &vertices)
| return true if the specified vertex list is contained entirely within this shadow occluder volume.
bool | contains (const BoundingSphere &bound)
| return true if the specified bounding sphere is contained entirely within this shadow occluder volume.
bool | contains (const BoundingBox &bound)
| return true if the specified bounding box is contained entirely within this shadow occluder volume.
void | transformProvidingInverse (const osg::Matrix &matrix)

## Protected Attributes

float | _volume
NodePath | _nodePath
ref_ptr< const RefMatrix > | _projectionMatrix
Polytope | _occluderVolume
HoleList | _holeList

## Detailed Description

ShadowVolumeOccluder is a helper class for implementating shadow occlusion culling.

## Member Typedef Documentation

typedef std::vector<Polytope> osg::ShadowVolumeOccluder::HoleList

## Constructor & Destructor Documentation

osg::ShadowVolumeOccluder::ShadowVolumeOccluder | ( | const ShadowVolumeOccluder & | svo | ) | `[inline]`

osg::ShadowVolumeOccluder::ShadowVolumeOccluder | ( |  | ) | `[inline]`

## Member Function Documentation

bool ShadowVolumeOccluder::computeOccluder | ( | const NodePath & | nodePath,
|  | const ConvexPlanarOccluder & | occluder,
|  | CullStack & | cullStack,
|  | bool | createDrawables = `false`
| ) |

| compute the shadow volume occluder.

bool ShadowVolumeOccluder::contains | ( | const BoundingBox & | bound | ) |

| return true if the specified bounding box is contained entirely within this shadow occluder volume.

bool ShadowVolumeOccluder::contains | ( | const BoundingSphere & | bound | ) |

| return true if the specified bounding sphere is contained entirely within this shadow occluder volume.

bool ShadowVolumeOccluder::contains | ( | const std::vector< Vec3 > & | vertices | ) |

| return true if the specified vertex list is contained entirely within this shadow occluder volume.

void osg::ShadowVolumeOccluder::disableResultMasks | ( |  | ) | `[inline]`

const HoleList& osg::ShadowVolumeOccluder::getHoleList | ( |  | ) | const`[inline]`

| return the const list of holes.

HoleList& osg::ShadowVolumeOccluder::getHoleList | ( |  | ) | `[inline]`

| return the list of holes.

const NodePath& osg::ShadowVolumeOccluder::getNodePath | ( |  | ) | const`[inline]`

NodePath& osg::ShadowVolumeOccluder::getNodePath | ( |  | ) | `[inline]`

const Polytope& osg::ShadowVolumeOccluder::getOccluder | ( |  | ) | const`[inline]`

| return the const occluder polytope.

Polytope& osg::ShadowVolumeOccluder::getOccluder | ( |  | ) | `[inline]`

| return the occluder polytope.

float osg::ShadowVolumeOccluder::getVolume | ( |  | ) | const`[inline]`

| get the volume of the occluder minus its holes, in eye coords, the volume is normalized by dividing by the volume of the view frustum in eye coords.

bool osg::ShadowVolumeOccluder::matchProjectionMatrix | ( | const osg::Matrix & | matrix | ) | const`[inline]`

| return true if the matrix passed in matches the projection matrix that this ShadowVolumeOccluder is associated with.

bool osg::ShadowVolumeOccluder::operator< | ( | const ShadowVolumeOccluder & | svo | ) | const`[inline]`

void osg::ShadowVolumeOccluder::popCurrentMask | ( |  | ) | `[inline]`

void osg::ShadowVolumeOccluder::pushCurrentMask | ( |  | ) | `[inline]`

void osg::ShadowVolumeOccluder::setNodePath | ( | NodePath & | nodePath | ) | `[inline]`

| Set the NodePath which describes which node in the scene graph that this occluder is attached to.

void osg::ShadowVolumeOccluder::transformProvidingInverse | ( | const osg::Matrix & | matrix | ) | `[inline]`

## Member Data Documentation

HoleList osg::ShadowVolumeOccluder::_holeList `[protected]`

NodePath osg::ShadowVolumeOccluder::_nodePath `[protected]`

Polytope osg::ShadowVolumeOccluder::_occluderVolume `[protected]`

ref_ptr<const RefMatrix> osg::ShadowVolumeOccluder::_projectionMatrix `[protected]`

float osg::ShadowVolumeOccluder::_volume `[protected]`

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

- ShadowVolumeOccluder
- ShadowVolumeOccluder.cpp