Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

osg::ShadowVolumeOccluder Class Reference

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

List of all members.

Public Types

typedef std::vector< PolytopeHoleList

Public Methods

 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 ShaowVolumeOccluder is associated with.

void setNodePath (NodePath &nodePath)
 Set the NodePath which describes the which node in the scene graph that this occluder was 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 contaned entirely within this shadow occluder volume.

bool contains (const BoundingSphere &bound)
 return true if the specified bounding sphere is contaned 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 Matrix_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::computeOccluder const NodePath   nodePath,
const ConvexPlanarOccluder   occluder,
CullStack   cullStack,
bool    createDrawables = false
 

compute the shadow volume occluder.

bool osg::ShadowVolumeOccluder::contains const BoundingBox   bound
 

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

bool osg::ShadowVolumeOccluder::contains const BoundingSphere   bound
 

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

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

return true if the specified vertex list is contaned 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 ShaowVolumeOccluder 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 the which node in the scene graph that this occluder was 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 Matrix> osg::ShadowVolumeOccluder::_projectionMatrix [protected]
 

float osg::ShadowVolumeOccluder::_volume [protected]
 


The documentation for this class was generated from the following file:
Generated at Wed Sep 18 13:55:42 2002 for the Open Scene Graph by doxygen 1.2.16.