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.
NodePathgetNodePath ()
const NodePathgetNodePath () 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.
PolytopegetOccluder ()
 return the occluder polytope.
const PolytopegetOccluder () const
 return the const occluder polytope.
HoleListgetHoleList ()
 return the list of holes.
const HoleListgetHoleList () 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 osg::ShadowVolumeOccluder::operator< ( const ShadowVolumeOccluder svo  )  const [inline]

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

compute the shadow volume occluder.

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

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

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

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.

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

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

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

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

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.

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

return the occluder polytope.

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

return the const occluder polytope.

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

return the list of holes.

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

return the const list of holes.

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

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

bool osg::ShadowVolumeOccluder::contains ( const BoundingSphere bound  ) 

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

bool osg::ShadowVolumeOccluder::contains ( const BoundingBox bound  ) 

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

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


Member Data Documentation

float osg::ShadowVolumeOccluder::_volume [protected]

NodePath osg::ShadowVolumeOccluder::_nodePath [protected]

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

Polytope osg::ShadowVolumeOccluder::_occluderVolume [protected]

HoleList osg::ShadowVolumeOccluder::_holeList [protected]


The documentation for this class was generated from the following file:
Generated at Sun Oct 14 02:12:15 2007 for the OpenSceneGraph by doxygen 1.5.3.