Files
OpenSceneGraph/doc/osg/NodeVisitor.html
2001-01-10 16:32:10 +00:00

242 lines
10 KiB
HTML

<HTML>
<HEAD>
<TITLE>class SG_EXPORT osg::NodeVisitor</TITLE>
<META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H2>class SG_EXPORT <A HREF="#DOC.DOCU">osg::NodeVisitor</A>: public <!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A></H2>
<BLOCKQUOTE>Visitor for type safe operations on osg::Node's.</BLOCKQUOTE>
<HR>
<H2>Inheritance:</H2>
<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
<param name=classes value="CReferenced,MReferenced.html,CNodeVisitor,MNodeVisitor.html">
<param name=before value="M,M">
<param name=after value="Md_,M">
<param name=indent value="0,1">
<param name=arrowdir value="down">
</APPLET>
<HR>
<DL>
<P><DL>
<DT><H3>Public Classes</H3><DD><DT>
<A HREF="#DOC.2.32.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>enum <B>TraversalMode</B>
<DD><I></I>
</DL></P>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<A HREF="#DOC.2.32.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>NodeVisitor</B>(<!1><A HREF="NodeVisitor.html#DOC.2.32.1">TraversalMode</A> tm=TRAVERSE_NONE)
<DD><I></I>
<DT>
<A HREF="#DOC.2.32.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual <B>~NodeVisitor</B>()
<DD><I></I>
<DT>
<A HREF="#DOC.2.32.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setTraverseMode</B>(<!1><A HREF="NodeVisitor.html#DOC.2.32.1">TraversalMode</A> mode)
<DD><I>Set the traversal mode for Node::traverse() to use when deciding which children of a node to traverse.</I>
<DT>
<A HREF="#DOC.2.32.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="NodeVisitor.html#DOC.2.32.1">TraversalMode</A> <B>getTraverseMode</B>()
<DD><I>Get the traversal mode</I>
<DT>
<A HREF="#DOC.2.32.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setTraverseVisitor</B>(<!1><A HREF="NodeVisitor.html#DOC.2.32.7">NodeVisitor</A>* nv)
<DD><I>Set a visitor to handle traversal.</I>
<DT>
<A HREF="#DOC.2.32.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="NodeVisitor.html#DOC.2.32.7">NodeVisitor</A>* <B>getTraverseVisitor</B>()
<DD><I>Get the traverse visitor, returns NULL if none is attached</I>
<DT>
<A HREF="#DOC.2.32.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>traverse</B>(<!1><A HREF="Node.html">Node</A>&amp; node)
<DD><I>Inline method for passing handling traversal of a nodes.</I>
<DT>
<A HREF="#DOC.2.32.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual void <B>apply</B>(<!1><A HREF="Node.html">Node</A>&amp; node)
<DD><I></I>
<DT>
<A HREF="#DOC.2.32.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual void <B>apply</B>(<!1><A HREF="Geode.html">Geode</A>&amp; node)
<DD><I></I>
<DT>
<A HREF="#DOC.2.32.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual void <B>apply</B>(<!1><A HREF="Billboard.html">Billboard</A>&amp; node)
<DD><I></I>
<DT>
<A HREF="#DOC.2.32.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual void <B>apply</B>(<!1><A HREF="LightSource.html">LightSource</A>&amp; node)
<DD><I></I>
<DT>
<A HREF="#DOC.2.32.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual void <B>apply</B>(<!1><A HREF="Group.html">Group</A>&amp; node)
<DD><I></I>
<DT>
<A HREF="#DOC.2.32.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual void <B>apply</B>(<!1><A HREF="DCS.html">DCS</A>&amp; node)
<DD><I></I>
<DT>
<A HREF="#DOC.2.32.15"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual void <B>apply</B>(<!1><A HREF="Switch.html">Switch</A>&amp; node)
<DD><I></I>
<DT>
<A HREF="#DOC.2.32.16"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual void <B>apply</B>(<!1><A HREF="Sequence.html">Sequence</A>&amp; node)
<DD><I></I>
<DT>
<A HREF="#DOC.2.32.17"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual void <B>apply</B>(<!1><A HREF="LOD.html">LOD</A>&amp; node)
<DD><I></I>
<DT>
<A HREF="#DOC.2.32.18"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual void <B>apply</B>(<!1><A HREF="Scene.html">Scene</A>&amp; node)
<DD><I></I>
</DL></P>
<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<A HREF="#DOC.2.32.19"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="NodeVisitor.html#DOC.2.32.7">NodeVisitor</A>* <B>_traverseVisitor</B>
<DD><I></I>
<DT>
<A HREF="#DOC.2.32.20"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="NodeVisitor.html#DOC.2.32.1">TraversalMode</A> <B>_traverseMode</B>
<DD><I></I>
</DL></P>
</DL>
<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp; <B>operator = </B>(<!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp;)
<DT>
<IMG ALT="o" SRC=icon2.gif>void <B>ref</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>void <B>unref</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>int <B>referenceCount</B>()
</DL></P>
<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>int <B>_refCount</B>
</DL></P>
</DL>
<A NAME="DOC.DOCU">
<HR>
<H2>Documentation</H2>
<BLOCKQUOTE>Visitor for type safe operations on osg::Node's.
Based on GOF's Visitor pattern.</BLOCKQUOTE>
<DL>
<A NAME="TraversalMode">
<A NAME="DOC.2.32.1">
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum TraversalMode</B></TT>
<DL><DT><DD></DL><P><DL>
<A NAME="TRAVERSE_NONE">
<A NAME="DOC.2.32.1.1">
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> TRAVERSE_NONE</B></TT>
<DL><DT><DD></DL><P>
<A NAME="TRAVERSE_PARENTS">
<A NAME="DOC.2.32.1.2">
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> TRAVERSE_PARENTS</B></TT>
<DL><DT><DD></DL><P>
<A NAME="TRAVERSE_ALL_CHILDREN">
<A NAME="DOC.2.32.1.3">
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> TRAVERSE_ALL_CHILDREN</B></TT>
<DL><DT><DD></DL><P>
<A NAME="TRAVERSE_ACTIVE_CHILDREN">
<A NAME="DOC.2.32.1.4">
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> TRAVERSE_ACTIVE_CHILDREN</B></TT>
<DL><DT><DD></DL><P>
<A NAME="TRAVERSE_VISITOR">
<A NAME="DOC.2.32.1.5">
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> TRAVERSE_VISITOR</B></TT>
<DL><DT><DD></DL><P></DL>
<A NAME="NodeVisitor">
<A NAME="DOC.2.32.7">
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> NodeVisitor(<!1><A HREF="NodeVisitor.html#DOC.2.32.1">TraversalMode</A> tm=TRAVERSE_NONE)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="~NodeVisitor">
<A NAME="DOC.2.32.8">
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual ~NodeVisitor()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="setTraverseMode">
<A NAME="DOC.2.32.2">
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setTraverseMode(<!1><A HREF="NodeVisitor.html#DOC.2.32.1">TraversalMode</A> mode)</B></TT>
<DD>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.
<DL><DT><DD></DL><P>
<A NAME="getTraverseMode">
<A NAME="DOC.2.32.3">
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="NodeVisitor.html#DOC.2.32.1">TraversalMode</A> getTraverseMode()</B></TT>
<DD>Get the traversal mode
<DL><DT><DD></DL><P>
<A NAME="setTraverseVisitor">
<A NAME="DOC.2.32.4">
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setTraverseVisitor(<!1><A HREF="NodeVisitor.html#DOC.2.32.7">NodeVisitor</A>* nv)</B></TT>
<DD>Set a visitor to handle traversal.
Overides the traverse mode setting it to TRAVERSE_VISITOR.
<DL><DT><DD></DL><P>
<A NAME="getTraverseVisitor">
<A NAME="DOC.2.32.5">
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="NodeVisitor.html#DOC.2.32.7">NodeVisitor</A>* getTraverseVisitor()</B></TT>
<DD>Get the traverse visitor, returns NULL if none is attached
<DL><DT><DD></DL><P>
<A NAME="traverse">
<A NAME="DOC.2.32.6">
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void traverse(<!1><A HREF="Node.html">Node</A>&amp; node)</B></TT>
<DD>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.
<DL><DT><DD></DL><P>
<A NAME="apply">
<A NAME="DOC.2.32.9">
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void apply(<!1><A HREF="Node.html">Node</A>&amp; node)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="apply">
<A NAME="DOC.2.32.10">
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void apply(<!1><A HREF="Geode.html">Geode</A>&amp; node)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="apply">
<A NAME="DOC.2.32.11">
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void apply(<!1><A HREF="Billboard.html">Billboard</A>&amp; node)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="apply">
<A NAME="DOC.2.32.12">
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void apply(<!1><A HREF="LightSource.html">LightSource</A>&amp; node)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="apply">
<A NAME="DOC.2.32.13">
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void apply(<!1><A HREF="Group.html">Group</A>&amp; node)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="apply">
<A NAME="DOC.2.32.14">
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void apply(<!1><A HREF="DCS.html">DCS</A>&amp; node)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="apply">
<A NAME="DOC.2.32.15">
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void apply(<!1><A HREF="Switch.html">Switch</A>&amp; node)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="apply">
<A NAME="DOC.2.32.16">
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void apply(<!1><A HREF="Sequence.html">Sequence</A>&amp; node)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="apply">
<A NAME="DOC.2.32.17">
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void apply(<!1><A HREF="LOD.html">LOD</A>&amp; node)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="apply">
<A NAME="DOC.2.32.18">
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void apply(<!1><A HREF="Scene.html">Scene</A>&amp; node)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_traverseVisitor">
<A NAME="DOC.2.32.19">
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="NodeVisitor.html#DOC.2.32.7">NodeVisitor</A>* _traverseVisitor</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_traverseMode">
<A NAME="DOC.2.32.20">
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="NodeVisitor.html#DOC.2.32.1">TraversalMode</A> _traverseMode</B></TT>
<DL><DT><DD></DL><P></DL>
<HR><DL><DT><B>This class has no child classes.</B></DL>
<DL><DT><DD></DL><P><I><A HREF="index.html">Alphabetic index</A></I> <I><A HREF="HIER.html">HTML hierarchy of classes</A> or <A HREF="HIERjava.html">Java</A></I><P><HR>
<BR>
This page was generated with the help of <A HREF="http://www.linuxsupportline.com/~doc++">DOC++</A>.
</BODY>