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 ("osg","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 ( "osg"  ,
"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: