OpenSceneGraph/doc/doc++/osg/ImpostorSprite.html
2003-09-08 10:51:14 +00:00

612 lines
32 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>class SG_EXPORT osg::ImpostorSprite</TITLE>
<META NAME="GENERATOR" CONTENT="DOC++ 3.4.10">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H2>class SG_EXPORT <A HREF="#DOC.DOCU">osg::ImpostorSprite</A></H2></H2><BLOCKQUOTE>An ImposterSprite is a textured quad which is rendered in place a 3D geometry.</BLOCKQUOTE>
<HR>
<H2>Inheritance:</H2>
<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=125>
<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CDrawable,MDrawable.html,CImpostorSprite,MImpostorSprite.html">
<param name=before value="M,M,M,M">
<param name=after value="Md_SPSP,Md_SP,Md_,M">
<param name=indent value="0,1,2,3">
<param name=arrowdir value="down">
</APPLET>
<HR>
<DL>
<P><DL>
<DT><H3>Public Fields</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Vec4.html">Vec4</A> <B><A HREF="#DOC.2.92.33">_color</A></B>
</DL></P>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.92.1">ImpostorSprite</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual <!1><A HREF="Object.html">Object</A>* <B><A HREF="#DOC.2.92.2">cloneType</A></B>() const
<DD><I>Clone an object of the same type as an ImpostorSprite</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual <!1><A HREF="Object.html">Object</A>* <B><A HREF="#DOC.2.92.3">clone</A></B>(const <!1><A HREF="CopyOp.html">CopyOp</A>&amp;) const
<DD><I>Clone on ImpostorSprite just returns a clone of type, since it is not appropriate to share data of an ImpostorSprite</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual bool <B><A HREF="#DOC.2.92.4">isSameKindAs</A></B>(const <!1><A HREF="Object.html">Object</A>* obj) const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual const char* <B><A HREF="#DOC.2.92.5">libraryName</A></B>() const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual const char* <B><A HREF="#DOC.2.92.6">className</A></B>() const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.92.7">setParent</A></B>(<!1><A HREF="Impostor.html">Impostor</A>* parent)
<DD><I>Set the parent, which must be an Impostor.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Impostor.html">Impostor</A>* <B><A HREF="#DOC.2.92.8">getParent</A></B>()
<DD><I>Get the parent, which is an Impostor.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>const <!1><A HREF="Impostor.html">Impostor</A>* <B><A HREF="#DOC.2.92.9">getParent</A></B>() const
<DD><I>Get the const parent, which is an Impostor.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.92.10">setStoredLocalEyePoint</A></B>(const <!1><A HREF="Vec3.html">Vec3</A>&amp; v)
<DD><I>Set the eye point for when the ImpsotorSprite was snapped</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const <!1><A HREF="Vec3.html">Vec3</A>&amp; <B><A HREF="#DOC.2.92.11">getStoredLocalEyePoint</A></B>() const
<DD><I>Get the eye point for when the ImpsotorSprite was snapped</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.92.12">setLastFrameUsed</A></B>(int frameNumber)
<DD><I>Set the frame number for when the ImpostorSprite was last used in rendering</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline int <B><A HREF="#DOC.2.92.13">getLastFrameUsed</A></B>() const
<DD><I>Get the frame number for when the ImpostorSprite was last used in rendering</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline <!1><A HREF="Vec3.html">Vec3</A>* <B><A HREF="#DOC.2.92.14">getCoords</A></B>()
<DD><I>Get the coordinates of the corners of the quad.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const <!1><A HREF="Vec3.html">Vec3</A>* <B><A HREF="#DOC.2.92.15">getCoords</A></B>() const
<DD><I>Get the const coordinates of the corners of the quad</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline <!1><A HREF="Vec2.html">Vec2</A>* <B><A HREF="#DOC.2.92.16">getTexCoords</A></B>()
<DD><I>Get the texture coordinates of the corners of the quad.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const <!1><A HREF="Vec2.html">Vec2</A>* <B><A HREF="#DOC.2.92.17">getTexCoords</A></B>() const
<DD><I>Get the const texture coordinates of the corners of the quad</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline <!1><A HREF="Vec3.html">Vec3</A>* <B><A HREF="#DOC.2.92.18">getControlCoords</A></B>()
<DD><I>Get the control coordinates of the corners of the quad.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const <!1><A HREF="Vec3.html">Vec3</A>* <B><A HREF="#DOC.2.92.19">getControlCoords</A></B>() const
<DD><I>Get the const control coordinates of the corners of the quad</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>float <B><A HREF="#DOC.2.92.20">calcPixelError</A></B>(const <!1><A HREF="osg.html#DOC.2.102">Matrix</A>&amp; MVPW) const
<DD><I>calculate the pixel error value for passing in the ModelViewProjectionWindow transform, which transform local coords into screen space</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.92.21">setTexture</A></B>(<!1><A HREF="Texture2D.html">Texture2D</A>* tex, int <!1><A HREF="ImpostorSprite.html#DOC.2.92.24">s</A>, int <!1><A HREF="ImpostorSprite.html#DOC.2.92.25">t</A>)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Texture2D.html">Texture2D</A>* <B><A HREF="#DOC.2.92.22">getTexture</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>const <!1><A HREF="Texture2D.html">Texture2D</A>* <B><A HREF="#DOC.2.92.23">getTexture</A></B>() const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.2.92.24">s</A></B>() const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.2.92.25">t</A></B>() const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.92.26">drawImplementation</A></B>(<!1><A HREF="State.html">State</A>&amp; state) const
<DD><I>draw ImpostorSprite directly.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual bool <B><A HREF="#DOC.2.92.27">supports</A></B>(<!1><A HREF="AttributeFunctor.html">AttributeFunctor</A>&amp;) const
<DD><I>return true, osg::ImpostorSprite does support accept(AttributeFunctor&)</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.92.28">accept</A></B>(<!1><A HREF="AttributeFunctor.html">AttributeFunctor</A>&amp; af)
<DD><I>accept an AttributeFunctor and call its methods to tell it about the interal attributes that this Drawable has</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual bool <B><A HREF="#DOC.2.92.29">supports</A></B>(<!1><A HREF="ConstAttributeFunctor.html">ConstAttributeFunctor</A>&amp;) const
<DD><I>return true, osg::ImpostorSprite does support accept(ConstAttributeFunctor&)</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.92.30">accept</A></B>(<!1><A HREF="ConstAttributeFunctor.html">ConstAttributeFunctor</A>&amp; af) const
<DD><I>accept an ConstAttributeFunctor and call its methods to tell it about the interal attributes that this Drawable has</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual bool <B><A HREF="#DOC.2.92.31">supports</A></B>(<!1><A HREF="PrimitiveFunctor.html">PrimitiveFunctor</A>&amp;) const
<DD><I>return true, osg::ImpostorSprite does support accept(PrimitiveFunctor&) </I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.92.32">accept</A></B>(<!1><A HREF="PrimitiveFunctor.html">PrimitiveFunctor</A>&amp; pf) const
<DD><I>accept a PrimtiveFunctor and call its methods to tell it about the interal primtives that this Drawable has</I>
</DL></P>
<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Impostor.html">Impostor</A>* <B><A HREF="#DOC.2.92.38">_parent</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="ImpostorSpriteManager.html">ImpostorSpriteManager</A>* <B><A HREF="#DOC.2.92.39">_ism</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="ImpostorSprite.html">ImpostorSprite</A>* <B><A HREF="#DOC.2.92.40">_previous</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="ImpostorSprite.html">ImpostorSprite</A>* <B><A HREF="#DOC.2.92.41">_next</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.2.92.42">_lastFrameUsed</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Vec3.html">Vec3</A> <B><A HREF="#DOC.2.92.43">_storedLocalEyePoint</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Vec3.html">Vec3</A> <B><A HREF="#DOC.2.92.44">_coords</A></B>[4]
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Vec2.html">Vec2</A> <B><A HREF="#DOC.2.92.45">_texcoords</A></B>[4]
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Vec3.html">Vec3</A> <B><A HREF="#DOC.2.92.46">_controlcoords</A></B>[4]
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Texture2D.html">Texture2D</A>* <B><A HREF="#DOC.2.92.47">_texture</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.2.92.48">_s</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.2.92.49">_t</A></B>
</DL></P>
<P><DL>
<DT><H3>Protected Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.92.34">ImpostorSprite</A></B>(const <!1><A HREF="ImpostorSprite.html#DOC.2.92.34">ImpostorSprite</A>&amp;)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="ImpostorSprite.html">ImpostorSprite</A>&amp; <B><A HREF="#DOC.2.92.35">operator = </A></B>(const <!1><A HREF="ImpostorSprite.html">ImpostorSprite</A>&amp;)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual <B><A HREF="#DOC.2.92.36">~ImpostorSprite</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual bool <B><A HREF="#DOC.2.92.37">computeBound</A></B>() const
</DL></P>
</DL>
<HR><H3>Inherited from <A HREF="Drawable.html">Drawable</A>:</H3>
<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>virtual <!1><A HREF="Geometry.html">Geometry</A>* <B>asGeometry</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual const <!1><A HREF="Geometry.html">Geometry</A>* <B>asGeometry</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline const <!1><A HREF="Drawable.html#DOC.2.69.8">ParentList</A>&amp; <B>getParents</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="Drawable.html#DOC.2.69.8">ParentList</A> <B>getParents</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>inline unsigned int <B>getNumParents</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>setStateSet</B>(<!1><A HREF="StateSet.html">StateSet</A>* state)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="StateSet.html">StateSet</A>* <B>getStateSet</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>inline const <!1><A HREF="StateSet.html">StateSet</A>* <B>getStateSet</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="StateSet.html">StateSet</A>* <B>getOrCreateStateSet</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>void <B>dirtyBound</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>inline const <!1><A HREF="BoundingBox.html">BoundingBox</A>&amp; <B>getBound</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>setShape</B>(<!1><A HREF="Shape.html">Shape</A>* shape)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="Shape.html">Shape</A>* <B>getShape</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>inline const <!1><A HREF="Shape.html">Shape</A>* <B>getShape</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>void <B>setSupportsDisplayList</B>(bool flag)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline bool <B>getSupportsDisplayList</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>void <B>setUseDisplayList</B>(bool flag)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline bool <B>getUseDisplayList</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>void <B>setUseVertexBufferObjects</B>(bool flag)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline bool <B>getUseVertexBufferObjects</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>void <B>dirtyDisplayList</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual void <B>compile</B>(<!1><A HREF="State.html">State</A>&amp; state) const
<DT>
<IMG ALT="o" SRC=icon2.gif>void <B>setUpdateCallback</B>(<!1><A HREF="Drawable.html#DOC.2.69.31">UpdateCallback</A>* ac)
<DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Drawable.html#DOC.2.69.31">UpdateCallback</A>* <B>getUpdateCallback</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>void <B>setCullCallback</B>(<!1><A HREF="Drawable.html#DOC.2.69.34">CullCallback</A>* cc)
<DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Drawable.html#DOC.2.69.34">CullCallback</A>* <B>getCullCallback</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>const <!1><A HREF="Drawable.html#DOC.2.69.34">CullCallback</A>* <B>getCullCallback</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>void <B>setDrawCallback</B>(<!1><A HREF="Drawable.html#DOC.2.69.38">DrawCallback</A>* dc)
<DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Drawable.html#DOC.2.69.38">DrawCallback</A>* <B>getDrawCallback</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>const <!1><A HREF="Drawable.html#DOC.2.69.38">DrawCallback</A>* <B>getDrawCallback</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>static void <B>deleteDisplayList</B>(unsigned int contextID, GLuint globj)
<DT>
<IMG ALT="o" SRC=icon2.gif>static void <B>flushDeletedDisplayLists</B>(unsigned int contextID, double currentTime, double&amp; availableTime)
<DT>
<IMG ALT="o" SRC=icon2.gif>static void <B>deleteVertexBufferObject</B>(unsigned int contextID, GLuint globj)
<DT>
<IMG ALT="o" SRC=icon2.gif>static void <B>flushDeletedVertexBufferObjects</B>(unsigned int contextID, double currentTime, double&amp; availableTime)
<DT>
<IMG ALT="o" SRC=icon2.gif>static <!1><A HREF="Extensions.html">Extensions</A>* <B>getExtensions</B>(unsigned int contextID, bool createIfNotInitalized)
<DT>
<IMG ALT="o" SRC=icon2.gif>static void <B>setExtensions</B>(unsigned int contextID, <!1><A HREF="Extensions.html">Extensions</A>* extensions)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>draw</B>(<!1><A HREF="State.html">State</A>&amp; state) const
</DL></P>
<P><DL>
<DT><H3>Public Members</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>typedef std::vector&lt;<!1><A HREF="Node.html">Node</A>*&gt; <B>ParentList</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>struct <B>UpdateCallback</B>: public virtual <!1><A HREF="Referenced.html">osg::Referenced</A>
<DT>
<IMG ALT="o" SRC=icon2.gif>struct <B>CullCallback</B>: public virtual <!1><A HREF="Referenced.html">osg::Referenced</A>
<DT>
<IMG ALT="o" SRC=icon2.gif>struct <B>DrawCallback</B>: public virtual <!1><A HREF="Referenced.html">osg::Referenced</A>
<DT>
<IMG ALT="o" SRC=icon2.gif>typedef unsigned int <B>AttributeType</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>enum <B>AttributeTypes</B>
<DT>
class <B><A HREF="AttributeFunctor.html">AttributeFunctor</A></B>
<DT>
class <B><A HREF="ConstAttributeFunctor.html">ConstAttributeFunctor</A></B>
<DT>
class <B><A HREF="PrimitiveFunctor.html">PrimitiveFunctor</A></B>
<DT>
class SG_EXPORT <B><A HREF="Extensions.html">Extensions</A></B>: public <!1><A HREF="Referenced.html">osg::Referenced</A>
<DD><I>Extensions class which encapsulates the querring of extensions and associated function pointers, and provide convinience wrappers to check for the extensions or use the associated functions</I>
</DL></P>
<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Drawable.html#DOC.2.69.8">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="StateSet.html">StateSet</A>&gt; <B>_stateset</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>mutable <!1><A HREF="BoundingBox.html">BoundingBox</A> <B>_bbox</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>mutable bool <B>_bbox_computed</B>
<DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Shape.html">Shape</A>&gt; <B>_shape</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>bool <B>_supportsDisplayList</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>bool <B>_useDisplayList</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>bool <B>_supportsVertexBufferObjects</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>bool <B>_useVertexBufferObjects</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>mutable <!1><A HREF="Drawable.html#DOC.2.69.76">GLObjectList</A> <B>_globjList</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>mutable <!1><A HREF="Drawable.html#DOC.2.69.76">GLObjectList</A> <B>_vboList</B>
<DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Drawable.html#DOC.2.69.31">UpdateCallback</A>&gt; <B>_updateCallback</B>
<DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Drawable.html#DOC.2.69.38">DrawCallback</A>&gt; <B>_drawCallback</B>
<DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Drawable.html#DOC.2.69.34">CullCallback</A>&gt; <B>_cullCallback</B>
</DL></P>
<P><DL>
<DT><H3>Protected Methods</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>void <B>setBound</B>(const <!1><A HREF="BoundingBox.html">BoundingBox</A>&amp; bb) const
<DT>
<IMG ALT="o" SRC=icon2.gif>void <B>addParent</B>(<!1><A HREF="Node.html">osg::Node</A>* node)
<DT>
<IMG ALT="o" SRC=icon2.gif>void <B>removeParent</B>(<!1><A HREF="Node.html">osg::Node</A>* node)
</DL></P>
<P><DL>
<DT><H3>Protected Members</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>typedef <!1><A HREF="buffered_value.html">osg::buffered_value</A>&lt;GLuint&gt; <B>GLObjectList</B>
</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.133.8">DataVariance</A> dv)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="Object.html#DOC.2.133.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.133.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>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>An ImposterSprite is a textured quad which is rendered in place a
3D geometry. The ImposterSprite is generated by rendering the original
3D geometry to a texture as an image cache. The ImpostorSprite is
automatically generated by the osgUtil::CullVisitor so it not
necessary to deal with it directly.</BLOCKQUOTE>
<DL>
<A NAME="ImpostorSprite"></A>
<A NAME="DOC.2.92.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ImpostorSprite()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="cloneType"></A>
<A NAME="DOC.2.92.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual <!1><A HREF="Object.html">Object</A>* cloneType() const </B></TT>
<DD>Clone an object of the same type as an ImpostorSprite
<DL><DT><DD></DL><P>
<A NAME="clone"></A>
<A NAME="DOC.2.92.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual <!1><A HREF="Object.html">Object</A>* clone(const <!1><A HREF="CopyOp.html">CopyOp</A>&amp;) const </B></TT>
<DD>Clone on ImpostorSprite just returns a clone of type,
since it is not appropriate to share data of an ImpostorSprite
<DL><DT><DD></DL><P>
<A NAME="isSameKindAs"></A>
<A NAME="DOC.2.92.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual bool isSameKindAs(const <!1><A HREF="Object.html">Object</A>* obj) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="libraryName"></A>
<A NAME="DOC.2.92.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual const char* libraryName() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="className"></A>
<A NAME="DOC.2.92.6"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual const char* className() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="setParent"></A>
<A NAME="DOC.2.92.7"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setParent(<!1><A HREF="Impostor.html">Impostor</A>* parent)</B></TT>
<DD>Set the parent, which must be an Impostor.
Unlike conventional Drawables, ImpostorSprite's can only ever have
one parent.
<DL><DT><DD></DL><P>
<A NAME="getParent"></A>
<A NAME="DOC.2.92.8"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Impostor.html">Impostor</A>* getParent()</B></TT>
<DD>Get the parent, which is an Impostor.
<DL><DT><DD></DL><P>
<A NAME="getParent"></A>
<A NAME="DOC.2.92.9"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="Impostor.html">Impostor</A>* getParent() const </B></TT>
<DD>Get the const parent, which is an Impostor.
<DL><DT><DD></DL><P>
<A NAME="setStoredLocalEyePoint"></A>
<A NAME="DOC.2.92.10"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void setStoredLocalEyePoint(const <!1><A HREF="Vec3.html">Vec3</A>&amp; v)</B></TT>
<DD>Set the eye point for when the ImpsotorSprite was snapped
<DL><DT><DD></DL><P>
<A NAME="getStoredLocalEyePoint"></A>
<A NAME="DOC.2.92.11"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const <!1><A HREF="Vec3.html">Vec3</A>&amp; getStoredLocalEyePoint() const </B></TT>
<DD>Get the eye point for when the ImpsotorSprite was snapped
<DL><DT><DD></DL><P>
<A NAME="setLastFrameUsed"></A>
<A NAME="DOC.2.92.12"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void setLastFrameUsed(int frameNumber)</B></TT>
<DD>Set the frame number for when the ImpostorSprite was last used in rendering
<DL><DT><DD></DL><P>
<A NAME="getLastFrameUsed"></A>
<A NAME="DOC.2.92.13"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline int getLastFrameUsed() const </B></TT>
<DD>Get the frame number for when the ImpostorSprite was last used in rendering
<DL><DT><DD></DL><P>
<A NAME="getCoords"></A>
<A NAME="DOC.2.92.14"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline <!1><A HREF="Vec3.html">Vec3</A>* getCoords()</B></TT>
<DD>Get the coordinates of the corners of the quad.
Stored in the order, [0] - top_left, [1] - bottom_left, [2] - bottom_right, [3] - top_left.
<DL><DT><DD></DL><P>
<A NAME="getCoords"></A>
<A NAME="DOC.2.92.15"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const <!1><A HREF="Vec3.html">Vec3</A>* getCoords() const </B></TT>
<DD>Get the const coordinates of the corners of the quad
<DL><DT><DD></DL><P>
<A NAME="getTexCoords"></A>
<A NAME="DOC.2.92.16"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline <!1><A HREF="Vec2.html">Vec2</A>* getTexCoords()</B></TT>
<DD>Get the texture coordinates of the corners of the quad.
Stored in the order, [0] - top_left, [1] - bottom_left, [2] - bottom_right, [3] - top_left.
<DL><DT><DD></DL><P>
<A NAME="getTexCoords"></A>
<A NAME="DOC.2.92.17"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const <!1><A HREF="Vec2.html">Vec2</A>* getTexCoords() const </B></TT>
<DD>Get the const texture coordinates of the corners of the quad
<DL><DT><DD></DL><P>
<A NAME="getControlCoords"></A>
<A NAME="DOC.2.92.18"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline <!1><A HREF="Vec3.html">Vec3</A>* getControlCoords()</B></TT>
<DD>Get the control coordinates of the corners of the quad.
The control coordinates are the corners of the quad projected
out onto the front face of bounding box which enclosed the impostor
geometry when it was pre-rendered into the impostor sprite's texture.
At the point of creation/or update of the impostor sprite the control
coords will lie on top of the corners of the quad in screen space - with a pixel error
or zero. Once the camera moves relative to the impostor sprite the
control coords will no longer lie on top of the corners of the quad in
screen space - a pixel error will have accumulated. This pixel error
can then be used to determine whether the impostor needs to be updated.
Stored in the order, [0] - top_left, [1] - bottom_left, [2] - bottom_right, [3] - top_left.
<DL><DT><DD></DL><P>
<A NAME="getControlCoords"></A>
<A NAME="DOC.2.92.19"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const <!1><A HREF="Vec3.html">Vec3</A>* getControlCoords() const </B></TT>
<DD>Get the const control coordinates of the corners of the quad
<DL><DT><DD></DL><P>
<A NAME="calcPixelError"></A>
<A NAME="DOC.2.92.20"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float calcPixelError(const <!1><A HREF="osg.html#DOC.2.102">Matrix</A>&amp; MVPW) const </B></TT>
<DD>calculate the pixel error value for passing in the ModelViewProjectionWindow transform,
which transform local coords into screen space
<DL><DT><DD></DL><P>
<A NAME="setTexture"></A>
<A NAME="DOC.2.92.21"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setTexture(<!1><A HREF="Texture2D.html">Texture2D</A>* tex, int <!1><A HREF="ImpostorSprite.html#DOC.2.92.24">s</A>, int <!1><A HREF="ImpostorSprite.html#DOC.2.92.25">t</A>)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="getTexture"></A>
<A NAME="DOC.2.92.22"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Texture2D.html">Texture2D</A>* getTexture()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="getTexture"></A>
<A NAME="DOC.2.92.23"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="Texture2D.html">Texture2D</A>* getTexture() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="s"></A>
<A NAME="DOC.2.92.24"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int s() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="t"></A>
<A NAME="DOC.2.92.25"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int t() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="drawImplementation"></A>
<A NAME="DOC.2.92.26"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void drawImplementation(<!1><A HREF="State.html">State</A>&amp; state) const </B></TT>
<DD>draw ImpostorSprite directly.
<DL><DT><DD></DL><P>
<A NAME="supports"></A>
<A NAME="DOC.2.92.27"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual bool supports(<!1><A HREF="AttributeFunctor.html">AttributeFunctor</A>&amp;) const </B></TT>
<DD>return true, osg::ImpostorSprite does support accept(AttributeFunctor&)
<DL><DT><DD></DL><P>
<A NAME="accept"></A>
<A NAME="DOC.2.92.28"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void accept(<!1><A HREF="AttributeFunctor.html">AttributeFunctor</A>&amp; af)</B></TT>
<DD>accept an AttributeFunctor and call its methods to tell it about the interal attributes that this Drawable has
<DL><DT><DD></DL><P>
<A NAME="supports"></A>
<A NAME="DOC.2.92.29"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual bool supports(<!1><A HREF="ConstAttributeFunctor.html">ConstAttributeFunctor</A>&amp;) const </B></TT>
<DD>return true, osg::ImpostorSprite does support accept(ConstAttributeFunctor&)
<DL><DT><DD></DL><P>
<A NAME="accept"></A>
<A NAME="DOC.2.92.30"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void accept(<!1><A HREF="ConstAttributeFunctor.html">ConstAttributeFunctor</A>&amp; af) const </B></TT>
<DD>accept an ConstAttributeFunctor and call its methods to tell it about the interal attributes that this Drawable has
<DL><DT><DD></DL><P>
<A NAME="supports"></A>
<A NAME="DOC.2.92.31"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual bool supports(<!1><A HREF="PrimitiveFunctor.html">PrimitiveFunctor</A>&amp;) const </B></TT>
<DD>return true, osg::ImpostorSprite does support accept(PrimitiveFunctor&)
<DL><DT><DD></DL><P>
<A NAME="accept"></A>
<A NAME="DOC.2.92.32"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void accept(<!1><A HREF="PrimitiveFunctor.html">PrimitiveFunctor</A>&amp; pf) const </B></TT>
<DD>accept a PrimtiveFunctor and call its methods to tell it about the interal primtives that this Drawable has
<DL><DT><DD></DL><P>
<A NAME="_color"></A>
<A NAME="DOC.2.92.33"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec4.html">Vec4</A> _color</B></TT>
<DL><DT><DD></DL><P>
<A NAME="ImpostorSprite"></A>
<A NAME="DOC.2.92.34"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ImpostorSprite(const <!1><A HREF="ImpostorSprite.html#DOC.2.92.34">ImpostorSprite</A>&amp;)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="operator = "></A>
<A NAME="DOC.2.92.35"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="ImpostorSprite.html">ImpostorSprite</A>&amp; operator = (const <!1><A HREF="ImpostorSprite.html">ImpostorSprite</A>&amp;)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="~ImpostorSprite"></A>
<A NAME="DOC.2.92.36"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual ~ImpostorSprite()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="computeBound"></A>
<A NAME="DOC.2.92.37"></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="_parent"></A>
<A NAME="DOC.2.92.38"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Impostor.html">Impostor</A>* _parent</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_ism"></A>
<A NAME="DOC.2.92.39"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="ImpostorSpriteManager.html">ImpostorSpriteManager</A>* _ism</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_previous"></A>
<A NAME="DOC.2.92.40"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="ImpostorSprite.html">ImpostorSprite</A>* _previous</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_next"></A>
<A NAME="DOC.2.92.41"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="ImpostorSprite.html">ImpostorSprite</A>* _next</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_lastFrameUsed"></A>
<A NAME="DOC.2.92.42"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _lastFrameUsed</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_storedLocalEyePoint"></A>
<A NAME="DOC.2.92.43"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec3.html">Vec3</A> _storedLocalEyePoint</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_coords"></A>
<A NAME="DOC.2.92.44"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec3.html">Vec3</A> _coords[4]</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_texcoords"></A>
<A NAME="DOC.2.92.45"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec2.html">Vec2</A> _texcoords[4]</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_controlcoords"></A>
<A NAME="DOC.2.92.46"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec3.html">Vec3</A> _controlcoords[4]</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_texture"></A>
<A NAME="DOC.2.92.47"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Texture2D.html">Texture2D</A>* _texture</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_s"></A>
<A NAME="DOC.2.92.48"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _s</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_t"></A>
<A NAME="DOC.2.92.49"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _t</B></TT>
<DL><DT><DD></DL><P></DL>
<HR><DL><DT><B>This class has no child classes.</B></DL>
<DL><DT><DT><B>Friends:</B><DD> class <!1><A HREF="ImpostorSpriteManager.html">osg::ImpostorSpriteManager</A><BR><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>