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)
 
template<typename T >
BoolValueObject UCharValueObject UShortValueObject UIntValueObject DoubleValueObject Vec3fValueObject Vec2dValueObject Vec4dValueObject PlaneValueObject MatrixdValueObject bool getUserValue (const std::string &name, T &value) const
 
- 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 Member Functions inherited from osg::Referenced
static OpenThreads::Mutex * getGlobalReferencedMutex ()
 
static void setThreadSafeReferenceCounting (bool enableThreadSafeReferenceCounting)
 
static bool getThreadSafeReferenceCounting ()
 
static void setDeleteHandler (DeleteHandler *handler)
 
static DeleteHandler * getDeleteHandler ()
 
- 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

◆ UIntList

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

◆ Vec3List

Member Enumeration Documentation

◆ DrawMode

Enumerator
GEOMETRY 
STENCIL_TWO_PASS 
STENCIL_TWO_SIDED 

Constructor & Destructor Documentation

◆ ShadowVolumeGeometry() [1/2]

osgShadow::ShadowVolumeGeometry::ShadowVolumeGeometry ( )

◆ ShadowVolumeGeometry() [2/2]

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

◆ ~ShadowVolumeGeometry()

virtual osgShadow::ShadowVolumeGeometry::~ShadowVolumeGeometry ( )
inlineprotectedvirtual

Member Function Documentation

◆ className()

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.

◆ clone()

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.

◆ cloneType()

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.

◆ computeBound()

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

Compute the bounding box around occluder geometry.

Reimplemented from osg::Drawable.

◆ drawImplementation()

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

Render the occluder geometry.

Implements osg::Drawable.

◆ getDrawMode()

DrawMode osgShadow::ShadowVolumeGeometry::getDrawMode ( ) const
inline

◆ getNormals() [1/2]

Vec3List& osgShadow::ShadowVolumeGeometry::getNormals ( )
inline

◆ getNormals() [2/2]

const Vec3List& osgShadow::ShadowVolumeGeometry::getNormals ( ) const
inline

◆ getVertices() [1/2]

Vec3List& osgShadow::ShadowVolumeGeometry::getVertices ( )
inline

◆ getVertices() [2/2]

const Vec3List& osgShadow::ShadowVolumeGeometry::getVertices ( ) const
inline

◆ isSameKindAs()

virtual bool osgShadow::ShadowVolumeGeometry::isSameKindAs ( const osg::Object *  obj) const
inlinevirtual

Reimplemented from osg::Drawable.

◆ libraryName()

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.

◆ setDrawMode()

void osgShadow::ShadowVolumeGeometry::setDrawMode ( DrawMode  mode)
inline

◆ setNormals()

void osgShadow::ShadowVolumeGeometry::setNormals ( const Vec3List &  normals)
inline

◆ setVertices()

void osgShadow::ShadowVolumeGeometry::setVertices ( const Vec3List &  vertices)
inline

Member Data Documentation

◆ _drawMode

DrawMode osgShadow::ShadowVolumeGeometry::_drawMode
protected

◆ _indices

UIntList osgShadow::ShadowVolumeGeometry::_indices
protected

◆ _normals

Vec3List osgShadow::ShadowVolumeGeometry::_normals
protected

◆ _vertices

Vec3List osgShadow::ShadowVolumeGeometry::_vertices
protected

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