282 lines
13 KiB
HTML
282 lines
13 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.8">
|
|
</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=125>
|
|
<param name=classes value="MNode,M,CGroup,MGroup.html,CLOD,MLOD.html,CImpostor,MImpostor.html">
|
|
<param name=before value="M,M,M,M^_">
|
|
<param name=after value="Md_SP,Md_,M,M">
|
|
<param name=indent value="0,1,2,2">
|
|
<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.87.1">LOD</A></B>()
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.87.2">LOD</A></B>(const <!1><A HREF="LOD.html#DOC.2.87.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.87.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.87.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.87.5">addChild</A></B>(Node* child)
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual bool <B><A HREF="#DOC.2.87.6">addChild</A></B>(Node* child, float min, float max)
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual bool <B><A HREF="#DOC.2.87.7">removeChild</A></B>(Node* child)
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.87.11">setCenterMode</A></B>(<!1><A HREF="LOD.html#DOC.2.87.10">CenterMode</A> mode)
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="LOD.html#DOC.2.87.10">CenterMode</A> <B><A HREF="#DOC.2.87.12">getCenterMode</A></B>() const
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.87.13">setCenter</A></B>(const <!1><A HREF="Vec3.html">Vec3</A>& <!1><A HREF="BoundingSphere.html#DOC.2.25.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="Vec3.html">Vec3</A>& <B><A HREF="#DOC.2.87.14">getCenter</A></B>() const
|
|
<DD><I>return the LOD center point.</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.87.15">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.87.16">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.87.17">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.87.18">getNumRanges</A></B>() const
|
|
<DD><I>returns the number of ranges currently set.</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline <!1><A HREF="LOD.html#DOC.2.87.9">RangeList</A>& <B><A HREF="#DOC.2.87.19">getRangeList</A></B>()
|
|
<DD><I>return the list of MinMax ranges for each child</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const <!1><A HREF="LOD.html#DOC.2.87.9">RangeList</A>& <B><A HREF="#DOC.2.87.20">getRangeList</A></B>() const
|
|
<DD><I>return the list of MinMax ranges for each child</I>
|
|
</DL></P>
|
|
|
|
<P><DL>
|
|
<DT><H3>Public Members</H3><DD><DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>typedef std::pair<float,float> <B><A HREF="#DOC.2.87.8">MinMaxPair</A></B>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>typedef std::vector<<!1><A HREF="LOD.html#DOC.2.87.8">MinMaxPair</A>> <B><A HREF="#DOC.2.87.9">RangeList</A></B>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>enum <B><A HREF="#DOC.2.87.10">CenterMode</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.87.10">CenterMode</A> <B><A HREF="#DOC.2.87.22">_centerMode</A></B>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Vec3.html">Vec3</A> <B><A HREF="#DOC.2.87.23">_userDefinedCenter</A></B>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="LOD.html#DOC.2.87.9">RangeList</A> <B><A HREF="#DOC.2.87.24">_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.87.21">~LOD</A></B>()
|
|
</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>replaceChild</B>( Node* origChild, Node* newChild )
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline unsigned int <B>getNumChildren</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline Node* <B>getChild</B>( unsigned int i )
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline const Node* <B>getChild</B>( unsigned int i ) const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline bool <B>containsNode</B>( const Node* node ) const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline ChildList::iterator <B>findNode</B>( const Node* node )
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline ChildList::const_iterator <B>findNode</B>( const Node* node ) const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline unsigned int <B>findChildNo</B>( const Node* node ) const
|
|
</DL></P>
|
|
|
|
<P><DL>
|
|
<DT><H3>Public Members</H3><DD><DT>
|
|
<IMG ALT="o" SRC=icon2.gif>typedef std::vector<<!1><A HREF="ref_ptr.html">ref_ptr</A><Node> > <B>ChildList</B>
|
|
</DL></P>
|
|
|
|
<P><DL>
|
|
<DT><H3>Protected Fields</H3><DD><DT>
|
|
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Group.html#DOC.2.74.1">ChildList</A> <B>_children</B>
|
|
</DL></P>
|
|
|
|
<P><DL>
|
|
<DT><H3>Protected Methods</H3><DD><DT>
|
|
<IMG ALT="o" SRC=icon2.gif>virtual bool <B>computeBound</B>() const
|
|
</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.87.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.87.2"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LOD(const <!1><A HREF="LOD.html#DOC.2.87.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.87.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.87.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.87.5"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual bool addChild(Node* child)</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="addChild"></A>
|
|
<A NAME="DOC.2.87.6"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual bool addChild(Node* child, float min, float max)</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="removeChild"></A>
|
|
<A NAME="DOC.2.87.7"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual bool removeChild(Node* child)</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="MinMaxPair"></A>
|
|
<A NAME="DOC.2.87.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.87.9"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef std::vector<<!1><A HREF="LOD.html#DOC.2.87.8">MinMaxPair</A>> RangeList</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="CenterMode"></A>
|
|
<A NAME="DOC.2.87.10"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum CenterMode</B></TT>
|
|
<DL><DT><DD></DL><P><DL>
|
|
|
|
<A NAME="USE_BOUNDING_SPHERE_CENTER"></A>
|
|
<A NAME="DOC.2.87.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.87.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.87.11"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setCenterMode(<!1><A HREF="LOD.html#DOC.2.87.10">CenterMode</A> mode)</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="getCenterMode"></A>
|
|
<A NAME="DOC.2.87.12"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="LOD.html#DOC.2.87.10">CenterMode</A> getCenterMode() const </B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="setCenter"></A>
|
|
<A NAME="DOC.2.87.13"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void setCenter(const <!1><A HREF="Vec3.html">Vec3</A>& <!1><A HREF="BoundingSphere.html#DOC.2.25.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.87.14"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const <!1><A HREF="Vec3.html">Vec3</A>& getCenter() const </B></TT>
|
|
<DD>return the LOD center point.
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="setRange"></A>
|
|
<A NAME="DOC.2.87.15"></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.87.16"></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.87.17"></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.87.18"></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.87.19"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline <!1><A HREF="LOD.html#DOC.2.87.9">RangeList</A>& getRangeList()</B></TT>
|
|
<DD>return the list of MinMax ranges for each child
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="getRangeList"></A>
|
|
<A NAME="DOC.2.87.20"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const <!1><A HREF="LOD.html#DOC.2.87.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.87.21"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual ~LOD()</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="_centerMode"></A>
|
|
<A NAME="DOC.2.87.22"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="LOD.html#DOC.2.87.10">CenterMode</A> _centerMode</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="_userDefinedCenter"></A>
|
|
<A NAME="DOC.2.87.23"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec3.html">Vec3</A> _userDefinedCenter</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="_rangeList"></A>
|
|
<A NAME="DOC.2.87.24"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="LOD.html#DOC.2.87.9">RangeList</A> _rangeList</B></TT>
|
|
<DL><DT><DD></DL><P></DL>
|
|
<HR>
|
|
<DL><DT><B>Direct child classes:
|
|
</B><DD><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://docpp.sourceforge.net">DOC++</A>.
|
|
</BODY>
|
|
</HTML>
|