osgUtil::Optimizer::Optimizer::StateVisitor Class Reference

Optimize State in the scene graph by removing duplicate state, replacing it with shared instances, both for StateAttributes, and whole StateSets. More...

Inheritance diagram for osgUtil::Optimizer::Optimizer::StateVisitor:

Inheritance graph
[legend]

List of all members.

Public Member Functions

 StateVisitor (bool combineDynamicState, bool combineStaticState, bool combineUnspecifiedState, Optimizer *optimizer=0)
 default to traversing all children.
virtual void reset ()
 empty visitor, make it ready for next traversal.
virtual void apply (osg::Node &node)
virtual void apply (osg::Geode &geode)
void optimize ()

Protected Types

typedef std::set< osg::Object * > ObjectSet
typedef std::map
< osg::StateSet *, ObjectSet
StateSetMap

Protected Member Functions

void addStateSet (osg::StateSet *stateset, osg::Object *obj)
bool optimize (osg::Object::DataVariance variance)

Protected Attributes

bool _optimize [3]
StateSetMap _statesets


Detailed Description

Optimize State in the scene graph by removing duplicate state, replacing it with shared instances, both for StateAttributes, and whole StateSets.


Member Typedef Documentation

typedef std::set<osg::Object*> osgUtil::Optimizer::Optimizer::StateVisitor::ObjectSet [protected]

typedef std::map<osg::StateSet*,ObjectSet> osgUtil::Optimizer::Optimizer::StateVisitor::StateSetMap [protected]


Constructor & Destructor Documentation

osgUtil::Optimizer::Optimizer::StateVisitor::StateVisitor ( bool  combineDynamicState,
bool  combineStaticState,
bool  combineUnspecifiedState,
Optimizer optimizer = 0 
) [inline]

default to traversing all children.

References osg::Object::DYNAMIC, osg::Object::STATIC, and osg::Object::UNSPECIFIED.


Member Function Documentation

void osgUtil::Optimizer::Optimizer::StateVisitor::addStateSet ( osg::StateSet stateset,
osg::Object obj 
) [protected]

virtual void osgUtil::Optimizer::Optimizer::StateVisitor::apply ( osg::Geode geode  )  [virtual]

Reimplemented from osg::NodeVisitor.

virtual void osgUtil::Optimizer::Optimizer::StateVisitor::apply ( osg::Node node  )  [virtual]

Reimplemented from osg::NodeVisitor.

bool osgUtil::Optimizer::Optimizer::StateVisitor::optimize ( osg::Object::DataVariance  variance  )  [inline, protected]

void osgUtil::Optimizer::Optimizer::StateVisitor::optimize (  ) 

virtual void osgUtil::Optimizer::Optimizer::StateVisitor::reset (  )  [virtual]

empty visitor, make it ready for next traversal.

Reimplemented from osg::NodeVisitor.


Member Data Documentation

bool osgUtil::Optimizer::Optimizer::StateVisitor::_optimize[3] [protected]

StateSetMap osgUtil::Optimizer::Optimizer::StateVisitor::_statesets [protected]


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

osg logo
Generated at Mon Feb 23 19:51:52 2009 for the OpenSceneGraph by doxygen 1.5.8.