OpenSceneGraph/doc/doc++/osg/StateAttribute.html
2001-12-30 15:12:29 +00:00

451 lines
19 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.8">
</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=725>
<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CStateAttribute,MStateAttribute.html,CViewport,MViewport.html,CTransparency,MTransparency.html,CTexture,MTexture.html,CTexMat,MTexMat.html,CTexGen,MTexGen.html,CTexEnv,MTexEnv.html,CStencil,MStencil.html,CPolygonOffset,MPolygonOffset.html,CPolygonMode,MPolygonMode.html,CPoint,MPoint.html,CMaterial,MMaterial.html,CLineWidth,MLineWidth.html,CLight,MLight.html,CFrontFace,MFrontFace.html,CFog,MFog.html,CDepth,MDepth.html,CCullFace,MCullFace.html,CColorMatrix,MColorMatrix.html,CColorMask,MColorMask.html,CClipPlane,MClipPlane.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_">
<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">
<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">
<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.96.7">StateAttribute</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual <!1><A HREF="Object.html">Object</A>* <B><A HREF="#DOC.2.96.8">clone</A></B>() const = 0
<DD><I>return a shallow copy of a node, with Object* return type</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual bool <B><A HREF="#DOC.2.96.9">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.96.10">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 const <!1><A HREF="StateAttribute.html#DOC.2.96.5">Type</A> <B><A HREF="#DOC.2.96.11">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 int <B><A HREF="#DOC.2.96.12">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.96.13">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.96.14">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.96.15">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.96.16">setStateSetModes</A></B>(<!1><A HREF="StateSet.html">StateSet</A>&amp;, const <!1><A HREF="StateAttribute.html#DOC.2.96.2">GLModeValue</A>) const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.96.17">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.96.18">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.96.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.96.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.96.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.96.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.96.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.96.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.96.19">~StateAttribute</A></B>()
</DL></P>
</DL>
<HR><H3>Inherited from <A HREF="Object.html">Object</A>:</H3>
<DL>
</DL>
<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="Referenced.html">Referenced</A>&amp; <B>operator = </B>(<!1><A HREF="Referenced.html">Referenced</A>&amp;)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>ref</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>unref</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline const int <B>referenceCount</B>() const
</DL></P>
<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>mutable int <B>_refCount</B>
</DL></P>
</DL>
<A NAME="DOC.DOCU"></A>
<HR>
<H2>Documentation</H2>
<BLOCKQUOTE>Base class for state attribuets</BLOCKQUOTE>
<DL>
<A NAME="GLMode"></A>
<A NAME="DOC.2.96.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.96.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.96.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.96.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.96.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.96.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.96.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
<DL><DT><DD></DL><P>
<A NAME="OVERRIDE_OFF"></A>
<A NAME="DOC.2.96.4.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> OVERRIDE_OFF</B></TT>
<DD>Equivilant to OFF | OVERRIDE
<DL><DT><DD></DL><P>
<A NAME="OVERRIDE_ON"></A>
<A NAME="DOC.2.96.4.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> OVERRIDE_ON</B></TT>
<DD>Equivilant to ON | OVERRIDE
<DL><DT><DD></DL><P>
<A NAME="INHERIT"></A>
<A NAME="DOC.2.96.4.6"></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.96.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.96.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.96.6.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> TEXTURE</B></TT>
<DL><DT><DD></DL><P>
<A NAME="TEXTURE_0"></A>
<A NAME="DOC.2.96.6.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> TEXTURE_0</B></TT>
<DL><DT><DD></DL><P>
<A NAME="TEXTURE_1"></A>
<A NAME="DOC.2.96.6.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> TEXTURE_1</B></TT>
<DL><DT><DD></DL><P>
<A NAME="TEXTURE_2"></A>
<A NAME="DOC.2.96.6.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> TEXTURE_2</B></TT>
<DL><DT><DD></DL><P>
<A NAME="TEXTURE_3"></A>
<A NAME="DOC.2.96.6.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> TEXTURE_3</B></TT>
<DL><DT><DD></DL><P>
<A NAME="MATERIAL"></A>
<A NAME="DOC.2.96.6.6"></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.96.6.7"></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.96.6.8"></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.96.6.9"></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.96.6.10"></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.96.6.11"></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.96.6.12"></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.96.6.13"></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.96.6.14"></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.96.6.15"></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.96.6.16"></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.96.6.17"></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.96.6.18"></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.96.6.19"></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.96.6.20"></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.96.6.21"></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.96.6.22"></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.96.6.23"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LINEWIDTH</B></TT>
<DL><DT><DD></DL><P>
<A NAME="POLYGONMODE"></A>
<A NAME="DOC.2.96.6.24"></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.96.6.25"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> POLYGONOFFSET</B></TT>
<DL><DT><DD></DL><P>
<A NAME="TEXENV"></A>
<A NAME="DOC.2.96.6.26"></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.96.6.27"></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.96.6.28"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> TEXMAT</B></TT>
<DL><DT><DD></DL><P>
<A NAME="TRANSPARENCY"></A>
<A NAME="DOC.2.96.6.29"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> TRANSPARENCY</B></TT>
<DL><DT><DD></DL><P>
<A NAME="STENCIL"></A>
<A NAME="DOC.2.96.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.96.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.96.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.96.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.96.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.96.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.96.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.96.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.96.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.96.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.96.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.96.6.41"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> COLORMATRIX</B></TT>
<DL><DT><DD></DL><P></DL>
<A NAME="StateAttribute"></A>
<A NAME="DOC.2.96.7"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> StateAttribute()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="clone"></A>
<A NAME="DOC.2.96.8"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual <!1><A HREF="Object.html">Object</A>* clone() const = 0</B></TT>
<DD>return a shallow copy of a node, with Object* return type
<DL><DT><DD></DL><P>
<A NAME="isSameKindAs"></A>
<A NAME="DOC.2.96.9"></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="className"></A>
<A NAME="DOC.2.96.10"></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.96.11"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual const <!1><A HREF="StateAttribute.html#DOC.2.96.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="compare"></A>
<A NAME="DOC.2.96.12"></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.96.13"></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.96.14"></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.96.15"></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="setStateSetModes"></A>
<A NAME="DOC.2.96.16"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void setStateSetModes(<!1><A HREF="StateSet.html">StateSet</A>&amp;, const <!1><A HREF="StateAttribute.html#DOC.2.96.2">GLModeValue</A>) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="apply"></A>
<A NAME="DOC.2.96.17"></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.96.18"></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.96.19"></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="Transparency.html">Transparency</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="TexEnv.html">TexEnv</A><BR>
<A HREF="Stencil.html">Stencil</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="Light.html">Light</A><BR>
<A HREF="FrontFace.html">FrontFace</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="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>