OpenSceneGraph/doc/doc++/osg/Geode.html

313 lines
14 KiB
HTML
Raw Normal View History

2001-09-20 05:19:47 +08:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>class SG_EXPORT osg::Geode</TITLE>
<META NAME="GENERATOR" CONTENT="DOC++ 3.4.8">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H2>class SG_EXPORT <A HREF="#DOC.DOCU">osg::Geode</A></H2></H2><BLOCKQUOTE>Leaf Node for grouping Drawables</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,CGeode,MGeode.html,CBillboard,MBillboard.html">
<param name=before value="M,M,M,M,M^_">
<param name=after value="Md_SPSP,Md_SP,Md_,M,M">
<param name=indent value="0,1,2,3,3">
<param name=arrowdir value="down">
</APPLET>
<HR>
<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
2001-09-22 10:42:08 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>typedef std::vector&lt; <!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Drawable.html">Drawable</A>&gt; &gt; DrawableList <B><A HREF="#DOC.2.30.1">Geode</A></B>()
2001-09-20 05:19:47 +08:00
<DT>
2001-09-22 10:42:08 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.30.2">META_Node</A></B>(<!1><A HREF="Geode.html">Geode</A>)
2001-09-20 05:19:47 +08:00
<DT>
2001-09-22 10:42:08 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual const bool <B><A HREF="#DOC.2.30.3">addDrawable</A></B>( <!1><A HREF="Drawable.html">Drawable</A>* drawable )
2001-09-20 05:19:47 +08:00
<DD><I>Add Drawable to Geode.</I>
<DT>
2001-09-22 10:42:08 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual const bool <B><A HREF="#DOC.2.30.4">removeDrawable</A></B>( <!1><A HREF="Drawable.html">Drawable</A>* drawable )
2001-09-20 05:19:47 +08:00
<DD><I>Remove Drawable from Geode.</I>
<DT>
2001-09-22 10:42:08 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual const bool <B><A HREF="#DOC.2.30.5">replaceDrawable</A></B>( <!1><A HREF="Drawable.html">Drawable</A>* origDraw, <!1><A HREF="Drawable.html">Drawable</A>* newDraw )
2001-09-20 05:19:47 +08:00
<DD><I>Replace specified Drawable with another Drawable.</I>
<DT>
2001-09-22 10:42:08 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const int <B><A HREF="#DOC.2.30.6">getNumDrawables</A></B>() const
2001-09-20 05:19:47 +08:00
<DD><I>return the number of geoset's</I>
<DT>
2001-09-22 10:42:08 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline <!1><A HREF="Drawable.html">Drawable</A>* <B><A HREF="#DOC.2.30.7">getDrawable</A></B>( const int i )
2001-09-20 05:19:47 +08:00
<DD><I>return geoset at position i</I>
<DT>
2001-09-22 10:42:08 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const <!1><A HREF="Drawable.html">Drawable</A>* <B><A HREF="#DOC.2.30.8">getDrawable</A></B>( const int i ) const
2001-09-20 05:19:47 +08:00
<DD><I>return geoset at position i</I>
<DT>
2001-09-22 10:42:08 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const bool <B><A HREF="#DOC.2.30.9">containsDrawable</A></B>(const <!1><A HREF="Drawable.html">Drawable</A>* gset) const
<DD><I>return true if geoset is contained within Geode</I>
2001-09-20 05:19:47 +08:00
<DT>
2001-09-22 10:42:08 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline DrawableList::iterator <B><A HREF="#DOC.2.30.10">findDrawable</A></B>(const <!1><A HREF="Drawable.html">Drawable</A>* gset)
2001-09-20 05:19:47 +08:00
<DD><I>return the iterator postion for specified Drawable.</I>
<DT>
2001-09-22 10:42:08 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline DrawableList::const_iterator <B><A HREF="#DOC.2.30.11">findDrawable</A></B>(const <!1><A HREF="Drawable.html">Drawable</A>* gset) const
2001-09-20 05:19:47 +08:00
<DD><I>return the const_iterator postion for specified Drawable.</I>
<DT>
2001-09-22 10:42:08 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.30.12">compileDrawables</A></B>(<!1><A HREF="State.html">State</A>&amp; state)
2001-09-20 05:19:47 +08:00
<DD><I>complile OpenGL Display List for each geoset</I>
</DL></P>
<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
2001-09-22 10:42:08 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>DrawableList <B><A HREF="#DOC.2.30.15">_drawables</A></B>
2001-09-20 05:19:47 +08:00
</DL></P>
<P><DL>
<DT><H3>Protected Methods</H3><DD><DT>
2001-09-22 10:42:08 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual <B><A HREF="#DOC.2.30.13">~Geode</A></B>()
2001-09-20 05:19:47 +08:00
<DT>
2001-09-22 10:42:08 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual const bool <B><A HREF="#DOC.2.30.14">computeBound</A></B>() const
2001-09-20 05:19:47 +08:00
</DL></P>
</DL>
<HR><H3>Inherited from <A HREF="Node.html">Node</A>:</H3>
<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
2001-09-22 10:42:08 +08:00
<IMG ALT="o" SRC=icon2.gif>virtual <!1><A HREF="Object.html">Object</A>* <B>clone</B>() 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>className</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual void <B>accept</B>(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; nv)
<DT>
2001-09-20 05:19:47 +08:00
<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>virtual void <B>traverse</B>(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; )
<DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>setName</B>( const std::string&amp; name )
<DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>setName</B>( const char* name )
<DT>
<IMG ALT="o" SRC=icon2.gif>inline const std::string&amp; <B>getName</B>() const
<DT>
2001-09-22 10:42:08 +08:00
<IMG ALT="o" SRC=icon2.gif>inline const <!1><A HREF="Node.html#DOC.2.54.11">ParentList</A>&amp; <B>getParents</B>() const
2001-09-20 05:19:47 +08:00
<DT>
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="Group.html">Group</A>* <B>getParent</B>(const int i)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline const <!1><A HREF="Group.html">Group</A>* <B>getParent</B>(const int i) const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline const int <B>getNumParents</B>() const
<DT>
2001-09-22 10:42:08 +08:00
<IMG ALT="o" SRC=icon2.gif>void <B>setAppCallback</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>getAppCallback</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>inline const <!1><A HREF="NodeCallback.html">NodeCallback</A>* <B>getAppCallback</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline const int <B>getNumChildrenRequiringAppTraversal</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>setUserData</B>(void* <!1><A HREF="Image.html#DOC.2.36.15">data</A>, <!1><A HREF="MemoryAdapter.html">MemoryAdapter</A>* ma=0L)
2001-09-20 05:19:47 +08:00
<DT>
<IMG ALT="o" SRC=icon2.gif>inline void* <B>getUserData</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>inline const void* <B>getUserData</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="MemoryAdapter.html">MemoryAdapter</A>* <B>getMemoryAdapter</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>inline const <!1><A HREF="MemoryAdapter.html">MemoryAdapter</A>* <B>getMemoryAdapter</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>setNodeMask</B>(const NodeMask nm)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline const NodeMask <B>getNodeMask</B>() const
<DT>
2001-09-22 10:42:08 +08:00
<IMG ALT="o" SRC=icon2.gif>inline const <!1><A HREF="Node.html#DOC.2.54.27">DescriptionList</A>&amp; <B>getDescriptions</B>() const
2001-09-20 05:19:47 +08:00
<DT>
2001-09-22 10:42:08 +08:00
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="Node.html#DOC.2.54.27">DescriptionList</A>&amp; <B>getDescriptions</B>()
2001-09-20 05:19:47 +08:00
<DT>
<IMG ALT="o" SRC=icon2.gif>inline const std::string&amp; <B>getDescription</B>(const int i) const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline std::string&amp; <B>getDescription</B>(const int i)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline const 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>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 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>
2001-09-22 10:42:08 +08:00
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.54.11">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>_appCallback</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>int <B>_numChildrenRequiringAppTraversal</B>
2001-09-20 05:19:47 +08:00
<DT>
<IMG ALT="o" SRC=icon2.gif>void* <B>_userData</B>
<DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="MemoryAdapter.html">MemoryAdapter</A>&gt; <B>_memoryAdapter</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>NodeMask <B>_nodeMask</B>
<DT>
2001-09-22 10:42:08 +08:00
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.54.27">DescriptionList</A> <B>_descriptions</B>
2001-09-20 05:19:47 +08:00
<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>_dstate</B>
</DL></P>
2001-09-22 10:42:08 +08:00
<P><DL>
<DT><H3>Protected Methods</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>void <B>setNumChildrenRequiringAppTraversal</B>(const int num)
</DL></P>
2001-09-20 05:19:47 +08:00
</DL>
<HR><H3>Inherited from <A HREF="Object.html">Object</A>:</H3>
<DL>
</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>inline void <B>ref</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>unref</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline const int <B>referenceCount</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>Leaf Node for grouping Drawables</BLOCKQUOTE>
<DL>
<A NAME="Geode"></A>
2001-09-22 10:42:08 +08:00
<A NAME="DOC.2.30.1"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef std::vector&lt; <!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Drawable.html">Drawable</A>&gt; &gt; DrawableList Geode()</B></TT>
<DL><DT><DD></DL><P>
2001-09-22 10:42:08 +08:00
<A NAME="META_Node"></A>
<A NAME="DOC.2.30.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> META_Node(<!1><A HREF="Geode.html">Geode</A>)</B></TT>
2001-09-20 05:19:47 +08:00
<DL><DT><DD></DL><P>
<A NAME="addDrawable"></A>
2001-09-22 10:42:08 +08:00
<A NAME="DOC.2.30.3"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual const bool addDrawable( <!1><A HREF="Drawable.html">Drawable</A>* drawable )</B></TT>
<DD>Add Drawable to Geode.
If gset is not NULL and is not contained in Geode then increment its
reference count, add it to the drawables list and dirty the bounding
sphere to force it to recompute on next getBound() and return true for success.
Otherwise return false.
<DL><DT><DD></DL><P>
<A NAME="removeDrawable"></A>
2001-09-22 10:42:08 +08:00
<A NAME="DOC.2.30.4"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual const bool removeDrawable( <!1><A HREF="Drawable.html">Drawable</A>* drawable )</B></TT>
<DD>Remove Drawable from Geode.
If gset is contained in Geode then remove it from the geoset
list and decrement its reference count, and dirty the
bounding sphere to force it to recompute on next getBound() and
return true for success. If gset is not found then return false
and do not change the reference count of gset.
<DL><DT><DD></DL><P>
<A NAME="replaceDrawable"></A>
2001-09-22 10:42:08 +08:00
<A NAME="DOC.2.30.5"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual const bool replaceDrawable( <!1><A HREF="Drawable.html">Drawable</A>* origDraw, <!1><A HREF="Drawable.html">Drawable</A>* newDraw )</B></TT>
<DD>Replace specified Drawable with another Drawable.
Decrement the reference count origGSet and increments the
reference count of newGset, and dirty the bounding sphere
to force it to recompute on next getBound() and returns true.
If origDrawable is not found then return false and do not
add newGset. If newGset is NULL then return false and do
not remove origGset.
<DL><DT><DD></DL><P>
<A NAME="getNumDrawables"></A>
2001-09-22 10:42:08 +08:00
<A NAME="DOC.2.30.6"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const int getNumDrawables() const </B></TT>
<DD>return the number of geoset's
<DL><DT><DD></DL><P>
<A NAME="getDrawable"></A>
2001-09-22 10:42:08 +08:00
<A NAME="DOC.2.30.7"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline <!1><A HREF="Drawable.html">Drawable</A>* getDrawable( const int i )</B></TT>
<DD>return geoset at position i
<DL><DT><DD></DL><P>
<A NAME="getDrawable"></A>
2001-09-22 10:42:08 +08:00
<A NAME="DOC.2.30.8"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const <!1><A HREF="Drawable.html">Drawable</A>* getDrawable( const int i ) const </B></TT>
<DD>return geoset at position i
<DL><DT><DD></DL><P>
<A NAME="containsDrawable"></A>
2001-09-22 10:42:08 +08:00
<A NAME="DOC.2.30.9"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const bool containsDrawable(const <!1><A HREF="Drawable.html">Drawable</A>* gset) const </B></TT>
2001-09-22 10:42:08 +08:00
<DD>return true if geoset is contained within Geode
2001-09-20 05:19:47 +08:00
<DL><DT><DD></DL><P>
<A NAME="findDrawable"></A>
2001-09-22 10:42:08 +08:00
<A NAME="DOC.2.30.10"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline DrawableList::iterator findDrawable(const <!1><A HREF="Drawable.html">Drawable</A>* gset)</B></TT>
<DD>return the iterator postion for specified Drawable.
return _geoset.end() if gset not is contained in Geode.
<DL><DT><DD></DL><P>
<A NAME="findDrawable"></A>
2001-09-22 10:42:08 +08:00
<A NAME="DOC.2.30.11"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline DrawableList::const_iterator findDrawable(const <!1><A HREF="Drawable.html">Drawable</A>* gset) const </B></TT>
<DD>return the const_iterator postion for specified Drawable.
return _geoset.end() if gset not is contained in Geode.
<DL><DT><DD></DL><P>
<A NAME="compileDrawables"></A>
2001-09-22 10:42:08 +08:00
<A NAME="DOC.2.30.12"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void compileDrawables(<!1><A HREF="State.html">State</A>&amp; state)</B></TT>
<DD>complile OpenGL Display List for each geoset
<DL><DT><DD></DL><P>
<A NAME="~Geode"></A>
2001-09-22 10:42:08 +08:00
<A NAME="DOC.2.30.13"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual ~Geode()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="computeBound"></A>
2001-09-22 10:42:08 +08:00
<A NAME="DOC.2.30.14"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual const bool computeBound() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="_drawables"></A>
2001-09-22 10:42:08 +08:00
<A NAME="DOC.2.30.15"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>DrawableList _drawables</B></TT>
<DL><DT><DD></DL><P></DL>
<HR>
<DL><DT><B>Direct child classes:
</B><DD><A HREF="Billboard.html">Billboard</A><BR>
</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>