openscenegraph
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
osg::CollectOccludersVisitor Class Reference

#include <CollectOccludersVisitor>

Inheritance diagram for osg::CollectOccludersVisitor:
osg::NodeVisitor osg::CullStack osg::Object osg::CullSettings osg::Referenced

Public Types

typedef std::set< ShadowVolumeOccluderShadowVolumeOccluderSet
 
- Public Types inherited from osg::NodeVisitor
enum  TraversalMode { TRAVERSE_NONE , TRAVERSE_PARENTS , TRAVERSE_ALL_CHILDREN , TRAVERSE_ACTIVE_CHILDREN }
 
enum  VisitorType {
  NODE_VISITOR = 0 , UPDATE_VISITOR , EVENT_VISITOR , COLLECT_OCCLUDER_VISITOR ,
  CULL_VISITOR , INTERSECTION_VISITOR
}
 
- Public Types inherited from osg::Object
enum  DataVariance { DYNAMIC , STATIC , UNSPECIFIED }
 
- Public Types inherited from osg::CullStack
typedef std::vector< ShadowVolumeOccluderOccluderList
 
typedef std::vector< CullingSetCullingStack
 
typedef fast_back_stack< ref_ptr< RefMatrix > > MatrixStack
 
- Public Types inherited from osg::CullSettings
enum  VariablesMask {
  COMPUTE_NEAR_FAR_MODE = (0x1 << 0) , CULLING_MODE = (0x1 << 1) , LOD_SCALE = (0x1 << 2) , SMALL_FEATURE_CULLING_PIXEL_SIZE = (0x1 << 3) ,
  CLAMP_PROJECTION_MATRIX_CALLBACK = (0x1 << 4) , NEAR_FAR_RATIO = (0x1 << 5) , IMPOSTOR_ACTIVE = (0x1 << 6) , DEPTH_SORT_IMPOSTOR_SPRITES = (0x1 << 7) ,
  IMPOSTOR_PIXEL_ERROR_THRESHOLD = (0x1 << 8) , NUM_FRAMES_TO_KEEP_IMPOSTORS_SPRITES = (0x1 << 9) , CULL_MASK = (0x1 << 10) , CULL_MASK_LEFT = (0x1 << 11) ,
  CULL_MASK_RIGHT = (0x1 << 12) , CLEAR_COLOR = (0x1 << 13) , CLEAR_MASK = (0x1 << 14) , LIGHTING_MODE = (0x1 << 15) ,
  LIGHT = (0x1 << 16) , DRAW_BUFFER = (0x1 << 17) , READ_BUFFER = (0x1 << 18) , NO_VARIABLES = 0x00000000 ,
  ALL_VARIABLES = 0x7FFFFFFF
}
 
enum  InheritanceMaskActionOnAttributeSetting { DISABLE_ASSOCIATED_INHERITANCE_MASK_BIT , DO_NOT_MODIFY_INHERITANCE_MASK }
 
enum  ComputeNearFarMode { DO_NOT_COMPUTE_NEAR_FAR = 0 , COMPUTE_NEAR_FAR_USING_BOUNDING_VOLUMES , COMPUTE_NEAR_FAR_USING_PRIMITIVES , COMPUTE_NEAR_USING_PRIMITIVES }
 
enum  CullingModeValues {
  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 , CLUSTER_CULLING = 0x20 ,
  DEFAULT_CULLING , ENABLE_ALL_CULLING
}
 
typedef int InheritanceMask
 
typedef int CullingMode
 

Public Member Functions

 CollectOccludersVisitor ()
 
virtual ~CollectOccludersVisitor ()
 
 META_NodeVisitor (osg, CollectOccludersVisitor) virtual Object *cloneType() const
 
virtual void reset ()
 
virtual float getDistanceToEyePoint (const Vec3 &pos, bool withLODScale) const
 
virtual float getDistanceToViewPoint (const Vec3 &pos, bool withLODScale) const
 
virtual float getDistanceFromEyePoint (const Vec3 &pos, bool withLODScale) const
 
virtual void apply (osg::Node &)
 
virtual void apply (osg::Transform &node)
 
virtual void apply (osg::Projection &node)
 
virtual void apply (osg::Switch &node)
 
virtual void apply (osg::LOD &node)
 
virtual void apply (osg::OccluderNode &node)
 
void setMinimumShadowOccluderVolume (float vol)
 
float getMinimumShadowOccluderVolume () const
 
void setMaximumNumberOfActiveOccluders (unsigned int num)
 
unsigned int getMaximumNumberOfActiveOccluders () const
 
void setCreateDrawablesOnOccludeNodes (bool flag)
 
bool getCreateDrawablesOnOccludeNodes () const
 
void setCollectedOccluderSet (const ShadowVolumeOccluderSet &svol)
 
ShadowVolumeOccluderSetgetCollectedOccluderSet ()
 
const ShadowVolumeOccluderSetgetCollectedOccluderSet () const
 
void removeOccludedOccluders ()
 
- Public Member Functions inherited from osg::NodeVisitor
 NodeVisitor (TraversalMode tm=TRAVERSE_NONE)
 
 NodeVisitor (VisitorType type, TraversalMode tm=TRAVERSE_NONE)
 
 NodeVisitor (const NodeVisitor &nv, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
 
virtual ~NodeVisitor ()
 
 META_Object (osg, NodeVisitor) virtual NodeVisitor *asNodeVisitor()
 
virtual const NodeVisitorasNodeVisitor () const
 
virtual osgUtil::UpdateVisitorasUpdateVisitor ()
 
virtual const osgUtil::UpdateVisitorasUpdateVisitor () const
 
virtual osgUtil::CullVisitorasCullVisitor ()
 
virtual const osgUtil::CullVisitorasCullVisitor () const
 
virtual osgGA::EventVisitorasEventVisitor ()
 
virtual const osgGA::EventVisitorasEventVisitor () const
 
virtual osgUtil::IntersectionVisitorasIntersectionVisitor ()
 
virtual const osgUtil::IntersectionVisitorasIntersectionVisitor () const
 
virtual osg::CullStackasCullStack ()
 
virtual const osg::CullStackasCullStack () const
 
void setVisitorType (VisitorType type)
 
VisitorType getVisitorType () const
 
void setTraversalNumber (unsigned int fn)
 
unsigned int getTraversalNumber () const
 
void setFrameStamp (FrameStamp *fs)
 
const FrameStampgetFrameStamp () const
 
void setTraversalMask (Node::NodeMask mask)
 
Node::NodeMask getTraversalMask () const
 
void setNodeMaskOverride (Node::NodeMask mask)
 
Node::NodeMask getNodeMaskOverride () const
 
bool validNodeMask (const osg::Node &node) const
 
void setTraversalMode (TraversalMode mode)
 
TraversalMode getTraversalMode () const
 
void setValueMap (ValueMap *ps)
 
ValueMapgetValueMap ()
 
const ValueMapgetValueMap () const
 
ValueMapgetOrCreateValueMap ()
 
void setValueStack (ValueStack *ps)
 
ValueStackgetValueStack ()
 
const ValueStackgetValueStack () const
 
ValueStackgetOrCreateValueStack ()
 
void traverse (Node &node)
 
void pushOntoNodePath (Node *node)
 
void popFromNodePath ()
 
NodePathgetNodePath ()
 
const NodePathgetNodePath () const
 
virtual osg::Vec3 getEyePoint () const
 
virtual osg::Vec3 getViewPoint () const
 
virtual void apply (Drawable &drawable)
 
virtual void apply (Geometry &geometry)
 
virtual void apply (Geode &node)
 
virtual void apply (Billboard &node)
 
virtual void apply (Group &node)
 
virtual void apply (ProxyNode &node)
 
virtual void apply (CoordinateSystemNode &node)
 
virtual void apply (ClipNode &node)
 
virtual void apply (TexGenNode &node)
 
virtual void apply (LightSource &node)
 
virtual void apply (Camera &node)
 
virtual void apply (CameraView &node)
 
virtual void apply (MatrixTransform &node)
 
virtual void apply (PositionAttitudeTransform &node)
 
virtual void apply (AutoTransform &node)
 
virtual void apply (Sequence &node)
 
virtual void apply (PagedLOD &node)
 
virtual void apply (ClearNode &node)
 
virtual void apply (OcclusionQueryNode &node)
 
void setDatabaseRequestHandler (DatabaseRequestHandler *handler)
 
DatabaseRequestHandlergetDatabaseRequestHandler ()
 
const DatabaseRequestHandlergetDatabaseRequestHandler () const
 
void setImageRequestHandler (ImageRequestHandler *handler)
 
ImageRequestHandlergetImageRequestHandler ()
 
const ImageRequestHandlergetImageRequestHandler () const
 
- Public Member Functions inherited from osg::Object
 Object ()
 
 Object (bool threadSafeRefUnref)
 
 Object (const Object &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
 
virtual ObjectcloneType () const =0
 
virtual Objectclone (const CopyOp &) const =0
 
virtual bool isSameKindAs (const Object *) const
 
virtual const char * libraryName () const =0
 
virtual const char * className () const =0
 
std::string getCompoundClassName () const
 
virtual NodeasNode ()
 
virtual const NodeasNode () const
 
virtual NodeVisitorasNodeVisitor ()
 
virtual StateSetasStateSet ()
 
virtual const StateSetasStateSet () const
 
virtual StateAttributeasStateAttribute ()
 
virtual const StateAttributeasStateAttribute () const
 
virtual UniformasUniform ()
 
virtual const UniformasUniform () const
 
virtual CameraasCamera ()
 
virtual const CameraasCamera () const
 
virtual DrawableasDrawable ()
 
virtual const DrawableasDrawable () const
 
virtual CallbackasCallback ()
 
virtual const CallbackasCallback () const
 
virtual CallbackObjectasCallbackObject ()
 
virtual const CallbackObjectasCallbackObject () const
 
virtual UserDataContainerasUserDataContainer ()
 
virtual const UserDataContainerasUserDataContainer () const
 
virtual ValueObjectasValueObject ()
 
virtual const ValueObjectasValueObject () const
 
virtual ImageasImage ()
 
virtual const ImageasImage () const
 
virtual void setThreadSafeRefUnref (bool threadSafe)
 
virtual void setName (const std::string &name)
 
void setName (const char *name)
 
const std::string & getName () const
 
void setDataVariance (DataVariance dv)
 
DataVariance getDataVariance () const
 
virtual void computeDataVariance ()
 
void setUserDataContainer (osg::UserDataContainer *udc)
 
template<class T >
void setUserDataContainer (const ref_ptr< T > &udc)
 
osg::UserDataContainergetUserDataContainer ()
 
const osg::UserDataContainergetUserDataContainer () const
 
osg::UserDataContainergetOrCreateUserDataContainer ()
 
virtual void setUserData (Referenced *obj)
 
template<class T >
void setUserData (const ref_ptr< T > &ud)
 
virtual ReferencedgetUserData ()
 
virtual const ReferencedgetUserData () const
 
template<typename T >
bool getUserValue (const std::string &name, T &value) const
 
template<typename T >
void setUserValue (const std::string &name, const T &value)
 
virtual void resizeGLObjectBuffers (unsigned int)
 
virtual void releaseGLObjects (osg::State *=0) const
 
template<typename T >
BoolValueObject UCharValueObject UShortValueObject UIntValueObject DoubleValueObject Vec3fValueObject Vec2dValueObject Vec4dValueObject PlaneValueObject MatrixdValueObject BoundingBoxdValueObject BoundingSpheredValueObject bool getUserValue (const std::string &name, T &value) const
 
- Public Member Functions inherited from osg::Referenced
 Referenced ()
 
 Referenced (bool threadSafeRefUnref)
 
 Referenced (const Referenced &)
 
Referencedoperator= (const Referenced &)
 
bool getThreadSafeRefUnref () const
 
OpenThreads::MutexgetRefMutex () const
 
int ref () const
 
int unref () const
 
int unref_nodelete () const
 
int referenceCount () const
 
ObserverSetgetObserverSet () const
 
ObserverSetgetOrCreateObserverSet () const
 
void addObserver (Observer *observer) const
 
void removeObserver (Observer *observer) const
 
- Public Member Functions inherited from osg::CullStack
 CullStack ()
 
 CullStack (const CullStack &cs)
 
 ~CullStack ()
 
void reset ()
 
void pushCullingSet ()
 
void popCullingSet ()
 
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, Transform::ReferenceFrame referenceFrame)
 
void popModelViewMatrix ()
 
float getFrustumVolume ()
 
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
 
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 ()
 
const osg::ViewportgetViewport () const
 
osg::RefMatrixgetModelViewMatrix ()
 
const osg::RefMatrixgetModelViewMatrix () const
 
osg::RefMatrixgetProjectionMatrix ()
 
const osg::RefMatrixgetProjectionMatrix () const
 
osg::Matrix getWindowMatrix () const
 
const osg::RefMatrixgetMVPW ()
 
const osg::Vec3getReferenceViewPoint () const
 
void pushReferenceViewPoint (const osg::Vec3 &viewPoint)
 
void popReferenceViewPoint ()
 
const osg::Vec3getEyeLocal () const
 
const osg::Vec3getViewPointLocal () const
 
const osg::Vec3 getUpLocal () const
 
const osg::Vec3 getLookVectorLocal () const
 
MatrixStackgetProjectionStack ()
 
const MatrixStackgetProjectionStack () const
 
MatrixStackgetModelViewStack ()
 
const MatrixStackgetModelViewStack () const
 
MatrixStackgetMVPWStack ()
 
const MatrixStackgetMVPWStack () const
 
- Public Member Functions inherited from osg::CullSettings
 CullSettings ()
 
 CullSettings (ArgumentParser &arguments)
 
 CullSettings (const CullSettings &cs)
 
virtual ~CullSettings ()
 
CullSettingsoperator= (const CullSettings &settings)
 
virtual void setDefaults ()
 
void setInheritanceMask (InheritanceMask mask)
 
InheritanceMask getInheritanceMask () const
 
void setCullSettings (const CullSettings &settings)
 
virtual void inheritCullSettings (const CullSettings &settings)
 
virtual void inheritCullSettings (const CullSettings &settings, unsigned int inheritanceMask)
 
void readEnvironmentalVariables ()
 
void readCommandLine (ArgumentParser &arguments)
 
void setInheritanceMaskActionOnAttributeSetting (InheritanceMaskActionOnAttributeSetting action)
 
InheritanceMaskActionOnAttributeSetting getInheritanceMaskActionOnAttributeSetting () const
 
void applyMaskAction (unsigned int maskBit)
 
void setImpostorsActive (bool active)
 
bool getImpostorsActive () const
 
void setImpostorPixelErrorThreshold (float numPixels)
 
float getImpostorPixelErrorThreshold () const
 
void setDepthSortImpostorSprites (bool doDepthSort)
 
bool getDepthSortImpostorSprites () const
 
void setNumberOfFrameToKeepImpostorSprites (int numFrames)
 
int getNumberOfFrameToKeepImpostorSprites () const
 
void setComputeNearFarMode (ComputeNearFarMode cnfm)
 
ComputeNearFarMode getComputeNearFarMode () const
 
void setNearFarRatio (double ratio)
 
double getNearFarRatio () const
 
void setCullingMode (CullingMode mode)
 
CullingMode getCullingMode () const
 
void setCullMask (osg::Node::NodeMask nm)
 
osg::Node::NodeMask getCullMask () const
 
void setCullMaskLeft (osg::Node::NodeMask nm)
 
osg::Node::NodeMask getCullMaskLeft () const
 
void setCullMaskRight (osg::Node::NodeMask nm)
 
osg::Node::NodeMask getCullMaskRight () const
 
void setLODScale (float scale)
 
float getLODScale () const
 
void setSmallFeatureCullingPixelSize (float value)
 
float getSmallFeatureCullingPixelSize () const
 
void setClampProjectionMatrixCallback (ClampProjectionMatrixCallback *cpmc)
 
ClampProjectionMatrixCallbackgetClampProjectionMatrixCallback ()
 
const ClampProjectionMatrixCallbackgetClampProjectionMatrixCallback () const
 
void write (std::ostream &out)
 

Protected Member Functions

CollectOccludersVisitoroperator= (const CollectOccludersVisitor &)
 
void handle_cull_callbacks_and_traverse (osg::Node &node)
 
void handle_cull_callbacks_and_accept (osg::Node &node, osg::Node *acceptNode)
 
- Protected Member Functions inherited from osg::Object
virtual ~Object ()
 
- Protected Member Functions inherited from osg::Referenced
virtual ~Referenced ()
 
void signalObserversAndDelete (bool signalDelete, bool doDelete) const
 
void deleteUsingDeleteHandler () const
 
- Protected Member Functions inherited from osg::CullStack
void computeFrustumVolume ()
 
osg::RefMatrixcreateOrReuseMatrix (const osg::Matrix &value)
 

Protected Attributes

float _minimumShadowOccluderVolume
 
unsigned _maximumNumberOfActiveOccluders
 
bool _createDrawables
 
ShadowVolumeOccluderSet _occluderSet
 
- Protected Attributes inherited from osg::NodeVisitor
VisitorType _visitorType
 
unsigned int _traversalNumber
 
ref_ptr< FrameStamp_frameStamp
 
TraversalMode _traversalMode
 
Node::NodeMask _traversalMask
 
Node::NodeMask _nodeMaskOverride
 
NodePath _nodePath
 
ref_ptr< DatabaseRequestHandler_databaseRequestHandler
 
ref_ptr< ImageRequestHandler_imageRequestHandler
 
osg::ref_ptr< ValueMap_valueMap
 
osg::ref_ptr< ValueStack_valueStack
 
- Protected Attributes inherited from osg::Object
std::string _name
 
DataVariance _dataVariance
 
osg::UserDataContainer_userDataContainer
 
- Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr _observerSet
 
OpenThreads::Atomic _refCount
 
- Protected Attributes inherited from osg::CullStack
ShadowVolumeOccluderList _occluderList
 
MatrixStack _projectionStack
 
MatrixStack _modelviewStack
 
MatrixStack _MVPW_Stack
 
ViewportStack _viewportStack
 
EyePointStack _referenceViewPoints
 
EyePointStack _eyePointStack
 
EyePointStack _viewPointStack
 
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
 
- Protected Attributes inherited from osg::CullSettings
InheritanceMask _inheritanceMask
 
InheritanceMaskActionOnAttributeSetting _inheritanceMaskActionOnAttributeSetting
 
ComputeNearFarMode _computeNearFar
 
CullingMode _cullingMode
 
float _LODScale
 
float _smallFeatureCullingPixelSize
 
ref_ptr< ClampProjectionMatrixCallback_clampProjectionMatrixCallback
 
double _nearFarRatio
 
bool _impostorActive
 
bool _depthSortImpostorSprites
 
float _impostorPixelErrorThreshold
 
int _numFramesToKeepImpostorSprites
 
Node::NodeMask _cullMask
 
Node::NodeMask _cullMaskLeft
 
Node::NodeMask _cullMaskRight
 

Additional Inherited Members

- Static Public Member Functions inherited from osg::Referenced
static OpenThreads::MutexgetGlobalReferencedMutex ()
 
static void setDeleteHandler (DeleteHandler *handler)
 
static DeleteHandlergetDeleteHandler ()
 
- Protected Types inherited from osg::CullStack
typedef fast_back_stack< ref_ptr< Viewport > > ViewportStack
 
typedef fast_back_stack< Vec3EyePointStack
 
typedef std::vector< osg::ref_ptr< osg::RefMatrix > > MatrixList
 

Member Typedef Documentation

◆ ShadowVolumeOccluderSet

Constructor & Destructor Documentation

◆ CollectOccludersVisitor()

osg::CollectOccludersVisitor::CollectOccludersVisitor ( )

◆ ~CollectOccludersVisitor()

virtual osg::CollectOccludersVisitor::~CollectOccludersVisitor ( )
virtual

Member Function Documentation

◆ apply() [1/6]

virtual void osg::CollectOccludersVisitor::apply ( osg::LOD node)
virtual

Reimplemented from osg::NodeVisitor.

◆ apply() [2/6]

virtual void osg::CollectOccludersVisitor::apply ( osg::Node )
virtual

Reimplemented from osg::NodeVisitor.

◆ apply() [3/6]

virtual void osg::CollectOccludersVisitor::apply ( osg::OccluderNode node)
virtual

Reimplemented from osg::NodeVisitor.

◆ apply() [4/6]

virtual void osg::CollectOccludersVisitor::apply ( osg::Projection node)
virtual

Reimplemented from osg::NodeVisitor.

◆ apply() [5/6]

virtual void osg::CollectOccludersVisitor::apply ( osg::Switch node)
virtual

Reimplemented from osg::NodeVisitor.

◆ apply() [6/6]

virtual void osg::CollectOccludersVisitor::apply ( osg::Transform node)
virtual

Reimplemented from osg::NodeVisitor.

◆ getCollectedOccluderSet() [1/2]

ShadowVolumeOccluderSet & osg::CollectOccludersVisitor::getCollectedOccluderSet ( )
inline

◆ getCollectedOccluderSet() [2/2]

const ShadowVolumeOccluderSet & osg::CollectOccludersVisitor::getCollectedOccluderSet ( ) const
inline

◆ getCreateDrawablesOnOccludeNodes()

bool osg::CollectOccludersVisitor::getCreateDrawablesOnOccludeNodes ( ) const
inline

◆ getDistanceFromEyePoint()

virtual float osg::CollectOccludersVisitor::getDistanceFromEyePoint ( const Vec3 ,
bool   
) const
virtual

Get the distance of a point from the eye point, distance value in the eye coordinate system. Note, not all NodeVisitor implement this method, it is mainly cull visitors which will implement. If the getDistanceFromEyePoint(pos) is not implemented than a default value of 0.0 is returned.

Reimplemented from osg::NodeVisitor.

◆ getDistanceToEyePoint()

virtual float osg::CollectOccludersVisitor::getDistanceToEyePoint ( const Vec3 ,
bool   
) const
virtual

Get the distance from a point to the eye point, distance value in local coordinate system. Note, not all NodeVisitor implement this method, it is mainly cull visitors which will implement. If the getDistanceFromEyePoint(pos) is not implemented then a default value of 0.0 is returned.

Reimplemented from osg::NodeVisitor.

◆ getDistanceToViewPoint()

virtual float osg::CollectOccludersVisitor::getDistanceToViewPoint ( const Vec3 ,
bool   
) const
virtual

Get the distance from a point to the view point, distance value in local coordinate system. Note, not all NodeVisitor implement this method, it is mainly cull visitors which will implement. If the getDistanceToViewPoint(pos) is not implemented then a default value of 0.0 is returned.

Reimplemented from osg::NodeVisitor.

◆ getMaximumNumberOfActiveOccluders()

unsigned int osg::CollectOccludersVisitor::getMaximumNumberOfActiveOccluders ( ) const
inline

◆ getMinimumShadowOccluderVolume()

float osg::CollectOccludersVisitor::getMinimumShadowOccluderVolume ( ) const
inline

◆ handle_cull_callbacks_and_accept()

void osg::CollectOccludersVisitor::handle_cull_callbacks_and_accept ( osg::Node node,
osg::Node acceptNode 
)
inlineprotected

◆ handle_cull_callbacks_and_traverse()

void osg::CollectOccludersVisitor::handle_cull_callbacks_and_traverse ( osg::Node node)
inlineprotected

◆ META_NodeVisitor()

osg::CollectOccludersVisitor::META_NodeVisitor ( osg  ,
CollectOccludersVisitor   
) const
inline

◆ operator=()

CollectOccludersVisitor & osg::CollectOccludersVisitor::operator= ( const CollectOccludersVisitor )
inlineprotected

Prevents unwanted copy construction. Prevents unwanted copy operator.

◆ removeOccludedOccluders()

void osg::CollectOccludersVisitor::removeOccludedOccluders ( )

Removes occluded occluders for the collected occluders list, then discards all but MaximumNumberOfActiveOccluders of occluders, discarding the occluders with the lowest shadow occluder volume.

◆ reset()

virtual void osg::CollectOccludersVisitor::reset ( )
virtual

Method to call to reset visitor. Useful if your visitor accumulates state during a traversal, and you plan to reuse the visitor. To flush that state for the next traversal: call reset() prior to each traversal.

Reimplemented from osg::NodeVisitor.

◆ setCollectedOccluderSet()

void osg::CollectOccludersVisitor::setCollectedOccluderSet ( const ShadowVolumeOccluderSet svol)
inline

◆ setCreateDrawablesOnOccludeNodes()

void osg::CollectOccludersVisitor::setCreateDrawablesOnOccludeNodes ( bool  flag)
inline

◆ setMaximumNumberOfActiveOccluders()

void osg::CollectOccludersVisitor::setMaximumNumberOfActiveOccluders ( unsigned int  num)
inline

Sets the maximum number of occluders to have active for culling purposes.

◆ setMinimumShadowOccluderVolume()

void osg::CollectOccludersVisitor::setMinimumShadowOccluderVolume ( float  vol)
inline

Sets the minimum shadow occluder volume that an active occluder must have. vol is units relative the clip space volume where 1.0 is the whole clip space.

Member Data Documentation

◆ _createDrawables

bool osg::CollectOccludersVisitor::_createDrawables
protected

◆ _maximumNumberOfActiveOccluders

unsigned osg::CollectOccludersVisitor::_maximumNumberOfActiveOccluders
protected

◆ _minimumShadowOccluderVolume

float osg::CollectOccludersVisitor::_minimumShadowOccluderVolume
protected

◆ _occluderSet

ShadowVolumeOccluderSet osg::CollectOccludersVisitor::_occluderSet
protected

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