osgShadow::ViewDependentShadowTechnique::ViewData Struct Reference

`#include <ViewDependentShadowTechnique>`

Inheritance diagram for osgShadow::ViewDependentShadowTechnique::ViewData:

## Public Member Functions

virtual const char * | className () const
virtual void | init (ViewDependentShadowTechnique *st, osgUtil::CullVisitor *cv)
virtual void | cull ()
virtual void | dirty (bool flag)
| ViewData ()
virtual void | resizeGLObjectBuffers (unsigned int)
virtual void | releaseGLObjects (osg::State *=0) const
Public Member Functions inherited from osg::Referenced
| Referenced ()
| Referenced (bool threadSafeRefUnref)
| Referenced (const Referenced &)
Referenced & | operator= (const Referenced &)
virtual void | setThreadSafeRefUnref (bool)
bool | getThreadSafeRefUnref () const
OpenThreads::Mutex * | getRefMutex () const
int | ref () const
int | unref () const
int | unref_nodelete () const
int | referenceCount () const
ObserverSet * | getObserverSet () const
ObserverSet * | getOrCreateObserverSet () const
void | addObserver (Observer *observer) const
void | removeObserver (Observer *observer) const

## Public Attributes

OpenThreads::Mutex | _mutex
bool | _dirty
osg::observer_ptr< osgUtil::CullVisitor > | _cv
osg::observer_ptr< ViewDependentShadowTechnique > | _st

## Additional Inherited Members

Static Public Member Functions inherited from osg::Referenced
static OpenThreads::Mutex * | getGlobalReferencedMutex ()
static void | setDeleteHandler (DeleteHandler *handler)
static DeleteHandler * | getDeleteHandler ()
Protected Member Functions inherited from osg::Referenced
virtual | ~Referenced ()
void | signalObserversAndDelete (bool signalDelete, bool doDelete) const
void | deleteUsingDeleteHandler () const
Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr | _observerSet
OpenThreads::Atomic | _refCount

## Detailed Description

Base container class for view dependent shadow resources. Techniques based on ViewDependentShadowTechnique will usually define similar struct and derive it from ViewData to contain their specufic resources.

## Constructor & Destructor Documentation

## ViewData()

osgShadow::ViewDependentShadowTechnique::ViewData::ViewData | ( | void |  | ) |

inline

Simple constructor zeroing all variables.

References _cv, _dirty, _st, and NULL.

## Member Function Documentation

## className()

virtual const char * osgShadow::ViewDependentShadowTechnique::ViewData::className | ( |  | ) | const

inline virtual

## cull()

virtual void osgShadow::ViewDependentShadowTechnique::ViewData::cull | ( |  | ) |

virtual

Method called by ViewDependentShadowTechnique to allow ViewData do the hard work computing shadows for its associated view

Reimplemented in osgShadow::DebugShadowMap::ViewData, and osgShadow::StandardShadowMap::ViewData.

## dirty()

virtual void osgShadow::ViewDependentShadowTechnique::ViewData::dirty | ( | bool | flag | ) |

virtual

Dirty is called by parent ViewDependentShadowTechnique to force update of resources after some of them were modified in parent technique

## init()

virtual void osgShadow::ViewDependentShadowTechnique::ViewData::init | ( | ViewDependentShadowTechnique * | st,
|  | osgUtil::CullVisitor * | cv )

virtual

Method called upon ViewData instance to initialize internal variables

References osgShadow::ViewDependentShadowTechnique::ViewDependentShadowTechnique().

## releaseGLObjects()

virtual void osgShadow::ViewDependentShadowTechnique::ViewData::releaseGLObjects | ( | osg::State * | = 0 | ) | const

inline virtual

If State is non-zero, this function releases any associated OpenGL objects for the specified graphics context. Otherwise, releases OpenGL objects for all graphics contexts.

Reimplemented in osgShadow::DebugShadowMap::ViewData, osgShadow::MinimalDrawBoundsShadowMap::ViewData, and osgShadow::StandardShadowMap::ViewData.

## resizeGLObjectBuffers()

virtual void osgShadow::ViewDependentShadowTechnique::ViewData::resizeGLObjectBuffers | ( | unsigned int |  | ) |

inline virtual

Reimplemented in osgShadow::DebugShadowMap::ViewData, osgShadow::MinimalDrawBoundsShadowMap::ViewData, and osgShadow::StandardShadowMap::ViewData.

## Member Data Documentation

## _cv

osg::observer_ptr< osgUtil::CullVisitor > osgShadow::ViewDependentShadowTechnique::ViewData::_cv

View's CullVisitor associated with this ViewData instance

Referenced by ViewData().

## _dirty

bool osgShadow::ViewDependentShadowTechnique::ViewData::_dirty

Dirty flag tells this instance to update its resources

Referenced by ViewData().

## _mutex

OpenThreads::Mutex osgShadow::ViewDependentShadowTechnique::ViewData::_mutex

Mutex used to guard _dirty flag from override in case when parent technique calls dirty() simultaneously with ViewData while it is updating resources inside init method.

## _st

osg::observer_ptr< ViewDependentShadowTechnique > osgShadow::ViewDependentShadowTechnique::ViewData::_st

Parent ViewDependentShadowTechnique

Referenced by ViewData().

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

- ViewDependentShadowTechnique