openscenegraph
Public Types | Public Member Functions | Protected Types | Protected Attributes | List of all members
osgUtil::GLObjectsVisitor Class Reference
Inheritance diagram for osgUtil::GLObjectsVisitor:
osg::NodeVisitor osg::Referenced

Public Types

enum  ModeValues {
  SWITCH_ON_DISPLAY_LISTS = 0x1, SWITCH_OFF_DISPLAY_LISTS = 0x2, COMPILE_DISPLAY_LISTS = 0x4, COMPILE_STATE_ATTRIBUTES = 0x8,
  RELEASE_DISPLAY_LISTS = 0x10, RELEASE_STATE_ATTRIBUTES = 0x20, SWITCH_ON_VERTEX_BUFFER_OBJECTS = 0x40, SWITCH_OFF_VERTEX_BUFFER_OBJECTS = 0x80,
  CHECK_BLACK_LISTED_MODES = 0x100
}
 
typedef unsigned int Mode
 
- 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
}
 

Public Member Functions

 GLObjectsVisitor (Mode mode=COMPILE_DISPLAY_LISTS|COMPILE_STATE_ATTRIBUTES|CHECK_BLACK_LISTED_MODES)
 
 META_NodeVisitor (osgUtil, GLObjectsVisitor) virtual void reset()
 
void setMode (Mode mode)
 
Mode getMode () const
 
void setState (osg::State *state)
 
osg::StategetState ()
 
void setRenderInfo (osg::RenderInfo &renderInfo)
 
osg::RenderInfogetRenderInfo ()
 
virtual void apply (osg::Node &node)
 
virtual void apply (osg::Geode &node)
 
void apply (osg::Drawable &drawable)
 
void apply (osg::StateSet &stateset)
 
- Public Member Functions inherited from osg::NodeVisitor
 NodeVisitor (TraversalMode tm=TRAVERSE_NONE)
 
 NodeVisitor (VisitorType type, TraversalMode tm=TRAVERSE_NONE)
 
virtual ~NodeVisitor ()
 
virtual const char * libraryName () const
 
virtual const char * className () const
 
virtual void reset ()
 
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 setUserData (Referenced *obj)
 
ReferencedgetUserData ()
 
const ReferencedgetUserData () const
 
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 float getDistanceToEyePoint (const Vec3 &, bool) const
 
virtual float getDistanceFromEyePoint (const Vec3 &, bool) const
 
virtual float getDistanceToViewPoint (const Vec3 &, bool) const
 
virtual void apply (Billboard &node)
 
virtual void apply (Group &node)
 
virtual void apply (ProxyNode &node)
 
virtual void apply (Projection &node)
 
virtual void apply (CoordinateSystemNode &node)
 
virtual void apply (ClipNode &node)
 
virtual void apply (TexGenNode &node)
 
virtual void apply (LightSource &node)
 
virtual void apply (Transform &node)
 
virtual void apply (Camera &node)
 
virtual void apply (CameraView &node)
 
virtual void apply (MatrixTransform &node)
 
virtual void apply (PositionAttitudeTransform &node)
 
virtual void apply (Switch &node)
 
virtual void apply (Sequence &node)
 
virtual void apply (LOD &node)
 
virtual void apply (PagedLOD &node)
 
virtual void apply (ClearNode &node)
 
virtual void apply (OccluderNode &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::Referenced
 Referenced ()
 
 Referenced (bool threadSafeRefUnref)
 
 Referenced (const Referenced &)
 
Referencedoperator= (const Referenced &)
 
virtual void setThreadSafeRefUnref (bool threadSafe)
 
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
 

Protected Types

typedef std::set< osg::Drawable * > DrawableAppliedSet
 
typedef std::set< osg::StateSet * > StatesSetAppliedSet
 

Protected Attributes

Mode _mode
 
osg::RenderInfo _renderInfo
 
DrawableAppliedSet _drawablesAppliedSet
 
StatesSetAppliedSet _stateSetAppliedSet
 
osg::ref_ptr< osg::Program > _lastCompiledProgram
 
- 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< Referenced_userData
 
ref_ptr< DatabaseRequestHandler_databaseRequestHandler
 
ref_ptr< ImageRequestHandler_imageRequestHandler
 
- Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr _observerSet
 
OpenThreads::Atomic _refCount
 

Additional Inherited Members

- Static Public Member Functions inherited from osg::Referenced
static OpenThreads::MutexgetGlobalReferencedMutex ()
 
static void setThreadSafeReferenceCounting (bool enableThreadSafeReferenceCounting)
 
static bool getThreadSafeReferenceCounting ()
 
static void setDeleteHandler (DeleteHandler *handler)
 
static DeleteHandlergetDeleteHandler ()
 
- Protected Member Functions inherited from osg::Referenced
virtual ~Referenced ()
 
void signalObserversAndDelete (bool signalDelete, bool doDelete) const
 
void deleteUsingDeleteHandler () const
 

Detailed Description

Visitor for traversing scene graph and setting each osg::Drawable's _useDisplayList flag, with option to immediately compile osg::Drawable OpenGL Display lists and osg::StateAttribute's.

Member Typedef Documentation

typedef unsigned int osgUtil::GLObjectsVisitor::Mode

Member Enumeration Documentation

Operation modes of the.

Enumerator
SWITCH_ON_DISPLAY_LISTS 
SWITCH_OFF_DISPLAY_LISTS 
COMPILE_DISPLAY_LISTS 
COMPILE_STATE_ATTRIBUTES 
RELEASE_DISPLAY_LISTS 
RELEASE_STATE_ATTRIBUTES 
SWITCH_ON_VERTEX_BUFFER_OBJECTS 
SWITCH_OFF_VERTEX_BUFFER_OBJECTS 
CHECK_BLACK_LISTED_MODES 

Constructor & Destructor Documentation

osgUtil::GLObjectsVisitor::GLObjectsVisitor ( Mode  mode = COMPILE_DISPLAY_LISTS|COMPILE_STATE_ATTRIBUTES|CHECK_BLACK_LISTED_MODES)

Construct a GLObjectsVisitor to traverse all children, operating on node according to specified mode, such as to compile or release display list/texture objects etc. Default mode is to compile GL objects.

Member Function Documentation

virtual void osgUtil::GLObjectsVisitor::apply ( osg::Node node)
virtual

Simply traverse using standard NodeVisitor traverse method.

Reimplemented from osg::NodeVisitor.

virtual void osgUtil::GLObjectsVisitor::apply ( osg::Geode node)
virtual

For each Geode visited set the display list usage according to the _displayListMode.

Reimplemented from osg::NodeVisitor.

void osgUtil::GLObjectsVisitor::apply ( osg::Drawable drawable)
void osgUtil::GLObjectsVisitor::apply ( osg::StateSet stateset)
Mode osgUtil::GLObjectsVisitor::getMode ( ) const
inline

Get the operational mode.

osg::RenderInfo& osgUtil::GLObjectsVisitor::getRenderInfo ( )
inline
osg::State* osgUtil::GLObjectsVisitor::getState ( )
inline
osgUtil::GLObjectsVisitor::META_NodeVisitor ( osgUtil  ,
GLObjectsVisitor   
)
inline
void osgUtil::GLObjectsVisitor::setMode ( Mode  mode)
inline

Set the operational mode of what operations to do on the scene graph.

void osgUtil::GLObjectsVisitor::setRenderInfo ( osg::RenderInfo renderInfo)
inline
void osgUtil::GLObjectsVisitor::setState ( osg::State state)
inline

Set the State to use during traversal.

Member Data Documentation

DrawableAppliedSet osgUtil::GLObjectsVisitor::_drawablesAppliedSet
protected
osg::ref_ptr<osg::Program> osgUtil::GLObjectsVisitor::_lastCompiledProgram
protected
Mode osgUtil::GLObjectsVisitor::_mode
protected
osg::RenderInfo osgUtil::GLObjectsVisitor::_renderInfo
protected
StatesSetAppliedSet osgUtil::GLObjectsVisitor::_stateSetAppliedSet
protected

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