567 lines
28 KiB
HTML
567 lines
28 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
|
|
|
<HTML>
|
|
<HEAD>
|
|
<TITLE>class SG_EXPORT osg::LOD</TITLE>
|
|
<META NAME="GENERATOR" CONTENT="DOC++ 3.4.6">
|
|
</HEAD>
|
|
<BODY BGCOLOR="#ffffff">
|
|
|
|
<H2>class SG_EXPORT <A HREF="#DOC.DOCU">osg::LOD</A></H2></H2><BLOCKQUOTE>LOD - Level Of Detail group node which allows switching between children depending on distance from eye point.</BLOCKQUOTE>
|
|
<HR>
|
|
|
|
<H2>Inheritance:</H2>
|
|
<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=215>
|
|
<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CNode,MNode.html,CGroup,MGroup.html,CLOD,MLOD.html,CPagedLOD,MPagedLOD.html,CImpostor,MImpostor.html">
|
|
<param name=before value="M,M,M,M,M,M|_,Mr_">
|
|
<param name=after value="Md_SPSPSP,Md_SPSP,Md_SP,Md_,M,M,M">
|
|
<param name=indent value="0,1,2,3,4,4,4">
|
|
<param name=arrowdir value="down">
|
|
</APPLET>
|
|
<HR>
|
|
|
|
<DL>
|
|
<P><DL>
|
|
<DT><H3>Public Classes</H3><DD><DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>enum <B><A HREF="#DOC.2.132.10">CenterMode</A></B>
|
|
<DD><I>Modes which control how the center of object should be determined when computed which child is active</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>enum <B><A HREF="#DOC.2.132.17">RangeMode</A></B>
|
|
<DD><I>Modes that control how the range values should be intepreted when computing which child is active</I>
|
|
</DL></P>
|
|
|
|
<P><DL>
|
|
<DT><H3>Public Methods</H3><DD><DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.132.1">LOD</A></B>()
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.132.2">LOD</A></B>(const <!1><A HREF="LOD.html#DOC.2.132.2">LOD</A>&, const <!1><A HREF="CopyOp.html">CopyOp</A>& 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.132.3">META_Node</A></B>(<!1><A HREF="osg.html">osg</A>, <!1><A HREF="LOD.html">LOD</A>)
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.132.4">traverse</A></B>(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>& nv)
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual bool <B><A HREF="#DOC.2.132.5">addChild</A></B>(<!1><A HREF="Node.html">Node</A>* child)
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual bool <B><A HREF="#DOC.2.132.6">addChild</A></B>(<!1><A HREF="Node.html">Node</A>* child, float min, float max)
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual bool <B><A HREF="#DOC.2.132.7">removeChild</A></B>(<!1><A HREF="Node.html">Node</A>* child)
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.132.11">setCenterMode</A></B>(<!1><A HREF="LOD.html#DOC.2.132.10">CenterMode</A> mode)
|
|
<DD><I>Set how the center of object should be determined when computed which child is active</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="LOD.html#DOC.2.132.10">CenterMode</A> <B><A HREF="#DOC.2.132.12">getCenterMode</A></B>() const
|
|
<DD><I>Get how the center of object should be determined when computed which child is active</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.132.13">setCenter</A></B>(const <!1><A HREF="osg.html#DOC.2.262">Vec3</A>& <!1><A HREF="BoundingSphere.html#DOC.2.47.8">center</A>)
|
|
<DD><I>Sets the object-space point which defines the center of the osg::LOD.</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const <!1><A HREF="osg.html#DOC.2.262">Vec3</A>& <B><A HREF="#DOC.2.132.14">getCenter</A></B>() const
|
|
<DD><I>return the LOD center point.</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.132.15">setRadius</A></B>(float <!1><A HREF="BoundingSphere.html#DOC.2.47.10">radius</A>)
|
|
<DD><I>Set the object-space reference radius of the volume enclosed by the LOD.</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline float <B><A HREF="#DOC.2.132.16">getRadius</A></B>() const
|
|
<DD><I>Get the object-space radius of the volume enclosed by the LOD</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.132.18">setRangeMode</A></B>(<!1><A HREF="LOD.html#DOC.2.132.17">RangeMode</A> mode)
|
|
<DD><I>Set how the range values should be intepreted when computing which child is active</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="LOD.html#DOC.2.132.17">RangeMode</A> <B><A HREF="#DOC.2.132.19">getRangeMode</A></B>() const
|
|
<DD><I>Get how the range values should be intepreted when computing which child is active</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.132.20">setRange</A></B>(unsigned int childNo, float min, float max)
|
|
<DD><I>Sets the min and max visible ranges of range of specifiec child.</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline float <B><A HREF="#DOC.2.132.21">getMinRange</A></B>(unsigned int childNo) const
|
|
<DD><I>returns the min visible range for specified child</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline float <B><A HREF="#DOC.2.132.22">getMaxRange</A></B>(unsigned int childNo) const
|
|
<DD><I>returns the max visible range for specified child</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline unsigned int <B><A HREF="#DOC.2.132.23">getNumRanges</A></B>() const
|
|
<DD><I>returns the number of ranges currently set.</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const <!1><A HREF="LOD.html#DOC.2.132.9">RangeList</A>& <B><A HREF="#DOC.2.132.24">getRangeList</A></B>() const
|
|
<DD><I>return the list of MinMax ranges for each child</I>
|
|
</DL></P>
|
|
|
|
<P><DL>
|
|
<DT><H3>Public</H3><DD><DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>typedef std::pair<float,float> <B><A HREF="#DOC.2.132.8">MinMaxPair</A></B>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>typedef std::vector<<!1><A HREF="LOD.html#DOC.2.132.8">MinMaxPair</A>> <B><A HREF="#DOC.2.132.9">RangeList</A></B>
|
|
</DL></P>
|
|
|
|
<P><DL>
|
|
<DT><H3>Protected Fields</H3><DD><DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="LOD.html#DOC.2.132.10">CenterMode</A> <B><A HREF="#DOC.2.132.31">_centerMode</A></B>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="osg.html#DOC.2.262">Vec3</A> <B><A HREF="#DOC.2.132.32">_userDefinedCenter</A></B>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>float <B><A HREF="#DOC.2.132.33">_radius</A></B>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="LOD.html#DOC.2.132.17">RangeMode</A> <B><A HREF="#DOC.2.132.34">_rangeMode</A></B>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="LOD.html#DOC.2.132.9">RangeList</A> <B><A HREF="#DOC.2.132.35">_rangeList</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.132.25">~LOD</A></B>()
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual bool <B><A HREF="#DOC.2.132.26">computeBound</A></B>() const
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.132.27">childRemoved</A></B>(unsigned int pos, unsigned int numChildrenToRemove)
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.132.28">childInserted</A></B>(unsigned int pos)
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.132.29">rangeRemoved</A></B>(unsigned int , unsigned int )
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.132.30">rangeInserted</A></B>(unsigned int )
|
|
</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 bool <B>insertChild</B>( unsigned int <!1><A HREF="TemplateIndexArray.html#DOC.2.18.17">index</A>, <!1><A HREF="Node.html">Node</A>* child )
|
|
<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.117">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>& 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>& nv)
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>virtual void <B>ascend</B>(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>& nv)
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline void <B>setName</B>( const std::string& <!1><A HREF="Test.html#DOC.246.1.3">name</A> )
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline void <B>setName</B>( const char* <!1><A HREF="Test.html#DOC.246.1.3">name</A> )
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline const std::string& <B>getName</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline const <!1><A HREF="Node.html#DOC.2.155.18">ParentList</A>& <B>getParents</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="Node.html#DOC.2.155.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.155.37">NodeMask</A> nm)
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="Node.html#DOC.2.155.37">NodeMask</A> <B>getNodeMask</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline const <!1><A HREF="Node.html#DOC.2.155.40">DescriptionList</A>& <B>getDescriptions</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="Node.html#DOC.2.155.40">DescriptionList</A>& <B>getDescriptions</B>()
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline const std::string& <B>getDescription</B>(unsigned int i) const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline std::string& <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& 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>& <B>getBound</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>void <B>dirtyBound</B>()
|
|
</DL></P>
|
|
|
|
<P><DL>
|
|
<DT><H3>Public</H3><DD><DT>
|
|
<IMG ALT="o" SRC=icon2.gif>typedef std::vector<<!1><A HREF="Group.html">Group</A>*> <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<std::string> <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.155.18">ParentList</A> <B>_parents</B>
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="ref_ptr.html">ref_ptr</A><<!1><A HREF="NodeCallback.html">NodeCallback</A>> <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><<!1><A HREF="NodeCallback.html">NodeCallback</A>> <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.155.37">NodeMask</A> <B>_nodeMask</B>
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.155.40">DescriptionList</A> <B>_descriptions</B>
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="ref_ptr.html">ref_ptr</A><<!1><A HREF="StateSet.html">StateSet</A>> <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 Classes</H3><DD><DT>
|
|
<IMG ALT="o" SRC=icon2.gif>enum <B>DataVariance</B>
|
|
</DL></P>
|
|
|
|
<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.167.8">DataVariance</A> dv)
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="Object.html#DOC.2.167.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>Protected Fields</H3><DD><DT>
|
|
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Object.html#DOC.2.167.8">DataVariance</A> <B>_dataVariance</B>
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="ref_ptr.html">ref_ptr</A><<!1><A HREF="Referenced.html">Referenced</A>> <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>& <B>operator = </B>(const <!1><A HREF="Referenced.html">Referenced</A>&)
|
|
<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 OpenThreads::Mutex <B>_refMutex</B>
|
|
<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>LOD - Level Of Detail group node which allows switching between children
|
|
depending on distance from eye point.
|
|
Typical uses are for load balancing - objects further away from
|
|
the eye point are rendered at a lower level of detail, and at times
|
|
of high stress on the graphics pipeline lower levels of detail can
|
|
also be chosen.
|
|
The children are ordered from most detailed (for close up views) to the least
|
|
(see from a distance), and a set of ranges are used to decide which LOD is used
|
|
at different view distances, the criteria used is child 'i' is used when
|
|
range[i]<dist<range[i+1] is true. This requires there to be n+1 range values where the number of
|
|
children is n, since no maximum distance of infinity is assumed. If the number of range values (m)
|
|
is insufficient then the children m through to n will be ignored, only 0..m-1 will be used
|
|
during rendering.</BLOCKQUOTE>
|
|
<DL>
|
|
|
|
<A NAME="LOD"></A>
|
|
<A NAME="DOC.2.132.1"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LOD()</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="LOD"></A>
|
|
<A NAME="DOC.2.132.2"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LOD(const <!1><A HREF="LOD.html#DOC.2.132.2">LOD</A>&, const <!1><A HREF="CopyOp.html">CopyOp</A>& 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.132.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="LOD.html">LOD</A>)</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="traverse"></A>
|
|
<A NAME="DOC.2.132.4"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void traverse(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>& nv)</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="addChild"></A>
|
|
<A NAME="DOC.2.132.5"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual bool addChild(<!1><A HREF="Node.html">Node</A>* child)</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="addChild"></A>
|
|
<A NAME="DOC.2.132.6"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual bool addChild(<!1><A HREF="Node.html">Node</A>* child, float min, float max)</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="removeChild"></A>
|
|
<A NAME="DOC.2.132.7"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual bool removeChild(<!1><A HREF="Node.html">Node</A>* child)</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="MinMaxPair"></A>
|
|
<A NAME="DOC.2.132.8"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef std::pair<float,float> MinMaxPair</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="RangeList"></A>
|
|
<A NAME="DOC.2.132.9"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef std::vector<<!1><A HREF="LOD.html#DOC.2.132.8">MinMaxPair</A>> RangeList</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="CenterMode"></A>
|
|
<A NAME="DOC.2.132.10"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum CenterMode</B></TT>
|
|
<DD>Modes which control how the center of object should be determined when computed which child is active
|
|
<DL><DT><DD></DL><P><DL>
|
|
|
|
<A NAME="USE_BOUNDING_SPHERE_CENTER"></A>
|
|
<A NAME="DOC.2.132.10.1"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> USE_BOUNDING_SPHERE_CENTER</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="USER_DEFINED_CENTER"></A>
|
|
<A NAME="DOC.2.132.10.2"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> USER_DEFINED_CENTER</B></TT>
|
|
<DL><DT><DD></DL><P></DL>
|
|
|
|
<A NAME="setCenterMode"></A>
|
|
<A NAME="DOC.2.132.11"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setCenterMode(<!1><A HREF="LOD.html#DOC.2.132.10">CenterMode</A> mode)</B></TT>
|
|
<DD>Set how the center of object should be determined when computed which child is active
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="getCenterMode"></A>
|
|
<A NAME="DOC.2.132.12"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="LOD.html#DOC.2.132.10">CenterMode</A> getCenterMode() const </B></TT>
|
|
<DD>Get how the center of object should be determined when computed which child is active
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="setCenter"></A>
|
|
<A NAME="DOC.2.132.13"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void setCenter(const <!1><A HREF="osg.html#DOC.2.262">Vec3</A>& <!1><A HREF="BoundingSphere.html#DOC.2.47.8">center</A>)</B></TT>
|
|
<DD>Sets the object-space point which defines the center of the osg::LOD.
|
|
center is affected by any transforms in the hierarchy above the osg::LOD.
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="getCenter"></A>
|
|
<A NAME="DOC.2.132.14"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const <!1><A HREF="osg.html#DOC.2.262">Vec3</A>& getCenter() const </B></TT>
|
|
<DD>return the LOD center point.
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="setRadius"></A>
|
|
<A NAME="DOC.2.132.15"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void setRadius(float <!1><A HREF="BoundingSphere.html#DOC.2.47.10">radius</A>)</B></TT>
|
|
<DD>Set the object-space reference radius of the volume enclosed by the LOD.
|
|
Used to detmine the bounding sphere of the LOD in the absense of any children.
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="getRadius"></A>
|
|
<A NAME="DOC.2.132.16"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline float getRadius() const </B></TT>
|
|
<DD>Get the object-space radius of the volume enclosed by the LOD
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="RangeMode"></A>
|
|
<A NAME="DOC.2.132.17"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum RangeMode</B></TT>
|
|
<DD>Modes that control how the range values should be intepreted when computing which child is active
|
|
<DL><DT><DD></DL><P><DL>
|
|
|
|
<A NAME="DISTANCE_FROM_EYE_POINT"></A>
|
|
<A NAME="DOC.2.132.17.1"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> DISTANCE_FROM_EYE_POINT</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="PIXEL_SIZE_ON_SCREEN"></A>
|
|
<A NAME="DOC.2.132.17.2"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> PIXEL_SIZE_ON_SCREEN</B></TT>
|
|
<DL><DT><DD></DL><P></DL>
|
|
|
|
<A NAME="setRangeMode"></A>
|
|
<A NAME="DOC.2.132.18"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setRangeMode(<!1><A HREF="LOD.html#DOC.2.132.17">RangeMode</A> mode)</B></TT>
|
|
<DD>Set how the range values should be intepreted when computing which child is active
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="getRangeMode"></A>
|
|
<A NAME="DOC.2.132.19"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="LOD.html#DOC.2.132.17">RangeMode</A> getRangeMode() const </B></TT>
|
|
<DD>Get how the range values should be intepreted when computing which child is active
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="setRange"></A>
|
|
<A NAME="DOC.2.132.20"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setRange(unsigned int childNo, float min, float max)</B></TT>
|
|
<DD>Sets the min and max visible ranges of range of specifiec child.
|
|
Values are floating point distance specified in local objects coordinates.
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="getMinRange"></A>
|
|
<A NAME="DOC.2.132.21"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline float getMinRange(unsigned int childNo) const </B></TT>
|
|
<DD>returns the min visible range for specified child
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="getMaxRange"></A>
|
|
<A NAME="DOC.2.132.22"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline float getMaxRange(unsigned int childNo) const </B></TT>
|
|
<DD>returns the max visible range for specified child
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="getNumRanges"></A>
|
|
<A NAME="DOC.2.132.23"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline unsigned int getNumRanges() const </B></TT>
|
|
<DD>returns the number of ranges currently set.
|
|
An LOD which has been fully set up will have getNumChildren()==getNumRanges().
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="getRangeList"></A>
|
|
<A NAME="DOC.2.132.24"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const <!1><A HREF="LOD.html#DOC.2.132.9">RangeList</A>& getRangeList() const </B></TT>
|
|
<DD>return the list of MinMax ranges for each child
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="~LOD"></A>
|
|
<A NAME="DOC.2.132.25"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual ~LOD()</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="computeBound"></A>
|
|
<A NAME="DOC.2.132.26"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual bool computeBound() const </B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="childRemoved"></A>
|
|
<A NAME="DOC.2.132.27"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void childRemoved(unsigned int pos, unsigned int numChildrenToRemove)</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="childInserted"></A>
|
|
<A NAME="DOC.2.132.28"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void childInserted(unsigned int pos)</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="rangeRemoved"></A>
|
|
<A NAME="DOC.2.132.29"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void rangeRemoved(unsigned int , unsigned int )</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="rangeInserted"></A>
|
|
<A NAME="DOC.2.132.30"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void rangeInserted(unsigned int )</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="_centerMode"></A>
|
|
<A NAME="DOC.2.132.31"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="LOD.html#DOC.2.132.10">CenterMode</A> _centerMode</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="_userDefinedCenter"></A>
|
|
<A NAME="DOC.2.132.32"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="osg.html#DOC.2.262">Vec3</A> _userDefinedCenter</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="_radius"></A>
|
|
<A NAME="DOC.2.132.33"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _radius</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="_rangeMode"></A>
|
|
<A NAME="DOC.2.132.34"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="LOD.html#DOC.2.132.17">RangeMode</A> _rangeMode</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="_rangeList"></A>
|
|
<A NAME="DOC.2.132.35"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="LOD.html#DOC.2.132.9">RangeList</A> _rangeList</B></TT>
|
|
<DL><DT><DD></DL><P></DL>
|
|
<HR>
|
|
<DL><DT><B>Direct child classes:
|
|
</B><DD><A HREF="PagedLOD.html">PagedLOD</A><BR>
|
|
<A HREF="Impostor.html">Impostor</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://www.linuxsupportline.com/~doc++">DOC++</A>.
|
|
</BODY>
|
|
</HTML>
|