Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes

osg::CullingSet Class Reference

Inheritance diagram for osg::CullingSet:
osg::Referenced

List of all members.

Public Types

enum  MaskValues {
  NO_CULLING = 0x0, VIEW_FRUSTUM_SIDES_CULLING = 0x1, NEAR_PLANE_CULLING = 0x2, FAR_PLANE_CULLING = 0x4,
  VIEW_FRUSTUM_CULLING, SMALL_FEATURE_CULLING = 0x8, SHADOW_OCCLUSION_CULLING = 0x10, DEFAULT_CULLING,
  ENABLE_ALL_CULLING
}
typedef std::pair
< osg::ref_ptr< osg::StateSet >
, osg::Polytope > 
StateFrustumPair
typedef std::vector
< StateFrustumPair > 
StateFrustumList
typedef std::vector
< ShadowVolumeOccluder > 
OccluderList
typedef unsigned int Mask

Public Member Functions

 CullingSet ()
 CullingSet (const CullingSet &cs)
 CullingSet (const CullingSet &cs, const Matrix &matrix, const Vec4 &pixelSizeVector)
CullingSet & operator= (const CullingSet &cs)
void set (const CullingSet &cs)
void set (const CullingSet &cs, const Matrix &matrix, const Vec4 &pixelSizeVector)
void setCullingMask (Mask mask)
Mask getCullingMask () const
void setFrustum (Polytope &cv)
Polytope & getFrustum ()
const Polytope & getFrustum () const
void addStateFrustum (StateSet *stateset, Polytope &polytope)
void getStateFrustumList (StateFrustumList &sfl)
StateFrustumList & getStateFrustumList ()
void addOccluder (ShadowVolumeOccluder &cv)
void setPixelSizeVector (const Vec4 &v)
Vec4 & getPixelSizeVector ()
const Vec4 & getPixelSizeVector () const
void setSmallFeatureCullingPixelSize (float value)
float & getSmallFeatureCullingPixelSize ()
float getSmallFeatureCullingPixelSize () const
float pixelSize (const Vec3 &v, float radius) const
float pixelSize (const BoundingSphere &bs) const
float clampedPixelSize (const Vec3 &v, float radius) const
float clampedPixelSize (const BoundingSphere &bs) const
bool isCulled (const std::vector< Vec3 > &vertices)
bool isCulled (const BoundingBox &bb)
bool isCulled (const BoundingSphere &bs)
void pushCurrentMask ()
void popCurrentMask ()
void disableAndPushOccludersCurrentMask (NodePath &nodePath)
void popOccludersCurrentMask (NodePath &nodePath)
virtual ~CullingSet ()

Static Public Member Functions

static osg::Vec4 computePixelSizeVector (const Viewport &W, const Matrix &P, const Matrix &M)

Protected Attributes

Mask _mask
Polytope _frustum
StateFrustumList _stateFrustumList
OccluderList _occluderList
Vec4 _pixelSizeVector
float _smallFeatureCullingPixelSize

Detailed Description

A CullingSet class which contains a frustum and a list of occluders.


Member Typedef Documentation

typedef unsigned int osg::CullingSet::Mask

Member Enumeration Documentation

Enumerator:
NO_CULLING 
VIEW_FRUSTUM_SIDES_CULLING 
NEAR_PLANE_CULLING 
FAR_PLANE_CULLING 
VIEW_FRUSTUM_CULLING 
SMALL_FEATURE_CULLING 
SHADOW_OCCLUSION_CULLING 
DEFAULT_CULLING 
ENABLE_ALL_CULLING 

Constructor & Destructor Documentation

osg::CullingSet::CullingSet (  ) 
osg::CullingSet::CullingSet ( const CullingSet &  cs  )  [inline]
osg::CullingSet::CullingSet ( const CullingSet &  cs,
const Matrix &  matrix,
const Vec4 &  pixelSizeVector 
) [inline]
virtual osg::CullingSet::~CullingSet (  )  [virtual]

Member Function Documentation

void osg::CullingSet::addOccluder ( ShadowVolumeOccluder &  cv  )  [inline]
void osg::CullingSet::addStateFrustum ( StateSet *  stateset,
Polytope &  polytope 
) [inline]
float osg::CullingSet::clampedPixelSize ( const Vec3 &  v,
float  radius 
) const [inline]

Compute the pixel of an object at position v, with specified radius. fabs()ed to always be positive.

float osg::CullingSet::clampedPixelSize ( const BoundingSphere &  bs  )  const [inline]

Compute the pixel of a bounding sphere. fabs()ed to always be positive.

static osg::Vec4 osg::CullingSet::computePixelSizeVector ( const Viewport &  W,
const Matrix &  P,
const Matrix &  M 
) [static]
void osg::CullingSet::disableAndPushOccludersCurrentMask ( NodePath &  nodePath  ) 
Mask osg::CullingSet::getCullingMask (  )  const [inline]
const Polytope& osg::CullingSet::getFrustum (  )  const [inline]
Polytope& osg::CullingSet::getFrustum (  )  [inline]
Vec4& osg::CullingSet::getPixelSizeVector (  )  [inline]
const Vec4& osg::CullingSet::getPixelSizeVector (  )  const [inline]
float& osg::CullingSet::getSmallFeatureCullingPixelSize (  )  [inline]
float osg::CullingSet::getSmallFeatureCullingPixelSize (  )  const [inline]
void osg::CullingSet::getStateFrustumList ( StateFrustumList &  sfl  )  [inline]
StateFrustumList& osg::CullingSet::getStateFrustumList (  )  [inline]
bool osg::CullingSet::isCulled ( const BoundingBox &  bb  )  [inline]
bool osg::CullingSet::isCulled ( const BoundingSphere &  bs  )  [inline]
bool osg::CullingSet::isCulled ( const std::vector< Vec3 > &  vertices  )  [inline]
CullingSet& osg::CullingSet::operator= ( const CullingSet &  cs  )  [inline]
float osg::CullingSet::pixelSize ( const Vec3 &  v,
float  radius 
) const [inline]

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

float osg::CullingSet::pixelSize ( const BoundingSphere &  bs  )  const [inline]

Compute the pixel of a bounding sphere.

References osg::BoundingSphereImpl< VT >::center(), and osg::BoundingSphereImpl< VT >::radius().

void osg::CullingSet::popCurrentMask (  )  [inline]
void osg::CullingSet::popOccludersCurrentMask ( NodePath &  nodePath  ) 
void osg::CullingSet::pushCurrentMask (  )  [inline]
void osg::CullingSet::set ( const CullingSet &  cs  )  [inline]
void osg::CullingSet::set ( const CullingSet &  cs,
const Matrix &  matrix,
const Vec4 &  pixelSizeVector 
) [inline]
void osg::CullingSet::setCullingMask ( Mask  mask  )  [inline]
void osg::CullingSet::setFrustum ( Polytope &  cv  )  [inline]
void osg::CullingSet::setPixelSizeVector ( const Vec4 &  v  )  [inline]
void osg::CullingSet::setSmallFeatureCullingPixelSize ( float  value  )  [inline]

Member Data Documentation

Referenced by operator=().

Referenced by operator=().


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