openscenegraph
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
osgShadow::ShadowVolumeGeometry Class Reference
Inheritance diagram for osgShadow::ShadowVolumeGeometry:
osg::Drawable osg::Object osg::Referenced

Public Types

enum  DrawMode { GEOMETRY, STENCIL_TWO_PASS, STENCIL_TWO_SIDED }
typedef std::vector< osg::Vec3 > Vec3List
typedef std::vector< GLuint > UIntList
- Public Types inherited from osg::Drawable
enum  AttributeTypes {
  VERTICES = 0, WEIGHTS = 1, NORMALS = 2, COLORS = 3,
  SECONDARY_COLORS = 4, FOG_COORDS = 5, ATTRIBUTE_6 = 6, ATTRIBUTE_7 = 7,
  TEXTURE_COORDS = 8, TEXTURE_COORDS_0 = TEXTURE_COORDS, TEXTURE_COORDS_1 = TEXTURE_COORDS_0+1, TEXTURE_COORDS_2 = TEXTURE_COORDS_0+2,
  TEXTURE_COORDS_3 = TEXTURE_COORDS_0+3, TEXTURE_COORDS_4 = TEXTURE_COORDS_0+4, TEXTURE_COORDS_5 = TEXTURE_COORDS_0+5, TEXTURE_COORDS_6 = TEXTURE_COORDS_0+6,
  TEXTURE_COORDS_7 = TEXTURE_COORDS_0+7
}
typedef std::vector< Node * > ParentList
typedef unsigned int AttributeType
- Public Types inherited from osg::Object
enum  DataVariance { DYNAMIC, STATIC, UNSPECIFIED }

Public Member Functions

 ShadowVolumeGeometry ()
 ShadowVolumeGeometry (const ShadowVolumeGeometry &oc, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
virtual Object * cloneType () const
virtual Object * clone (const osg::CopyOp &copyop) const
virtual bool isSameKindAs (const osg::Object *obj) const
virtual const char * libraryName () const
virtual const char * className () const
void setDrawMode (DrawMode mode)
DrawMode getDrawMode () const
void setVertices (const Vec3List &vertices)
Vec3List & getVertices ()
const Vec3List & getVertices () const
void setNormals (const Vec3List &normals)
Vec3List & getNormals ()
const Vec3List & getNormals () const
virtual void drawImplementation (osg::RenderInfo &renderInfo) const
virtual osg::BoundingBox computeBound () const
- Public Member Functions inherited from osg::Drawable
 Drawable ()
 Drawable (const Drawable &drawable, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
virtual Geometry * asGeometry ()
virtual const Geometry * asGeometry () const
virtual void computeDataVariance ()
const ParentList & getParents () const
ParentList getParents ()
Node * getParent (unsigned int i)
const Node * getParent (unsigned int i) const
unsigned int getNumParents () const
MatrixList getWorldMatrices (const osg::Node *haltTraversalAtNode=0) const
void setStateSet (StateSet *stateset)
StateSet * getStateSet ()
const StateSet * getStateSet () const
StateSet * getOrCreateStateSet ()
void setInitialBound (const osg::BoundingBox &bbox)
const BoundingBox & getInitialBound () const
void dirtyBound ()
const BoundingBox & getBound () const
void setComputeBoundingBoxCallback (ComputeBoundingBoxCallback *callback)
ComputeBoundingBoxCallback * getComputeBoundingBoxCallback ()
const ComputeBoundingBoxCallback * getComputeBoundingBoxCallback () const
void setShape (Shape *shape)
Shape * getShape ()
const Shape * getShape () const
void setSupportsDisplayList (bool flag)
bool getSupportsDisplayList () const
void setUseDisplayList (bool flag)
bool getUseDisplayList () const
GLuint & getDisplayList (unsigned int contextID) const
virtual void setUseVertexBufferObjects (bool flag)
bool getUseVertexBufferObjects () const
virtual void dirtyDisplayList ()
virtual unsigned int getGLObjectSizeHint () const
void draw (RenderInfo &renderInfo) const
virtual void compileGLObjects (RenderInfo &renderInfo) const
virtual void setThreadSafeRefUnref (bool threadSafe)
virtual void resizeGLObjectBuffers (unsigned int maxSize)
virtual void releaseGLObjects (State *state=0) const
virtual void setUpdateCallback (UpdateCallback *ac)
UpdateCallback * getUpdateCallback ()
const UpdateCallback * getUpdateCallback () const
bool requiresUpdateTraversal () const
virtual void setEventCallback (EventCallback *ac)
EventCallback * getEventCallback ()
const EventCallback * getEventCallback () const
bool requiresEventTraversal () const
virtual void setCullCallback (CullCallback *cc)
CullCallback * getCullCallback ()
const CullCallback * getCullCallback () const
virtual void setDrawCallback (DrawCallback *dc)
DrawCallback * getDrawCallback ()
const DrawCallback * getDrawCallback () const
virtual bool supports (const AttributeFunctor &) const
virtual void accept (AttributeFunctor &)
virtual bool supports (const ConstAttributeFunctor &) const
virtual void accept (ConstAttributeFunctor &) const
virtual bool supports (const PrimitiveFunctor &) const
virtual void accept (PrimitiveFunctor &) const
virtual bool supports (const PrimitiveIndexFunctor &) const
virtual void accept (PrimitiveIndexFunctor &) const
- Public Member Functions inherited from osg::Object
 Object ()
 Object (bool threadSafeRefUnref)
 Object (const Object &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
virtual void setName (const std::string &name)
void setName (const char *name)
const std::string & getName () const
void setDataVariance (DataVariance dv)
DataVariance getDataVariance () const
void setUserDataContainer (osg::UserDataContainer *udc)
osg::UserDataContainer * getUserDataContainer ()
const osg::UserDataContainer * getUserDataContainer () const
osg::UserDataContainer * getOrCreateUserDataContainer ()
virtual void setUserData (Referenced *obj)
virtual Referenced * getUserData ()
virtual const Referenced * getUserData () 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)
- Public Member Functions inherited from osg::Referenced
 Referenced ()
 Referenced (bool threadSafeRefUnref)
 Referenced (const Referenced &)
Referenced & operator= (const Referenced &)
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

Protected Member Functions

virtual ~ShadowVolumeGeometry ()
- Protected Member Functions inherited from osg::Drawable
Drawable & operator= (const Drawable &)
virtual ~Drawable ()
void setBound (const BoundingBox &bb) const
void addParent (osg::Node *node)
void removeParent (osg::Node *node)
void setNumChildrenRequiringUpdateTraversal (unsigned int num)
unsigned int getNumChildrenRequiringUpdateTraversal () const
void setNumChildrenRequiringEventTraversal (unsigned int num)
unsigned int getNumChildrenRequiringEventTraversal () const
- 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 Attributes

DrawMode _drawMode
Vec3List _vertices
Vec3List _normals
UIntList _indices
- Protected Attributes inherited from osg::Drawable
ParentList _parents
ref_ptr< StateSet > _stateset
BoundingBox _initialBound
ref_ptr
< ComputeBoundingBoxCallback > 
_computeBoundCallback
BoundingBox _boundingBox
bool _boundingBoxComputed
ref_ptr< Shape > _shape
bool _supportsDisplayList
bool _useDisplayList
bool _supportsVertexBufferObjects
bool _useVertexBufferObjects
GLObjectList _globjList
ref_ptr< UpdateCallback > _updateCallback
unsigned int _numChildrenRequiringUpdateTraversal
ref_ptr< EventCallback > _eventCallback
unsigned int _numChildrenRequiringEventTraversal
ref_ptr< CullCallback > _cullCallback
ref_ptr< DrawCallback > _drawCallback
- 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

Additional Inherited Members

- Static Public Member Functions inherited from osg::Drawable
static GLuint generateDisplayList (unsigned int contextID, unsigned int sizeHint=0)
static void setMinimumNumberOfDisplayListsToRetainInCache (unsigned int minimum)
static unsigned int getMinimumNumberOfDisplayListsToRetainInCache ()
static void deleteDisplayList (unsigned int contextID, GLuint globj, unsigned int sizeHint=0)
static void flushAllDeletedDisplayLists (unsigned int contextID)
static void discardAllDeletedDisplayLists (unsigned int contextID)
static void flushDeletedDisplayLists (unsigned int contextID, double &availableTime)
static Extensions * getExtensions (unsigned int contextID, bool createIfNotInitalized)
static void setExtensions (unsigned int contextID, Extensions *extensions)
- Static Public Attributes inherited from osg::Drawable
static unsigned int s_numberDrawablesReusedLastInLastFrame
static unsigned int s_numberNewDrawablesInLastFrame
static unsigned int s_numberDeletedDrawablesInLastFrame
- Protected Types inherited from osg::Drawable
typedef osg::buffered_value
< GLuint > 
GLObjectList

Member Typedef Documentation

typedef std::vector<GLuint> osgShadow::ShadowVolumeGeometry::UIntList

Member Enumeration Documentation

Enumerator:
GEOMETRY 
STENCIL_TWO_PASS 
STENCIL_TWO_SIDED 

Constructor & Destructor Documentation

osgShadow::ShadowVolumeGeometry::ShadowVolumeGeometry ( )
osgShadow::ShadowVolumeGeometry::ShadowVolumeGeometry ( const ShadowVolumeGeometry &  oc,
const osg::CopyOp &  copyop = osg::CopyOp::SHALLOW_COPY 
)
virtual osgShadow::ShadowVolumeGeometry::~ShadowVolumeGeometry ( )
inlineprotectedvirtual

Member Function Documentation

virtual const char* osgShadow::ShadowVolumeGeometry::className ( ) const
inlinevirtual

return the name of the object's class type. Must be defined by derived classes.

Reimplemented from osg::Drawable.

virtual Object* osgShadow::ShadowVolumeGeometry::clone ( const osg::CopyOp &  ) const
inlinevirtual

Clone an object, with Object* return type. Must be defined by derived classes.

Implements osg::Object.

virtual Object* osgShadow::ShadowVolumeGeometry::cloneType ( ) const
inlinevirtual

Clone the type of an object, with Object* return type. Must be defined by derived classes.

Implements osg::Object.

virtual osg::BoundingBox osgShadow::ShadowVolumeGeometry::computeBound ( ) const
virtual

Compute the bounding box around occluder geometry.

Reimplemented from osg::Drawable.

virtual void osgShadow::ShadowVolumeGeometry::drawImplementation ( osg::RenderInfo &  renderInfo) const
virtual

Render the occluder geometry.

Implements osg::Drawable.

DrawMode osgShadow::ShadowVolumeGeometry::getDrawMode ( ) const
inline
Vec3List& osgShadow::ShadowVolumeGeometry::getNormals ( )
inline
const Vec3List& osgShadow::ShadowVolumeGeometry::getNormals ( ) const
inline
Vec3List& osgShadow::ShadowVolumeGeometry::getVertices ( )
inline
const Vec3List& osgShadow::ShadowVolumeGeometry::getVertices ( ) const
inline
virtual bool osgShadow::ShadowVolumeGeometry::isSameKindAs ( const osg::Object *  obj) const
inlinevirtual

Reimplemented from osg::Drawable.

References NULL.

virtual const char* osgShadow::ShadowVolumeGeometry::libraryName ( ) const
inlinevirtual

return the name of the object's library. Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name.

Reimplemented from osg::Drawable.

void osgShadow::ShadowVolumeGeometry::setDrawMode ( DrawMode  mode)
inline
void osgShadow::ShadowVolumeGeometry::setNormals ( const Vec3List &  normals)
inline
void osgShadow::ShadowVolumeGeometry::setVertices ( const Vec3List &  vertices)
inline

Member Data Documentation

DrawMode osgShadow::ShadowVolumeGeometry::_drawMode
protected
UIntList osgShadow::ShadowVolumeGeometry::_indices
protected
Vec3List osgShadow::ShadowVolumeGeometry::_normals
protected
Vec3List osgShadow::ShadowVolumeGeometry::_vertices
protected

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