OpenSceneGraph/doc/doc++/osg/Light.html
2002-04-21 21:53:03 +00:00

437 lines
21 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>class SG_EXPORT osg::Light</TITLE>
<META NAME="GENERATOR" CONTENT="DOC++ 3.4.8">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H2>class SG_EXPORT <A HREF="#DOC.DOCU">osg::Light</A></H2></H2><BLOCKQUOTE>Light state class which encapsulates OpenGL glLight() functionality</BLOCKQUOTE>
<HR>
<H2>Inheritance:</H2>
<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=125>
<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CStateAttribute,MStateAttribute.html,CLight,MLight.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 Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.49.1">Light</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.49.2">Light</A></B>(const <!1><A HREF="Light.html#DOC.2.49.2">Light</A>&amp; light, const <!1><A HREF="CopyOp.html">CopyOp</A>&amp; 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.49.3">META_StateAttribute</A></B>(<!1><A HREF="Light.html">Light</A>, (<!1><A HREF="StateAttribute.html#DOC.2.93.5">Type</A>)(<!1><A HREF="StateAttribute.html#DOC.2.93.6.16">LIGHT_0</A>+<!1><A HREF="Light.html#DOC.2.49.32">_lightnum</A>))
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual int <B><A HREF="#DOC.2.49.4">compare</A></B>(const <!1><A HREF="StateAttribute.html">StateAttribute</A>&amp; sa) const
<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>virtual void <B><A HREF="#DOC.2.49.5">setStateSetModes</A></B>(<!1><A HREF="StateSet.html">StateSet</A>&amp; ds, const <!1><A HREF="StateAttribute.html#DOC.2.93.2">GLModeValue</A> value) const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.49.6">setLightNum</A></B>(const int num)
<DD><I>Set which OpenGL light to operate on</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>const int <B><A HREF="#DOC.2.49.7">getLightNum</A></B>() const
<DD><I>Get which OpenGL light this osg::Light operates on</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.49.8">setAmbient</A></B>( const <!1><A HREF="Vec4.html">Vec4</A>&amp; ambient )
<DD><I>Set the ambient component of the light.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const <!1><A HREF="Vec4.html">Vec4</A>&amp; <B><A HREF="#DOC.2.49.9">getAmbient</A></B>() const
<DD><I>Get the ambient component of the light.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.49.10">setDiffuse</A></B>( const <!1><A HREF="Vec4.html">Vec4</A>&amp; diffuse )
<DD><I>Set the diffuse component of the light.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const <!1><A HREF="Vec4.html">Vec4</A>&amp; <B><A HREF="#DOC.2.49.11">getDiffuse</A></B>() const
<DD><I>Get the diffuse component of the light.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.49.12">setSpecular</A></B>( const <!1><A HREF="Vec4.html">Vec4</A>&amp; specular )
<DD><I>Set the specular component of the light.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const <!1><A HREF="Vec4.html">Vec4</A>&amp; <B><A HREF="#DOC.2.49.13">getSpecular</A></B>() const
<DD><I>Get the specular component of the light.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.49.14">setPosition</A></B>( const <!1><A HREF="Vec4.html">Vec4</A>&amp; position )
<DD><I>Set the position of the light.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const <!1><A HREF="Vec4.html">Vec4</A>&amp; <B><A HREF="#DOC.2.49.15">getPosition</A></B>() const
<DD><I>Get the position of the light.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.49.16">setDirection</A></B>( const <!1><A HREF="Vec3.html">Vec3</A>&amp; direction )
<DD><I>Set the direction of the light.</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.49.17">getDirection</A></B>() const
<DD><I>Get the direction of the light.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.49.18">setConstantAttenuation</A></B>( const float constant_attenuation )
<DD><I>Set the constant attenuation of the light.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const float <B><A HREF="#DOC.2.49.19">getConstantAttenuation</A></B>() const
<DD><I>Get the constant attenuation of the light.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.49.20">setLinearAttenuation</A></B>( const float linear_attenuation )
<DD><I>Set the linear attenuation of the light.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const float <B><A HREF="#DOC.2.49.21">getLinearAttenuation</A></B>() const
<DD><I>Get the linear attenuation of the light.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.49.22">setQuadraticAttenuation</A></B>( const float quadratic_attenuation )
<DD><I>Set the quadratic attenuation of the light.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const float <B><A HREF="#DOC.2.49.23">getQuadraticAttenuation</A></B>() const
<DD><I>Get the quadratic attenuation of the light.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.49.24">setSpotExponent</A></B>( const float spot_exponent )
<DD><I>Set the spot exponent of the light.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const float <B><A HREF="#DOC.2.49.25">getSpotExponent</A></B>() const
<DD><I>Get the spot exponent of the light.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.49.26">setSpotCutoff</A></B>( const float spot_cutoff )
<DD><I>Set the spot cutoff of the light.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const float <B><A HREF="#DOC.2.49.27">getSpotCutoff</A></B>() const
<DD><I>Get the spot cutoff of the light.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.49.28">captureLightState</A></B>()
<DD><I> Capture the lighting settings of the current OpenGL state and store them in this object</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.49.29">apply</A></B>(<!1><A HREF="State.html">State</A>&amp; state) const
<DD><I>Apply the light's state to the OpenGL state machine.</I>
</DL></P>
<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.2.49.32">_lightnum</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Vec4.html">Vec4</A> <B><A HREF="#DOC.2.49.33">_ambient</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Vec4.html">Vec4</A> <B><A HREF="#DOC.2.49.34">_diffuse</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Vec4.html">Vec4</A> <B><A HREF="#DOC.2.49.35">_specular</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Vec4.html">Vec4</A> <B><A HREF="#DOC.2.49.36">_position</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Vec3.html">Vec3</A> <B><A HREF="#DOC.2.49.37">_direction</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>float <B><A HREF="#DOC.2.49.38">_constant_attenuation</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>float <B><A HREF="#DOC.2.49.39">_linear_attenuation</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>float <B><A HREF="#DOC.2.49.40">_quadratic_attenuation</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>float <B><A HREF="#DOC.2.49.41">_spot_exponent</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>float <B><A HREF="#DOC.2.49.42">_spot_cutoff</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.49.30">~Light</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.49.31">init</A></B>()
<DD><I>Initialize the light's settings with some decent defaults.</I>
</DL></P>
</DL>
<HR><H3>Inherited from <A HREF="StateAttribute.html">StateAttribute</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>&amp;) 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>className</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual const <!1><A HREF="StateAttribute.html#DOC.2.93.5">Type</A> <B>getType</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>bool <B>operator < </B>(const <!1><A HREF="StateAttribute.html">StateAttribute</A>&amp; rhs) const
<DT>
<IMG ALT="o" SRC=icon2.gif>bool <B>operator == </B>(const <!1><A HREF="StateAttribute.html">StateAttribute</A>&amp; rhs) const
<DT>
<IMG ALT="o" SRC=icon2.gif>bool <B>operator != </B>(const <!1><A HREF="StateAttribute.html">StateAttribute</A>&amp; rhs) const
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual void <B>compile</B>(<!1><A HREF="State.html">State</A>&amp;) const
</DL></P>
<P><DL>
<DT><H3>Public Members</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>typedef GLenum <B>GLMode</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>typedef unsigned int <B>GLModeValue</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>typedef unsigned int <B>OverrideValue</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>enum <B>Values</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>typedef unsigned int <B>Type</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>enum <B>Types</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>(const <!1><A HREF="Object.html#DOC.2.75.7">DataVariance</A> dv)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline const <!1><A HREF="Object.html#DOC.2.75.7">DataVariance</A> <B>getDataVariance</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.75.7">DataVariance</A> <B>_dataVariance</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>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 void <B>unref_nodelete</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>Light state class which encapsulates OpenGL glLight() functionality</BLOCKQUOTE>
<DL>
<A NAME="Light"></A>
<A NAME="DOC.2.49.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Light()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="Light"></A>
<A NAME="DOC.2.49.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Light(const <!1><A HREF="Light.html#DOC.2.49.2">Light</A>&amp; light, const <!1><A HREF="CopyOp.html">CopyOp</A>&amp; 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_StateAttribute"></A>
<A NAME="DOC.2.49.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> META_StateAttribute(<!1><A HREF="Light.html">Light</A>, (<!1><A HREF="StateAttribute.html#DOC.2.93.5">Type</A>)(<!1><A HREF="StateAttribute.html#DOC.2.93.6.16">LIGHT_0</A>+<!1><A HREF="Light.html#DOC.2.49.32">_lightnum</A>))</B></TT>
<DL><DT><DD></DL><P>
<A NAME="compare"></A>
<A NAME="DOC.2.49.4"></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 </B></TT>
<DD>return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs
<DL><DT><DD></DL><P>
<A NAME="setStateSetModes"></A>
<A NAME="DOC.2.49.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void setStateSetModes(<!1><A HREF="StateSet.html">StateSet</A>&amp; ds, const <!1><A HREF="StateAttribute.html#DOC.2.93.2">GLModeValue</A> value) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="setLightNum"></A>
<A NAME="DOC.2.49.6"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setLightNum(const int num)</B></TT>
<DD>Set which OpenGL light to operate on
<DL><DT><DD></DL><P>
<A NAME="getLightNum"></A>
<A NAME="DOC.2.49.7"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const int getLightNum() const </B></TT>
<DD>Get which OpenGL light this osg::Light operates on
<DL><DT><DD></DL><P>
<A NAME="setAmbient"></A>
<A NAME="DOC.2.49.8"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void setAmbient( const <!1><A HREF="Vec4.html">Vec4</A>&amp; ambient )</B></TT>
<DD>Set the ambient component of the light.
<DL><DT><DD></DL><P>
<A NAME="getAmbient"></A>
<A NAME="DOC.2.49.9"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const <!1><A HREF="Vec4.html">Vec4</A>&amp; getAmbient() const </B></TT>
<DD>Get the ambient component of the light.
<DL><DT><DD></DL><P>
<A NAME="setDiffuse"></A>
<A NAME="DOC.2.49.10"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void setDiffuse( const <!1><A HREF="Vec4.html">Vec4</A>&amp; diffuse )</B></TT>
<DD>Set the diffuse component of the light.
<DL><DT><DD></DL><P>
<A NAME="getDiffuse"></A>
<A NAME="DOC.2.49.11"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const <!1><A HREF="Vec4.html">Vec4</A>&amp; getDiffuse() const </B></TT>
<DD>Get the diffuse component of the light.
<DL><DT><DD></DL><P>
<A NAME="setSpecular"></A>
<A NAME="DOC.2.49.12"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void setSpecular( const <!1><A HREF="Vec4.html">Vec4</A>&amp; specular )</B></TT>
<DD>Set the specular component of the light.
<DL><DT><DD></DL><P>
<A NAME="getSpecular"></A>
<A NAME="DOC.2.49.13"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const <!1><A HREF="Vec4.html">Vec4</A>&amp; getSpecular() const </B></TT>
<DD>Get the specular component of the light.
<DL><DT><DD></DL><P>
<A NAME="setPosition"></A>
<A NAME="DOC.2.49.14"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void setPosition( const <!1><A HREF="Vec4.html">Vec4</A>&amp; position )</B></TT>
<DD>Set the position of the light.
<DL><DT><DD></DL><P>
<A NAME="getPosition"></A>
<A NAME="DOC.2.49.15"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const <!1><A HREF="Vec4.html">Vec4</A>&amp; getPosition() const </B></TT>
<DD>Get the position of the light.
<DL><DT><DD></DL><P>
<A NAME="setDirection"></A>
<A NAME="DOC.2.49.16"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void setDirection( const <!1><A HREF="Vec3.html">Vec3</A>&amp; direction )</B></TT>
<DD>Set the direction of the light.
<DL><DT><DD></DL><P>
<A NAME="getDirection"></A>
<A NAME="DOC.2.49.17"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const <!1><A HREF="Vec3.html">Vec3</A>&amp; getDirection() const </B></TT>
<DD>Get the direction of the light.
<DL><DT><DD></DL><P>
<A NAME="setConstantAttenuation"></A>
<A NAME="DOC.2.49.18"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void setConstantAttenuation( const float constant_attenuation )</B></TT>
<DD>Set the constant attenuation of the light.
<DL><DT><DD></DL><P>
<A NAME="getConstantAttenuation"></A>
<A NAME="DOC.2.49.19"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const float getConstantAttenuation() const </B></TT>
<DD>Get the constant attenuation of the light.
<DL><DT><DD></DL><P>
<A NAME="setLinearAttenuation"></A>
<A NAME="DOC.2.49.20"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void setLinearAttenuation( const float linear_attenuation )</B></TT>
<DD>Set the linear attenuation of the light.
<DL><DT><DD></DL><P>
<A NAME="getLinearAttenuation"></A>
<A NAME="DOC.2.49.21"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const float getLinearAttenuation() const </B></TT>
<DD>Get the linear attenuation of the light.
<DL><DT><DD></DL><P>
<A NAME="setQuadraticAttenuation"></A>
<A NAME="DOC.2.49.22"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void setQuadraticAttenuation( const float quadratic_attenuation )</B></TT>
<DD>Set the quadratic attenuation of the light.
<DL><DT><DD></DL><P>
<A NAME="getQuadraticAttenuation"></A>
<A NAME="DOC.2.49.23"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const float getQuadraticAttenuation() const </B></TT>
<DD>Get the quadratic attenuation of the light.
<DL><DT><DD></DL><P>
<A NAME="setSpotExponent"></A>
<A NAME="DOC.2.49.24"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void setSpotExponent( const float spot_exponent )</B></TT>
<DD>Set the spot exponent of the light.
<DL><DT><DD></DL><P>
<A NAME="getSpotExponent"></A>
<A NAME="DOC.2.49.25"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const float getSpotExponent() const </B></TT>
<DD>Get the spot exponent of the light.
<DL><DT><DD></DL><P>
<A NAME="setSpotCutoff"></A>
<A NAME="DOC.2.49.26"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void setSpotCutoff( const float spot_cutoff )</B></TT>
<DD>Set the spot cutoff of the light.
<DL><DT><DD></DL><P>
<A NAME="getSpotCutoff"></A>
<A NAME="DOC.2.49.27"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const float getSpotCutoff() const </B></TT>
<DD>Get the spot cutoff of the light.
<DL><DT><DD></DL><P>
<A NAME="captureLightState"></A>
<A NAME="DOC.2.49.28"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void captureLightState()</B></TT>
<DD>
Capture the lighting settings of the current OpenGL state
and store them in this object
<DL><DT><DD></DL><P>
<A NAME="apply"></A>
<A NAME="DOC.2.49.29"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void apply(<!1><A HREF="State.html">State</A>&amp; state) const </B></TT>
<DD>Apply the light's state to the OpenGL state machine.
<DL><DT><DD></DL><P>
<A NAME="~Light"></A>
<A NAME="DOC.2.49.30"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual ~Light()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="init"></A>
<A NAME="DOC.2.49.31"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void init()</B></TT>
<DD>Initialize the light's settings with some decent defaults.
<DL><DT><DD></DL><P>
<A NAME="_lightnum"></A>
<A NAME="DOC.2.49.32"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _lightnum</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_ambient"></A>
<A NAME="DOC.2.49.33"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec4.html">Vec4</A> _ambient</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_diffuse"></A>
<A NAME="DOC.2.49.34"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec4.html">Vec4</A> _diffuse</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_specular"></A>
<A NAME="DOC.2.49.35"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec4.html">Vec4</A> _specular</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_position"></A>
<A NAME="DOC.2.49.36"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec4.html">Vec4</A> _position</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_direction"></A>
<A NAME="DOC.2.49.37"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec3.html">Vec3</A> _direction</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_constant_attenuation"></A>
<A NAME="DOC.2.49.38"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _constant_attenuation</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_linear_attenuation"></A>
<A NAME="DOC.2.49.39"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _linear_attenuation</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_quadratic_attenuation"></A>
<A NAME="DOC.2.49.40"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _quadratic_attenuation</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_spot_exponent"></A>
<A NAME="DOC.2.49.41"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _spot_exponent</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_spot_cutoff"></A>
<A NAME="DOC.2.49.42"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _spot_cutoff</B></TT>
<DL><DT><DD></DL><P></DL>
<HR><DL><DT><B>This class has no child classes.</B></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>