aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/a03464.html
diff options
context:
space:
mode:
authorneodarz <neodarz@neodarz.net>2018-08-11 20:21:34 +0200
committerneodarz <neodarz@neodarz.net>2018-08-11 20:21:34 +0200
commit0ea5fc66924303d1bf73ba283a383e2aadee02f2 (patch)
tree2568e71a7ccc44ec23b8bb3f0ff97fb6bf2ed709 /docs/doxygen/nel/a03464.html
downloadnevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.tar.xz
nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.zip
Initial commit
Diffstat (limited to '')
-rw-r--r--docs/doxygen/nel/a03464.html447
1 files changed, 447 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a03464.html b/docs/doxygen/nel/a03464.html
new file mode 100644
index 00000000..ab1fa2da
--- /dev/null
+++ b/docs/doxygen/nel/a03464.html
@@ -0,0 +1,447 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>NeL: NL3D::CSurfaceLightGrid class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.3.6 -->
+<div class="qindex"> <form class="search" action="search.php" method="get">
+<a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a> | <span class="search"><u>S</u>earch&nbsp;for&nbsp;<input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div>
+<h1>NL3D::CSurfaceLightGrid Class Reference</h1><code>#include &lt;<a class="el" href="a06476.html">surface_light_grid.h</a>&gt;</code>
+<p>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Dynamic objects lighted by IG's Static Lights lookup into this grid. Builded by <a class="el" href="a02675.html">CInstanceLighter</a>. Used by <a class="el" href="a02654.html">CIGSurfaceLight</a> <dl compact><dt><b>Author:</b></dt><dd>Lionel Berenguier <p>
+Nevrax France </dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>2002 </dd></dl>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06476.html#l00057">57</a> of file <a class="el" href="a06476.html">surface_light_grid.h</a>.<table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom>{ <a class="el" href="a03464.html#NL3D_1_1CSurfaceLightGridw0NL3D_1_1CSurfaceLightGridw1">NumLightPerCorner</a> = 2
+ }</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">We support only 2 light per corner. Should never be changed. <a href="#NL3D_1_1CSurfaceLightGridw0">More...</a><br><br></td></tr>
+<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03464.html#NL3D_1_1CSurfaceLightGrida0">CSurfaceLightGrid</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <a href="#NL3D_1_1CSurfaceLightGrida0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03464.html#NL3D_1_1CSurfaceLightGrida1">getStaticLightSetup</a> (const <a class="el" href="a03128.html">CVector</a> &amp;localPos, std::vector&lt; <a class="el" href="a03092.html">CPointLightInfluence</a> &gt; &amp;pointLightList, <a class="el" href="a04558.html#a7">uint8</a> &amp;sunContribution, <a class="el" href="a02654.html">CIGSurfaceLight</a> &amp;igsl, <a class="el" href="a03337.html">NLMISC::CRGBA</a> &amp;localAmbient) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03464.html#NL3D_1_1CSurfaceLightGrida2">serial</a> (<a class="el" href="a02270.html">NLMISC::IStream</a> &amp;f)</td></tr>
+
+<tr><td colspan=2><br><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03000.html">NLMISC::CObjectVector</a>&lt; <a class="el" href="a03465.html">CCellCorner</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03464.html#NL3D_1_1CSurfaceLightGrido0">Cells</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03464.html#NL3D_1_1CSurfaceLightGrido1">Height</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03660.html">NLMISC::CVector2f</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03464.html#NL3D_1_1CSurfaceLightGrido2">Origin</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03464.html#NL3D_1_1CSurfaceLightGrido3">Width</a></td></tr>
+
+</table>
+<hr><h2>Member Enumeration Documentation</h2>
+<a class="anchor" name="NL3D_1_1CSurfaceLightGridw0" doxytag="NL3D::CSurfaceLightGrid::@32" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> anonymous enum
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+We support only 2 light per corner. Should never be changed.
+<p>
+<dl compact><dt><b>Enumeration values: </b></dt><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CSurfaceLightGridw0NL3D_1_1CSurfaceLightGridw1" doxytag="NumLightPerCorner" ></a>NumLightPerCorner</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a06476.html#l00062">62</a> of file <a class="el" href="a06476.html">surface_light_grid.h</a>.
+<p>
+<div class="fragment"><pre>00062 {<a class="code" href="a03464.html#NL3D_1_1CSurfaceLightGridw0NL3D_1_1CSurfaceLightGridw1">NumLightPerCorner</a>= 2};
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="NL3D_1_1CSurfaceLightGrida0" doxytag="NL3D::CSurfaceLightGrid::CSurfaceLightGrid" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NL3D::CSurfaceLightGrid::CSurfaceLightGrid </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06475.html#l00043">43</a> of file <a class="el" href="a06475.html">surface_light_grid.cpp</a>.
+<p>
+<div class="fragment"><pre>00044 {
+00045 <a class="code" href="a03464.html#NL3D_1_1CSurfaceLightGrido3">Width</a>= 0;
+00046 <a class="code" href="a03464.html#NL3D_1_1CSurfaceLightGrido1">Height</a>= 0;
+00047 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="NL3D_1_1CSurfaceLightGrida1" doxytag="NL3D::CSurfaceLightGrid::getStaticLightSetup" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CSurfaceLightGrid::getStaticLightSetup </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">CVector</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>localPos</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>std::vector&lt; <a class="el" href="a03092.html">CPointLightInfluence</a> &gt; &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>pointLightList</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a7">uint8</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>sunContribution</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02654.html">CIGSurfaceLight</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>igsl</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a03337.html">NLMISC::CRGBA</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>localAmbient</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06475.html#l00062">62</a> of file <a class="el" href="a06475.html">surface_light_grid.cpp</a>.
+<p>
+References <a class="el" href="a05807.html#l00109">NL3D::CIGSurfaceLight::_Owner</a>, <a class="el" href="a06340.html#l00340">NLMISC::CRGBA::A</a>, <a class="el" href="a06340.html#l00338">NLMISC::CRGBA::B</a>, <a class="el" href="a05587.html#l00115">NLMISC::clamp()</a>, <a class="el" href="a05896.html#l00071">NL3D::CLightInfluenceInterpolator::Corners</a>, <a class="el" href="a06340.html#l00336">NLMISC::CRGBA::G</a>, <a class="el" href="a06180.html#l00129">NL3D::CPointLight::getAmbient()</a>, <a class="el" href="a05807.html#l00099">NL3D::CIGSurfaceLight::getOOCellSize()</a>, <a class="el" href="a06351.html#l00338">NL3D::CInstanceGroup::getPointLightList()</a>, <a class="el" href="a05895.html#l00038">NL3D::CLightInfluenceInterpolator::interpolate()</a>, <a class="el" href="a06476.html#l00070">NL3D::CSurfaceLightGrid::CCellCorner::Light</a>, <a class="el" href="a05896.html#l00060">NL3D::CLightInfluenceInterpolator::CCorner::Lights</a>, <a class="el" href="a06476.html#l00074">NL3D::CSurfaceLightGrid::CCellCorner::LocalAmbientId</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05701.html#l00125">NLMISC::OptFastFloor()</a>, <a class="el" href="a06340.html#l00334">NLMISC::CRGBA::R</a>, <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a06476.html#l00068">NL3D::CSurfaceLightGrid::CCellCorner::SunContribution</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05981.html#l00096">uint8</a>, <a class="el" href="a05646.html#l00236">x</a>, <a class="el" href="a06677.html#l00052">NLMISC::CVector2f::x</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::x</a>, <a class="el" href="a05646.html#l00236">y</a>, <a class="el" href="a06677.html#l00052">NLMISC::CVector2f::y</a>, and <a class="el" href="a06673.html#l00051">NLMISC::CVector::y</a>.
+<p>
+<div class="fragment"><pre>00064 {
+00065 <span class="comment">// Get local coordinate to the grid.</span>
+00066 <span class="keywordtype">float</span> xfloat= (localPos.x - <a class="code" href="a03464.html#NL3D_1_1CSurfaceLightGrido2">Origin</a>.<a class="code" href="a03660.html#NLMISC_1_1CVector2fo0">x</a>) * igsl.getOOCellSize();
+00067 <span class="keywordtype">float</span> yfloat= (localPos.y - <a class="code" href="a03464.html#NL3D_1_1CSurfaceLightGrido2">Origin</a>.<a class="code" href="a03660.html#NLMISC_1_1CVector2fo1">y</a>) * igsl.getOOCellSize();
+00068 <a class="code" href="a04558.html#a14">sint</a> wCell= <a class="code" href="a03464.html#NL3D_1_1CSurfaceLightGrido3">Width</a>-1;
+00069 <a class="code" href="a04558.html#a14">sint</a> hCell= <a class="code" href="a03464.html#NL3D_1_1CSurfaceLightGrido1">Height</a>-1;
+00070 <span class="comment">// fastFloor: use a precision of 256 to avoid doing OptFastFloorBegin.</span>
+00071 <a class="code" href="a04558.html#a14">sint</a> wfixed= wCell&lt;&lt;8;
+00072 <a class="code" href="a04558.html#a14">sint</a> hfixed= hCell&lt;&lt;8;
+00073 <a class="code" href="a04558.html#a14">sint</a> xfixed= <a class="code" href="a05378.html#a397">NLMISC::OptFastFloor</a>(xfloat * 256);
+00074 <a class="code" href="a04558.html#a14">sint</a> yfixed= <a class="code" href="a05378.html#a397">NLMISC::OptFastFloor</a>(yfloat * 256);
+00075 <a class="code" href="a05378.html#a374">clamp</a>(xfixed, 0, wfixed);
+00076 <a class="code" href="a05378.html#a374">clamp</a>(yfixed, 0, hfixed);
+00077 <span class="comment">// compute the cell coord, and the subCoord for bilinear.</span>
+00078 <a class="code" href="a04558.html#a14">sint</a> xCell, yCell, xSub, ySub;
+00079 xCell= xfixed&gt;&gt;8;
+00080 yCell= yfixed&gt;&gt;8;
+00081 <a class="code" href="a05378.html#a374">clamp</a>(xCell, 0, wCell-1);
+00082 <a class="code" href="a05378.html#a374">clamp</a>(yCell, 0, hCell-1);
+00083 <span class="comment">// Hence, xSub and ySub range is [0, 256].</span>
+00084 xSub= xfixed - (xCell&lt;&lt;8);
+00085 ySub= yfixed - (yCell&lt;&lt;8);
+00086
+00087
+00088 <span class="comment">// Use a CLightInfluenceInterpolator to biLinear light influence</span>
+00089 CLightInfluenceInterpolator interp;
+00090 <span class="comment">// Must support only 2 light per cell corner.</span>
+00091 <a class="code" href="a04199.html#a6">nlassert</a>(CSurfaceLightGrid::NumLightPerCorner==2);
+00092 <a class="code" href="a04199.html#a6">nlassert</a>(CLightInfluenceInterpolator::NumLightPerCorner==2);
+00093 <span class="comment">// Get ref on array of PointLightNamed.</span>
+00094 CPointLightNamed *igPointLights= NULL;;
+00095 <span class="keywordflow">if</span>( igsl._Owner-&gt;getPointLightList().size() &gt;0 )
+00096 {
+00097 <span class="comment">// const_cast, because will only change _IdInfluence, and </span>
+00098 <span class="comment">// also because CLightingManager will call appendLightedModel()</span>
+00099 igPointLights= const_cast&lt;CPointLightNamed*&gt;(&amp;(igsl._Owner-&gt;getPointLightList()[0]));
+00100 }
+00101 <span class="comment">// For 4 corners.</span>
+00102 <a class="code" href="a04558.html#a15">uint</a> <a class="code" href="a04223.html#a572">x</a>,<a class="code" href="a04223.html#a573">y</a>;
+00103 <a class="code" href="a04558.html#a15">uint</a> sunContribFixed= 0;
+00104 <a class="code" href="a04558.html#a15">uint</a> rLocalAmbientFixed= 0;
+00105 <a class="code" href="a04558.html#a15">uint</a> gLocalAmbientFixed= 0;
+00106 <a class="code" href="a04558.html#a15">uint</a> bLocalAmbientFixed= 0;
+00107 <a class="code" href="a04558.html#a15">uint</a> aLocalAmbientFixed= 0;
+00108 <span class="keywordflow">for</span>(<a class="code" href="a04223.html#a573">y</a>=0;<a class="code" href="a04223.html#a573">y</a>&lt;2;<a class="code" href="a04223.html#a573">y</a>++)
+00109 {
+00110 <span class="keywordflow">for</span>(<a class="code" href="a04223.html#a572">x</a>=0;<a class="code" href="a04223.html#a572">x</a>&lt;2;<a class="code" href="a04223.html#a572">x</a>++)
+00111 {
+00112 <span class="comment">// Prepare compute for PointLights.</span>
+00113 <span class="comment">//-------------</span>
+00114 <span class="comment">// get ref on TLI, and on corner.</span>
+00115 <span class="keyword">const</span> CCellCorner &amp;cellCorner= <a class="code" href="a03464.html#NL3D_1_1CSurfaceLightGrido0">Cells</a>[ (yCell+<a class="code" href="a04223.html#a573">y</a>)*<a class="code" href="a03464.html#NL3D_1_1CSurfaceLightGrido3">Width</a> + xCell+<a class="code" href="a04223.html#a572">x</a> ];
+00116 CLightInfluenceInterpolator::CCorner &amp;corner= interp.Corners[<a class="code" href="a04223.html#a573">y</a>*2 + <a class="code" href="a04223.html#a572">x</a>];
+00117 <span class="comment">// For all lights</span>
+00118 <a class="code" href="a04558.html#a15">uint</a> lid;
+00119 <span class="keywordflow">for</span>(lid= 0; lid&lt;CSurfaceLightGrid::NumLightPerCorner; lid++)
+00120 {
+00121 <span class="comment">// get the id of the light in the ig</span>
+00122 <a class="code" href="a04558.html#a15">uint</a> igLightId= cellCorner.Light[lid];
+00123 <span class="comment">// If empty id, stop</span>
+00124 <span class="keywordflow">if</span>(igLightId==0xFF)
+00125 <span class="keywordflow">break</span>;
+00126 <span class="keywordflow">else</span>
+00127 {
+00128 <span class="comment">// Set pointer of the light in the corner</span>
+00129 corner.Lights[lid]= igPointLights + igLightId;
+00130 }
+00131 }
+00132 <span class="comment">// Reset Empty slots.</span>
+00133 <span class="keywordflow">for</span>(; lid&lt;CSurfaceLightGrid::NumLightPerCorner; lid++)
+00134 {
+00135 <span class="comment">// set to NULL</span>
+00136 corner.Lights[lid]= NULL;
+00137 }
+00138
+00139 <span class="comment">// BiLinear SunContribution.</span>
+00140 <span class="comment">//-------------</span>
+00141 <a class="code" href="a04558.html#a15">uint</a> xBi= (<a class="code" href="a04223.html#a572">x</a>==0)?256-xSub : xSub;
+00142 <a class="code" href="a04558.html#a15">uint</a> yBi= (<a class="code" href="a04223.html#a573">y</a>==0)?256-ySub : ySub;
+00143 <a class="code" href="a04558.html#a15">uint</a> mulBi= xBi * yBi;
+00144 sunContribFixed+= cellCorner.SunContribution * mulBi;
+00145
+00146
+00147 <span class="comment">// BiLinear Ambient Contribution.</span>
+00148 <span class="comment">//-------------</span>
+00149 <span class="comment">// If FF, then take Sun Ambient =&gt; leave color and alpha To 0.</span>
+00150 <span class="keywordflow">if</span>(cellCorner.LocalAmbientId!=0xFF)
+00151 {
+00152 <span class="comment">// take current ambient from pointLight</span>
+00153 <a class="code" href="a03337.html">CRGBA</a> ambCorner= igPointLights[cellCorner.LocalAmbientId].getAmbient();
+00154 rLocalAmbientFixed+= ambCorner.<a class="code" href="a03337.html#NLMISC_1_1CRGBAo3">R</a> * mulBi;
+00155 gLocalAmbientFixed+= ambCorner.<a class="code" href="a03337.html#NLMISC_1_1CRGBAo2">G</a> * mulBi;
+00156 bLocalAmbientFixed+= ambCorner.<a class="code" href="a03337.html#NLMISC_1_1CRGBAo1">B</a> * mulBi;
+00157 <span class="comment">// increase the influence of igPointLights in alpha</span>
+00158 aLocalAmbientFixed+= 255 * mulBi;
+00159 }
+00160 }
+00161 }
+00162 <span class="comment">// interpolate PointLights.</span>
+00163 interp.interpolate(pointLightList, xSub/256.f, ySub/256.f);
+00164
+00165 <span class="comment">// Final SunContribution</span>
+00166 sunContribution= sunContribFixed&gt;&gt;16;
+00167
+00168 <span class="comment">// Final SunContribution</span>
+00169 localAmbient.<a class="code" href="a03337.html#NLMISC_1_1CRGBAo3">R</a>= rLocalAmbientFixed&gt;&gt;16;
+00170 localAmbient.<a class="code" href="a03337.html#NLMISC_1_1CRGBAo2">G</a>= gLocalAmbientFixed&gt;&gt;16;
+00171 localAmbient.<a class="code" href="a03337.html#NLMISC_1_1CRGBAo1">B</a>= bLocalAmbientFixed&gt;&gt;16;
+00172 localAmbient.<a class="code" href="a03337.html#NLMISC_1_1CRGBAo0">A</a>= aLocalAmbientFixed&gt;&gt;16;
+00173
+00174 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CSurfaceLightGrida2" doxytag="NL3D::CSurfaceLightGrid::serial" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CSurfaceLightGrid::serial </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02270.html">NLMISC::IStream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>f</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06475.html#l00051">51</a> of file <a class="el" href="a06475.html">surface_light_grid.cpp</a>.
+<p>
+References <a class="el" href="a06462.html#l00232">NLMISC::IStream::serial()</a>, and <a class="el" href="a06461.html#l00266">NLMISC::IStream::serialVersion()</a>.
+<p>
+<div class="fragment"><pre>00052 {
+00053 (<span class="keywordtype">void</span>)f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_8">serialVersion</a>(0);
+00054 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(Origin);
+00055 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(Width);
+00056 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(Height);
+00057 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(Cells);
+00058 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="NL3D_1_1CSurfaceLightGrido0" doxytag="NL3D::CSurfaceLightGrid::Cells" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03000.html">NLMISC::CObjectVector</a>&lt;<a class="el" href="a03465.html">CCellCorner</a>&gt; <a class="el" href="a03464.html#NL3D_1_1CSurfaceLightGrido0">NL3D::CSurfaceLightGrid::Cells</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06476.html#l00101">101</a> of file <a class="el" href="a06476.html">surface_light_grid.h</a>.
+<p>
+Referenced by <a class="el" href="a05806.html#l00050">NL3D::CIGSurfaceLight::build()</a>, <a class="el" href="a05808.html#l00100">NL3D::CIGSurfaceLightBuild::buildPLDebugMesh()</a>, <a class="el" href="a05824.html#l01757">NL3D::CInstanceLighter::getCurrentNeighborCell()</a>, and <a class="el" href="a05824.html#l00305">NL3D::CInstanceLighter::light()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CSurfaceLightGrido1" doxytag="NL3D::CSurfaceLightGrid::Height" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a03464.html#NL3D_1_1CSurfaceLightGrido1">NL3D::CSurfaceLightGrid::Height</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06476.html#l00100">100</a> of file <a class="el" href="a06476.html">surface_light_grid.h</a>.
+<p>
+Referenced by <a class="el" href="a05824.html#l01724">NL3D::CInstanceLighter::isCurrentNeighborCellInSurface()</a>, and <a class="el" href="a05824.html#l00305">NL3D::CInstanceLighter::light()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CSurfaceLightGrido2" doxytag="NL3D::CSurfaceLightGrid::Origin" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03660.html">NLMISC::CVector2f</a> <a class="el" href="a03464.html#NL3D_1_1CSurfaceLightGrido2">NL3D::CSurfaceLightGrid::Origin</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06476.html#l00098">98</a> of file <a class="el" href="a06476.html">surface_light_grid.h</a>.
+<p>
+Referenced by <a class="el" href="a05824.html#l00305">NL3D::CInstanceLighter::light()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CSurfaceLightGrido3" doxytag="NL3D::CSurfaceLightGrid::Width" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a03464.html#NL3D_1_1CSurfaceLightGrido3">NL3D::CSurfaceLightGrid::Width</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06476.html#l00099">99</a> of file <a class="el" href="a06476.html">surface_light_grid.h</a>.
+<p>
+Referenced by <a class="el" href="a05824.html#l01757">NL3D::CInstanceLighter::getCurrentNeighborCell()</a>, <a class="el" href="a05824.html#l01724">NL3D::CInstanceLighter::isCurrentNeighborCellInSurface()</a>, and <a class="el" href="a05824.html#l00305">NL3D::CInstanceLighter::light()</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a06476.html">surface_light_grid.h</a><li><a class="el" href="a06475.html">surface_light_grid.cpp</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 07:47:33 2004 for NeL by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
+</a>1.3.6 </small></address>
+</body>
+</html>