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

osg::CullStack Class Reference

A CullStack class which accumulates the current project, modelview matrices and the CullingSet. More...

Inheritance diagram for osg::CullStack:

Inheritance graph
[legend]
List of all members.

Public Types

typedef std::vector< ShadowVolumeOccluderOccluderList
typedef std::vector< CullingSetCullingStack

Public Member Functions

 CullStack ()
 ~CullStack ()
void reset ()
void setOccluderList (const ShadowVolumeOccluderList &svol)
ShadowVolumeOccluderListgetOccluderList ()
const ShadowVolumeOccluderListgetOccluderList () const
void pushViewport (osg::Viewport *viewport)
void popViewport ()
void pushProjectionMatrix (osg::RefMatrix *matrix)
void popProjectionMatrix ()
void pushModelViewMatrix (osg::RefMatrix *matrix)
void popModelViewMatrix ()
float getFrustumVolume ()
float pixelSize (const Vec3 &v, float radius) const
 Compute the pixel size of an object at position v, with specified radius.

float pixelSize (const BoundingSphere &bs) const
 Compute the pixel size of the bounding sphere.

float clampedPixelSize (const Vec3 &v, float radius) const
 Compute the pixel size of an object at position v, with specified radius.

float clampedPixelSize (const BoundingSphere &bs) const
 Compute the pixel size of the bounding sphere.

void disableAndPushOccludersCurrentMask (NodePath &nodePath)
void popOccludersCurrentMask (NodePath &nodePath)
bool isCulled (const std::vector< Vec3 > &vertices)
bool isCulled (const BoundingBox &bb)
bool isCulled (const BoundingSphere &bs)
bool isCulled (const osg::Node &node)
void pushCurrentMask ()
void popCurrentMask ()
CullingStackgetClipSpaceCullingStack ()
CullingStackgetProjectionCullingStack ()
CullingStackgetModelViewCullingStack ()
CullingSetgetCurrentCullingSet ()
const CullingSetgetCurrentCullingSet () const
osg::ViewportgetViewport ()
osg::RefMatrixgetModelViewMatrix ()
osg::RefMatrixgetProjectionMatrix ()
osg::Matrix getWindowMatrix ()
const osg::RefMatrixgetMVPW ()
const osg::Vec3getEyeLocal () const
const osg::Vec3 getUpLocal () const
const osg::Vec3 getLookVectorLocal () const

Protected Types

typedef fast_back_stack< ref_ptr<
RefMatrix > > 
MatrixStack
typedef fast_back_stack< ref_ptr<
Viewport > > 
ViewportStack
typedef fast_back_stack< Vec3EyePointStack
typedef std::vector< osg::ref_ptr<
osg::RefMatrix > > 
MatrixList

Protected Member Functions

void pushCullingSet ()
void popCullingSet ()
void computeFrustumVolume ()
osg::RefMatrixcreateOrReuseMatrix (const osg::Matrix &value)

Protected Attributes

ShadowVolumeOccluderList _occluderList
MatrixStack _projectionStack
MatrixStack _modelviewStack
MatrixStack _MVPW_Stack
ViewportStack _viewportStack
EyePointStack _eyePointStack
CullingStack _clipspaceCullingStack
CullingStack _projectionCullingStack
CullingStack _modelviewCullingStack
unsigned int _index_modelviewCullingStack
CullingSet_back_modelviewCullingStack
float _frustumVolume
unsigned int _bbCornerNear
unsigned int _bbCornerFar
ref_ptr< osg::RefMatrix_identity
MatrixList _reuseMatrixList
unsigned int _currentReuseMatrixIndex

Detailed Description

A CullStack class which accumulates the current project, modelview matrices and the CullingSet.


Member Typedef Documentation

typedef std::vector< CullingSet > osg::CullStack::CullingStack
 

typedef fast_back_stack<Vec3> osg::CullStack::EyePointStack [protected]
 

typedef std::vector< osg::ref_ptr<osg::RefMatrix> > osg::CullStack::MatrixList [protected]
 

typedef fast_back_stack< ref_ptr<RefMatrix> > osg::CullStack::MatrixStack [protected]
 

typedef std::vector<ShadowVolumeOccluder> osg::CullStack::OccluderList
 

typedef fast_back_stack<ref_ptr<Viewport> > osg::CullStack::ViewportStack [protected]
 


Constructor & Destructor Documentation

osg::CullStack::CullStack  ) 
 

osg::CullStack::~CullStack  ) 
 


Member Function Documentation

float osg::CullStack::clampedPixelSize const BoundingSphere bs  )  const [inline]
 

Compute the pixel size of the bounding sphere.

fabs()ed to always be positive.

float osg::CullStack::clampedPixelSize const Vec3 v,
float  radius
const [inline]
 

Compute the pixel size of an object at position v, with specified radius.

fabs()ed to always be positive.

void osg::CullStack::computeFrustumVolume  )  [protected]
 

RefMatrix * osg::CullStack::createOrReuseMatrix const osg::Matrix value  )  [inline, protected]
 

void osg::CullStack::disableAndPushOccludersCurrentMask NodePath nodePath  )  [inline]
 

CullingStack& osg::CullStack::getClipSpaceCullingStack  )  [inline]
 

const CullingSet& osg::CullStack::getCurrentCullingSet  )  const [inline]
 

CullingSet& osg::CullStack::getCurrentCullingSet  )  [inline]
 

const osg::Vec3& osg::CullStack::getEyeLocal  )  const [inline]
 

float osg::CullStack::getFrustumVolume  )  [inline]
 

const osg::Vec3 osg::CullStack::getLookVectorLocal  )  const [inline]
 

CullingStack& osg::CullStack::getModelViewCullingStack  )  [inline]
 

osg::RefMatrix & osg::CullStack::getModelViewMatrix  )  [inline]
 

const osg::RefMatrix & osg::CullStack::getMVPW  )  [inline]
 

const ShadowVolumeOccluderList& osg::CullStack::getOccluderList  )  const [inline]
 

ShadowVolumeOccluderList& osg::CullStack::getOccluderList  )  [inline]
 

CullingStack& osg::CullStack::getProjectionCullingStack  )  [inline]
 

osg::RefMatrix & osg::CullStack::getProjectionMatrix  )  [inline]
 

const osg::Vec3 osg::CullStack::getUpLocal  )  const [inline]
 

osg::Viewport * osg::CullStack::getViewport  )  [inline]
 

osg::Matrix osg::CullStack::getWindowMatrix  )  [inline]
 

bool osg::CullStack::isCulled const osg::Node node  )  [inline]
 

bool osg::CullStack::isCulled const BoundingSphere bs  )  [inline]
 

bool osg::CullStack::isCulled const BoundingBox bb  )  [inline]
 

bool osg::CullStack::isCulled const std::vector< Vec3 > &  vertices  )  [inline]
 

float osg::CullStack::pixelSize const BoundingSphere bs  )  const [inline]
 

Compute the pixel size of the bounding sphere.

float osg::CullStack::pixelSize const Vec3 v,
float  radius
const [inline]
 

Compute the pixel size of an object at position v, with specified radius.

void osg::CullStack::popCullingSet  )  [protected]
 

void osg::CullStack::popCurrentMask  )  [inline]
 

void osg::CullStack::popModelViewMatrix  ) 
 

void osg::CullStack::popOccludersCurrentMask NodePath nodePath  )  [inline]
 

void osg::CullStack::popProjectionMatrix  ) 
 

Reimplemented in osgUtil::CullVisitor.

void osg::CullStack::popViewport  ) 
 

void osg::CullStack::pushCullingSet  )  [protected]
 

void osg::CullStack::pushCurrentMask  )  [inline]
 

void osg::CullStack::pushModelViewMatrix osg::RefMatrix matrix  ) 
 

void osg::CullStack::pushProjectionMatrix osg::RefMatrix matrix  ) 
 

void osg::CullStack::pushViewport osg::Viewport viewport  ) 
 

void osg::CullStack::reset  ) 
 

Reimplemented in osg::CollectOccludersVisitor, and osgUtil::CullVisitor.

void osg::CullStack::setOccluderList const ShadowVolumeOccluderList svol  )  [inline]
 


Member Data Documentation

CullingSet* osg::CullStack::_back_modelviewCullingStack [protected]
 

unsigned int osg::CullStack::_bbCornerFar [protected]
 

unsigned int osg::CullStack::_bbCornerNear [protected]
 

CullingStack osg::CullStack::_clipspaceCullingStack [protected]
 

unsigned int osg::CullStack::_currentReuseMatrixIndex [protected]
 

EyePointStack osg::CullStack::_eyePointStack [protected]
 

float osg::CullStack::_frustumVolume [protected]
 

ref_ptr<osg::RefMatrix> osg::CullStack::_identity [protected]
 

unsigned int osg::CullStack::_index_modelviewCullingStack [protected]
 

CullingStack osg::CullStack::_modelviewCullingStack [protected]
 

MatrixStack osg::CullStack::_modelviewStack [protected]
 

MatrixStack osg::CullStack::_MVPW_Stack [protected]
 

ShadowVolumeOccluderList osg::CullStack::_occluderList [protected]
 

CullingStack osg::CullStack::_projectionCullingStack [protected]
 

MatrixStack osg::CullStack::_projectionStack [protected]
 

MatrixList osg::CullStack::_reuseMatrixList [protected]
 

ViewportStack osg::CullStack::_viewportStack [protected]
 


The documentation for this class was generated from the following file:
Generated at Thu Nov 24 16:22:56 2005 for the OpenSceneGraph by doxygen 1.3.6.