Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > aa937981cccb78f06312e3cc380fe202 > files > 970

OpenSceneGraph-devel-2.8.3-3.fc14.x86_64.rpm

<!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&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;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&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;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> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<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">&nbsp;</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">&nbsp;</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">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#ad51fac9ed4155f0612a52edd83741830">Light</a> (const <a class="el" href="a00428.html">Light</a> &amp;light, const <a class="el" href="a00169.html">CopyOp</a> &amp;copyop=CopyOp::SHALLOW_COPY)</td></tr>
<tr><td class="mdescLeft">&nbsp;</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> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a25e9b843ae9808ac239b2a280e0f5c79">cloneType</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</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> *&nbsp;</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> &amp;copyop) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</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&nbsp;</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">&nbsp;</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 *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#aa7e34bfb6ea13fbad307a97ef75129fb">libraryName</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</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 *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a4368f94bbf746b1420ee40306ceb3259">className</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</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>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a3a53ae25a6e3c0ef974d80a391f18904">getType</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a5a85ae1caf4fe0f38a960941da746297">compare</a> (const <a class="el" href="a00743.html">StateAttribute</a> &amp;sa) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return -1 if *this &lt; *rhs, 0 if *this==*rhs, 1 if *this&gt;*rhs.  <a href="#a5a85ae1caf4fe0f38a960941da746297"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a69ef094cedcbf0d537f10ba1a559147b">getMember</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a41f7371b40bb407733e3fdfe4d9420d2">getModeUsage</a> (<a class="el" href="a00475.html">StateAttribute::ModeUsage</a> &amp;usage) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#ab3ab3a697a6fca0d82a35b61a5273f24">setLightNum</a> (int num)</td></tr>
<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#aec3cdcf1f581777dc93e533b115bc53e">getLightNum</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a0e404bb558d040d36f7bfb57e7bb98aa">setAmbient</a> (const <a class="el" href="a01074.html">Vec4</a> &amp;ambient)</td></tr>
<tr><td class="mdescLeft">&nbsp;</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> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#aff4dc2b6c2101fa9e484279890e08e90">getAmbient</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#ae34a8197f7702d5332dda00d6c1490fd">setDiffuse</a> (const <a class="el" href="a01074.html">Vec4</a> &amp;diffuse)</td></tr>
<tr><td class="mdescLeft">&nbsp;</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> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a014f6acffd3a4b29d769f9148362c9ca">getDiffuse</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#ab89accde460c81842415d6e5073023f2">setSpecular</a> (const <a class="el" href="a01074.html">Vec4</a> &amp;specular)</td></tr>
<tr><td class="mdescLeft">&nbsp;</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> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a4ed18a30c37b6364df1e3c680597106d">getSpecular</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#ad6575bf9a472a79ab9ac5c0f6b1436cd">setPosition</a> (const <a class="el" href="a01074.html">Vec4</a> &amp;position)</td></tr>
<tr><td class="mdescLeft">&nbsp;</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> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#adc96652d462b05286110d3d8d7433b44">getPosition</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a523366284a975ba8f1c252ff47058efa">setDirection</a> (const <a class="el" href="a01069.html">Vec3</a> &amp;direction)</td></tr>
<tr><td class="mdescLeft">&nbsp;</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> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#aa5d8bd4edeeba4b825d19f6153d935fa">getDirection</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#afc0174169b3adb5798ce64cf50fb13e4">setConstantAttenuation</a> (float constant_attenuation)</td></tr>
<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a32db77263c392a9cd137267684887196">getConstantAttenuation</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a1c9670f47438273072b4b3d211c4c268">setLinearAttenuation</a> (float linear_attenuation)</td></tr>
<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a4b404a31bcd190be922490cbc47e8623">getLinearAttenuation</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a7072aa423f4915dfe233b7ccf0ec946b">setQuadraticAttenuation</a> (float quadratic_attenuation)</td></tr>
<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a95d7ccf4dc9c0ac33532787686494a81">getQuadraticAttenuation</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a393c4fb352d9873f5f0090e5fe50082f">setSpotExponent</a> (float spot_exponent)</td></tr>
<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a8511a03036fca3cae1cb2de52dbc3898">getSpotExponent</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a21db0462f14879af205677da579d3230">setSpotCutoff</a> (float spot_cutoff)</td></tr>
<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#ae4c9b67075d642a8d41ff41ebefe185c">getSpotCutoff</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#ab489febdc9f0b81b636c64c52a1bf054">captureLightState</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a8c5f160284b7e75bedf25dd6c21c0a05">apply</a> (<a class="el" href="a00742.html">State</a> &amp;state) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</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&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a4289451ecaae262289ee095fbaa62124">init</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</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&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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 &amp; 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>&nbsp;)&nbsp;</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&nbsp;</td>
          <td class="paramname"> <em>lightnum</em></td>
          <td>&nbsp;)&nbsp;</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 &amp;light, const CopyOp &amp;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> &amp;&nbsp;</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> &amp;&nbsp;</td>
          <td class="paramname"> <em>copyop</em> = <code>CopyOp::SHALLOW_COPY</code></td><td>&nbsp;</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>&nbsp;)&nbsp;</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 &amp;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> &amp;&nbsp;</td>
          <td class="paramname"> <em>state</em></td>
          <td>&nbsp;)&nbsp;</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>&nbsp;)&nbsp;</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>&nbsp;)&nbsp;</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 &amp;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> &amp;&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</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>&nbsp;)&nbsp;</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 &amp;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> &amp;&nbsp;</td>
          <td class="paramname"> <em>sa</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return -1 if *this &lt; *rhs, 0 if *this==*rhs, 1 if *this&gt;*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>&amp; osg::Light::getAmbient </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</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>&nbsp;)&nbsp;</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>&amp; osg::Light::getDiffuse </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</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>&amp; osg::Light::getDirection </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</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>&nbsp;)&nbsp;</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>&nbsp;)&nbsp;</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>&nbsp;)&nbsp;</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 &amp;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> &amp;&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</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>&amp; osg::Light::getPosition </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</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>&nbsp;)&nbsp;</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>&amp; osg::Light::getSpecular </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</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>&nbsp;)&nbsp;</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>&nbsp;)&nbsp;</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>&nbsp;)&nbsp;</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>&nbsp;)&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>obj</em></td>
          <td>&nbsp;)&nbsp;</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>&nbsp;)&nbsp;</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 &amp;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> &amp;&nbsp;</td>
          <td class="paramname"> <em>ambient</em></td>
          <td>&nbsp;)&nbsp;</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&nbsp;</td>
          <td class="paramname"> <em>constant_attenuation</em></td>
          <td>&nbsp;)&nbsp;</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 &amp;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> &amp;&nbsp;</td>
          <td class="paramname"> <em>diffuse</em></td>
          <td>&nbsp;)&nbsp;</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 &amp;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> &amp;&nbsp;</td>
          <td class="paramname"> <em>direction</em></td>
          <td>&nbsp;)&nbsp;</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&nbsp;</td>
          <td class="paramname"> <em>num</em></td>
          <td>&nbsp;)&nbsp;</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&nbsp;</td>
          <td class="paramname"> <em>linear_attenuation</em></td>
          <td>&nbsp;)&nbsp;</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 &amp;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> &amp;&nbsp;</td>
          <td class="paramname"> <em>position</em></td>
          <td>&nbsp;)&nbsp;</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&nbsp;</td>
          <td class="paramname"> <em>quadratic_attenuation</em></td>
          <td>&nbsp;)&nbsp;</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 &amp;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> &amp;&nbsp;</td>
          <td class="paramname"> <em>specular</em></td>
          <td>&nbsp;)&nbsp;</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&nbsp;</td>
          <td class="paramname"> <em>spot_cutoff</em></td>
          <td>&nbsp;)&nbsp;</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&nbsp;</td>
          <td class="paramname"> <em>spot_exponent</em></td>
          <td>&nbsp;)&nbsp;</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>