aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/a02989.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/doxygen/nel/a02989.html')
-rw-r--r--docs/doxygen/nel/a02989.html207
1 files changed, 207 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a02989.html b/docs/doxygen/nel/a02989.html
new file mode 100644
index 00000000..8a1da1a8
--- /dev/null
+++ b/docs/doxygen/nel/a02989.html
@@ -0,0 +1,207 @@
+<!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: NLMISC::CNoiseColorGradient 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>NLMISC::CNoiseColorGradient Class Reference</h1><code>#include &lt;<a class="el" href="a06106.html">noise_value.h</a>&gt;</code>
+<p>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A noisy color generator <dl compact><dt><b>Author:</b></dt><dd>Lionel Berenguier <p>
+Nevrax France </dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>2001 </dd></dl>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06106.html#l00089">89</a> of file <a class="el" href="a06106.html">noise_value.h</a>.<table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02989.html#NLMISC_1_1CNoiseColorGradienta0">eval</a> (const <a class="el" href="a03128.html">CVector</a> &amp;posInWorld, <a class="el" href="a03338.html">CRGBAF</a> &amp;result) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02989.html#NLMISC_1_1CNoiseColorGradienta1">serial</a> (<a class="el" href="a02270.html">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>std::vector&lt; <a class="el" href="a03338.html">CRGBAF</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02989.html#NLMISC_1_1CNoiseColorGradiento0">Gradients</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02990.html">CNoiseValue</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02989.html#NLMISC_1_1CNoiseColorGradiento1">NoiseValue</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Abs and Rand should be 0 and 1 here. If not, some colors may not be generated... <a href="#NLMISC_1_1CNoiseColorGradiento1"></a><br><br></td></tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="NLMISC_1_1CNoiseColorGradienta0" doxytag="NLMISC::CNoiseColorGradient::eval" ></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 NLMISC::CNoiseColorGradient::eval </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>posInWorld</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a03338.html">CRGBAF</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>result</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>
+Use NoiseValue to compute a PerlinNoise E [0..1], and peek in Gradients, with linear interpolation. result unmodified if no colors. If only one color, copied into result. Warning! Use <a class="el" href="a05378.html#a397">OptFastFloor()</a>! So call must be enclosed with a <a class="el" href="a05378.html#a395">OptFastFloorBegin()</a>/OptFastFloorEnd().
+<p>
+Definition at line <a class="el" href="a06105.html#l00309">309</a> of file <a class="el" href="a06105.html">noise_value.cpp</a>.
+<p>
+References <a class="el" href="a05587.html#l00115">NLMISC::clamp()</a>, <a class="el" href="a06105.html#l00276">NLMISC::CNoiseValue::eval()</a>, <a class="el" href="a06106.html#l00094">Gradients</a>, <a class="el" href="a06106.html#l00093">NoiseValue</a>, <a class="el" href="a05701.html#l00125">NLMISC::OptFastFloor()</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06686.html#l00306">NL3D::CVegetable::generateInstance()</a>.
+<p>
+<div class="fragment"><pre>00310 {
+00311 <span class="comment">// test if not null grads.</span>
+00312 <a class="code" href="a04558.html#a15">uint</a> nGrads= <a class="code" href="a02989.html#NLMISC_1_1CNoiseColorGradiento0">Gradients</a>.size();
+00313 <span class="keywordflow">if</span>(nGrads==0)
+00314 <span class="keywordflow">return</span>;
+00315 <span class="comment">// if only one color, easy</span>
+00316 <span class="keywordflow">if</span>(nGrads==1)
+00317 {
+00318 result= <a class="code" href="a02989.html#NLMISC_1_1CNoiseColorGradiento0">Gradients</a>[0];
+00319 }
+00320 <span class="keywordflow">else</span>
+00321 {
+00322 <span class="comment">// eval noise</span>
+00323 <span class="keywordtype">float</span> f= <a class="code" href="a02989.html#NLMISC_1_1CNoiseColorGradiento1">NoiseValue</a>.eval(posInWorld) * (nGrads-1);
+00324 <a class="code" href="a05378.html#a374">clamp</a>(f, 0.f, (<span class="keywordtype">float</span>)(nGrads-1));
+00325 <span class="comment">// look up in table of gradients.</span>
+00326 <a class="code" href="a04558.html#a15">uint</a> <span class="keywordtype">id</span>= <a class="code" href="a05378.html#a397">OptFastFloor</a>(f);
+00327 <a class="code" href="a05378.html#a374">clamp</a>(<span class="keywordtype">id</span>, 0U, nGrads-2);
+00328 <span class="comment">// fractionnal part.</span>
+00329 f= f-<span class="keywordtype">id</span>;
+00330 <a class="code" href="a05378.html#a374">clamp</a>(f, 0, 1);
+00331 <span class="comment">// interpolate the gradient.</span>
+00332 result= <a class="code" href="a02989.html#NLMISC_1_1CNoiseColorGradiento0">Gradients</a>[<span class="keywordtype">id</span>]*(1-f) + Gradients[<span class="keywordtype">id</span>+1]*f;
+00333 }
+00334 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CNoiseColorGradienta1" doxytag="NLMISC::CNoiseColorGradient::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 NLMISC::CNoiseColorGradient::serial </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02270.html">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="a06105.html#l00337">337</a> of file <a class="el" href="a06105.html">noise_value.cpp</a>.
+<p>
+References <a class="el" href="a06106.html#l00094">Gradients</a>, <a class="el" href="a06106.html#l00093">NoiseValue</a>, <a class="el" href="a06462.html#l00232">NLMISC::IStream::serial()</a>, <a class="el" href="a06462.html#l00324">NLMISC::IStream::serialCont()</a>, and <a class="el" href="a06461.html#l00266">NLMISC::IStream::serialVersion()</a>.
+<p>
+<div class="fragment"><pre>00338 {
+00339 (<span class="keywordtype">void</span>)f.serialVersion(0);
+00340 f.serial(NoiseValue);
+00341 f.serialCont(Gradients);
+00342 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="NLMISC_1_1CNoiseColorGradiento0" doxytag="NLMISC::CNoiseColorGradient::Gradients" ></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"> std::vector&lt;<a class="el" href="a03338.html">CRGBAF</a>&gt; <a class="el" href="a02989.html#NLMISC_1_1CNoiseColorGradiento0">NLMISC::CNoiseColorGradient::Gradients</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="a06106.html#l00094">94</a> of file <a class="el" href="a06106.html">noise_value.h</a>.
+<p>
+Referenced by <a class="el" href="a06105.html#l00309">eval()</a>, and <a class="el" href="a06105.html#l00337">serial()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CNoiseColorGradiento1" doxytag="NLMISC::CNoiseColorGradient::NoiseValue" ></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="a02990.html">CNoiseValue</a> <a class="el" href="a02989.html#NLMISC_1_1CNoiseColorGradiento1">NLMISC::CNoiseColorGradient::NoiseValue</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Abs and Rand should be 0 and 1 here. If not, some colors may not be generated...
+<p>
+
+<p>
+Definition at line <a class="el" href="a06106.html#l00093">93</a> of file <a class="el" href="a06106.html">noise_value.h</a>.
+<p>
+Referenced by <a class="el" href="a06105.html#l00309">eval()</a>, and <a class="el" href="a06105.html#l00337">serial()</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a06106.html">noise_value.h</a><li><a class="el" href="a06105.html">noise_value.cpp</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 13:23:24 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>