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:

[legend]
List of all members.

## Public Types
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
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)
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
| 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:

- CullingSet