class SG_EXPORT osg::NodeVisitor

Visitor for type safe operations on osg::Node's.

Inheritance:


Public Methods

[more] NodeVisitor(TraversalMode tm=TRAVERSE_NONE)
[more]virtual ~NodeVisitor()
[more]virtual void reset()
Method to call to reset visitor.
[more]void setTraversalMode(const TraversalMode mode)
Set the traversal mode for Node::traverse() to use when deciding which children of a node to traverse.
[more]inline const TraversalMode getTraversalMode() const
Get the traversal mode
[more]void setTraversalVisitor(NodeVisitor* nv)
Set a visitor to handle traversal.
[more]NodeVisitor* getTraversalVisitor()
Get the traversal visitor, returns NULL if none is attached
[more]void traverse(Node& node)
Inline method for passing handling traversal of a nodes.
[more]virtual void apply(Node& node)
[more]virtual void apply(Geode& node)
[more]virtual void apply(Billboard& node)
[more]virtual void apply(LightSource& node)
[more]virtual void apply(Group& node)
[more]virtual void apply(Transform& node)
[more]virtual void apply(Switch& node)
[more]virtual void apply(Sequence& node)
[more]virtual void apply(LOD& node)
[more]virtual void apply(Impostor& node)

Public Members

[more]enum TraversalMode

Protected Fields

[more]ref_ptr<NodeVisitor> _traversalVisitor
[more]TraversalMode _traversalMode


Inherited from Referenced:

Public Methods

oinline Referenced& operator = (Referenced&)
oinline void ref() const
oinline void unref() const
oinline const int referenceCount() const

Protected Fields

omutable int _refCount


Documentation

Visitor for type safe operations on osg::Node's. Based on GOF's Visitor pattern.
oenum TraversalMode

o TRAVERSE_NONE

o TRAVERSE_PARENTS

o TRAVERSE_ALL_CHILDREN

o TRAVERSE_ACTIVE_CHILDREN

o TRAVERSE_VISITOR

o NodeVisitor(TraversalMode tm=TRAVERSE_NONE)

ovirtual ~NodeVisitor()

ovirtual void reset()
Method to call to reset visitor. Useful for your visitor accumulates state during a traversal, and you plan to resuse the visitor. To flush that state for the next traversal than call reset() prior to each traversal.

ovoid setTraversalMode(const TraversalMode mode)
Set the traversal mode for Node::traverse() to use when deciding which children of a node to traverse. If a NodeVisitor has been attached via setTraverseVisitor() and the new mode is not TRAVERSE_VISITOR then the attached visitor is detached. Default mode is TRAVERSE_NONE.

oinline const TraversalMode getTraversalMode() const
Get the traversal mode

ovoid setTraversalVisitor(NodeVisitor* nv)
Set a visitor to handle traversal. Overides the traverse mode setting it to TRAVERSAL_VISITOR.

oNodeVisitor* getTraversalVisitor()
Get the traversal visitor, returns NULL if none is attached

ovoid traverse(Node& node)
Inline method for passing handling traversal of a nodes. If you intend to use the visitor for actively traversing the scene graph then make sure the accept() methods call this method unless they handle traversal directly.

ovirtual void apply(Node& node)

ovirtual void apply(Geode& node)

ovirtual void apply(Billboard& node)

ovirtual void apply(LightSource& node)

ovirtual void apply(Group& node)

ovirtual void apply(Transform& node)

ovirtual void apply(Switch& node)

ovirtual void apply(Sequence& node)

ovirtual void apply(LOD& node)

ovirtual void apply(Impostor& node)

oref_ptr<NodeVisitor> _traversalVisitor

oTraversalMode _traversalMode


This class has no child classes.

Alphabetic index HTML hierarchy of classes or Java



This page was generated with the help of DOC++.