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

osg::CullingSet Class Reference

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

Inheritance diagram for osg::CullingSet:

Inheritance graph
[legend]
List of all members.

Public Types

typedef std::pair< osg::ref_ptr<
osg::StateSet >, osg::Polytope
StateFrustumPair
typedef std::vector< StateFrustumPairStateFrustumList
typedef std::vector< ShadowVolumeOccluderOccluderList
typedef unsigned int Mask
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
}

Public Member Functions

 CullingSet ()
 CullingSet (const CullingSet &cs)
 CullingSet (const CullingSet &cs, const Matrix &matrix, const Vec4 &pixelSizeVector)
CullingSetoperator= (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)
PolytopegetFrustum ()
const PolytopegetFrustum () const
void addStateFrustum (StateSet *stateset, Polytope &polytope)
void getStateFrustumList (StateFrustumList &sfl)
StateFrustumListgetStateFrustumList ()
void addOccluder (ShadowVolumeOccluder &cv)
void setPixelSizeVector (const Vec4 &v)
Vec4getPixelSizeVector ()
const Vec4getPixelSizeVector () const
void setSmallFeatureCullingPixelSize (float value)
float & getSmallFeatureCullingPixelSize ()
float getSmallFeatureCullingPixelSize () const
float pixelSize (const Vec3 &v, float radius) const
 Compute the pixel of an object at position v, with specified radius.

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

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

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

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

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
 

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

typedef std::vector< StateFrustumPair > osg::CullingSet::StateFrustumList
 

typedef std::pair< osg::ref_ptr<osg::StateSet>, osg::Polytope > osg::CullingSet::StateFrustumPair
 


Member Enumeration Documentation

enum osg::CullingSet::MaskValues
 

Enumeration values:
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 BoundingSphere bs  )  const [inline]
 

Compute the pixel of a bounding sphere.

fabs()ed to always be positive.

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.

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]
 

const Vec4& osg::CullingSet::getPixelSizeVector  )  const [inline]
 

Vec4& osg::CullingSet::getPixelSizeVector  )  [inline]
 

float osg::CullingSet::getSmallFeatureCullingPixelSize  )  const [inline]
 

float& osg::CullingSet::getSmallFeatureCullingPixelSize  )  [inline]
 

StateFrustumList& osg::CullingSet::getStateFrustumList  )  [inline]
 

void osg::CullingSet::getStateFrustumList StateFrustumList sfl  )  [inline]
 

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

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

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

CullingSet& osg::CullingSet::operator= const CullingSet cs  )  [inline]
 

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

Compute the pixel of a bounding sphere.

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

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

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

void osg::CullingSet::popOccludersCurrentMask NodePath nodePath  ) 
 

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

void osg::CullingSet::set const CullingSet cs,
const Matrix matrix,
const Vec4 pixelSizeVector
[inline]
 

void osg::CullingSet::set const CullingSet cs  )  [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

Polytope osg::CullingSet::_frustum [protected]
 

Mask osg::CullingSet::_mask [protected]
 

OccluderList osg::CullingSet::_occluderList [protected]
 

Vec4 osg::CullingSet::_pixelSizeVector [protected]
 

float osg::CullingSet::_smallFeatureCullingPixelSize [protected]
 

StateFrustumList osg::CullingSet::_stateFrustumList [protected]
 


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