# 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:

[legend]
List of all members.

## Public Types

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

## Public Member Functions

| GLObjectsVisitor (Mode mode=COMPILE_DISPLAY_LISTS|COMPILE_STATE_ATTRIBUTES)
| 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.
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::State * | getState ()
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 Attributes

Mode | _mode
osg::ref_ptr< osg::State > | _state

## 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

enum osgUtil::GLObjectsVisitor::ModeValues

Operation modes of the.

Enumeration values:

  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 |

## Constructor & Destructor Documentation

GLObjectsVisitor::GLObjectsVisitor | ( | Mode | mode = `COMPILE_DISPLAY_LISTS|COMPILE_STATE_ATTRIBUTES` | ) |

| 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

void GLObjectsVisitor::apply | ( | osg::StateSet & | stateset | ) |

void GLObjectsVisitor::apply | ( | osg::Drawable & | drawable | ) |

void GLObjectsVisitor::apply | ( | osg::Geode & | node | ) | `[virtual]`

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

void GLObjectsVisitor::apply | ( | osg::Node & | node | ) | `[virtual]`

| Simply traverse using standard NodeVisitor traverse method.

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

| Get the operational mode.

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

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

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

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

| Set the State to use during traversal.

## Member Data Documentation

Mode osgUtil::GLObjectsVisitor::_mode `[protected]`

osg::ref_ptr<osg::State> osgUtil::GLObjectsVisitor::_state `[protected]`

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

- GLObjectsVisitor
- GLObjectsVisitor.cpp