OpenSceneGraph/doc/doc++/osg/StateAttribute.html
2003-07-23 11:27:31 +00:00

530 lines
24 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>class SG_EXPORT osg::StateAttribute</TITLE>
<META NAME="GENERATOR" CONTENT="DOC++ 3.4.10">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H2>class SG_EXPORT <A HREF="#DOC.DOCU">osg::StateAttribute</A></H2></H2><BLOCKQUOTE>Base class for state attribuets</BLOCKQUOTE>
<HR>
<H2>Inheritance:</H2>
<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=935>
<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CStateAttribute,MStateAttribute.html,CViewport,MViewport.html,CVertexProgram,MVertexProgram.html,CTexture,MTexture.html,CTexMat,MTexMat.html,CTexGen,MTexGen.html,CTexEnvCombine,MTexEnvCombine.html,CTexEnv,MTexEnv.html,CStencil,MStencil.html,CShadeModel,MShadeModel.html,CPolygonStipple,MPolygonStipple.html,CPolygonOffset,MPolygonOffset.html,CPolygonMode,MPolygonMode.html,CPoint,MPoint.html,CMaterial,MMaterial.html,CLineWidth,MLineWidth.html,CLineStipple,MLineStipple.html,CLightModel,MLightModel.html,CLight,MLight.html,CFrontFace,MFrontFace.html,CFragmentProgram,MFragmentProgram.html,CFog,MFog.html,CDepth,MDepth.html,CCullFace,MCullFace.html,CColorMatrix,MColorMatrix.html,CColorMask,MColorMask.html,CClipPlane,MClipPlane.html,CBlendFunc,MBlendFunc.html,CAlphaFunc,MAlphaFunc.html">
<param name=before value="M,M,M,M|_,MR_,MR_,MR_,MR_,MR_,MR_,MR_,MR_,MR_,MR_,MR_,MR_,MR_,MR_,MR_,MR_,MR_,MR_,MR_,MR_,MR_,MR_,MR_,MR_,MR_,MR_,Mr_">
<param name=after value="Md_SP,Md_,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M">
<param name=indent value="0,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,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.183.7">StateAttribute</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.183.8">StateAttribute</A></B>(const <!1><A HREF="StateAttribute.html#DOC.2.183.8">StateAttribute</A>&amp; sa, const <!1><A HREF="CopyOp.html">CopyOp</A>&amp; copyop=CopyOp::SHALLOW_COPY)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual <!1><A HREF="Object.html">Object</A>* <B><A HREF="#DOC.2.183.9">cloneType</A></B>() const = 0
<DD><I>Clone the type of an attribute, with Object* return type.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual <!1><A HREF="Object.html">Object</A>* <B><A HREF="#DOC.2.183.10">clone</A></B>(const <!1><A HREF="CopyOp.html">CopyOp</A>&amp;) const = 0
<DD><I>Clone an attribute, with Object* return type.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual bool <B><A HREF="#DOC.2.183.11">isSameKindAs</A></B>(const <!1><A HREF="Object.html">Object</A>* obj) const
<DD><I>return true if this and obj are of the same kind of object</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual const char* <B><A HREF="#DOC.2.183.12">libraryName</A></B>() const
<DD><I>return the name of the attribute's library</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual const char* <B><A HREF="#DOC.2.183.13">className</A></B>() const
<DD><I>return the name of the attribute's class type</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual <!1><A HREF="StateAttribute.html#DOC.2.183.5">Type</A> <B><A HREF="#DOC.2.183.14">getType</A></B>() const = 0
<DD><I>return the Type identifier of the attribute's class type</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual bool <B><A HREF="#DOC.2.183.15">isTextureAttribute</A></B>() const
<DD><I>return true if StateAttribute is a type which controls texturing and needs to be issued wrt to specific texture unit</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual int <B><A HREF="#DOC.2.183.16">compare</A></B>(const <!1><A HREF="StateAttribute.html">StateAttribute</A>&amp; sa) const = 0
<DD><I>return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>bool <B><A HREF="#DOC.2.183.17">operator < </A></B>(const <!1><A HREF="StateAttribute.html">StateAttribute</A>&amp; rhs) const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>bool <B><A HREF="#DOC.2.183.18">operator == </A></B>(const <!1><A HREF="StateAttribute.html">StateAttribute</A>&amp; rhs) const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>bool <B><A HREF="#DOC.2.183.19">operator != </A></B>(const <!1><A HREF="StateAttribute.html">StateAttribute</A>&amp; rhs) const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.183.20">getAssociatedModes</A></B>(std::vector&lt;<!1><A HREF="StateAttribute.html#DOC.2.183.1">GLMode</A>&gt;&amp; ) const
<DD><I>return the modes associated with this StateSet</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.183.21">apply</A></B>(<!1><A HREF="State.html">State</A>&amp;) const = 0
<DD><I>apply the OpenGL state attributes.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.183.22">compile</A></B>(<!1><A HREF="State.html">State</A>&amp;) const
<DD><I>default to nothing to compile - all state is applied immediately.</I>
</DL></P>
<P><DL>
<DT><H3>Public Members</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>typedef GLenum <B><A HREF="#DOC.2.183.1">GLMode</A></B>
<DD><I>GLMode is the value used in glEnable/glDisable(mode) </I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>typedef unsigned int <B><A HREF="#DOC.2.183.2">GLModeValue</A></B>
<DD><I>GLModeValue is used to specified whether an mode is enabled (ON) or disabled (OFF).</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>typedef unsigned int <B><A HREF="#DOC.2.183.3">OverrideValue</A></B>
<DD><I>Override is used to specified the override behavior of StateAttributes from from parent to children.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>enum <B><A HREF="#DOC.2.183.4">Values</A></B>
<DD><I>list values which can be used in to set either GLModeValues or OverrideValues.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>typedef unsigned int <B><A HREF="#DOC.2.183.5">Type</A></B>
<DD><I>Type identifier to differentiate between different state types.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>enum <B><A HREF="#DOC.2.183.6">Types</A></B>
<DD><I>Values of StateAttribute::Type used to aid identification of different StateAttribute subclasses.</I>
</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.183.23">~StateAttribute</A></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.124.8">DataVariance</A> dv)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="Object.html#DOC.2.124.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.124.8">DataVariance</A> <B>_dataVariance</B>
<DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Referenced.html">Referenced</A>&gt; <B>_userData</B>
</DL></P>
</DL>
<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="Referenced.html">Referenced</A>&amp; <B>operator = </B>(<!1><A HREF="Referenced.html">Referenced</A>&amp;)
<DT>
<IMG ALT="o" SRC=icon2.gif>static void <B>setDeleteHandler</B>(<!1><A HREF="DeleteHandler.html">DeleteHandler</A>* handler)
<DT>
<IMG ALT="o" SRC=icon2.gif>static <!1><A HREF="DeleteHandler.html">DeleteHandler</A>* <B>getDeleteHandler</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>ref</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>unref_nodelete</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline int <B>referenceCount</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>unref</B>() const
</DL></P>
<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>mutable int <B>_refCount</B>
</DL></P>
</DL>
<A NAME="DOC.DOCU"></A>
<HR>
<H2>Documentation</H2>
<BLOCKQUOTE>Base class for state attribuets</BLOCKQUOTE>
<DL>
<A NAME="GLMode"></A>
<A NAME="DOC.2.183.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef GLenum GLMode</B></TT>
<DD>GLMode is the value used in glEnable/glDisable(mode)
<DL><DT><DD></DL><P>
<A NAME="GLModeValue"></A>
<A NAME="DOC.2.183.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef unsigned int GLModeValue</B></TT>
<DD>GLModeValue is used to specified whether an mode is enabled (ON) or disabled (OFF).
GLMoveValue is also used to specify the override behavior of modes from parent to children.
See enum Value description for more details.
<DL><DT><DD></DL><P>
<A NAME="OverrideValue"></A>
<A NAME="DOC.2.183.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef unsigned int OverrideValue</B></TT>
<DD>Override is used to specified the override behavior of StateAttributes
from from parent to children.
See enum Value description for more details.
<DL><DT><DD></DL><P>
<A NAME="Values"></A>
<A NAME="DOC.2.183.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum Values</B></TT>
<DD>list values which can be used in to set either GLModeValues
or OverrideValues. When using in conjunction with GLModeValues
all Values have meaning. When using in conjection with
StateAttribute OverrideValue only OFF,OVERRIDE and INHERIT
are meaningful. However, they are useful when using GLModeValue
and OverrideValue in conjunction with each other as when using
StateSet::setAttributeAndModes(..).
<DL><DT><DD></DL><P><DL>
<A NAME="OFF"></A>
<A NAME="DOC.2.183.4.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> OFF</B></TT>
<DD>means that associated GLMode and Override is disabled
<DL><DT><DD></DL><P>
<A NAME="ON"></A>
<A NAME="DOC.2.183.4.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ON</B></TT>
<DD>means that associated GLMode is enabled and Override is disabled
<DL><DT><DD></DL><P>
<A NAME="OVERRIDE"></A>
<A NAME="DOC.2.183.4.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> OVERRIDE</B></TT>
<DD>Overriding of GLMode's or StateAttributes is enabled, so that state below it is overriden
<DL><DT><DD></DL><P>
<A NAME="PROTECTED"></A>
<A NAME="DOC.2.183.4.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> PROTECTED</B></TT>
<DD>Protecting of GLMode's os StateAttributes is enabled, so that state from above connot override this and below state
<DL><DT><DD></DL><P>
<A NAME="INHERIT"></A>
<A NAME="DOC.2.183.4.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> INHERIT</B></TT>
<DD>means that GLMode or StateAttribute should in inherited from above
<DL><DT><DD></DL><P></DL>
<A NAME="Type"></A>
<A NAME="DOC.2.183.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef unsigned int Type</B></TT>
<DD>Type identifier to differentiate between different state types.
<DL><DT><DD></DL><P>
<A NAME="Types"></A>
<A NAME="DOC.2.183.6"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum Types</B></TT>
<DD>Values of StateAttribute::Type used to aid identification
of different StateAttribute subclasses. Each subclass defines
it own value in the virtual Type getType() method. When
extending the osg's StateAttribute's simply define your
own Type value which is unique, using the StateAttribute::Type
enum as a guide of what values to use. If your new subclass
needs to override a standard StateAttriubte then simple use
that types value.
<DL><DT><DD></DL><P><DL>
<A NAME="TEXTURE"></A>
<A NAME="DOC.2.183.6.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> TEXTURE</B></TT>
<DL><DT><DD></DL><P>
<A NAME="POLYGONMODE"></A>
<A NAME="DOC.2.183.6.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> POLYGONMODE</B></TT>
<DL><DT><DD></DL><P>
<A NAME="POLYGONOFFSET"></A>
<A NAME="DOC.2.183.6.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> POLYGONOFFSET</B></TT>
<DL><DT><DD></DL><P>
<A NAME="MATERIAL"></A>
<A NAME="DOC.2.183.6.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> MATERIAL</B></TT>
<DL><DT><DD></DL><P>
<A NAME="ALPHAFUNC"></A>
<A NAME="DOC.2.183.6.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ALPHAFUNC</B></TT>
<DL><DT><DD></DL><P>
<A NAME="ANTIALIAS"></A>
<A NAME="DOC.2.183.6.6"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ANTIALIAS</B></TT>
<DL><DT><DD></DL><P>
<A NAME="COLORTABLE"></A>
<A NAME="DOC.2.183.6.7"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> COLORTABLE</B></TT>
<DL><DT><DD></DL><P>
<A NAME="CULLFACE"></A>
<A NAME="DOC.2.183.6.8"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> CULLFACE</B></TT>
<DL><DT><DD></DL><P>
<A NAME="FOG"></A>
<A NAME="DOC.2.183.6.9"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> FOG</B></TT>
<DL><DT><DD></DL><P>
<A NAME="FRONTFACE"></A>
<A NAME="DOC.2.183.6.10"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> FRONTFACE</B></TT>
<DL><DT><DD></DL><P>
<A NAME="LIGHT"></A>
<A NAME="DOC.2.183.6.11"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LIGHT</B></TT>
<DL><DT><DD></DL><P>
<A NAME="LIGHT_0"></A>
<A NAME="DOC.2.183.6.12"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LIGHT_0</B></TT>
<DL><DT><DD></DL><P>
<A NAME="LIGHT_1"></A>
<A NAME="DOC.2.183.6.13"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LIGHT_1</B></TT>
<DL><DT><DD></DL><P>
<A NAME="LIGHT_2"></A>
<A NAME="DOC.2.183.6.14"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LIGHT_2</B></TT>
<DL><DT><DD></DL><P>
<A NAME="LIGHT_3"></A>
<A NAME="DOC.2.183.6.15"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LIGHT_3</B></TT>
<DL><DT><DD></DL><P>
<A NAME="LIGHT_4"></A>
<A NAME="DOC.2.183.6.16"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LIGHT_4</B></TT>
<DL><DT><DD></DL><P>
<A NAME="LIGHT_5"></A>
<A NAME="DOC.2.183.6.17"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LIGHT_5</B></TT>
<DL><DT><DD></DL><P>
<A NAME="LIGHT_6"></A>
<A NAME="DOC.2.183.6.18"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LIGHT_6</B></TT>
<DL><DT><DD></DL><P>
<A NAME="LIGHT_7"></A>
<A NAME="DOC.2.183.6.19"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LIGHT_7</B></TT>
<DL><DT><DD></DL><P>
<A NAME="POINT"></A>
<A NAME="DOC.2.183.6.20"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> POINT</B></TT>
<DL><DT><DD></DL><P>
<A NAME="LINEWIDTH"></A>
<A NAME="DOC.2.183.6.21"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LINEWIDTH</B></TT>
<DL><DT><DD></DL><P>
<A NAME="LINESTIPPLE"></A>
<A NAME="DOC.2.183.6.22"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LINESTIPPLE</B></TT>
<DL><DT><DD></DL><P>
<A NAME="POLYGONSTIPPLE"></A>
<A NAME="DOC.2.183.6.23"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> POLYGONSTIPPLE</B></TT>
<DL><DT><DD></DL><P>
<A NAME="SHADEMODEL"></A>
<A NAME="DOC.2.183.6.24"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> SHADEMODEL</B></TT>
<DL><DT><DD></DL><P>
<A NAME="TEXENV"></A>
<A NAME="DOC.2.183.6.25"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> TEXENV</B></TT>
<DL><DT><DD></DL><P>
<A NAME="TEXGEN"></A>
<A NAME="DOC.2.183.6.26"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> TEXGEN</B></TT>
<DL><DT><DD></DL><P>
<A NAME="TEXMAT"></A>
<A NAME="DOC.2.183.6.27"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> TEXMAT</B></TT>
<DL><DT><DD></DL><P>
<A NAME="LIGHTMODEL"></A>
<A NAME="DOC.2.183.6.28"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LIGHTMODEL</B></TT>
<DL><DT><DD></DL><P>
<A NAME="BLENDFUNC"></A>
<A NAME="DOC.2.183.6.29"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> BLENDFUNC</B></TT>
<DL><DT><DD></DL><P>
<A NAME="STENCIL"></A>
<A NAME="DOC.2.183.6.30"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> STENCIL</B></TT>
<DL><DT><DD></DL><P>
<A NAME="COLORMASK"></A>
<A NAME="DOC.2.183.6.31"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> COLORMASK</B></TT>
<DL><DT><DD></DL><P>
<A NAME="DEPTH"></A>
<A NAME="DOC.2.183.6.32"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> DEPTH</B></TT>
<DL><DT><DD></DL><P>
<A NAME="VIEWPORT"></A>
<A NAME="DOC.2.183.6.33"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> VIEWPORT</B></TT>
<DL><DT><DD></DL><P>
<A NAME="CLIPPLANE"></A>
<A NAME="DOC.2.183.6.34"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> CLIPPLANE</B></TT>
<DL><DT><DD></DL><P>
<A NAME="CLIPPLANE_0"></A>
<A NAME="DOC.2.183.6.35"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> CLIPPLANE_0</B></TT>
<DL><DT><DD></DL><P>
<A NAME="CLIPPLANE_1"></A>
<A NAME="DOC.2.183.6.36"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> CLIPPLANE_1</B></TT>
<DL><DT><DD></DL><P>
<A NAME="CLIPPLANE_2"></A>
<A NAME="DOC.2.183.6.37"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> CLIPPLANE_2</B></TT>
<DL><DT><DD></DL><P>
<A NAME="CLIPPLANE_3"></A>
<A NAME="DOC.2.183.6.38"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> CLIPPLANE_3</B></TT>
<DL><DT><DD></DL><P>
<A NAME="CLIPPLANE_4"></A>
<A NAME="DOC.2.183.6.39"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> CLIPPLANE_4</B></TT>
<DL><DT><DD></DL><P>
<A NAME="CLIPPLANE_5"></A>
<A NAME="DOC.2.183.6.40"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> CLIPPLANE_5</B></TT>
<DL><DT><DD></DL><P>
<A NAME="COLORMATRIX"></A>
<A NAME="DOC.2.183.6.41"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> COLORMATRIX</B></TT>
<DL><DT><DD></DL><P>
<A NAME="VERTEXPROGRAM"></A>
<A NAME="DOC.2.183.6.42"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> VERTEXPROGRAM</B></TT>
<DL><DT><DD></DL><P>
<A NAME="FRAGMENTPROGRAM"></A>
<A NAME="DOC.2.183.6.43"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> FRAGMENTPROGRAM</B></TT>
<DL><DT><DD></DL><P>
<A NAME="PROGRAMOBJECT"></A>
<A NAME="DOC.2.183.6.44"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> PROGRAMOBJECT</B></TT>
<DL><DT><DD></DL><P></DL>
<A NAME="StateAttribute"></A>
<A NAME="DOC.2.183.7"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> StateAttribute()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="StateAttribute"></A>
<A NAME="DOC.2.183.8"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> StateAttribute(const <!1><A HREF="StateAttribute.html#DOC.2.183.8">StateAttribute</A>&amp; sa, const <!1><A HREF="CopyOp.html">CopyOp</A>&amp; copyop=CopyOp::SHALLOW_COPY)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="cloneType"></A>
<A NAME="DOC.2.183.9"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual <!1><A HREF="Object.html">Object</A>* cloneType() const = 0</B></TT>
<DD>Clone the type of an attribute, with Object* return type.
Must be defined by derived classes.
<DL><DT><DD></DL><P>
<A NAME="clone"></A>
<A NAME="DOC.2.183.10"></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 = 0</B></TT>
<DD>Clone an attribute, with Object* return type.
Must be defined by derived classes.
<DL><DT><DD></DL><P>
<A NAME="isSameKindAs"></A>
<A NAME="DOC.2.183.11"></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>
<DD>return true if this and obj are of the same kind of object
<DL><DT><DD></DL><P>
<A NAME="libraryName"></A>
<A NAME="DOC.2.183.12"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual const char* libraryName() const </B></TT>
<DD>return the name of the attribute's library
<DL><DT><DD></DL><P>
<A NAME="className"></A>
<A NAME="DOC.2.183.13"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual const char* className() const </B></TT>
<DD>return the name of the attribute's class type
<DL><DT><DD></DL><P>
<A NAME="getType"></A>
<A NAME="DOC.2.183.14"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual <!1><A HREF="StateAttribute.html#DOC.2.183.5">Type</A> getType() const = 0</B></TT>
<DD>return the Type identifier of the attribute's class type
<DL><DT><DD></DL><P>
<A NAME="isTextureAttribute"></A>
<A NAME="DOC.2.183.15"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual bool isTextureAttribute() const </B></TT>
<DD>return true if StateAttribute is a type which controls texturing and needs to be issued wrt to specific texture unit
<DL><DT><DD></DL><P>
<A NAME="compare"></A>
<A NAME="DOC.2.183.16"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual int compare(const <!1><A HREF="StateAttribute.html">StateAttribute</A>&amp; sa) const = 0</B></TT>
<DD>return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs
<DL><DT><DD></DL><P>
<A NAME="operator < "></A>
<A NAME="DOC.2.183.17"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool operator < (const <!1><A HREF="StateAttribute.html">StateAttribute</A>&amp; rhs) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="operator == "></A>
<A NAME="DOC.2.183.18"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool operator == (const <!1><A HREF="StateAttribute.html">StateAttribute</A>&amp; rhs) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="operator != "></A>
<A NAME="DOC.2.183.19"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool operator != (const <!1><A HREF="StateAttribute.html">StateAttribute</A>&amp; rhs) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="getAssociatedModes"></A>
<A NAME="DOC.2.183.20"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void getAssociatedModes(std::vector&lt;<!1><A HREF="StateAttribute.html#DOC.2.183.1">GLMode</A>&gt;&amp; ) const </B></TT>
<DD>return the modes associated with this StateSet
<DL><DT><DD></DL><P>
<A NAME="apply"></A>
<A NAME="DOC.2.183.21"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void apply(<!1><A HREF="State.html">State</A>&amp;) const = 0</B></TT>
<DD>apply the OpenGL state attributes.
The global state for the current OpenGL context is passed
in to allow the StateAttribute to obtain details on the
the current context and state.
<DL><DT><DD></DL><P>
<A NAME="compile"></A>
<A NAME="DOC.2.183.22"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void compile(<!1><A HREF="State.html">State</A>&amp;) const </B></TT>
<DD>default to nothing to compile - all state is applied immediately.
<DL><DT><DD></DL><P>
<A NAME="~StateAttribute"></A>
<A NAME="DOC.2.183.23"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual ~StateAttribute()</B></TT>
<DL><DT><DD></DL><P></DL>
<HR>
<DL><DT><B>Direct child classes:
</B><DD><A HREF="Viewport.html">Viewport</A><BR>
<A HREF="VertexProgram.html">VertexProgram</A><BR>
<A HREF="Texture.html">Texture</A><BR>
<A HREF="TexMat.html">TexMat</A><BR>
<A HREF="TexGen.html">TexGen</A><BR>
<A HREF="TexEnvCombine.html">TexEnvCombine</A><BR>
<A HREF="TexEnv.html">TexEnv</A><BR>
<A HREF="Stencil.html">Stencil</A><BR>
<A HREF="ShadeModel.html">ShadeModel</A><BR>
<A HREF="PolygonStipple.html">PolygonStipple</A><BR>
<A HREF="PolygonOffset.html">PolygonOffset</A><BR>
<A HREF="PolygonMode.html">PolygonMode</A><BR>
<A HREF="Point.html">Point</A><BR>
<A HREF="Material.html">Material</A><BR>
<A HREF="LineWidth.html">LineWidth</A><BR>
<A HREF="LineStipple.html">LineStipple</A><BR>
<A HREF="LightModel.html">LightModel</A><BR>
<A HREF="Light.html">Light</A><BR>
<A HREF="FrontFace.html">FrontFace</A><BR>
<A HREF="FragmentProgram.html">FragmentProgram</A><BR>
<A HREF="Fog.html">Fog</A><BR>
<A HREF="Depth.html">Depth</A><BR>
<A HREF="CullFace.html">CullFace</A><BR>
<A HREF="ColorMatrix.html">ColorMatrix</A><BR>
<A HREF="ColorMask.html">ColorMask</A><BR>
<A HREF="ClipPlane.html">ClipPlane</A><BR>
<A HREF="BlendFunc.html">BlendFunc</A><BR>
<A HREF="AlphaFunc.html">AlphaFunc</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>