osgUtil::GLObjectsVisitor Class Reference

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. More...

Inheritance diagram for osgUtil::GLObjectsVisitor:

Inheritance graph
[legend]

List of all members.

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
}
 Operation modes of the. More...
typedef unsigned int Mode

Public Member Functions

 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.
virtual void reset ()
 Method to call to reset visitor.
void setMode (Mode mode)
 Set the operational mode of what operations to do on the scene graph.
Mode getMode () const
 Get the operational mode.
void setState (osg::State *state)
 Set the State to use during traversal.
osg::StategetState ()
void setRenderInfo (osg::RenderInfo &renderInfo)
osg::RenderInfogetRenderInfo ()
virtual void apply (osg::Node &node)
 Simply traverse using standard NodeVisitor traverse method.
virtual void apply (osg::Geode &node)
 For each Geode visited set the display list usage according to the _displayListMode.
void apply (osg::Drawable &drawable)
void apply (osg::StateSet &stateset)

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


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

typedef std::set<osg::Drawable*> osgUtil::GLObjectsVisitor::DrawableAppliedSet [protected]

typedef std::set<osg::StateSet*> osgUtil::GLObjectsVisitor::StatesSetAppliedSet [protected]


Member Enumeration Documentation

enum osgUtil::GLObjectsVisitor::ModeValues

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::reset (  )  [inline, 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.

void osgUtil::GLObjectsVisitor::setMode ( Mode  mode  )  [inline]

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

Mode osgUtil::GLObjectsVisitor::getMode (  )  const [inline]

Get the operational mode.

void osgUtil::GLObjectsVisitor::setState ( osg::State state  )  [inline]

Set the State to use during traversal.

osg::State* osgUtil::GLObjectsVisitor::getState (  )  [inline]

void osgUtil::GLObjectsVisitor::setRenderInfo ( osg::RenderInfo renderInfo  )  [inline]

osg::RenderInfo& osgUtil::GLObjectsVisitor::getRenderInfo (  )  [inline]

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  ) 


Member Data Documentation

Mode osgUtil::GLObjectsVisitor::_mode [protected]

osg::RenderInfo osgUtil::GLObjectsVisitor::_renderInfo [protected]

DrawableAppliedSet osgUtil::GLObjectsVisitor::_drawablesAppliedSet [protected]

StatesSetAppliedSet osgUtil::GLObjectsVisitor::_stateSetAppliedSet [protected]

osg::ref_ptr<osg::Program> osgUtil::GLObjectsVisitor::_lastCompiledProgram [protected]


The documentation for this class was generated from the following file:
Generated at Sun Oct 14 02:12:49 2007 for the OpenSceneGraph by doxygen 1.5.3.