<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>OpenSceneGraph: osg::Light Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.7.1 --> <div class="navigation" id="top"> <div class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="dirs.html"><span>Directories</span></a></li> </ul> </div> <div class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"> <ul> <li><a class="el" href="a01628.html">osg</a> </li> <li><a class="el" href="a00428.html">osg::Light</a> </li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> | <a href="#pro-methods">Protected Member Functions</a> | <a href="#pro-attribs">Protected Attributes</a> </div> <div class="headertitle"> <h1>osg::Light Class Reference</h1> </div> </div> <div class="contents"> <!-- doxytag: class="osg::Light" --><!-- doxytag: inherits="osg::StateAttribute" --> <p><a class="el" href="a00428.html" title="Light state class which encapsulates OpenGL glLight() functionality.">Light</a> state class which encapsulates OpenGL glLight() functionality. <a href="#_details">More...</a></p> <div class="dynheader"> Inheritance diagram for osg::Light:</div> <div class="dyncontent"> <div class="center"><img src="a02101.png" border="0" usemap="#osg_1_1Light_inherit__map" alt="Inheritance graph"/></div> <map name="osg_1_1Light_inherit__map" id="osg_1_1Light_inherit__map"> <area shape="rect" id="node2" href="a00743.html" title="Base class for state attributes." alt="" coords="5,160,136,189"/><area shape="rect" id="node4" href="a00500.html" title="Base class/standard interface for objects which require IO support, cloning and reference counting..." alt="" coords="27,83,115,112"/><area shape="rect" id="node6" href="a00627.html" title="Base class from providing referencing counted objects." alt="" coords="12,5,129,35"/></map> <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div> <p><a href="a02102.html">List of all members.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#abec5920b50a5eb05faff8e5cea130c2a">Light</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a5f526b548ba5b6bb65a7da4708e8421a">Light</a> (unsigned int lightnum)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#ad51fac9ed4155f0612a52edd83741830">Light</a> (const <a class="el" href="a00428.html">Light</a> &light, const <a class="el" href="a00169.html">CopyOp</a> &copyop=CopyOp::SHALLOW_COPY)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor using <a class="el" href="a00169.html" title="Copy Op(erator) used to control whether shallow or deep copy is used during copy construction and clo...">CopyOp</a> to manage deep vs shallow copy. <a href="#ad51fac9ed4155f0612a52edd83741830"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00500.html">osg::Object</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a25e9b843ae9808ac239b2a280e0f5c79">cloneType</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Clone the type of an attribute, with Object* return type. <a href="#a25e9b843ae9808ac239b2a280e0f5c79"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00500.html">osg::Object</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a4870be402b3cd1b5073ffd3fedb22345">clone</a> (const <a class="el" href="a00169.html">osg::CopyOp</a> &copyop) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Clone an attribute, with Object* return type. <a href="#a4870be402b3cd1b5073ffd3fedb22345"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a2f619a83871be82995230db72080ba9d">isSameKindAs</a> (const <a class="el" href="a00500.html">osg::Object</a> *obj) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return true if this and obj are of the same kind of object. <a href="#a2f619a83871be82995230db72080ba9d"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#aa7e34bfb6ea13fbad307a97ef75129fb">libraryName</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the name of the attribute's library. <a href="#aa7e34bfb6ea13fbad307a97ef75129fb"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a4368f94bbf746b1420ee40306ceb3259">className</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the name of the attribute's class type. <a href="#a4368f94bbf746b1420ee40306ceb3259"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00743.html#a4e95bee5a247a0ae9632135555fbda9b">Type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a3a53ae25a6e3c0ef974d80a391f18904">getType</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the Type identifier of the attribute's class type. <a href="#a3a53ae25a6e3c0ef974d80a391f18904"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a5a85ae1caf4fe0f38a960941da746297">compare</a> (const <a class="el" href="a00743.html">StateAttribute</a> &sa) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. <a href="#a5a85ae1caf4fe0f38a960941da746297"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a69ef094cedcbf0d537f10ba1a559147b">getMember</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the member identifier within the attribute's class type. <a href="#a69ef094cedcbf0d537f10ba1a559147b"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a41f7371b40bb407733e3fdfe4d9420d2">getModeUsage</a> (<a class="el" href="a00475.html">StateAttribute::ModeUsage</a> &usage) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the modes associated with this <a class="el" href="a00743.html" title="Base class for state attributes.">StateAttribute</a>. <a href="#a41f7371b40bb407733e3fdfe4d9420d2"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#ab3ab3a697a6fca0d82a35b61a5273f24">setLightNum</a> (int num)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set which OpenGL light to operate on. <a href="#ab3ab3a697a6fca0d82a35b61a5273f24"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#aec3cdcf1f581777dc93e533b115bc53e">getLightNum</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get which OpenGL light this <a class="el" href="a00428.html" title="Light state class which encapsulates OpenGL glLight() functionality.">osg::Light</a> operates on. <a href="#aec3cdcf1f581777dc93e533b115bc53e"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a0e404bb558d040d36f7bfb57e7bb98aa">setAmbient</a> (const <a class="el" href="a01074.html">Vec4</a> &ambient)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the ambient component of the light. <a href="#a0e404bb558d040d36f7bfb57e7bb98aa"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a01074.html">Vec4</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#aff4dc2b6c2101fa9e484279890e08e90">getAmbient</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the ambient component of the light. <a href="#aff4dc2b6c2101fa9e484279890e08e90"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#ae34a8197f7702d5332dda00d6c1490fd">setDiffuse</a> (const <a class="el" href="a01074.html">Vec4</a> &diffuse)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the diffuse component of the light. <a href="#ae34a8197f7702d5332dda00d6c1490fd"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a01074.html">Vec4</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a014f6acffd3a4b29d769f9148362c9ca">getDiffuse</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the diffuse component of the light. <a href="#a014f6acffd3a4b29d769f9148362c9ca"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#ab89accde460c81842415d6e5073023f2">setSpecular</a> (const <a class="el" href="a01074.html">Vec4</a> &specular)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the specular component of the light. <a href="#ab89accde460c81842415d6e5073023f2"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a01074.html">Vec4</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a4ed18a30c37b6364df1e3c680597106d">getSpecular</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the specular component of the light. <a href="#a4ed18a30c37b6364df1e3c680597106d"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#ad6575bf9a472a79ab9ac5c0f6b1436cd">setPosition</a> (const <a class="el" href="a01074.html">Vec4</a> &position)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the position of the light. <a href="#ad6575bf9a472a79ab9ac5c0f6b1436cd"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a01074.html">Vec4</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#adc96652d462b05286110d3d8d7433b44">getPosition</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the position of the light. <a href="#adc96652d462b05286110d3d8d7433b44"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a523366284a975ba8f1c252ff47058efa">setDirection</a> (const <a class="el" href="a01069.html">Vec3</a> &direction)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the direction of the light. <a href="#a523366284a975ba8f1c252ff47058efa"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a01069.html">Vec3</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#aa5d8bd4edeeba4b825d19f6153d935fa">getDirection</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the direction of the light. <a href="#aa5d8bd4edeeba4b825d19f6153d935fa"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#afc0174169b3adb5798ce64cf50fb13e4">setConstantAttenuation</a> (float constant_attenuation)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the constant attenuation of the light. <a href="#afc0174169b3adb5798ce64cf50fb13e4"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a32db77263c392a9cd137267684887196">getConstantAttenuation</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the constant attenuation of the light. <a href="#a32db77263c392a9cd137267684887196"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a1c9670f47438273072b4b3d211c4c268">setLinearAttenuation</a> (float linear_attenuation)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the linear attenuation of the light. <a href="#a1c9670f47438273072b4b3d211c4c268"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a4b404a31bcd190be922490cbc47e8623">getLinearAttenuation</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the linear attenuation of the light. <a href="#a4b404a31bcd190be922490cbc47e8623"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a7072aa423f4915dfe233b7ccf0ec946b">setQuadraticAttenuation</a> (float quadratic_attenuation)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the quadratic attenuation of the light. <a href="#a7072aa423f4915dfe233b7ccf0ec946b"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a95d7ccf4dc9c0ac33532787686494a81">getQuadraticAttenuation</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the quadratic attenuation of the light. <a href="#a95d7ccf4dc9c0ac33532787686494a81"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a393c4fb352d9873f5f0090e5fe50082f">setSpotExponent</a> (float spot_exponent)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the spot exponent of the light. <a href="#a393c4fb352d9873f5f0090e5fe50082f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a8511a03036fca3cae1cb2de52dbc3898">getSpotExponent</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the spot exponent of the light. <a href="#a8511a03036fca3cae1cb2de52dbc3898"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a21db0462f14879af205677da579d3230">setSpotCutoff</a> (float spot_cutoff)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the spot cutoff of the light. <a href="#a21db0462f14879af205677da579d3230"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#ae4c9b67075d642a8d41ff41ebefe185c">getSpotCutoff</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the spot cutoff of the light. <a href="#ae4c9b67075d642a8d41ff41ebefe185c"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#ab489febdc9f0b81b636c64c52a1bf054">captureLightState</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Capture the lighting settings of the current OpenGL state and store them in this object. <a href="#ab489febdc9f0b81b636c64c52a1bf054"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a8c5f160284b7e75bedf25dd6c21c0a05">apply</a> (<a class="el" href="a00742.html">State</a> &state) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Apply the light's state to the OpenGL state machine. <a href="#a8c5f160284b7e75bedf25dd6c21c0a05"></a><br/></td></tr> <tr><td colspan="2"><h2><a name="pro-methods"></a> Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a0ca29210e5ae285fae22fe080ab2ce4b">~Light</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a4289451ecaae262289ee095fbaa62124">init</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Initialize the light's settings with some decent defaults. <a href="#a4289451ecaae262289ee095fbaa62124"></a><br/></td></tr> <tr><td colspan="2"><h2><a name="pro-attribs"></a> Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a52b40ae62acd41b7b0686236b374b4c6">_lightnum</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01074.html">Vec4</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a8e5aa0aa8b89a8289f8b7467c22f2f5b">_ambient</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01074.html">Vec4</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#af46fd620125c5c8e3d48663ce61d71b8">_diffuse</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01074.html">Vec4</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#ada33412b6a819d5600692b36411d6aa7">_specular</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01074.html">Vec4</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a1412fefecf89da0291a1f65c9c29365b">_position</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01069.html">Vec3</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a26d25c5483403a62e152bb202c8db204">_direction</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a454a9df238826fcb2d11dda50d3838e1">_constant_attenuation</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a223545a62050bc0c9514c024cf263849">_linear_attenuation</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a2c4a51d54a59290ea3aab7b660d8779b">_quadratic_attenuation</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#ab7ba28d373e9a87fc8867fafb56c0ac5">_spot_exponent</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a1758e408e629ba8bdca915461927c20b">_spot_cutoff</a></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p><a class="el" href="a00428.html" title="Light state class which encapsulates OpenGL glLight() functionality.">Light</a> state class which encapsulates OpenGL glLight() functionality. </p> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="abec5920b50a5eb05faff8e5cea130c2a"></a><!-- doxytag: member="osg::Light::Light" ref="abec5920b50a5eb05faff8e5cea130c2a" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">osg::Light::Light </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a5f526b548ba5b6bb65a7da4708e8421a"></a><!-- doxytag: member="osg::Light::Light" ref="a5f526b548ba5b6bb65a7da4708e8421a" args="(unsigned int lightnum)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">osg::Light::Light </td> <td>(</td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>lightnum</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="ad51fac9ed4155f0612a52edd83741830"></a><!-- doxytag: member="osg::Light::Light" ref="ad51fac9ed4155f0612a52edd83741830" args="(const Light &light, const CopyOp &copyop=CopyOp::SHALLOW_COPY)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">osg::Light::Light </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00428.html">Light</a> & </td> <td class="paramname"> <em>light</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a00169.html">CopyOp</a> & </td> <td class="paramname"> <em>copyop</em> = <code>CopyOp::SHALLOW_COPY</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Copy constructor using <a class="el" href="a00169.html" title="Copy Op(erator) used to control whether shallow or deep copy is used during copy construction and clo...">CopyOp</a> to manage deep vs shallow copy. </p> </div> </div> <a class="anchor" id="a0ca29210e5ae285fae22fe080ab2ce4b"></a><!-- doxytag: member="osg::Light::~Light" ref="a0ca29210e5ae285fae22fe080ab2ce4b" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual osg::Light::~Light </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [protected, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a8c5f160284b7e75bedf25dd6c21c0a05"></a><!-- doxytag: member="osg::Light::apply" ref="a8c5f160284b7e75bedf25dd6c21c0a05" args="(State &state) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void osg::Light::apply </td> <td>(</td> <td class="paramtype"><a class="el" href="a00742.html">State</a> & </td> <td class="paramname"> <em>state</em></td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Apply the light's state to the OpenGL state machine. </p> <p>Reimplemented from <a class="el" href="a00743.html#a579c9e2646b207f66acb7dc8653e9d75">osg::StateAttribute</a>.</p> </div> </div> <a class="anchor" id="ab489febdc9f0b81b636c64c52a1bf054"></a><!-- doxytag: member="osg::Light::captureLightState" ref="ab489febdc9f0b81b636c64c52a1bf054" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osg::Light::captureLightState </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Capture the lighting settings of the current OpenGL state and store them in this object. </p> </div> </div> <a class="anchor" id="a4368f94bbf746b1420ee40306ceb3259"></a><!-- doxytag: member="osg::Light::className" ref="a4368f94bbf746b1420ee40306ceb3259" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual const char* osg::Light::className </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Return the name of the attribute's class type. </p> <p>Reimplemented from <a class="el" href="a00743.html#ac6578403557d95db8c2321151ef9e569">osg::StateAttribute</a>.</p> </div> </div> <a class="anchor" id="a4870be402b3cd1b5073ffd3fedb22345"></a><!-- doxytag: member="osg::Light::clone" ref="a4870be402b3cd1b5073ffd3fedb22345" args="(const osg::CopyOp &copyop) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="a00500.html">osg::Object</a>* osg::Light::clone </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00169.html">osg::CopyOp</a> & </td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Clone an attribute, with Object* return type. </p> <p>Must be defined by derived classes. </p> <p>Implements <a class="el" href="a00743.html#af9218359851425f1ec4c468f882265b6">osg::StateAttribute</a>.</p> </div> </div> <a class="anchor" id="a25e9b843ae9808ac239b2a280e0f5c79"></a><!-- doxytag: member="osg::Light::cloneType" ref="a25e9b843ae9808ac239b2a280e0f5c79" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="a00500.html">osg::Object</a>* osg::Light::cloneType </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Clone the type of an attribute, with Object* return type. </p> <p>Must be defined by derived classes. </p> <p>Implements <a class="el" href="a00743.html#a862d0d2cedc94ec66be9ba1d83a21d8c">osg::StateAttribute</a>.</p> </div> </div> <a class="anchor" id="a5a85ae1caf4fe0f38a960941da746297"></a><!-- doxytag: member="osg::Light::compare" ref="a5a85ae1caf4fe0f38a960941da746297" args="(const StateAttribute &sa) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual int osg::Light::compare </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00743.html">StateAttribute</a> & </td> <td class="paramname"> <em>sa</em></td> <td> ) </td> <td> const<code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. </p> <p>Implements <a class="el" href="a00743.html#a0ff33c0a11fc2e9980805b4d0325e16f">osg::StateAttribute</a>.</p> <p>References <a class="el" href="a01248.html#a71201dd0137c66f15ce6742478c5b3e0">COMPARE_StateAttribute_Parameter</a>, and <a class="el" href="a01248.html#aac09eac41cba49d7203ecc64b7aec9a9">COMPARE_StateAttribute_Types</a>.</p> </div> </div> <a class="anchor" id="aff4dc2b6c2101fa9e484279890e08e90"></a><!-- doxytag: member="osg::Light::getAmbient" ref="aff4dc2b6c2101fa9e484279890e08e90" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="a01074.html">Vec4</a>& osg::Light::getAmbient </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get the ambient component of the light. </p> </div> </div> <a class="anchor" id="a32db77263c392a9cd137267684887196"></a><!-- doxytag: member="osg::Light::getConstantAttenuation" ref="a32db77263c392a9cd137267684887196" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">float osg::Light::getConstantAttenuation </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get the constant attenuation of the light. </p> </div> </div> <a class="anchor" id="a014f6acffd3a4b29d769f9148362c9ca"></a><!-- doxytag: member="osg::Light::getDiffuse" ref="a014f6acffd3a4b29d769f9148362c9ca" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="a01074.html">Vec4</a>& osg::Light::getDiffuse </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get the diffuse component of the light. </p> </div> </div> <a class="anchor" id="aa5d8bd4edeeba4b825d19f6153d935fa"></a><!-- doxytag: member="osg::Light::getDirection" ref="aa5d8bd4edeeba4b825d19f6153d935fa" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="a01069.html">Vec3</a>& osg::Light::getDirection </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get the direction of the light. </p> </div> </div> <a class="anchor" id="aec3cdcf1f581777dc93e533b115bc53e"></a><!-- doxytag: member="osg::Light::getLightNum" ref="aec3cdcf1f581777dc93e533b115bc53e" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int osg::Light::getLightNum </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get which OpenGL light this <a class="el" href="a00428.html" title="Light state class which encapsulates OpenGL glLight() functionality.">osg::Light</a> operates on. </p> </div> </div> <a class="anchor" id="a4b404a31bcd190be922490cbc47e8623"></a><!-- doxytag: member="osg::Light::getLinearAttenuation" ref="a4b404a31bcd190be922490cbc47e8623" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">float osg::Light::getLinearAttenuation </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get the linear attenuation of the light. </p> </div> </div> <a class="anchor" id="a69ef094cedcbf0d537f10ba1a559147b"></a><!-- doxytag: member="osg::Light::getMember" ref="a69ef094cedcbf0d537f10ba1a559147b" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual unsigned int osg::Light::getMember </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Return the member identifier within the attribute's class type. </p> <p>Used for light number/clip plane number etc. </p> <p>Reimplemented from <a class="el" href="a00743.html#a0e4167c00f2c7c4da3326e85c7761dd0">osg::StateAttribute</a>.</p> </div> </div> <a class="anchor" id="a41f7371b40bb407733e3fdfe4d9420d2"></a><!-- doxytag: member="osg::Light::getModeUsage" ref="a41f7371b40bb407733e3fdfe4d9420d2" args="(StateAttribute::ModeUsage &usage) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool osg::Light::getModeUsage </td> <td>(</td> <td class="paramtype"><a class="el" href="a00475.html">StateAttribute::ModeUsage</a> & </td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Return the modes associated with this <a class="el" href="a00743.html" title="Base class for state attributes.">StateAttribute</a>. </p> <p>Reimplemented from <a class="el" href="a00743.html#a1d6ef6841d265e7ac4164e9128bd0338">osg::StateAttribute</a>.</p> <p>References <a class="el" href="a00475.html#ac1ae7f8c6abbd07eb355592f5bd2b65a">osg::StateAttribute::ModeUsage::usesMode()</a>.</p> </div> </div> <a class="anchor" id="adc96652d462b05286110d3d8d7433b44"></a><!-- doxytag: member="osg::Light::getPosition" ref="adc96652d462b05286110d3d8d7433b44" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="a01074.html">Vec4</a>& osg::Light::getPosition </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get the position of the light. </p> </div> </div> <a class="anchor" id="a95d7ccf4dc9c0ac33532787686494a81"></a><!-- doxytag: member="osg::Light::getQuadraticAttenuation" ref="a95d7ccf4dc9c0ac33532787686494a81" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">float osg::Light::getQuadraticAttenuation </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get the quadratic attenuation of the light. </p> </div> </div> <a class="anchor" id="a4ed18a30c37b6364df1e3c680597106d"></a><!-- doxytag: member="osg::Light::getSpecular" ref="a4ed18a30c37b6364df1e3c680597106d" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="a01074.html">Vec4</a>& osg::Light::getSpecular </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get the specular component of the light. </p> </div> </div> <a class="anchor" id="ae4c9b67075d642a8d41ff41ebefe185c"></a><!-- doxytag: member="osg::Light::getSpotCutoff" ref="ae4c9b67075d642a8d41ff41ebefe185c" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">float osg::Light::getSpotCutoff </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get the spot cutoff of the light. </p> </div> </div> <a class="anchor" id="a8511a03036fca3cae1cb2de52dbc3898"></a><!-- doxytag: member="osg::Light::getSpotExponent" ref="a8511a03036fca3cae1cb2de52dbc3898" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">float osg::Light::getSpotExponent </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get the spot exponent of the light. </p> </div> </div> <a class="anchor" id="a3a53ae25a6e3c0ef974d80a391f18904"></a><!-- doxytag: member="osg::Light::getType" ref="a3a53ae25a6e3c0ef974d80a391f18904" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="a00743.html#a4e95bee5a247a0ae9632135555fbda9b">Type</a> osg::Light::getType </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Return the Type identifier of the attribute's class type. </p> <p>Implements <a class="el" href="a00743.html#a211f6424ad76f73c7c8e8d731eb16d61">osg::StateAttribute</a>.</p> </div> </div> <a class="anchor" id="a4289451ecaae262289ee095fbaa62124"></a><!-- doxytag: member="osg::Light::init" ref="a4289451ecaae262289ee095fbaa62124" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osg::Light::init </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Initialize the light's settings with some decent defaults. </p> </div> </div> <a class="anchor" id="a2f619a83871be82995230db72080ba9d"></a><!-- doxytag: member="osg::Light::isSameKindAs" ref="a2f619a83871be82995230db72080ba9d" args="(const osg::Object *obj) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool osg::Light::isSameKindAs </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00500.html">osg::Object</a> * </td> <td class="paramname"> <em>obj</em></td> <td> ) </td> <td> const<code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Return true if this and obj are of the same kind of object. </p> <p>Reimplemented from <a class="el" href="a00743.html#abfa707138271c67f6ede0a4ea49d7c2b">osg::StateAttribute</a>.</p> <p>References <a class="el" href="a01157.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.</p> </div> </div> <a class="anchor" id="aa7e34bfb6ea13fbad307a97ef75129fb"></a><!-- doxytag: member="osg::Light::libraryName" ref="aa7e34bfb6ea13fbad307a97ef75129fb" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual const char* osg::Light::libraryName </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Return the name of the attribute's library. </p> <p>Reimplemented from <a class="el" href="a00743.html#a27bc6073d6fd770e5807d84986598703">osg::StateAttribute</a>.</p> </div> </div> <a class="anchor" id="a0e404bb558d040d36f7bfb57e7bb98aa"></a><!-- doxytag: member="osg::Light::setAmbient" ref="a0e404bb558d040d36f7bfb57e7bb98aa" args="(const Vec4 &ambient)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osg::Light::setAmbient </td> <td>(</td> <td class="paramtype">const <a class="el" href="a01074.html">Vec4</a> & </td> <td class="paramname"> <em>ambient</em></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Set the ambient component of the light. </p> </div> </div> <a class="anchor" id="afc0174169b3adb5798ce64cf50fb13e4"></a><!-- doxytag: member="osg::Light::setConstantAttenuation" ref="afc0174169b3adb5798ce64cf50fb13e4" args="(float constant_attenuation)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osg::Light::setConstantAttenuation </td> <td>(</td> <td class="paramtype">float </td> <td class="paramname"> <em>constant_attenuation</em></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Set the constant attenuation of the light. </p> </div> </div> <a class="anchor" id="ae34a8197f7702d5332dda00d6c1490fd"></a><!-- doxytag: member="osg::Light::setDiffuse" ref="ae34a8197f7702d5332dda00d6c1490fd" args="(const Vec4 &diffuse)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osg::Light::setDiffuse </td> <td>(</td> <td class="paramtype">const <a class="el" href="a01074.html">Vec4</a> & </td> <td class="paramname"> <em>diffuse</em></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Set the diffuse component of the light. </p> </div> </div> <a class="anchor" id="a523366284a975ba8f1c252ff47058efa"></a><!-- doxytag: member="osg::Light::setDirection" ref="a523366284a975ba8f1c252ff47058efa" args="(const Vec3 &direction)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osg::Light::setDirection </td> <td>(</td> <td class="paramtype">const <a class="el" href="a01069.html">Vec3</a> & </td> <td class="paramname"> <em>direction</em></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Set the direction of the light. </p> </div> </div> <a class="anchor" id="ab3ab3a697a6fca0d82a35b61a5273f24"></a><!-- doxytag: member="osg::Light::setLightNum" ref="ab3ab3a697a6fca0d82a35b61a5273f24" args="(int num)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osg::Light::setLightNum </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>num</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Set which OpenGL light to operate on. </p> </div> </div> <a class="anchor" id="a1c9670f47438273072b4b3d211c4c268"></a><!-- doxytag: member="osg::Light::setLinearAttenuation" ref="a1c9670f47438273072b4b3d211c4c268" args="(float linear_attenuation)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osg::Light::setLinearAttenuation </td> <td>(</td> <td class="paramtype">float </td> <td class="paramname"> <em>linear_attenuation</em></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Set the linear attenuation of the light. </p> </div> </div> <a class="anchor" id="ad6575bf9a472a79ab9ac5c0f6b1436cd"></a><!-- doxytag: member="osg::Light::setPosition" ref="ad6575bf9a472a79ab9ac5c0f6b1436cd" args="(const Vec4 &position)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osg::Light::setPosition </td> <td>(</td> <td class="paramtype">const <a class="el" href="a01074.html">Vec4</a> & </td> <td class="paramname"> <em>position</em></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Set the position of the light. </p> </div> </div> <a class="anchor" id="a7072aa423f4915dfe233b7ccf0ec946b"></a><!-- doxytag: member="osg::Light::setQuadraticAttenuation" ref="a7072aa423f4915dfe233b7ccf0ec946b" args="(float quadratic_attenuation)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osg::Light::setQuadraticAttenuation </td> <td>(</td> <td class="paramtype">float </td> <td class="paramname"> <em>quadratic_attenuation</em></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Set the quadratic attenuation of the light. </p> </div> </div> <a class="anchor" id="ab89accde460c81842415d6e5073023f2"></a><!-- doxytag: member="osg::Light::setSpecular" ref="ab89accde460c81842415d6e5073023f2" args="(const Vec4 &specular)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osg::Light::setSpecular </td> <td>(</td> <td class="paramtype">const <a class="el" href="a01074.html">Vec4</a> & </td> <td class="paramname"> <em>specular</em></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Set the specular component of the light. </p> </div> </div> <a class="anchor" id="a21db0462f14879af205677da579d3230"></a><!-- doxytag: member="osg::Light::setSpotCutoff" ref="a21db0462f14879af205677da579d3230" args="(float spot_cutoff)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osg::Light::setSpotCutoff </td> <td>(</td> <td class="paramtype">float </td> <td class="paramname"> <em>spot_cutoff</em></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Set the spot cutoff of the light. </p> </div> </div> <a class="anchor" id="a393c4fb352d9873f5f0090e5fe50082f"></a><!-- doxytag: member="osg::Light::setSpotExponent" ref="a393c4fb352d9873f5f0090e5fe50082f" args="(float spot_exponent)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osg::Light::setSpotExponent </td> <td>(</td> <td class="paramtype">float </td> <td class="paramname"> <em>spot_exponent</em></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Set the spot exponent of the light. </p> </div> </div> <hr/><h2>Member Data Documentation</h2> <a class="anchor" id="a8e5aa0aa8b89a8289f8b7467c22f2f5b"></a><!-- doxytag: member="osg::Light::_ambient" ref="a8e5aa0aa8b89a8289f8b7467c22f2f5b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a01074.html">Vec4</a> <a class="el" href="a00428.html#a8e5aa0aa8b89a8289f8b7467c22f2f5b">osg::Light::_ambient</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a454a9df238826fcb2d11dda50d3838e1"></a><!-- doxytag: member="osg::Light::_constant_attenuation" ref="a454a9df238826fcb2d11dda50d3838e1" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">float <a class="el" href="a00428.html#a454a9df238826fcb2d11dda50d3838e1">osg::Light::_constant_attenuation</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="af46fd620125c5c8e3d48663ce61d71b8"></a><!-- doxytag: member="osg::Light::_diffuse" ref="af46fd620125c5c8e3d48663ce61d71b8" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a01074.html">Vec4</a> <a class="el" href="a00428.html#af46fd620125c5c8e3d48663ce61d71b8">osg::Light::_diffuse</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a26d25c5483403a62e152bb202c8db204"></a><!-- doxytag: member="osg::Light::_direction" ref="a26d25c5483403a62e152bb202c8db204" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a01069.html">Vec3</a> <a class="el" href="a00428.html#a26d25c5483403a62e152bb202c8db204">osg::Light::_direction</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a52b40ae62acd41b7b0686236b374b4c6"></a><!-- doxytag: member="osg::Light::_lightnum" ref="a52b40ae62acd41b7b0686236b374b4c6" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int <a class="el" href="a00428.html#a52b40ae62acd41b7b0686236b374b4c6">osg::Light::_lightnum</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a223545a62050bc0c9514c024cf263849"></a><!-- doxytag: member="osg::Light::_linear_attenuation" ref="a223545a62050bc0c9514c024cf263849" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">float <a class="el" href="a00428.html#a223545a62050bc0c9514c024cf263849">osg::Light::_linear_attenuation</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a1412fefecf89da0291a1f65c9c29365b"></a><!-- doxytag: member="osg::Light::_position" ref="a1412fefecf89da0291a1f65c9c29365b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a01074.html">Vec4</a> <a class="el" href="a00428.html#a1412fefecf89da0291a1f65c9c29365b">osg::Light::_position</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a2c4a51d54a59290ea3aab7b660d8779b"></a><!-- doxytag: member="osg::Light::_quadratic_attenuation" ref="a2c4a51d54a59290ea3aab7b660d8779b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">float <a class="el" href="a00428.html#a2c4a51d54a59290ea3aab7b660d8779b">osg::Light::_quadratic_attenuation</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="ada33412b6a819d5600692b36411d6aa7"></a><!-- doxytag: member="osg::Light::_specular" ref="ada33412b6a819d5600692b36411d6aa7" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a01074.html">Vec4</a> <a class="el" href="a00428.html#ada33412b6a819d5600692b36411d6aa7">osg::Light::_specular</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a1758e408e629ba8bdca915461927c20b"></a><!-- doxytag: member="osg::Light::_spot_cutoff" ref="a1758e408e629ba8bdca915461927c20b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">float <a class="el" href="a00428.html#a1758e408e629ba8bdca915461927c20b">osg::Light::_spot_cutoff</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="ab7ba28d373e9a87fc8867fafb56c0ac5"></a><!-- doxytag: member="osg::Light::_spot_exponent" ref="ab7ba28d373e9a87fc8867fafb56c0ac5" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">float <a class="el" href="a00428.html#ab7ba28d373e9a87fc8867fafb56c0ac5">osg::Light::_spot_exponent</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li>osg/<a class="el" href="a01196.html">Light</a></li> </ul> </div> <hr> <table border="0"><tr><td> <img src="osg32-32.png" alt="osg logo" /> </td><td> <address><small>Generated at Thu Aug 19 2010 16:22:42 for the <a href="http://www.openscenegraph.org/">OpenSceneGraph</a> by <a href="http://www.doxygen.org">doxygen</a> 1.7.1.</small></address> <!-- Dimitri van Heesch's e-mail address removed, lest he get messages on the OpenSceneGraph --> </td></tr></table> </body> </html>