OpenSceneGraph/doc/doc++/osg/OccluderNode.html
2003-10-02 14:28:30 +00:00

353 lines
16 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>class SG_EXPORT osg::OccluderNode</TITLE>
<META NAME="GENERATOR" CONTENT="DOC++ 3.4.10">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H2>class SG_EXPORT <A HREF="#DOC.DOCU">osg::OccluderNode</A></H2></H2><BLOCKQUOTE>OccluderNode is a Group node which allows OccluderNodeing between children.</BLOCKQUOTE>
<HR>
<H2>Inheritance:</H2>
<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=155>
<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CNode,MNode.html,CGroup,MGroup.html,COccluderNode,MOccluderNode.html">
<param name=before value="M,M,M,M,M">
<param name=after value="Md_SPSPSP,Md_SPSP,Md_SP,Md_,M">
<param name=indent value="0,1,2,3,4">
<param name=arrowdir value="down">
</APPLET>
<HR>
<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.137.1">OccluderNode</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.137.2">OccluderNode</A></B>(const <!1><A HREF="OccluderNode.html#DOC.2.137.2">OccluderNode</A>&amp;, const <!1><A HREF="CopyOp.html">CopyOp</A>&amp; copyop=CopyOp::SHALLOW_COPY)
<DD><I>Copy constructor using CopyOp to manage deep vs shallow copy</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.137.3">META_Node</A></B>(<!1><A HREF="osg.html">osg</A>, <!1><A HREF="OccluderNode.html">OccluderNode</A>)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.137.4">setOccluder</A></B>(<!1><A HREF="ConvexPlanarOccluder.html">ConvexPlanarOccluder</A>* occluder)
<DD><I>Attach a ConvexPlanarOccluder to an OccluderNode</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="ConvexPlanarOccluder.html">ConvexPlanarOccluder</A>* <B><A HREF="#DOC.2.137.5">getOccluder</A></B>()
<DD><I>Get the ConvexPlanarOccluder* attached to a OccluderNode.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>const <!1><A HREF="ConvexPlanarOccluder.html">ConvexPlanarOccluder</A>* <B><A HREF="#DOC.2.137.6">getOccluder</A></B>() const
<DD><I>Get the const ConvexPlanarOccluder* attached to a OccluderNode</I>
</DL></P>
<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="ConvexPlanarOccluder.html">ConvexPlanarOccluder</A>&gt; <B><A HREF="#DOC.2.137.9">_occluder</A></B>
</DL></P>
<P><DL>
<DT><H3>Protected Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual <B><A HREF="#DOC.2.137.7">~OccluderNode</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual bool <B><A HREF="#DOC.2.137.8">computeBound</A></B>() const
<DD><I>Override's Group's computeBound</I>
</DL></P>
</DL>
<HR><H3>Inherited from <A HREF="Group.html">Group</A>:</H3>
<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>virtual <!1><A HREF="Group.html">Group</A>* <B>asGroup</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual const <!1><A HREF="Group.html">Group</A>* <B>asGroup</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual void <B>traverse</B>(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; nv)
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual bool <B>addChild</B>( <!1><A HREF="Node.html">Node</A>* child )
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual bool <B>insertChild</B>( unsigned int <!1><A HREF="TemplateIndexArray.html#DOC.2.10.15">index</A>, <!1><A HREF="Node.html">Node</A>* child )
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual bool <B>removeChild</B>( <!1><A HREF="Node.html">Node</A>* child )
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual bool <B>removeChild</B>(unsigned int pos, unsigned int numChildrenToRemove=1)
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual bool <B>replaceChild</B>( <!1><A HREF="Node.html">Node</A>* origChild, <!1><A HREF="Node.html">Node</A>* newChild )
<DT>
<IMG ALT="o" SRC=icon2.gif>inline unsigned int <B>getNumChildren</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual bool <B>setChild</B>( unsigned int i, <!1><A HREF="Node.html">Node</A>* node )
<DT>
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="Node.html">Node</A>* <B>getChild</B>( unsigned int i )
<DT>
<IMG ALT="o" SRC=icon2.gif>inline const <!1><A HREF="Node.html">Node</A>* <B>getChild</B>( unsigned int i ) const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline bool <B>containsNode</B>( const <!1><A HREF="Node.html">Node</A>* node ) const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline unsigned int <B>getChildIndex</B>( const <!1><A HREF="Node.html">Node</A>* node ) const
</DL></P>
<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="osg.html#DOC.2.86">NodeList</A> <B>_children</B>
</DL></P>
</DL>
<HR><H3>Inherited from <A HREF="Node.html">Node</A>:</H3>
<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>virtual <!1><A HREF="Object.html">Object</A>* <B>cloneType</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual <!1><A HREF="Object.html">Object</A>* <B>clone</B>(const <!1><A HREF="CopyOp.html">CopyOp</A>&amp; copyop) const
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual bool <B>isSameKindAs</B>(const <!1><A HREF="Object.html">Object</A>* obj) const
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual const char* <B>libraryName</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual const char* <B>className</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual <!1><A HREF="Transform.html">Transform</A>* <B>asTransform</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual const <!1><A HREF="Transform.html">Transform</A>* <B>asTransform</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual void <B>accept</B>(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; nv)
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual void <B>ascend</B>(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; nv)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>setName</B>( const std::string&amp; <!1><A HREF="Test.html#DOC.202.1.3">name</A> )
<DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>setName</B>( const char* <!1><A HREF="Test.html#DOC.202.1.3">name</A> )
<DT>
<IMG ALT="o" SRC=icon2.gif>inline const std::string&amp; <B>getName</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline const <!1><A HREF="Node.html#DOC.2.119.18">ParentList</A>&amp; <B>getParents</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="Node.html#DOC.2.119.18">ParentList</A> <B>getParents</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="Group.html">Group</A>* <B>getParent</B>(unsigned int i)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline const <!1><A HREF="Group.html">Group</A>* <B>getParent</B>(unsigned int i) const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline unsigned int <B>getNumParents</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>void <B>setUpdateCallback</B>(<!1><A HREF="NodeCallback.html">NodeCallback</A>* nc)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="NodeCallback.html">NodeCallback</A>* <B>getUpdateCallback</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>inline const <!1><A HREF="NodeCallback.html">NodeCallback</A>* <B>getUpdateCallback</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline unsigned int <B>getNumChildrenRequiringUpdateTraversal</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>void <B>setCullCallback</B>(<!1><A HREF="NodeCallback.html">NodeCallback</A>* nc)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="NodeCallback.html">NodeCallback</A>* <B>getCullCallback</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>inline const <!1><A HREF="NodeCallback.html">NodeCallback</A>* <B>getCullCallback</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>void <B>setCullingActive</B>(bool active)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline bool <B>getCullingActive</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline unsigned int <B>getNumChildrenWithCullingDisabled</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline bool <B>isCullingActive</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline unsigned int <B>getNumChildrenWithOccluderNodes</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>bool <B>containsOccluderNodes</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>setNodeMask</B>(<!1><A HREF="Node.html#DOC.2.119.37">NodeMask</A> nm)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="Node.html#DOC.2.119.37">NodeMask</A> <B>getNodeMask</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline const <!1><A HREF="Node.html#DOC.2.119.40">DescriptionList</A>&amp; <B>getDescriptions</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="Node.html#DOC.2.119.40">DescriptionList</A>&amp; <B>getDescriptions</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>inline const std::string&amp; <B>getDescription</B>(unsigned int i) const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline std::string&amp; <B>getDescription</B>(unsigned int i)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline unsigned int <B>getNumDescriptions</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>void <B>addDescription</B>(const std::string&amp; desc)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>setStateSet</B>(<!1><A HREF="StateSet.html">osg::StateSet</A>* dstate)
<DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="StateSet.html">osg::StateSet</A>* <B>getOrCreateStateSet</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="StateSet.html">osg::StateSet</A>* <B>getStateSet</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>inline const <!1><A HREF="StateSet.html">osg::StateSet</A>* <B>getStateSet</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline const <!1><A HREF="BoundingSphere.html">BoundingSphere</A>&amp; <B>getBound</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>void <B>dirtyBound</B>()
</DL></P>
<P><DL>
<DT><H3>Public Members</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>typedef std::vector&lt;<!1><A HREF="Group.html">Group</A>*&gt; <B>ParentList</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>typedef unsigned int <B>NodeMask</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>typedef std::vector&lt;std::string&gt; <B>DescriptionList</B>
</DL></P>
<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>mutable <!1><A HREF="BoundingSphere.html">BoundingSphere</A> <B>_bsphere</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>mutable bool <B>_bsphere_computed</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>std::string <B>_name</B>
<DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.119.18">ParentList</A> <B>_parents</B>
<DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="NodeCallback.html">NodeCallback</A>&gt; <B>_updateCallback</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>unsigned int <B>_numChildrenRequiringUpdateTraversal</B>
<DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="NodeCallback.html">NodeCallback</A>&gt; <B>_cullCallback</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>bool <B>_cullingActive</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>unsigned int <B>_numChildrenWithCullingDisabled</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>unsigned int <B>_numChildrenWithOccluderNodes</B>
<DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.119.37">NodeMask</A> <B>_nodeMask</B>
<DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.119.40">DescriptionList</A> <B>_descriptions</B>
<DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="StateSet.html">StateSet</A>&gt; <B>_stateset</B>
</DL></P>
<P><DL>
<DT><H3>Protected Methods</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>void <B>addParent</B>(<!1><A HREF="Group.html">osg::Group</A>* node)
<DT>
<IMG ALT="o" SRC=icon2.gif>void <B>removeParent</B>(<!1><A HREF="Group.html">osg::Group</A>* node)
<DT>
<IMG ALT="o" SRC=icon2.gif>void <B>setNumChildrenRequiringUpdateTraversal</B>(unsigned int num)
<DT>
<IMG ALT="o" SRC=icon2.gif>void <B>setNumChildrenWithCullingDisabled</B>(unsigned int num)
<DT>
<IMG ALT="o" SRC=icon2.gif>void <B>setNumChildrenWithOccluderNodes</B>(unsigned int num)
</DL></P>
</DL>
<HR><H3>Inherited from <A HREF="Object.html">Object</A>:</H3>
<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>setDataVariance</B>(<!1><A HREF="Object.html#DOC.2.136.8">DataVariance</A> dv)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="Object.html#DOC.2.136.8">DataVariance</A> <B>getDataVariance</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>setUserData</B>(<!1><A HREF="Referenced.html">Referenced</A>* obj)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="Referenced.html">Referenced</A>* <B>getUserData</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>inline const <!1><A HREF="Referenced.html">Referenced</A>* <B>getUserData</B>() const
</DL></P>
<P><DL>
<DT><H3>Public Members</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>enum <B>DataVariance</B>
</DL></P>
<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Object.html#DOC.2.136.8">DataVariance</A> <B>_dataVariance</B>
<DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Referenced.html">Referenced</A>&gt; <B>_userData</B>
</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>inline <!1><A HREF="Referenced.html">Referenced</A>&amp; <B>operator = </B>(<!1><A HREF="Referenced.html">Referenced</A>&amp;)
<DT>
<IMG ALT="o" SRC=icon2.gif>static void <B>setDeleteHandler</B>(<!1><A HREF="DeleteHandler.html">DeleteHandler</A>* handler)
<DT>
<IMG ALT="o" SRC=icon2.gif>static <!1><A HREF="DeleteHandler.html">DeleteHandler</A>* <B>getDeleteHandler</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>ref</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>unref_nodelete</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline int <B>referenceCount</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>unref</B>() const
</DL></P>
<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>mutable int <B>_refCount</B>
</DL></P>
</DL>
<A NAME="DOC.DOCU"></A>
<HR>
<H2>Documentation</H2>
<BLOCKQUOTE>OccluderNode is a Group node which allows OccluderNodeing between children.
Typical uses would be for objects which might need to be rendered
differently at different times, for instance a OccluderNode could be used
to represent the different states of a traffic light.</BLOCKQUOTE>
<DL>
<A NAME="OccluderNode"></A>
<A NAME="DOC.2.137.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> OccluderNode()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="OccluderNode"></A>
<A NAME="DOC.2.137.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> OccluderNode(const <!1><A HREF="OccluderNode.html#DOC.2.137.2">OccluderNode</A>&amp;, const <!1><A HREF="CopyOp.html">CopyOp</A>&amp; copyop=CopyOp::SHALLOW_COPY)</B></TT>
<DD>Copy constructor using CopyOp to manage deep vs shallow copy
<DL><DT><DD></DL><P>
<A NAME="META_Node"></A>
<A NAME="DOC.2.137.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> META_Node(<!1><A HREF="osg.html">osg</A>, <!1><A HREF="OccluderNode.html">OccluderNode</A>)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="setOccluder"></A>
<A NAME="DOC.2.137.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setOccluder(<!1><A HREF="ConvexPlanarOccluder.html">ConvexPlanarOccluder</A>* occluder)</B></TT>
<DD>Attach a ConvexPlanarOccluder to an OccluderNode
<DL><DT><DD></DL><P>
<A NAME="getOccluder"></A>
<A NAME="DOC.2.137.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="ConvexPlanarOccluder.html">ConvexPlanarOccluder</A>* getOccluder()</B></TT>
<DD>Get the ConvexPlanarOccluder* attached to a OccluderNode.
<DL><DT><DD></DL><P>
<A NAME="getOccluder"></A>
<A NAME="DOC.2.137.6"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="ConvexPlanarOccluder.html">ConvexPlanarOccluder</A>* getOccluder() const </B></TT>
<DD>Get the const ConvexPlanarOccluder* attached to a OccluderNode
<DL><DT><DD></DL><P>
<A NAME="~OccluderNode"></A>
<A NAME="DOC.2.137.7"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual ~OccluderNode()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="computeBound"></A>
<A NAME="DOC.2.137.8"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual bool computeBound() const </B></TT>
<DD>Override's Group's computeBound
<DL><DT><DD></DL><P>
<A NAME="_occluder"></A>
<A NAME="DOC.2.137.9"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="ConvexPlanarOccluder.html">ConvexPlanarOccluder</A>&gt; _occluder</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><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://docpp.sourceforge.net">DOC++</A>.
</BODY>
</HTML>