diff options
author | neodarz <neodarz@neodarz.net> | 2018-08-11 20:21:34 +0200 |
---|---|---|
committer | neodarz <neodarz@neodarz.net> | 2018-08-11 20:21:34 +0200 |
commit | 0ea5fc66924303d1bf73ba283a383e2aadee02f2 (patch) | |
tree | 2568e71a7ccc44ec23b8bb3f0ff97fb6bf2ed709 /docs/doxygen/nel/a03719.html | |
download | nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.tar.xz nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.zip |
Initial commit
Diffstat (limited to '')
-rw-r--r-- | docs/doxygen/nel/a03719.html | 3239 |
1 files changed, 3239 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a03719.html b/docs/doxygen/nel/a03719.html new file mode 100644 index 00000000..10c6cd07 --- /dev/null +++ b/docs/doxygen/nel/a03719.html @@ -0,0 +1,3239 @@ +<!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::CWaterHeightMap 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 Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related Pages</a> | <span class="search"><u>S</u>earch for <input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div> +<h1>NL3D::CWaterHeightMap Class Reference</h1><code>#include <<a class="el" href="a06736.html">water_height_map.h</a>></code> +<p> +<p>Inheritance diagram for NL3D::CWaterHeightMap: +<p><center><img src="a03719.png" usemap="#NL3D::CWaterHeightMap_map" border="0" alt=""></center> +<map name="NL3D::CWaterHeightMap_map"> +<area href="a03955.html" alt="NL3D::UWaterHeightMap" shape="rect" coords="0,0,153,24"> +</map> +<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 </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapa0">animate</a> (float deltaT)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapa1">areWavesEnabled</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">test wheter automatic waves generation is enabled <a href="#NL3D_1_1CWaterHeightMapa1"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapa2">CWaterHeightMap</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapa3">enableWaves</a> (bool enabled=true)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">enable automatic waves generation <a href="#NL3D_1_1CWaterHeightMapa3"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapa4">getBorderWaves</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Test whether waves are enabled on the border. <a href="#NL3D_1_1CWaterHeightMapa4"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>float </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapa5">getBufferRatio</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">get the ratio between the previous and the current buffer <a href="#NL3D_1_1CWaterHeightMapa5"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>float </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapa6">getDamping</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>float </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapa7">getFilterWeight</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual float </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapa8">getHeight</a> (const <a class="el" href="a03660.html">NLMISC::CVector2f</a> &pos)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>const std::string & </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapa9">getName</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get this pool name. <a href="#NL3D_1_1CWaterHeightMapa9"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>float * </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapa10">getPointer</a> (void)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">get a pointer on the current buffer. <a href="#NL3D_1_1CWaterHeightMapa10"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>float * </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapa11">getPrevPointer</a> (void)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">get a pointer on the previous buffer. <a href="#NL3D_1_1CWaterHeightMapa11"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a05363.html#a366">TAnimationTime</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapa12">getPropagationTime</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the propagation time. <a href="#NL3D_1_1CWaterHeightMapa12"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapa13">getSize</a> (void) const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">return the size of the height map <a href="#NL3D_1_1CWaterHeightMapa13"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>float </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapa14">getUnitSize</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">get the size in meter of a heightmap texel <a href="#NL3D_1_1CWaterHeightMapa14"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapa15">getUserPos</a> (<a class="el" href="a04558.html#a14">sint</a> &<a class="el" href="a04223.html#a572">x</a>, <a class="el" href="a04558.html#a14">sint</a> &<a class="el" href="a04223.html#a573">y</a>) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapa16">getWaveImpulsionRadius</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">radius of impulsion for the waves <a href="#NL3D_1_1CWaterHeightMapa16"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>float </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapa17">getWaveIntensity</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">get the intensity of waves <a href="#NL3D_1_1CWaterHeightMapa17"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>float </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapa18">getWavePeriod</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">get the period of waves <a href="#NL3D_1_1CWaterHeightMapa18"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapa19">perturbate</a> (const <a class="el" href="a03660.html">NLMISC::CVector2f</a> &pos, float strenght, float radius)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapa20">perturbate</a> (<a class="el" href="a04558.html#a14">sint</a> <a class="el" href="a04223.html#a572">x</a>, <a class="el" href="a04558.html#a14">sint</a> <a class="el" href="a04223.html#a573">y</a>, <a class="el" href="a04558.html#a14">sint</a> radius, float intensity)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">create a perturbation in the height map. <a href="#NL3D_1_1CWaterHeightMapa20"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapa21">perturbatePoint</a> (const <a class="el" href="a03660.html">NLMISC::CVector2f</a> &pos, float strenght)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapa22">perturbatePoint</a> (<a class="el" href="a04558.html#a14">sint</a> <a class="el" href="a04223.html#a572">x</a>, <a class="el" href="a04558.html#a14">sint</a> <a class="el" href="a04223.html#a573">y</a>, float intensity)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">create a point perturbation in the height map. <a href="#NL3D_1_1CWaterHeightMapa22"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapa23">serial</a> (<a class="el" href="a02270.html">NLMISC::IStream</a> &f) throw (NLMISC::EStream)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">serial the pools data's <a href="#NL3D_1_1CWaterHeightMapa23"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapa24">setDamping</a> (float damping)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">damping <a href="#NL3D_1_1CWaterHeightMapa24"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapa25">setFilterWeight</a> (float filterWeight)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">filter weight <a href="#NL3D_1_1CWaterHeightMapa25"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapa26">setName</a> (const std::string &name)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set this pool name. <a href="#NL3D_1_1CWaterHeightMapa26"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapa27">setPropagationTime</a> (float time)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the propagation time. This is the time needed to go from one unit to one other in the height map. <a href="#NL3D_1_1CWaterHeightMapa27"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapa28">setSize</a> (<a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a04223.html#a587">size</a>)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapa29">setUnitSize</a> (float unitSize)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">water unit size <a href="#NL3D_1_1CWaterHeightMapa29"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapa30">setUserPos</a> (<a class="el" href="a04558.html#a14">sint</a> <a class="el" href="a04223.html#a572">x</a>, <a class="el" href="a04558.html#a14">sint</a> <a class="el" href="a04223.html#a573">y</a>)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">return the power of 2 used for this quad size <a href="#NL3D_1_1CWaterHeightMapa30"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapa31">setWaves</a> (float intensity, float period, <a class="el" href="a04558.html#a15">uint</a> radius, bool <a class="el" href="a04223.html#a635">border</a>)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapa32">~CWaterHeightMap</a> ()</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="a04558.html#a12">sint64</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapo0">Date</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">the last update date <a href="#NL3D_1_1CWaterHeightMapo0"></a><br><br></td></tr> +<tr><td colspan=2><br><h2>Private Types</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>typedef std::vector< <a class="el" href="a03660.html">NLMISC::CVector2f</a> > </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapy0">TFloat2Vect</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>typedef std::vector< float > </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapy1">TFloatVect</a></td></tr> + +<tr><td colspan=2><br><h2>Private Member Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapd0">animatePart</a> (float startTime, float endTime)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapd1">animateWaves</a> (float deltaT)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapd2">clearArea</a> (<a class="el" href="a04558.html#a7">uint8</a> currMap, <a class="el" href="a04558.html#a14">sint</a> <a class="el" href="a04223.html#a572">x</a>, <a class="el" href="a04558.html#a14">sint</a> <a class="el" href="a04223.html#a573">y</a>, <a class="el" href="a04558.html#a14">sint</a> <a class="el" href="a04223.html#a632">width</a>, <a class="el" href="a04558.html#a14">sint</a> <a class="el" href="a04223.html#a633">height</a>)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">clear an area of the water height map (has clipping, but no wrapping) <a href="#NL3D_1_1CWaterHeightMapd2"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapd3">clearBorder</a> (<a class="el" href="a04558.html#a15">uint</a> currMap)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">clear the borders <a href="#NL3D_1_1CWaterHeightMapd3"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapd4">clearZone</a> (<a class="el" href="a04558.html#a14">sint</a> <a class="el" href="a04223.html#a572">x</a>, <a class="el" href="a04558.html#a14">sint</a> <a class="el" href="a04223.html#a573">y</a>, <a class="el" href="a04558.html#a14">sint</a> <a class="el" href="a04223.html#a632">width</a>, <a class="el" href="a04558.html#a14">sint</a> <a class="el" href="a04223.html#a633">height</a>)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapd5">filter</a> (<a class="el" href="a04558.html#a15">uint</a> startLine, <a class="el" href="a04558.html#a15">uint</a> endLine)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">apply a filter on the height field <a href="#NL3D_1_1CWaterHeightMapd5"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapd6">makeCpy</a> (<a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a589">buffer</a>, <a class="el" href="a04558.html#a15">uint</a> dX, <a class="el" href="a04558.html#a15">uint</a> dY, <a class="el" href="a04558.html#a15">uint</a> sX, <a class="el" href="a04558.html#a15">uint</a> sY, <a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a632">width</a>, <a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a633">height</a>)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">displace the height map, when a boundary has been reached <a href="#NL3D_1_1CWaterHeightMapd6"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapd7">propagate</a> (<a class="el" href="a04558.html#a15">uint</a> startLine, <a class="el" href="a04558.html#a15">uint</a> endLine)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapd8">swapBuffers</a> (float deltaT)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">swap the height maps. It must be called once propagation and filtering have been performed <a href="#NL3D_1_1CWaterHeightMapd8"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapd9">updateUserPos</a> ()</td></tr> + +<tr><td colspan=2><br><h2>Private Attributes</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapr0">_BorderWaves</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a7">uint8</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapr1">_CurrMap</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>float </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapr2">_Damping</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>float </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapr3">_EmitEllapsedTime</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>float </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapr4">_FilterWeight</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapy1">TFloatVect</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapr5">_Map</a> [<a class="el" href="a05363.html#a350">NumWaterMap</a>]</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>std::string </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapr6">_Name</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapr7">_NewX</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapr8">_NewY</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>float </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapr9">_PropagateEllapsedTime</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a05363.html#a366">TAnimationTime</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapr10">_PropagationTime</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapr11">_Size</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>float </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapr12">_UnitSize</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapr13">_WaveImpulsionRadius</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>float </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapr14">_WaveIntensity</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>float </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapr15">_WavePeriod</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapr16">_WavesEnabled</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapr17">_X</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapr18">_Y</a></td></tr> + +<tr><td colspan=2><br><h2>Friends</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapn0">CWaterPoolManager</a></td></tr> + +</table> +<hr><h2>Member Typedef Documentation</h2> +<a class="anchor" name="NL3D_1_1CWaterHeightMapy0" doxytag="NL3D::CWaterHeightMap::TFloat2Vect" ></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"> typedef std::vector<<a class="el" href="a03660.html">NLMISC::CVector2f</a> > <a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapy0">NL3D::CWaterHeightMap::TFloat2Vect</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00237">237</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapy1" doxytag="NL3D::CWaterHeightMap::TFloatVect" ></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"> typedef std::vector<float> <a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapy1">NL3D::CWaterHeightMap::TFloatVect</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00236">236</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. </td> + </tr> +</table> +<hr><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" name="NL3D_1_1CWaterHeightMapa2" doxytag="NL3D::CWaterHeightMap::CWaterHeightMap" ></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::CWaterHeightMap::CWaterHeightMap </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06735.html#l00042">42</a> of file <a class="el" href="a06735.html">water_height_map.cpp</a>. +<p> +<div class="fragment"><pre>00042 : <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapo0">Date</a>(-1), +00043 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr16">_WavesEnabled</a>(<span class="keyword">false</span>), +00044 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr2">_Damping</a>(0.97f), +00045 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr4">_FilterWeight</a>(4), +00046 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr12">_UnitSize</a>(0.6f), +00047 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr14">_WaveIntensity</a>(0), +00048 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr15">_WavePeriod</a>(0), +00049 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr13">_WaveImpulsionRadius</a>(3), +00050 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr0">_BorderWaves</a>(<span class="keyword">true</span>), +00051 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr3">_EmitEllapsedTime</a>(0), +00052 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr9">_PropagateEllapsedTime</a>(0), +00053 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr10">_PropagationTime</a>(0.10f), +00054 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr17">_X</a>(0), +00055 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr18">_Y</a>(0), +00056 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr7">_NewX</a>(0), +00057 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr8">_NewY</a>(0), +00058 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr1">_CurrMap</a>(0), +00059 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr11">_Size</a>(0) +00060 { +00061 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapa32" doxytag="NL3D::CWaterHeightMap::~CWaterHeightMap" ></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"> virtual NL3D::CWaterHeightMap::~<a class="el" href="a03719.html">CWaterHeightMap</a> </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00188">188</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. +<p> +<div class="fragment"><pre>00188 {} +</pre></div> </td> + </tr> +</table> +<hr><h2>Member Function Documentation</h2> +<a class="anchor" name="NL3D_1_1CWaterHeightMapa0" doxytag="NL3D::CWaterHeightMap::animate" ></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::CWaterHeightMap::animate </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">float </td> + <td class="mdname1" valign="top" nowrap> <em>deltaT</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Animate this water pool. Usually called by <a class="el" href="a03721.html">CWaterModel</a> before the display, if this height map date is not the same as the current date. +<p> +Definition at line <a class="el" href="a06735.html#l00236">236</a> of file <a class="el" href="a06735.html">water_height_map.cpp</a>. +<p> +References <a class="el" href="a06736.html#l00230">_PropagateEllapsedTime</a>, <a class="el" href="a06736.html#l00231">_PropagationTime</a>, <a class="el" href="a06735.html#l00212">animatePart()</a>, <a class="el" href="a06735.html#l00442">animateWaves()</a>, and <a class="el" href="a06735.html#l00514">swapBuffers()</a>. +<p> +Referenced by <a class="el" href="a06737.html#l00437">NL3D::CWaterModel::traverseRender()</a>. +<p> +<div class="fragment"><pre>00237 { +00238 <span class="keywordflow">if</span> (deltaT < 0) deltaT = 0; +00239 <span class="keywordflow">if</span> (deltaT > <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr10">_PropagationTime</a>) +00240 { +00241 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapd0">animatePart</a>(0, _PropagationTime); +00242 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapd8">swapBuffers</a>(deltaT); +00243 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr9">_PropagateEllapsedTime</a> = 0; +00244 } +00245 <span class="keywordflow">else</span> +00246 { +00247 <span class="keyword">const</span> <span class="keywordtype">float</span> endTime = <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr9">_PropagateEllapsedTime</a> + deltaT; +00248 <span class="keyword">const</span> <span class="keywordtype">float</span> startTime = <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr9">_PropagateEllapsedTime</a>; +00249 +00250 <span class="keywordflow">if</span> (endTime < <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr10">_PropagationTime</a>) +00251 { +00252 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapd0">animatePart</a>(startTime, endTime); +00253 _PropagateEllapsedTime = endTime; +00254 } +00255 <span class="keywordflow">else</span> +00256 { +00257 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapd0">animatePart</a>(startTime, _PropagationTime); +00258 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapd8">swapBuffers</a>(deltaT); +00259 <span class="comment">//animatePart(0, endTime - _PropagationTime);</span> +00260 +00261 _PropagateEllapsedTime = 0 <span class="comment">/*endTime - _PropagationTime*/</span>; +00262 } +00263 } +00264 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapd1">animateWaves</a>(deltaT); +00265 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapd0" doxytag="NL3D::CWaterHeightMap::animatePart" ></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::CWaterHeightMap::animatePart </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">float </td> + <td class="mdname" nowrap> <em>startTime</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float </td> + <td class="mdname" nowrap> <em>endTime</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [private]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06735.html#l00212">212</a> of file <a class="el" href="a06735.html">water_height_map.cpp</a>. +<p> +References <a class="el" href="a06736.html#l00231">_PropagationTime</a>, <a class="el" href="a06735.html#l00399">filter()</a>, <a class="el" href="a06735.html#l00356">propagate()</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +Referenced by <a class="el" href="a06735.html#l00236">animate()</a>. +<p> +<div class="fragment"><pre>00213 { +00214 <span class="keywordflow">if</span> (endTime < 0.5f * <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr10">_PropagationTime</a>) +00215 { +00216 <span class="comment">// perform propagation</span> +00217 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapd7">propagate</a>((<a class="code" href="a04558.html#a15">uint</a>) (_Size * 2.f * startTime / _PropagationTime), (<a class="code" href="a04558.html#a15">uint</a>) (_Size * 2.f * endTime / _PropagationTime)); +00218 } +00219 <span class="keywordflow">else</span> +00220 { +00221 <span class="comment">// end propagation and start filter</span> +00222 <span class="keywordflow">if</span> (startTime < 0.5f * _PropagationTime) +00223 { +00224 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapd7">propagate</a>((<a class="code" href="a04558.html#a15">uint</a>) (_Size * 2.f * startTime / _PropagationTime), _Size); +00225 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapd5">filter</a>(0, (<a class="code" href="a04558.html#a15">uint</a>) (_Size * 2.f * (endTime / _PropagationTime - 0.5f))); +00226 } +00227 <span class="keywordflow">else</span> +00228 { +00229 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapd5">filter</a>((<a class="code" href="a04558.html#a15">uint</a>) (_Size * 2.f * (startTime / _PropagationTime - 0.5f)), (<a class="code" href="a04558.html#a15">uint</a>) (_Size * 2.f * (endTime / _PropagationTime - 0.5f))); +00230 } +00231 } +00232 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapd1" doxytag="NL3D::CWaterHeightMap::animateWaves" ></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::CWaterHeightMap::animateWaves </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">float </td> + <td class="mdname1" valign="top" nowrap> <em>deltaT</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [private]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06735.html#l00442">442</a> of file <a class="el" href="a06735.html">water_height_map.cpp</a>. +<p> +References <a class="el" href="a06736.html#l00228">_BorderWaves</a>, <a class="el" href="a06736.html#l00229">_EmitEllapsedTime</a>, <a class="el" href="a06736.html#l00235">_NewX</a>, <a class="el" href="a06736.html#l00235">_NewY</a>, <a class="el" href="a06736.html#l00227">_WaveImpulsionRadius</a>, <a class="el" href="a06736.html#l00225">_WaveIntensity</a>, <a class="el" href="a06736.html#l00226">_WavePeriod</a>, <a class="el" href="a06736.html#l00221">_WavesEnabled</a>, <a class="el" href="a06735.html#l00575">perturbate()</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +Referenced by <a class="el" href="a06735.html#l00236">animate()</a>. +<p> +<div class="fragment"><pre>00443 { +00444 <span class="keywordflow">if</span> (<a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr16">_WavesEnabled</a>) +00445 { +00446 <a class="code" href="a04558.html#a15">uint</a> numWaves; +00447 <span class="keywordflow">if</span> (<a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr15">_WavePeriod</a> == 0) +00448 { +00449 numWaves = 1; +00450 } +00451 <span class="keywordflow">else</span> +00452 { +00453 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr3">_EmitEllapsedTime</a> += deltaT; +00454 <span class="keywordflow">if</span> (<a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr3">_EmitEllapsedTime</a> > <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr15">_WavePeriod</a>) +00455 { +00456 numWaves = (<a class="code" href="a04558.html#a15">uint</a>) (<a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr3">_EmitEllapsedTime</a> / <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr15">_WavePeriod</a>); +00457 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr3">_EmitEllapsedTime</a> -= numWaves * <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr15">_WavePeriod</a>; +00458 <span class="keywordflow">if</span> (numWaves > 10) numWaves = 10; +00459 } +00460 <span class="keywordflow">else</span> +00461 { +00462 numWaves = 0; +00463 } +00464 } +00465 +00466 <a class="code" href="a04558.html#a15">uint</a> k; +00467 <span class="comment">// generate automatic waves</span> +00468 <span class="keywordflow">if</span> (!<a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr0">_BorderWaves</a>) +00469 { +00470 <span class="keywordflow">if</span> (<a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr14">_WaveIntensity</a> != 0) +00471 { +00472 <span class="keywordflow">for</span> (k = 0; k < numWaves; ++k) +00473 { +00474 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapa20">perturbate</a>(_NewX + rand() % _Size, _NewY + rand() % _Size, _WaveImpulsionRadius, _WaveIntensity); +00475 } +00476 } +00477 } +00478 <span class="keywordflow">else</span> +00479 { +00480 <span class="keywordflow">switch</span>(rand() & 3) <span class="comment">// choose a random border</span> +00481 { +00482 <span class="keywordflow">case</span> 0: <span class="comment">// top border</span> +00483 <span class="keywordflow">for</span> (k = 0; k < numWaves; ++k) +00484 { +00485 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapa20">perturbate</a>(_NewX + (<a class="code" href="a04558.html#a15">uint</a>) rand() % _Size, _NewY, _WaveImpulsionRadius, _WaveIntensity); +00486 } +00487 <span class="keywordflow">break</span>; +00488 <span class="keywordflow">case</span> 1: <span class="comment">// bottom border</span> +00489 <span class="keywordflow">for</span> (k = 0; k < numWaves; ++k) +00490 { +00491 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapa20">perturbate</a>(_NewX + (<a class="code" href="a04558.html#a15">uint</a>) rand() % _Size, _NewY + _Size - 1, _WaveImpulsionRadius, _WaveIntensity); +00492 } +00493 <span class="keywordflow">break</span>; +00494 <span class="keywordflow">case</span> 2: <span class="comment">// right border</span> +00495 <span class="keywordflow">for</span> (k = 0; k < numWaves; ++k) +00496 { +00497 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapa20">perturbate</a>(_NewX + _Size - 1, _NewY + (<a class="code" href="a04558.html#a15">uint</a>) rand() % _Size, _WaveImpulsionRadius, _WaveIntensity); +00498 } +00499 <span class="keywordflow">break</span>; +00500 <span class="keywordflow">case</span> 3: <span class="comment">// left border</span> +00501 <span class="keywordflow">for</span> (k = 0; k < numWaves; ++k) +00502 { +00503 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapa20">perturbate</a>(_NewX, _NewY + (<a class="code" href="a04558.html#a15">uint</a>) rand() % _Size, _WaveImpulsionRadius, _WaveIntensity); +00504 } +00505 <span class="keywordflow">break</span>; +00506 } +00507 +00508 } +00509 } +00510 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapa1" doxytag="NL3D::CWaterHeightMap::areWavesEnabled" ></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"> bool NL3D::CWaterHeightMap::areWavesEnabled </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +test wheter automatic waves generation is enabled +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00138">138</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. +<p> +References <a class="el" href="a06736.html#l00221">_WavesEnabled</a>. +<p> +<div class="fragment"><pre>00138 { <span class="keywordflow">return</span> <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr16">_WavesEnabled</a>; } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapd2" doxytag="NL3D::CWaterHeightMap::clearArea" ></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::CWaterHeightMap::clearArea </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a7">uint8</a> </td> + <td class="mdname" nowrap> <em>currMap</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a14">sint</a> </td> + <td class="mdname" nowrap> <em>x</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a14">sint</a> </td> + <td class="mdname" nowrap> <em>y</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a14">sint</a> </td> + <td class="mdname" nowrap> <em>width</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a14">sint</a> </td> + <td class="mdname" nowrap> <em>height</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [private]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +clear an area of the water height map (has clipping, but no wrapping) +<p> + +<p> +Definition at line <a class="el" href="a06735.html#l00533">533</a> of file <a class="el" href="a06735.html">water_height_map.cpp</a>. +<p> +References <a class="el" href="a06736.html#l00239">_Map</a>, <a class="el" href="a05646.html#l01013">height</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05981.html#l00104">sint</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#l01013">width</a>, <a class="el" href="a05646.html#l00236">x</a>, and <a class="el" href="a05646.html#l00236">y</a>. +<p> +Referenced by <a class="el" href="a06735.html#l00523">clearZone()</a>, <a class="el" href="a06735.html#l00066">setPropagationTime()</a>, and <a class="el" href="a06735.html#l00269">setSize()</a>. +<p> +<div class="fragment"><pre>00534 { +00535 <a class="code" href="a04199.html#a6">nlassert</a>(_Size > 1); +00536 <a class="code" href="a04199.html#a6">nlassert</a>(width >= 0); +00537 <a class="code" href="a04199.html#a6">nlassert</a>(height >= 0); +00538 <a class="code" href="a04558.html#a15">uint</a> sizex2 = <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr11">_Size</a> << 1; +00539 +00540 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a572">x</a> < 0) +00541 { +00542 <a class="code" href="a04223.html#a632">width</a> += <a class="code" href="a04223.html#a572">x</a>; +00543 <a class="code" href="a04223.html#a572">x</a> = 0; +00544 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a632">width</a> <= 0) <span class="keywordflow">return</span>; +00545 } +00546 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a573">y</a> < 0) +00547 { +00548 <a class="code" href="a04223.html#a633">height</a> += <a class="code" href="a04223.html#a573">y</a>; +00549 <a class="code" href="a04223.html#a573">y</a> = 0; +00550 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a633">height</a> <= 0) <span class="keywordflow">return</span>; +00551 } +00552 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a572">x</a> + <a class="code" href="a04223.html#a632">width</a> > (<a class="code" href="a04558.html#a14">sint</a>) sizex2) +00553 { +00554 <a class="code" href="a04223.html#a632">width</a> = <a class="code" href="a04223.html#a632">width</a> - (<a class="code" href="a04223.html#a572">x</a> + <a class="code" href="a04223.html#a632">width</a> - sizex2); +00555 } +00556 +00557 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a573">y</a> + <a class="code" href="a04223.html#a633">height</a> > (<a class="code" href="a04558.html#a14">sint</a>) sizex2) +00558 { +00559 <a class="code" href="a04223.html#a633">height</a> = <a class="code" href="a04223.html#a633">height</a> - (<a class="code" href="a04223.html#a573">y</a> + <a class="code" href="a04223.html#a633">height</a> - sizex2); +00560 } +00561 +00562 <span class="keywordtype">float</span> *dest = &*(<a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr5">_Map</a>[ currMap ].begin() + <a class="code" href="a04223.html#a572">x</a> + (_Size << 1) * <a class="code" href="a04223.html#a573">y</a>); +00563 <span class="keywordflow">do</span> +00564 { +00565 std::fill(dest, dest + width, 0.f); +00566 dest += (_Size << 1); +00567 } +00568 <span class="keywordflow">while</span> (-- <a class="code" href="a04223.html#a633">height</a>); +00569 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapd3" doxytag="NL3D::CWaterHeightMap::clearBorder" ></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::CWaterHeightMap::clearBorder </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname1" valign="top" nowrap> <em>currMap</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [private]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +clear the borders +<p> + +<p> +Definition at line <a class="el" href="a06735.html#l00635">635</a> of file <a class="el" href="a06735.html">water_height_map.cpp</a>. +<p> +References <a class="el" href="a06736.html#l00239">_Map</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +Referenced by <a class="el" href="a06735.html#l00356">propagate()</a>. +<p> +<div class="fragment"><pre>00636 { +00637 <span class="keywordtype">float</span> *map = &<a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr5">_Map</a>[currMap][0]; +00638 <a class="code" href="a04558.html#a15">uint</a> sizex2 = <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr11">_Size</a> << 1; +00639 +00640 <span class="comment">// top and bottom</span> +00641 +00642 <span class="keywordtype">float</span> *up = &map[(<a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr17">_X</a> % _Size) + sizex2 * (<a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr18">_Y</a> % _Size)]; +00643 <span class="keywordtype">float</span> *curr = up; +00644 <span class="keyword">const</span> <span class="keywordtype">float</span> *endUp = up + _Size; +00645 <span class="keyword">const</span> <a class="code" href="a04558.html#a15">uint</a> downOff = (_Size - 1) * sizex2; +00646 <span class="keywordflow">do</span> +00647 { +00648 *curr = curr[downOff] = 0.f; +00649 ++curr; +00650 } +00651 <span class="keywordflow">while</span> (curr != endUp); +00652 +00653 <span class="comment">// right and left</span> +00654 curr = up; +00655 <span class="keyword">const</span> <span class="keywordtype">float</span> *endLeft = up + downOff; +00656 <span class="keyword">const</span> <a class="code" href="a04558.html#a15">uint</a> rightOff = _Size - 1; +00657 <span class="keywordflow">do</span> +00658 { +00659 *curr = curr[rightOff] = 0.f; +00660 curr += sizex2; +00661 } +00662 <span class="keywordflow">while</span> (curr != endLeft); +00663 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapd4" doxytag="NL3D::CWaterHeightMap::clearZone" ></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::CWaterHeightMap::clearZone </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a14">sint</a> </td> + <td class="mdname" nowrap> <em>x</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a14">sint</a> </td> + <td class="mdname" nowrap> <em>y</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a14">sint</a> </td> + <td class="mdname" nowrap> <em>width</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a14">sint</a> </td> + <td class="mdname" nowrap> <em>height</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [private]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06735.html#l00523">523</a> of file <a class="el" href="a06735.html">water_height_map.cpp</a>. +<p> +References <a class="el" href="a06735.html#l00533">clearArea()</a>, <a class="el" href="a05646.html#l01013">height</a>, <a class="el" href="a06736.html#l00065">NL3D::NumWaterMap</a>, <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05646.html#l01013">width</a>, <a class="el" href="a05646.html#l00236">x</a>, and <a class="el" href="a05646.html#l00236">y</a>. +<p> +Referenced by <a class="el" href="a06735.html#l00078">updateUserPos()</a>. +<p> +<div class="fragment"><pre>00524 { +00525 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> k = 0; k < <a class="code" href="a05363.html#a350">NumWaterMap</a>; ++k) +00526 { +00527 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapd2">clearArea</a>(k, x, y, width, height); +00528 } +00529 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapa3" doxytag="NL3D::CWaterHeightMap::enableWaves" ></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::CWaterHeightMap::enableWaves </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">bool </td> + <td class="mdname1" valign="top" nowrap> <em>enabled</em> = true </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +enable automatic waves generation +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00135">135</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. +<p> +References <a class="el" href="a06736.html#l00221">_WavesEnabled</a>. +<p> +Referenced by <a class="el" href="a06739.html#l00093">NL3D::CWaterPoolManager::createWaterPool()</a>. +<p> +<div class="fragment"><pre>00135 { <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr16">_WavesEnabled</a> = enabled; } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapd5" doxytag="NL3D::CWaterHeightMap::filter" ></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::CWaterHeightMap::filter </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>startLine</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>endLine</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [private]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +apply a filter on the height field +<p> + +<p> +Definition at line <a class="el" href="a06735.html#l00399">399</a> of file <a class="el" href="a06735.html">water_height_map.cpp</a>. +<p> +References <a class="el" href="a06736.html#l00241">_CurrMap</a>, <a class="el" href="a06736.html#l00223">_FilterWeight</a>, <a class="el" href="a06736.html#l00239">_Map</a>, <a class="el" href="a05484.html#l00038">min</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06736.html#l00065">NL3D::NumWaterMap</a>, <a class="el" href="a05646.html#l00645">offset</a>, <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05646.html#l00236">x</a>, and <a class="el" href="a05646.html#l00236">y</a>. +<p> +Referenced by <a class="el" href="a06735.html#l00212">animatePart()</a>. +<p> +<div class="fragment"><pre>00400 { +00401 start = std::max(1u, start); +00402 end = <a class="code" href="a04061.html#a0">std::min</a>((<a class="code" href="a04558.html#a15">uint</a>) (_Size - 1), end); +00403 <span class="keyword">const</span> <span class="keywordtype">float</span> blurCoeff = <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr4">_FilterWeight</a>; +00404 <a class="code" href="a04199.html#a6">nlassert</a>(_Size != 0); +00405 <a class="code" href="a04558.html#a14">sint</a> <a class="code" href="a04223.html#a572">x</a>, <a class="code" href="a04223.html#a573">y</a>; +00406 <a class="code" href="a04558.html#a15">uint</a> px = <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr17">_X</a> % <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr11">_Size</a>; +00407 <a class="code" href="a04558.html#a15">uint</a> py = <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr18">_Y</a> % <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr11">_Size</a>; +00408 <a class="code" href="a04558.html#a14">sint</a> <a class="code" href="a04223.html#a586">offset</a> = px + 1 + ((py + start) * (<a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr11">_Size</a> << 1)); +00409 <span class="keywordtype">float</span> *buf = &<a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr5">_Map</a>[ (<a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr1">_CurrMap</a> + 1) % <a class="code" href="a05363.html#a350">NumWaterMap</a> ][<a class="code" href="a04223.html#a586">offset</a>]; +00410 <span class="comment">//NLMISC::CVector2f *ptGrad = &_Grad[offset];</span> +00411 <a class="code" href="a04223.html#a573">y</a> = end - start; +00412 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a573">y</a> <= 0) <span class="keywordflow">return</span>; +00413 <span class="keyword">const</span> <span class="keywordtype">float</span> totalBlurCoeff = (1.f / (4.f + blurCoeff)); +00414 <span class="keyword">const</span> <a class="code" href="a04558.html#a14">sint</a> sizeX2 = <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr11">_Size</a> << 1; +00415 <span class="keywordflow">do</span> +00416 { +00417 <a class="code" href="a04223.html#a572">x</a> = _Size - 2; +00418 <span class="keywordflow">do</span> +00419 { +00420 *buf = totalBlurCoeff * (*buf * blurCoeff +00421 + buf[1] +00422 + buf[-1] +00423 + buf[sizeX2] +00424 + buf[- sizeX2] +00425 ); +00426 <span class="comment">// compute gradient</span> +00427 <span class="comment">/*ptGrad->x = buf[1] - buf[- 1];</span> +00428 <span class="comment"> ptGrad->y = buf[sizeX2] - buf[- sizeX2];*/</span> +00429 +00430 ++buf; +00431 <span class="comment">//++ptGrad;</span> +00432 } +00433 <span class="keywordflow">while</span> (--<a class="code" href="a04223.html#a572">x</a>); +00434 buf += _Size + 2; +00435 <span class="comment">//ptGrad += _Size + 2;</span> +00436 } +00437 <span class="keywordflow">while</span> (--<a class="code" href="a04223.html#a573">y</a>); +00438 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapa4" doxytag="NL3D::CWaterHeightMap::getBorderWaves" ></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"> bool NL3D::CWaterHeightMap::getBorderWaves </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Test whether waves are enabled on the border. +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00159">159</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. +<p> +References <a class="el" href="a06736.html#l00228">_BorderWaves</a>. +<p> +<div class="fragment"><pre>00159 { <span class="keywordflow">return</span> <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr0">_BorderWaves</a>; } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapa5" doxytag="NL3D::CWaterHeightMap::getBufferRatio" ></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"> float NL3D::CWaterHeightMap::getBufferRatio </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +get the ratio between the previous and the current buffer +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00128">128</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. +<p> +References <a class="el" href="a06736.html#l00230">_PropagateEllapsedTime</a>, and <a class="el" href="a06736.html#l00231">_PropagationTime</a>. +<p> +Referenced by <a class="el" href="a06735.html#l00726">getHeight()</a>, and <a class="el" href="a06737.html#l00182">NL3D::SetupWaterVertex()</a>. +<p> +<div class="fragment"><pre>00128 { <span class="keywordflow">return</span> <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr10">_PropagationTime</a> != 0 ? <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr9">_PropagateEllapsedTime</a> / <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr10">_PropagationTime</a> : 0.f; } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapa6" doxytag="NL3D::CWaterHeightMap::getDamping" ></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"> float NL3D::CWaterHeightMap::getDamping </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00163">163</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. +<p> +References <a class="el" href="a06736.html#l00222">_Damping</a>. +<p> +<div class="fragment"><pre>00163 { <span class="keywordflow">return</span> <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr2">_Damping</a>; } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapa7" doxytag="NL3D::CWaterHeightMap::getFilterWeight" ></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"> float NL3D::CWaterHeightMap::getFilterWeight </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00167">167</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. +<p> +References <a class="el" href="a06736.html#l00223">_FilterWeight</a>. +<p> +<div class="fragment"><pre>00167 { <span class="keywordflow">return</span> <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr4">_FilterWeight</a>; } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapa8" doxytag="NL3D::CWaterHeightMap::getHeight" ></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"> float NL3D::CWaterHeightMap::getHeight </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03660.html">NLMISC::CVector2f</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>pos</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Inherited from <a class="el" href="a03955.html">UWaterHeightMap</a>. Get the height of water at the given location. +<p> +Implements <a class="el" href="a03955.html#NL3D_1_1UWaterHeightMapa0">NL3D::UWaterHeightMap</a>. +<p> +Definition at line <a class="el" href="a06735.html#l00726">726</a> of file <a class="el" href="a06735.html">water_height_map.cpp</a>. +<p> +References <a class="el" href="a06736.html#l00224">_UnitSize</a>, <a class="el" href="a06735.html#l00715">NL3D::BilinFilter()</a>, <a class="el" href="a06736.html#l00128">getBufferRatio()</a>, <a class="el" href="a06736.html#l00122">getPointer()</a>, <a class="el" href="a06736.html#l00125">getPrevPointer()</a>, <a class="el" href="a05646.html#l00645">offset</a>, <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a06677.html#l00052">NLMISC::CVector2f::x</a>, and <a class="el" href="a06677.html#l00052">NLMISC::CVector2f::y</a>. +<p> +Referenced by <a class="el" href="a06737.html#l00127">NL3D::CWaterModel::getAttenuatedHeight()</a>, and <a class="el" href="a06737.html#l00117">NL3D::CWaterModel::getHeight()</a>. +<p> +<div class="fragment"><pre>00727 { +00728 <span class="keyword">const</span> <span class="keywordtype">float</span> invUnitSize = 1.f / <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr12">_UnitSize</a>; +00729 +00730 <span class="keyword">const</span> <span class="keywordtype">float</span> xPos = invUnitSize * pos.<a class="code" href="a03660.html#NLMISC_1_1CVector2fo0">x</a>; <span class="comment">// position in map space</span> +00731 <span class="keyword">const</span> <span class="keywordtype">float</span> yPos = invUnitSize * pos.<a class="code" href="a03660.html#NLMISC_1_1CVector2fo1">y</a>; <span class="comment">// position in map space</span> +00732 +00733 +00734 <span class="keywordflow">if</span> ((<a class="code" href="a04558.html#a15">uint</a>) xPos - <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr17">_X</a> < <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr11">_Size</a> - 1 +00735 && (<a class="code" href="a04558.html#a15">uint</a>) yPos - <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr18">_Y</a> < <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr11">_Size</a> - 1 +00736 ) +00737 +00738 { +00739 +00740 <span class="keyword">const</span> <a class="code" href="a04558.html#a14">sint</a> orgX = <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr17">_X</a> - <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr17">_X</a> % <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr11">_Size</a>; +00741 <span class="keyword">const</span> <a class="code" href="a04558.html#a14">sint</a> orgY = <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr18">_Y</a> - <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr18">_Y</a> % <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr11">_Size</a>; +00742 <span class="keyword">const</span> <a class="code" href="a04558.html#a15">uint</a> sizeX2 = <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr11">_Size</a> << 1; +00743 +00744 +00745 <span class="keyword">const</span> <a class="code" href="a04558.html#a14">sint</a> fxPos = (<a class="code" href="a04558.html#a14">sint</a>) floorf(xPos); +00746 <span class="keyword">const</span> <a class="code" href="a04558.html#a14">sint</a> fyPos = (<a class="code" href="a04558.html#a14">sint</a>) floorf(yPos); +00747 +00748 +00749 +00750 <span class="keyword">const</span> <span class="keywordtype">float</span> deltaU = xPos - fxPos; +00751 <span class="keyword">const</span> <span class="keywordtype">float</span> deltaV = yPos - fyPos; +00752 <span class="keyword">const</span> <a class="code" href="a04558.html#a15">uint</a> <a class="code" href="a04223.html#a586">offset</a> = (<a class="code" href="a04558.html#a15">uint</a>) fxPos - orgX + sizeX2 * ( (<a class="code" href="a04558.html#a15">uint</a>) fyPos - orgY); +00753 <span class="keyword">const</span> <span class="keywordtype">float</span> lambda = <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapa5">getBufferRatio</a>(); +00754 <span class="keyword">const</span> <span class="keywordtype">float</span> *map1 = <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapa11">getPrevPointer</a>(); +00755 <span class="keyword">const</span> <span class="keywordtype">float</span> *map2 = <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapa10">getPointer</a>(); +00756 +00757 <span class="keywordflow">return</span> <a class="code" href="a05363.html#a546">BilinFilter</a>(lambda * map2[offset] + (1.f - lambda) * map1[offset ], <span class="comment">// top left</span> +00758 lambda * map2[offset + 1] + (1.f - lambda) * map1[offset + 1], <span class="comment">// top right</span> +00759 lambda * map2[offset + sizeX2 + 1] + (1.f - lambda) * map1[offset + sizeX2 + 1], <span class="comment">// bottom right</span> +00760 lambda * map2[offset + sizeX2 ] + (1.f - lambda) * map1[offset + sizeX2 ], <span class="comment">// bottom left</span> +00761 deltaU, +00762 deltaV +00763 ); +00764 } +00765 <span class="keywordflow">else</span> <span class="keywordflow">return</span> 0; +00766 +00767 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapa9" doxytag="NL3D::CWaterHeightMap::getName" ></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"> const std::string& NL3D::CWaterHeightMap::getName </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">void </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get this pool name. +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00183">183</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. +<p> +<div class="fragment"><pre>00183 { <span class="keywordflow">return</span> <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr6">_Name</a>; } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapa10" doxytag="NL3D::CWaterHeightMap::getPointer" ></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"> float* NL3D::CWaterHeightMap::getPointer </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">void </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +get a pointer on the current buffer. +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00122">122</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. +<p> +References <a class="el" href="a06736.html#l00241">_CurrMap</a>, and <a class="el" href="a06736.html#l00239">_Map</a>. +<p> +Referenced by <a class="el" href="a06735.html#l00726">getHeight()</a>, and <a class="el" href="a06737.html#l00182">NL3D::SetupWaterVertex()</a>. +<p> +<div class="fragment"><pre>00122 { <span class="keywordflow">return</span> &(<a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr5">_Map</a>[<a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr1">_CurrMap</a>][0]); } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapa11" doxytag="NL3D::CWaterHeightMap::getPrevPointer" ></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"> float* NL3D::CWaterHeightMap::getPrevPointer </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">void </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +get a pointer on the previous buffer. +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00125">125</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. +<p> +References <a class="el" href="a06736.html#l00241">_CurrMap</a>, <a class="el" href="a06736.html#l00239">_Map</a>, and <a class="el" href="a06736.html#l00065">NL3D::NumWaterMap</a>. +<p> +Referenced by <a class="el" href="a06735.html#l00726">getHeight()</a>, and <a class="el" href="a06737.html#l00182">NL3D::SetupWaterVertex()</a>. +<p> +<div class="fragment"><pre>00125 { <span class="keywordflow">return</span> &(<a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr5">_Map</a>[(<a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr1">_CurrMap</a> + (<a class="code" href="a05363.html#a350">NumWaterMap</a> - 1)) % <a class="code" href="a05363.html#a350">NumWaterMap</a>][0]); } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapa12" doxytag="NL3D::CWaterHeightMap::getPropagationTime" ></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="a05363.html#a366">TAnimationTime</a> NL3D::CWaterHeightMap::getPropagationTime </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get the propagation time. +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00194">194</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. +<p> +References <a class="el" href="a06736.html#l00231">_PropagationTime</a>, and <a class="el" href="a05454.html#l00044">NL3D::TAnimationTime</a>. +<p> +Referenced by <a class="el" href="a06737.html#l00998">NL3D::CWaveMakerModel::traverseAnimDetail()</a>. +<p> +<div class="fragment"><pre>00194 { <span class="keywordflow">return</span> <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr10">_PropagationTime</a>; } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapa13" doxytag="NL3D::CWaterHeightMap::getSize" ></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> NL3D::CWaterHeightMap::getSize </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">void </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +return the size of the height map +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00082">82</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. +<p> +References <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +Referenced by <a class="el" href="a06741.html#l00695">NL3D::CWaveMakerShape::clip()</a>, <a class="el" href="a06737.html#l00127">NL3D::CWaterModel::getAttenuatedHeight()</a>, and <a class="el" href="a06737.html#l00437">NL3D::CWaterModel::traverseRender()</a>. +<p> +<div class="fragment"><pre>00082 { <span class="keywordflow">return</span> <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr11">_Size</a>; } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapa14" doxytag="NL3D::CWaterHeightMap::getUnitSize" ></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"> float NL3D::CWaterHeightMap::getUnitSize </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline, virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +get the size in meter of a heightmap texel +<p> + +<p> +Implements <a class="el" href="a03955.html#NL3D_1_1UWaterHeightMapa1">NL3D::UWaterHeightMap</a>. +<p> +Definition at line <a class="el" href="a06736.html#l00171">171</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. +<p> +References <a class="el" href="a06736.html#l00224">_UnitSize</a>. +<p> +Referenced by <a class="el" href="a06741.html#l00695">NL3D::CWaveMakerShape::clip()</a>, <a class="el" href="a06737.html#l00127">NL3D::CWaterModel::getAttenuatedHeight()</a>, and <a class="el" href="a06737.html#l00437">NL3D::CWaterModel::traverseRender()</a>. +<p> +<div class="fragment"><pre>00171 { <span class="keywordflow">return</span> <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr12">_UnitSize</a>; } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapa15" doxytag="NL3D::CWaterHeightMap::getUserPos" ></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::CWaterHeightMap::getUserPos </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a14">sint</a> & </td> + <td class="mdname" nowrap> <em>x</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a14">sint</a> & </td> + <td class="mdname" nowrap> <em>y</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"> const</td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Retrieve the use pos NB: this may be different from the params of a former call to setUserPos (should have been taken in account) +<p> +Definition at line <a class="el" href="a06735.html#l00347">347</a> of file <a class="el" href="a06735.html">water_height_map.cpp</a>. +<p> +References <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a05646.html#l00236">x</a>, and <a class="el" href="a05646.html#l00236">y</a>. +<p> +Referenced by <a class="el" href="a06737.html#l00437">NL3D::CWaterModel::traverseRender()</a>. +<p> +<div class="fragment"><pre>00348 { +00349 <a class="code" href="a04223.html#a572">x</a> = (<a class="code" href="a04558.html#a14">sint</a>) <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr17">_X</a>; <a class="code" href="a04223.html#a573">y</a> = (<a class="code" href="a04558.html#a14">sint</a>) <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr18">_Y</a>; +00350 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapa16" doxytag="NL3D::CWaterHeightMap::getWaveImpulsionRadius" ></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> NL3D::CWaterHeightMap::getWaveImpulsionRadius </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +radius of impulsion for the waves +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00156">156</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. +<p> +References <a class="el" href="a06736.html#l00227">_WaveImpulsionRadius</a>, and <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +<div class="fragment"><pre>00156 { <span class="keywordflow">return</span> <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr13">_WaveImpulsionRadius</a>; } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapa17" doxytag="NL3D::CWaterHeightMap::getWaveIntensity" ></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"> float NL3D::CWaterHeightMap::getWaveIntensity </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +get the intensity of waves +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00150">150</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. +<p> +References <a class="el" href="a06736.html#l00225">_WaveIntensity</a>. +<p> +<div class="fragment"><pre>00150 { <span class="keywordflow">return</span> <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr14">_WaveIntensity</a>; } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapa18" doxytag="NL3D::CWaterHeightMap::getWavePeriod" ></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"> float NL3D::CWaterHeightMap::getWavePeriod </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +get the period of waves +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00153">153</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. +<p> +References <a class="el" href="a06736.html#l00226">_WavePeriod</a>. +<p> +<div class="fragment"><pre>00153 { <span class="keywordflow">return</span> <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr15">_WavePeriod</a>; } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapd6" doxytag="NL3D::CWaterHeightMap::makeCpy" ></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::CWaterHeightMap::makeCpy </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>buffer</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>dX</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>dY</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>sX</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>sY</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>width</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>height</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [private]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +displace the height map, when a boundary has been reached +<p> + +<p> +Definition at line <a class="el" href="a06735.html#l00283">283</a> of file <a class="el" href="a06735.html">water_height_map.cpp</a>. +<p> +References <a class="el" href="a06736.html#l00239">_Map</a>, <a class="el" href="a05646.html#l00649">buffer</a>, <a class="el" href="a05646.html#l01013">height</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a05646.html#l01124">src</a>, <a class="el" href="a05646.html#l00244">stride</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05646.html#l01013">width</a>. +<p> +Referenced by <a class="el" href="a06735.html#l00078">updateUserPos()</a>. +<p> +<div class="fragment"><pre>00284 { +00285 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a632">width</a> == 0 || <a class="code" href="a04223.html#a633">height</a> == 0) <span class="keywordflow">return</span>; +00286 <a class="code" href="a04199.html#a6">nlassert</a>(dX <= (2 * _Size)); +00287 <a class="code" href="a04199.html#a6">nlassert</a>(dY <= (2 * _Size)); +00288 <a class="code" href="a04199.html#a6">nlassert</a>(sX <= (2 * _Size)); +00289 <a class="code" href="a04199.html#a6">nlassert</a>(sY <= (2 * _Size)); +00290 <a class="code" href="a04199.html#a6">nlassert</a>(dX + width <= 2 * _Size); +00291 <a class="code" href="a04199.html#a6">nlassert</a>(sX + width <= 2 * _Size); +00292 <a class="code" href="a04199.html#a6">nlassert</a>(dY + height <= 2 * _Size); +00293 <a class="code" href="a04199.html#a6">nlassert</a>(sY + height <= 2 * _Size); +00294 +00295 <a class="code" href="a04558.html#a14">sint</a> stepY; +00296 <span class="keywordtype">float</span> *<a class="code" href="a04223.html#a652">src</a>, *dest; +00297 +00298 <span class="keyword">const</span> <a class="code" href="a04558.html#a14">sint</a> <a class="code" href="a04223.html#a582">stride</a> = <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr11">_Size</a> << 1; +00299 <span class="keywordflow">if</span> (dY <= sY) +00300 { +00301 stepY = <a class="code" href="a04223.html#a582">stride</a>; +00302 <a class="code" href="a04223.html#a652">src</a> = &<a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr5">_Map</a>[<a class="code" href="a04223.html#a589">buffer</a>][sX + sY * <a class="code" href="a04223.html#a582">stride</a>]; +00303 dest = &_Map[<a class="code" href="a04223.html#a589">buffer</a>][dX + dY * <a class="code" href="a04223.html#a582">stride</a>]; +00304 } +00305 <span class="keywordflow">else</span> +00306 { +00307 stepY = -<a class="code" href="a04223.html#a582">stride</a>; +00308 <a class="code" href="a04223.html#a652">src</a> = &<a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr5">_Map</a>[<a class="code" href="a04223.html#a589">buffer</a>][sX + (sY + <a class="code" href="a04223.html#a633">height</a> - 1) * <a class="code" href="a04223.html#a582">stride</a>]; +00309 dest = &_Map[<a class="code" href="a04223.html#a589">buffer</a>][dX + (dY + <a class="code" href="a04223.html#a633">height</a> - 1) * <a class="code" href="a04223.html#a582">stride</a>]; +00310 } +00311 +00312 <a class="code" href="a04558.html#a14">sint</a> k = <a class="code" href="a04223.html#a633">height</a>; +00313 <span class="keywordflow">do</span> +00314 { +00315 <span class="keywordflow">if</span> (dest < <a class="code" href="a04223.html#a652">src</a>) +00316 { +00317 std::copy(src, src + width, dest); +00318 } +00319 <span class="keywordflow">else</span> +00320 { +00321 <span class="keywordtype">float</span> *rSrc = <a class="code" href="a04223.html#a652">src</a> + <a class="code" href="a04223.html#a632">width</a>; +00322 <span class="keywordtype">float</span> *rDest = dest + <a class="code" href="a04223.html#a632">width</a>; +00323 <span class="keywordflow">do</span> +00324 { +00325 --rSrc; +00326 --rDest; +00327 *rDest = *rSrc; +00328 } +00329 <span class="keywordflow">while</span> (rSrc != <a class="code" href="a04223.html#a652">src</a>); +00330 } +00331 <a class="code" href="a04223.html#a652">src</a> += stepY; +00332 dest += stepY; +00333 } +00334 <span class="keywordflow">while</span> (--k); +00335 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapa19" doxytag="NL3D::CWaterHeightMap::perturbate" ></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::CWaterHeightMap::perturbate </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03660.html">NLMISC::CVector2f</a> & </td> + <td class="mdname" nowrap> <em>pos</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float </td> + <td class="mdname" nowrap> <em>strenght</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float </td> + <td class="mdname" nowrap> <em>radius</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Inherited from <a class="el" href="a03955.html">UWaterHeightMap</a>. This version takes a location in world space +<p> +Implements <a class="el" href="a03955.html#NL3D_1_1UWaterHeightMapa2">NL3D::UWaterHeightMap</a>. +<p> +Definition at line <a class="el" href="a06735.html#l00601">601</a> of file <a class="el" href="a06735.html">water_height_map.cpp</a>. +<p> +References <a class="el" href="a06736.html#l00224">_UnitSize</a>, <a class="el" href="a06735.html#l00575">perturbate()</a>, <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a06677.html#l00052">NLMISC::CVector2f::x</a>, and <a class="el" href="a06677.html#l00052">NLMISC::CVector2f::y</a>. +<p> +<div class="fragment"><pre>00602 { +00603 <span class="keyword">const</span> <span class="keywordtype">float</span> invUnitSize = 1.f / <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr12">_UnitSize</a>; +00604 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapa20">perturbate</a>((<a class="code" href="a04558.html#a14">sint</a>) (pos.<a class="code" href="a03660.html#NLMISC_1_1CVector2fo0">x</a> * invUnitSize), (<a class="code" href="a04558.html#a14">sint</a>) (pos.<a class="code" href="a03660.html#NLMISC_1_1CVector2fo1">y</a> * invUnitSize), (<a class="code" href="a04558.html#a14">sint</a>) radius, strenght); +00605 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapa20" doxytag="NL3D::CWaterHeightMap::perturbate" ></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::CWaterHeightMap::perturbate </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a14">sint</a> </td> + <td class="mdname" nowrap> <em>x</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a14">sint</a> </td> + <td class="mdname" nowrap> <em>y</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a14">sint</a> </td> + <td class="mdname" nowrap> <em>radius</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float </td> + <td class="mdname" nowrap> <em>intensity</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +create a perturbation in the height map. +<p> + +<p> +Definition at line <a class="el" href="a06735.html#l00575">575</a> of file <a class="el" href="a06735.html">water_height_map.cpp</a>. +<p> +References <a class="el" href="a06736.html#l00241">_CurrMap</a>, <a class="el" href="a06736.html#l00239">_Map</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06736.html#l00065">NL3D::NumWaterMap</a>, <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05646.html#l00237">v</a>, <a class="el" href="a05646.html#l00236">x</a>, and <a class="el" href="a05646.html#l00236">y</a>. +<p> +Referenced by <a class="el" href="a06735.html#l00442">animateWaves()</a>, <a class="el" href="a06735.html#l00601">perturbate()</a>, and <a class="el" href="a06737.html#l00998">NL3D::CWaveMakerModel::traverseAnimDetail()</a>. +<p> +<div class="fragment"><pre>00576 { +00577 <a class="code" href="a04199.html#a6">nlassert</a>(_Size != 0); +00578 <a class="code" href="a04199.html#a6">nlassert</a>(radius > 0); +00579 <a class="code" href="a04558.html#a14">sint</a> orgX = <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr17">_X</a> - <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr17">_X</a> % <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr11">_Size</a>; +00580 <a class="code" href="a04558.html#a14">sint</a> orgY = <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr18">_Y</a> - <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr18">_Y</a> % <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr11">_Size</a>; +00581 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapy1">TFloatVect</a> &map = <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr5">_Map</a>[(<a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr1">_CurrMap</a> + 1) % <a class="code" href="a05363.html#a350">NumWaterMap</a>]; +00582 <span class="keyword">const</span> <a class="code" href="a04558.html#a15">uint</a> sizeX2 = <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr11">_Size</a> << 1; +00583 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a14">sint</a> px = -radius + 1; px < radius; ++px) +00584 { +00585 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a14">sint</a> py = -radius + 1; py < radius; ++py) +00586 { +00587 <span class="keywordflow">if</span> ((<a class="code" href="a04558.html#a15">uint</a>) (<a class="code" href="a04223.html#a572">x</a> + px - orgX) < sizeX2 +00588 && (<a class="code" href="a04558.html#a15">uint</a>) (<a class="code" href="a04223.html#a573">y</a> + py - orgY) < sizeX2) +00589 { +00590 +00591 <span class="keywordtype">float</span> dist = ((<span class="keywordtype">float</span>) radius - sqrtf((<span class="keywordtype">float</span>) (px * px + py * py ))) / (<span class="keywordtype">float</span>) radius; +00592 <span class="keywordtype">float</span> <a class="code" href="a04223.html#a576">v</a> = dist < radius ? intensity * cosf(dist * (<span class="keywordtype">float</span>) NLMISC::Pi * 0.5f) : 0.f; +00593 map[<a class="code" href="a04223.html#a572">x</a> + px - orgX + sizeX2 * (<a class="code" href="a04223.html#a573">y</a> + py - orgY)] = <a class="code" href="a04223.html#a576">v</a>; +00594 } +00595 } +00596 } +00597 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapa21" doxytag="NL3D::CWaterHeightMap::perturbatePoint" ></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::CWaterHeightMap::perturbatePoint </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03660.html">NLMISC::CVector2f</a> & </td> + <td class="mdname" nowrap> <em>pos</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float </td> + <td class="mdname" nowrap> <em>strenght</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Inherited from <a class="el" href="a03955.html">UWaterHeightMap</a>. This version takes a location in world space +<p> +Implements <a class="el" href="a03955.html#NL3D_1_1UWaterHeightMapa3">NL3D::UWaterHeightMap</a>. +<p> +Definition at line <a class="el" href="a06735.html#l00627">627</a> of file <a class="el" href="a06735.html">water_height_map.cpp</a>. +<p> +References <a class="el" href="a06736.html#l00224">_UnitSize</a>, <a class="el" href="a06735.html#l00609">perturbatePoint()</a>, <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a06677.html#l00052">NLMISC::CVector2f::x</a>, and <a class="el" href="a06677.html#l00052">NLMISC::CVector2f::y</a>. +<p> +<div class="fragment"><pre>00628 { +00629 <span class="keyword">const</span> <span class="keywordtype">float</span> invUnitSize = 1.f / <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr12">_UnitSize</a>; +00630 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapa22">perturbatePoint</a>((<a class="code" href="a04558.html#a14">sint</a>) (pos.<a class="code" href="a03660.html#NLMISC_1_1CVector2fo0">x</a> * invUnitSize), (<a class="code" href="a04558.html#a14">sint</a>) (pos.<a class="code" href="a03660.html#NLMISC_1_1CVector2fo1">y</a> * invUnitSize), strenght); +00631 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapa22" doxytag="NL3D::CWaterHeightMap::perturbatePoint" ></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::CWaterHeightMap::perturbatePoint </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a14">sint</a> </td> + <td class="mdname" nowrap> <em>x</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a14">sint</a> </td> + <td class="mdname" nowrap> <em>y</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float </td> + <td class="mdname" nowrap> <em>intensity</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +create a point perturbation in the height map. +<p> + +<p> +Definition at line <a class="el" href="a06735.html#l00609">609</a> of file <a class="el" href="a06735.html">water_height_map.cpp</a>. +<p> +References <a class="el" href="a06736.html#l00241">_CurrMap</a>, <a class="el" href="a06736.html#l00239">_Map</a>, <a class="el" href="a06736.html#l00065">NL3D::NumWaterMap</a>, <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05646.html#l00236">x</a>, and <a class="el" href="a05646.html#l00236">y</a>. +<p> +Referenced by <a class="el" href="a06735.html#l00627">perturbatePoint()</a>. +<p> +<div class="fragment"><pre>00610 { +00611 <a class="code" href="a04558.html#a14">sint</a> orgX = <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr17">_X</a> - <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr17">_X</a> % <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr11">_Size</a>; +00612 <a class="code" href="a04558.html#a14">sint</a> orgY = <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr18">_Y</a> - <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr18">_Y</a> % <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr11">_Size</a>; +00613 <a class="code" href="a04558.html#a15">uint</a> X = (<a class="code" href="a04558.html#a15">uint</a>) (<a class="code" href="a04223.html#a572">x</a> - orgX); +00614 <a class="code" href="a04558.html#a15">uint</a> Y = (<a class="code" href="a04558.html#a15">uint</a>) (<a class="code" href="a04223.html#a573">y</a> - orgY); +00615 <span class="keywordflow">if</span> (X < (<a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr11">_Size</a> << 1) +00616 && Y < (<a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr11">_Size</a> << 1) +00617 ) +00618 { +00619 <span class="keyword">const</span> <a class="code" href="a04558.html#a15">uint</a> sizex2 = <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr11">_Size</a> << 1; +00620 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapy1">TFloatVect</a> &map = <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr5">_Map</a>[(<a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr1">_CurrMap</a> + 1) % <a class="code" href="a05363.html#a350">NumWaterMap</a>]; +00621 map[X + sizex2 * Y] = intensity; +00622 } +00623 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapd7" doxytag="NL3D::CWaterHeightMap::propagate" ></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::CWaterHeightMap::propagate </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>startLine</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>endLine</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [private]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Perform water propagation on this quad. You should call swapBuffers after this, or after calling filter. <dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign=top><em>damping</em> </td><td>The attenuation factor used for propagation.</td></tr> + </table> +</dl> + +<p> +Definition at line <a class="el" href="a06735.html#l00356">356</a> of file <a class="el" href="a06735.html">water_height_map.cpp</a>. +<p> +References <a class="el" href="a06736.html#l00241">_CurrMap</a>, <a class="el" href="a06736.html#l00222">_Damping</a>, <a class="el" href="a06736.html#l00239">_Map</a>, <a class="el" href="a06735.html#l00635">clearBorder()</a>, <a class="el" href="a05484.html#l00038">min</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06736.html#l00065">NL3D::NumWaterMap</a>, <a class="el" href="a05646.html#l00645">offset</a>, <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05646.html#l00236">x</a>, and <a class="el" href="a05646.html#l00236">y</a>. +<p> +Referenced by <a class="el" href="a06735.html#l00212">animatePart()</a>. +<p> +<div class="fragment"><pre>00357 { +00358 start = std::max(1u, start); +00359 end = <a class="code" href="a04061.html#a0">std::min</a>((<a class="code" href="a04558.html#a15">uint</a>) (_Size - 1), end); +00360 <span class="keyword">const</span> <span class="keywordtype">float</span> damping = <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr2">_Damping</a>; +00361 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapd3">clearBorder</a>(0); +00362 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapd3">clearBorder</a>(1); +00363 <a class="code" href="a04199.html#a6">nlassert</a>(_Size != 0); +00364 <a class="code" href="a04558.html#a14">sint</a> <a class="code" href="a04223.html#a572">x</a>, <a class="code" href="a04223.html#a573">y</a>; +00365 <a class="code" href="a04558.html#a15">uint</a> px = <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr17">_X</a> % <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr11">_Size</a>; +00366 <a class="code" href="a04558.html#a15">uint</a> py = <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr18">_Y</a> % <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr11">_Size</a>; +00367 <a class="code" href="a04558.html#a14">sint</a> <a class="code" href="a04223.html#a586">offset</a> = px + 1 + ((py + start) * (<a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr11">_Size</a> << 1)); +00368 <span class="comment">//nlinfo("%d, %d, %d", (_CurrMap + (NumWaterMap - 1)) % NumWaterMap, _CurrMap, </span> +00369 <span class="keywordtype">float</span> *buf2 = &<a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr5">_Map</a>[ (<a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr1">_CurrMap</a> + (<a class="code" href="a05363.html#a350">NumWaterMap</a> - 1)) % <a class="code" href="a05363.html#a350">NumWaterMap</a>][<a class="code" href="a04223.html#a586">offset</a>]; +00370 <span class="keywordtype">float</span> *buf1 = &_Map[<a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr1">_CurrMap</a>][<a class="code" href="a04223.html#a586">offset</a>]; +00371 <span class="keywordtype">float</span> *dest = &_Map[(<a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr1">_CurrMap</a> + 1) % <a class="code" href="a05363.html#a350">NumWaterMap</a>][<a class="code" href="a04223.html#a586">offset</a>]; +00372 +00373 <span class="keyword">const</span> <a class="code" href="a04558.html#a14">sint</a> sizeX2 = <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr11">_Size</a> << 1; +00374 <a class="code" href="a04223.html#a573">y</a> = end - start; +00375 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a573">y</a> <= 0) <span class="keywordflow">return</span>; +00376 <span class="keywordflow">do</span> +00377 { +00378 <a class="code" href="a04223.html#a572">x</a> = _Size - 2; +00379 <span class="keywordflow">do</span> +00380 { +00381 *dest = damping * ( 0.5f * (buf1[1] + buf1[-1] + buf1[sizeX2] + buf1[- sizeX2]) - *buf2); +00382 ++buf1; +00383 ++buf2; +00384 ++dest; +00385 } +00386 <span class="keywordflow">while</span> (--<a class="code" href="a04223.html#a572">x</a>); +00387 buf1 = buf1 + _Size + 2; +00388 buf2 = buf2 + _Size + 2; +00389 dest = dest + _Size + 2; +00390 } +00391 <span class="keywordflow">while</span> (--<a class="code" href="a04223.html#a573">y</a>); +00392 +00393 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapa23" doxytag="NL3D::CWaterHeightMap::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::CWaterHeightMap::serial </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02270.html">NLMISC::IStream</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>f</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> throw (<a class="el" href="a03781.html">NLMISC::EStream</a>)</td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +serial the pools data's +<p> + +<p> +Definition at line <a class="el" href="a06735.html#l00679">679</a> of file <a class="el" href="a06735.html">water_height_map.cpp</a>. +<p> +<div class="fragment"><pre>00680 { +00681 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2039_3">xmlPushBegin</a>(<span class="stringliteral">"WaterHeightMap"</span>); +00682 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2039_5">xmlSetAttrib</a> (<span class="stringliteral">"NAME"</span>) ; +00683 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a> (_Name); +00684 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2039_4">xmlPushEnd</a>(); +00685 (<span class="keywordtype">void</span>)f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_8">serialVersion</a>(0); +00686 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2037_3">xmlSerial</a>(_Size, <span class="stringliteral">"SIZE"</span>); +00687 <span class="keywordflow">if</span> (f.<a class="code" href="a02270.html#NLMISC_1_1IStreama0">isReading</a>()) +00688 { +00689 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapa28">setSize</a>(_Size); +00690 } +00691 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2037_3">xmlSerial</a>(_Damping, <span class="stringliteral">"DAMPING"</span>); +00692 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2037_3">xmlSerial</a>(_FilterWeight, <span class="stringliteral">"FILTER_WEIGHT"</span>); +00693 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2037_3">xmlSerial</a>(_UnitSize, <span class="stringliteral">"WATER_UNIT_SIZE"</span>); +00694 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2037_3">xmlSerial</a>(_WavesEnabled, <span class="stringliteral">"WavesEnabled"</span>); +00695 <span class="keywordflow">if</span> (<a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr16">_WavesEnabled</a>) +00696 { +00697 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2038_0">xmlPush</a>(<span class="stringliteral">"WavesParams"</span>); +00698 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2037_3">xmlSerial</a>(_WaveIntensity, <span class="stringliteral">"WAVE_INTENSITY"</span>); +00699 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2037_3">xmlSerial</a>(_WavePeriod, <span class="stringliteral">"WAVE_PERIOD"</span>); +00700 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2037_3">xmlSerial</a>(_WaveImpulsionRadius, <span class="stringliteral">"WAVE_IMPULSION_RADIUS"</span>); +00701 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2037_3">xmlSerial</a>(_BorderWaves, <span class="stringliteral">"BORDER_WAVES"</span>); +00702 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2037_3">xmlSerial</a>(_PropagationTime, <span class="stringliteral">"PROPAGATION_TIME"</span>); +00703 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2039_2">xmlPop</a>(); +00704 } +00705 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2039_2">xmlPop</a>(); +00706 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapa24" doxytag="NL3D::CWaterHeightMap::setDamping" ></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::CWaterHeightMap::setDamping </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">float </td> + <td class="mdname1" valign="top" nowrap> <em>damping</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +damping +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00162">162</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. +<p> +References <a class="el" href="a06736.html#l00222">_Damping</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>. +<p> +Referenced by <a class="el" href="a06739.html#l00093">NL3D::CWaterPoolManager::createWaterPool()</a>. +<p> +<div class="fragment"><pre>00162 { <a class="code" href="a04199.html#a6">nlassert</a>(damping >= 0 && damping < 1); <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr2">_Damping</a> = damping; } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapa25" doxytag="NL3D::CWaterHeightMap::setFilterWeight" ></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::CWaterHeightMap::setFilterWeight </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">float </td> + <td class="mdname1" valign="top" nowrap> <em>filterWeight</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +filter weight +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00166">166</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. +<p> +References <a class="el" href="a06736.html#l00223">_FilterWeight</a>. +<p> +Referenced by <a class="el" href="a06739.html#l00093">NL3D::CWaterPoolManager::createWaterPool()</a>. +<p> +<div class="fragment"><pre>00166 { <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr4">_FilterWeight</a> = filterWeight; } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapa26" doxytag="NL3D::CWaterHeightMap::setName" ></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::CWaterHeightMap::setName </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const std::string & </td> + <td class="mdname1" valign="top" nowrap> <em>name</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Set this pool name. +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00180">180</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. +<p> +Referenced by <a class="el" href="a06739.html#l00093">NL3D::CWaterPoolManager::createWaterPool()</a>. +<p> +<div class="fragment"><pre>00180 { <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr6">_Name</a> = name; } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapa27" doxytag="NL3D::CWaterHeightMap::setPropagationTime" ></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::CWaterHeightMap::setPropagationTime </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">float </td> + <td class="mdname1" valign="top" nowrap> <em>time</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Set the propagation time. This is the time needed to go from one unit to one other in the height map. +<p> + +<p> +Definition at line <a class="el" href="a06735.html#l00066">66</a> of file <a class="el" href="a06735.html">water_height_map.cpp</a>. +<p> +References <a class="el" href="a06736.html#l00230">_PropagateEllapsedTime</a>, <a class="el" href="a06736.html#l00231">_PropagationTime</a>, <a class="el" href="a06735.html#l00533">clearArea()</a>, <a class="el" href="a06736.html#l00065">NL3D::NumWaterMap</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>00067 { +00068 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr10">_PropagationTime</a> = time; +00069 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr9">_PropagateEllapsedTime</a> = 0; +00070 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> k = 0; k < <a class="code" href="a05363.html#a350">NumWaterMap</a>; ++k) +00071 { +00072 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapd2">clearArea</a>(k, 0, 0, _Size << 1, _Size << 1); +00073 } +00074 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapa28" doxytag="NL3D::CWaterHeightMap::setSize" ></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::CWaterHeightMap::setSize </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a> </td> + <td class="mdname1" valign="top" nowrap> <em>size</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Set this quad dimension. It is given as a power of 2 This also reset the eightField values +<p> +Definition at line <a class="el" href="a06735.html#l00269">269</a> of file <a class="el" href="a06735.html">water_height_map.cpp</a>. +<p> +References <a class="el" href="a06736.html#l00239">_Map</a>, <a class="el" href="a06735.html#l00533">clearArea()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06736.html#l00065">NL3D::NumWaterMap</a>, <a class="el" href="a05646.html#l00645">size</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +Referenced by <a class="el" href="a06739.html#l00093">NL3D::CWaterPoolManager::createWaterPool()</a>. +<p> +<div class="fragment"><pre>00270 { +00271 <a class="code" href="a04199.html#a6">nlassert</a>(size > 4); +00272 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr11">_Size</a> = <a class="code" href="a04223.html#a587">size</a>; +00273 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> k = 0; k < <a class="code" href="a05363.html#a350">NumWaterMap</a>; ++k) +00274 { +00275 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr5">_Map</a>[k].resize(4 * _Size * _Size); +00276 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapd2">clearArea</a>(k, 0, 0, _Size << 1, _Size << 1); +00277 } +00278 <span class="comment">//_Grad.resize(4 * _Size * _Size); </span> +00279 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapa29" doxytag="NL3D::CWaterHeightMap::setUnitSize" ></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::CWaterHeightMap::setUnitSize </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">float </td> + <td class="mdname1" valign="top" nowrap> <em>unitSize</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +water unit size +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00170">170</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. +<p> +References <a class="el" href="a06736.html#l00224">_UnitSize</a>. +<p> +Referenced by <a class="el" href="a06739.html#l00093">NL3D::CWaterPoolManager::createWaterPool()</a>. +<p> +<div class="fragment"><pre>00170 { <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr12">_UnitSize</a> = unitSize; } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapa30" doxytag="NL3D::CWaterHeightMap::setUserPos" ></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::CWaterHeightMap::setUserPos </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a14">sint</a> </td> + <td class="mdname" nowrap> <em>x</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a14">sint</a> </td> + <td class="mdname" nowrap> <em>y</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +return the power of 2 used for this quad size +<p> +Set the userPos (relative to the height map coordinates). This is needed because a height map can't be used with large surface (such as a sea). As a consequence, the height map is only valid below the user (e.g from <a class="el" href="a04223.html#a572">user.x</a> - 0.5 * size to <a class="el" href="a04223.html#a572">user.x</a> + 0.5 *size). When setPos is called, and if a move has occured, new area of the height field are set to 0 The pos set will be taken in account when buffers have been swapped (e.g when the propagation time as ellapsed) +<p> +Definition at line <a class="el" href="a06735.html#l00339">339</a> of file <a class="el" href="a06735.html">water_height_map.cpp</a>. +<p> +References <a class="el" href="a06736.html#l00235">_NewX</a>, <a class="el" href="a06736.html#l00235">_NewY</a>, <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a05646.html#l00236">x</a>, and <a class="el" href="a05646.html#l00236">y</a>. +<p> +Referenced by <a class="el" href="a06737.html#l00437">NL3D::CWaterModel::traverseRender()</a>. +<p> +<div class="fragment"><pre>00340 { +00341 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr7">_NewX</a> = <a class="code" href="a04223.html#a572">x</a>; +00342 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr8">_NewY</a> = <a class="code" href="a04223.html#a573">y</a>; +00343 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapa31" doxytag="NL3D::CWaterHeightMap::setWaves" ></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::CWaterHeightMap::setWaves </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">float </td> + <td class="mdname" nowrap> <em>intensity</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float </td> + <td class="mdname" nowrap> <em>period</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>radius</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>bool </td> + <td class="mdname" nowrap> <em>border</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Tells this height map the params to automatically generate waves. They are generated as perturbation on the border of the field <dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign=top><em>intensity</em> </td><td>The intensity of the waves. 0 disable waves the time ellapsed between each waves the radius od the impulsion of the waves to be created true if waves should only be generated on the border of height map, (actually, where waves can't be seen because of distance, this avoid to see the impulsion)</td></tr> + </table> +</dl> + +<p> +Definition at line <a class="el" href="a06735.html#l00667">667</a> of file <a class="el" href="a06735.html">water_height_map.cpp</a>. +<p> +References <a class="el" href="a06736.html#l00228">_BorderWaves</a>, <a class="el" href="a06736.html#l00227">_WaveImpulsionRadius</a>, <a class="el" href="a06736.html#l00225">_WaveIntensity</a>, <a class="el" href="a06736.html#l00226">_WavePeriod</a>, <a class="el" href="a05646.html#l01013">border</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +Referenced by <a class="el" href="a06739.html#l00093">NL3D::CWaterPoolManager::createWaterPool()</a>. +<p> +<div class="fragment"><pre>00668 { +00669 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr14">_WaveIntensity</a> = intensity; +00670 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr15">_WavePeriod</a> = period; +00671 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr13">_WaveImpulsionRadius</a> = radius; +00672 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr0">_BorderWaves</a> = <a class="code" href="a04223.html#a635">border</a>; +00673 +00674 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapd8" doxytag="NL3D::CWaterHeightMap::swapBuffers" ></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::CWaterHeightMap::swapBuffers </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">float </td> + <td class="mdname1" valign="top" nowrap> <em>deltaT</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [private]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +swap the height maps. It must be called once propagation and filtering have been performed +<p> + +<p> +Definition at line <a class="el" href="a06735.html#l00514">514</a> of file <a class="el" href="a06735.html">water_height_map.cpp</a>. +<p> +References <a class="el" href="a06736.html#l00241">_CurrMap</a>, <a class="el" href="a06736.html#l00065">NL3D::NumWaterMap</a>, and <a class="el" href="a06735.html#l00078">updateUserPos()</a>. +<p> +Referenced by <a class="el" href="a06735.html#l00236">animate()</a>. +<p> +<div class="fragment"><pre>00515 { +00516 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapd9">updateUserPos</a>(); +00517 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr1">_CurrMap</a> = (<a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr1">_CurrMap</a> + 1) % <a class="code" href="a05363.html#a350">NumWaterMap</a>; +00518 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapd9" doxytag="NL3D::CWaterHeightMap::updateUserPos" ></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::CWaterHeightMap::updateUserPos </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [private]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06735.html#l00078">78</a> of file <a class="el" href="a06735.html">water_height_map.cpp</a>. +<p> +References <a class="el" href="a06736.html#l00235">_NewX</a>, <a class="el" href="a06736.html#l00235">_NewY</a>, <a class="el" href="a06735.html#l00523">clearZone()</a>, <a class="el" href="a06735.html#l00283">makeCpy()</a>, <a class="el" href="a05484.html#l00038">min</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06736.html#l00065">NL3D::NumWaterMap</a>, <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05646.html#l00236">x</a>, and <a class="el" href="a05646.html#l00236">y</a>. +<p> +Referenced by <a class="el" href="a06735.html#l00514">swapBuffers()</a>. +<p> +<div class="fragment"><pre>00079 { +00080 <span class="keyword">const</span> <a class="code" href="a04558.html#a14">sint</a> <a class="code" href="a04223.html#a572">x</a> = <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr7">_NewX</a>; +00081 <span class="keyword">const</span> <a class="code" href="a04558.html#a14">sint</a> <a class="code" href="a04223.html#a573">y</a> = <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr8">_NewY</a>; +00082 +00083 <a class="code" href="a04199.html#a6">nlassert</a>(_Size != 0); +00084 <span class="keywordflow">if</span> ((<a class="code" href="a04558.html#a15">uint</a>) <a class="code" href="a04223.html#a572">x</a> == <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr17">_X</a> && (<a class="code" href="a04558.html#a15">uint</a>) <a class="code" href="a04223.html#a573">y</a> == <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr18">_Y</a>) <span class="keywordflow">return</span>; +00085 <span class="keywordflow">if</span> ((<a class="code" href="a04558.html#a15">uint</a>) abs((<span class="keywordtype">long</span> <span class="keywordtype">int</span>)(x - _X)) < <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr11">_Size</a> && (<a class="code" href="a04558.html#a15">uint</a>) abs((<span class="keywordtype">long</span> <span class="keywordtype">int</span>)(y - _Y)) < <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr11">_Size</a>) <span class="comment">// are there common pixels with the previous location?</span> +00086 { +00087 <span class="comment">// compute zone</span> +00088 +00089 <a class="code" href="a04558.html#a14">sint</a> XDivSize; +00090 <span class="keywordflow">if</span> ((<a class="code" href="a04558.html#a14">sint</a>) <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr17">_X</a> >= 0) XDivSize = (<a class="code" href="a04558.html#a14">sint</a>) <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr17">_X</a> / (<a class="code" href="a04558.html#a14">sint</a>) <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr11">_Size</a>; +00091 <span class="keywordflow">else</span> XDivSize = ((<a class="code" href="a04558.html#a14">sint</a>) (<a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr17">_X</a> + 1) / (<a class="code" href="a04558.html#a14">sint</a>) <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr11">_Size</a>) - 1; +00092 +00093 <a class="code" href="a04558.html#a14">sint</a> YDivSize; +00094 <span class="keywordflow">if</span> ((<a class="code" href="a04558.html#a14">sint</a>) <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr18">_Y</a> >= 0) YDivSize = (<a class="code" href="a04558.html#a14">sint</a>) <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr18">_Y</a> / (<a class="code" href="a04558.html#a14">sint</a>) <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr11">_Size</a>; +00095 <span class="keywordflow">else</span> YDivSize = ((<a class="code" href="a04558.html#a14">sint</a>) (<a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr18">_Y</a> + 1) / (<a class="code" href="a04558.html#a14">sint</a>) <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr11">_Size</a>) - 1; +00096 +00097 <a class="code" href="a04558.html#a14">sint</a> xDivSize; +00098 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a572">x</a> >= 0) xDivSize = (<a class="code" href="a04558.html#a14">sint</a>) <a class="code" href="a04223.html#a572">x</a> / (<a class="code" href="a04558.html#a14">sint</a>) <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr11">_Size</a>; +00099 <span class="keywordflow">else</span> xDivSize = ((<a class="code" href="a04558.html#a14">sint</a>) (<a class="code" href="a04223.html#a572">x</a> + 1) / (<a class="code" href="a04558.html#a14">sint</a>) <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr11">_Size</a>) - 1; +00100 +00101 <a class="code" href="a04558.html#a14">sint</a> yDivSize; +00102 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a573">y</a> >= 0) yDivSize = (<a class="code" href="a04558.html#a14">sint</a>) <a class="code" href="a04223.html#a573">y</a> / (<a class="code" href="a04558.html#a14">sint</a>) <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr11">_Size</a>; +00103 <span class="keywordflow">else</span> yDivSize = ((<a class="code" href="a04558.html#a14">sint</a>) (<a class="code" href="a04223.html#a573">y</a> + 1) / (<a class="code" href="a04558.html#a14">sint</a>) <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr11">_Size</a>) - 1; +00104 +00105 <span class="comment">// different zone -> must decal datas</span> +00106 <span class="keywordflow">if</span> (xDivSize != XDivSize || yDivSize != YDivSize) +00107 { +00108 <a class="code" href="a04558.html#a14">sint</a> left = std::max(x, (<a class="code" href="a04558.html#a14">sint</a>) _X); +00109 <a class="code" href="a04558.html#a14">sint</a> top = std::max(y, (<a class="code" href="a04558.html#a14">sint</a>) _Y); +00110 <a class="code" href="a04558.html#a14">sint</a> right = <a class="code" href="a04061.html#a0">std::min</a>(x + (<a class="code" href="a04558.html#a14">sint</a>) _Size, (sint) (_X + _Size)); +00111 <a class="code" href="a04558.html#a14">sint</a> bottom = <a class="code" href="a04061.html#a0">std::min</a>(y + (sint) _Size, (sint) (_Y + _Size)); +00112 <a class="code" href="a04558.html#a14">sint</a> offsetX, offsetY; +00113 <span class="keywordflow">if</span> (xDivSize != XDivSize) +00114 { +00115 offsetX = xDivSize < XDivSize ? _Size : -(<a class="code" href="a04558.html#a14">sint</a>)_Size; +00116 } +00117 <span class="keywordflow">else</span> +00118 { +00119 offsetX = 0; +00120 } +00121 +00122 <span class="keywordflow">if</span> (yDivSize != YDivSize) +00123 { +00124 offsetY = yDivSize < YDivSize ? _Size : -(<a class="code" href="a04558.html#a14">sint</a>)_Size; +00125 } +00126 <span class="keywordflow">else</span> +00127 { +00128 offsetY = 0; +00129 } +00130 +00131 <a class="code" href="a04558.html#a14">sint</a> orgX = _Size * XDivSize; +00132 <a class="code" href="a04558.html#a14">sint</a> orgY = _Size * YDivSize; +00133 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> k = 0; k < <a class="code" href="a05363.html#a350">NumWaterMap</a>; ++k) +00134 { +00135 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapd6">makeCpy</a>(k, (<a class="code" href="a04558.html#a15">uint</a>) (left - orgX + offsetX) , (<a class="code" href="a04558.html#a15">uint</a>) (top - orgY + offsetY), +00136 (<a class="code" href="a04558.html#a15">uint</a>) (left - orgX), (<a class="code" href="a04558.html#a15">uint</a>) (top - orgY), +00137 (<a class="code" href="a04558.html#a15">uint</a>) (right - left), (<a class="code" href="a04558.html#a15">uint</a>) (bottom - top)); +00138 } +00139 } +00140 +00141 <a class="code" href="a04558.html#a14">sint</a> newOrgX = _Size * xDivSize; +00142 <a class="code" href="a04558.html#a14">sint</a> newOrgY = _Size * yDivSize; +00143 <span class="comment">// clear new area</span> +00144 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a572">x</a> == (<a class="code" href="a04558.html#a14">sint</a>) <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr17">_X</a>) +00145 { +00146 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a573">y</a> < (<a class="code" href="a04558.html#a14">sint</a>) <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr18">_Y</a>) +00147 { +00148 <span class="comment">// x, y, width, height</span> +00149 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapd4">clearZone</a>(x - newOrgX, y - newOrgY, _Size, _Y - y); +00150 } +00151 <span class="keywordflow">else</span> +00152 { +00153 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapd4">clearZone</a>(x - newOrgX, y + _Size - newOrgY, _Size, y - _Y); +00154 } +00155 } +00156 <span class="keywordflow">else</span> +00157 { +00158 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a572">x</a> > (<a class="code" href="a04558.html#a14">sint</a>) <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr17">_X</a>) +00159 { +00160 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a573">y</a> == (<a class="code" href="a04558.html#a14">sint</a>) <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr18">_Y</a>) +00161 { +00162 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapd4">clearZone</a>(_X + _Size - newOrgX, y - newOrgY, x - _X, _Size); +00163 } +00164 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a573">y</a> < (<a class="code" href="a04558.html#a14">sint</a>) <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr18">_Y</a>) +00165 { +00166 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapd4">clearZone</a>(_X + _Size - newOrgX, _Y - newOrgY, x - _X, _Size - (_Y - y)); +00167 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapd4">clearZone</a>(x - newOrgX, y - newOrgY, _Size, _Y - y); +00168 } +00169 <span class="keywordflow">else</span> +00170 { +00171 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapd4">clearZone</a>(_X + _Size - newOrgX, y - newOrgY, x - _X, _Size - (y - _Y)); +00172 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapd4">clearZone</a>(x - newOrgX, _Y + _Size - newOrgY, _Size, y - _Y); +00173 } +00174 } +00175 <span class="keywordflow">else</span> +00176 { +00177 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a573">y</a> == (<a class="code" href="a04558.html#a14">sint</a>) <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr18">_Y</a>) +00178 { +00179 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapd4">clearZone</a>(x - newOrgX, y - newOrgY, _X - x, _Size); +00180 } +00181 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a573">y</a> < (<a class="code" href="a04558.html#a14">sint</a>) <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr18">_Y</a>) +00182 { +00183 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapd4">clearZone</a>(x - newOrgX, y - newOrgY, _Size, _Y - y); +00184 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapd4">clearZone</a>(x - newOrgX, _Y - newOrgY, _X - x, _Size - (_Y - y)); +00185 } +00186 <span class="keywordflow">else</span> +00187 { +00188 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapd4">clearZone</a>(x - newOrgX, y - newOrgY, _X - x, _Size - (y -_Y)); +00189 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapd4">clearZone</a>(x - newOrgX, _Y + _Size - newOrgY, _Size, y - _Y); +00190 } +00191 } +00192 } +00193 +00194 } +00195 <span class="keywordflow">else</span> +00196 { +00197 <span class="comment">// the new area has no common pixel's with the previous one</span> +00198 <span class="comment">// clear the whole new area</span> +00199 <a class="code" href="a04558.html#a15">uint</a> px = <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr17">_X</a> % _Size; +00200 <a class="code" href="a04558.html#a15">uint</a> py = <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr18">_Y</a> % _Size; +00201 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapd4">clearZone</a>(px, py, _Size, _Size); +00202 } +00203 +00204 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr17">_X</a> = (<a class="code" href="a04558.html#a15">uint</a>) <a class="code" href="a04223.html#a572">x</a>; +00205 <a class="code" href="a03719.html#NL3D_1_1CWaterHeightMapr18">_Y</a> = (<a class="code" href="a04558.html#a15">uint</a>) <a class="code" href="a04223.html#a573">y</a>; +00206 } +</pre></div> </td> + </tr> +</table> +<hr><h2>Friends And Related Function Documentation</h2> +<a class="anchor" name="NL3D_1_1CWaterHeightMapn0" doxytag="NL3D::CWaterHeightMap::CWaterPoolManager" ></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"> friend class <a class="el" href="a03722.html">CWaterPoolManager</a><code> [friend]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00218">218</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. </td> + </tr> +</table> +<hr><h2>Field Documentation</h2> +<a class="anchor" name="NL3D_1_1CWaterHeightMapr0" doxytag="NL3D::CWaterHeightMap::_BorderWaves" ></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"> bool <a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapr0">NL3D::CWaterHeightMap::_BorderWaves</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00228">228</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. +<p> +Referenced by <a class="el" href="a06735.html#l00442">animateWaves()</a>, <a class="el" href="a06736.html#l00159">getBorderWaves()</a>, and <a class="el" href="a06735.html#l00667">setWaves()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapr1" doxytag="NL3D::CWaterHeightMap::_CurrMap" ></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#a7">uint8</a> <a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapr1">NL3D::CWaterHeightMap::_CurrMap</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00241">241</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. +<p> +Referenced by <a class="el" href="a06735.html#l00399">filter()</a>, <a class="el" href="a06736.html#l00122">getPointer()</a>, <a class="el" href="a06736.html#l00125">getPrevPointer()</a>, <a class="el" href="a06735.html#l00575">perturbate()</a>, <a class="el" href="a06735.html#l00609">perturbatePoint()</a>, <a class="el" href="a06735.html#l00356">propagate()</a>, and <a class="el" href="a06735.html#l00514">swapBuffers()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapr2" doxytag="NL3D::CWaterHeightMap::_Damping" ></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"> float <a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapr2">NL3D::CWaterHeightMap::_Damping</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00222">222</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. +<p> +Referenced by <a class="el" href="a06736.html#l00163">getDamping()</a>, <a class="el" href="a06735.html#l00356">propagate()</a>, and <a class="el" href="a06736.html#l00162">setDamping()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapr3" doxytag="NL3D::CWaterHeightMap::_EmitEllapsedTime" ></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"> float <a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapr3">NL3D::CWaterHeightMap::_EmitEllapsedTime</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00229">229</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. +<p> +Referenced by <a class="el" href="a06735.html#l00442">animateWaves()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapr4" doxytag="NL3D::CWaterHeightMap::_FilterWeight" ></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"> float <a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapr4">NL3D::CWaterHeightMap::_FilterWeight</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00223">223</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. +<p> +Referenced by <a class="el" href="a06735.html#l00399">filter()</a>, <a class="el" href="a06736.html#l00167">getFilterWeight()</a>, and <a class="el" href="a06736.html#l00166">setFilterWeight()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapr5" doxytag="NL3D::CWaterHeightMap::_Map" ></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="a03719.html#NL3D_1_1CWaterHeightMapy1">TFloatVect</a> <a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapr5">NL3D::CWaterHeightMap::_Map</a>[<a class="el" href="a05363.html#a350">NumWaterMap</a>]<code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00239">239</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. +<p> +Referenced by <a class="el" href="a06735.html#l00533">clearArea()</a>, <a class="el" href="a06735.html#l00635">clearBorder()</a>, <a class="el" href="a06735.html#l00399">filter()</a>, <a class="el" href="a06736.html#l00122">getPointer()</a>, <a class="el" href="a06736.html#l00125">getPrevPointer()</a>, <a class="el" href="a06735.html#l00283">makeCpy()</a>, <a class="el" href="a06735.html#l00575">perturbate()</a>, <a class="el" href="a06735.html#l00609">perturbatePoint()</a>, <a class="el" href="a06735.html#l00356">propagate()</a>, and <a class="el" href="a06735.html#l00269">setSize()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapr6" doxytag="NL3D::CWaterHeightMap::_Name" ></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::string <a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapr6">NL3D::CWaterHeightMap::_Name</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00220">220</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapr7" doxytag="NL3D::CWaterHeightMap::_NewX" ></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#a15">uint</a> <a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapr7">NL3D::CWaterHeightMap::_NewX</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00235">235</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. +<p> +Referenced by <a class="el" href="a06735.html#l00442">animateWaves()</a>, <a class="el" href="a06735.html#l00339">setUserPos()</a>, and <a class="el" href="a06735.html#l00078">updateUserPos()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapr8" doxytag="NL3D::CWaterHeightMap::_NewY" ></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#a15">uint</a> <a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapr8">NL3D::CWaterHeightMap::_NewY</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00235">235</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. +<p> +Referenced by <a class="el" href="a06735.html#l00442">animateWaves()</a>, <a class="el" href="a06735.html#l00339">setUserPos()</a>, and <a class="el" href="a06735.html#l00078">updateUserPos()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapr9" doxytag="NL3D::CWaterHeightMap::_PropagateEllapsedTime" ></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"> float <a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapr9">NL3D::CWaterHeightMap::_PropagateEllapsedTime</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00230">230</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. +<p> +Referenced by <a class="el" href="a06735.html#l00236">animate()</a>, <a class="el" href="a06736.html#l00128">getBufferRatio()</a>, and <a class="el" href="a06735.html#l00066">setPropagationTime()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapr10" doxytag="NL3D::CWaterHeightMap::_PropagationTime" ></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="a05363.html#a366">TAnimationTime</a> <a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapr10">NL3D::CWaterHeightMap::_PropagationTime</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00231">231</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. +<p> +Referenced by <a class="el" href="a06735.html#l00236">animate()</a>, <a class="el" href="a06735.html#l00212">animatePart()</a>, <a class="el" href="a06736.html#l00128">getBufferRatio()</a>, <a class="el" href="a06736.html#l00194">getPropagationTime()</a>, and <a class="el" href="a06735.html#l00066">setPropagationTime()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapr11" doxytag="NL3D::CWaterHeightMap::_Size" ></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="a03719.html#NL3D_1_1CWaterHeightMapr11">NL3D::CWaterHeightMap::_Size</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00242">242</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapr12" doxytag="NL3D::CWaterHeightMap::_UnitSize" ></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"> float <a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapr12">NL3D::CWaterHeightMap::_UnitSize</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00224">224</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. +<p> +Referenced by <a class="el" href="a06735.html#l00726">getHeight()</a>, <a class="el" href="a06736.html#l00171">getUnitSize()</a>, <a class="el" href="a06735.html#l00601">perturbate()</a>, <a class="el" href="a06735.html#l00627">perturbatePoint()</a>, and <a class="el" href="a06736.html#l00170">setUnitSize()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapr13" doxytag="NL3D::CWaterHeightMap::_WaveImpulsionRadius" ></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="a03719.html#NL3D_1_1CWaterHeightMapr13">NL3D::CWaterHeightMap::_WaveImpulsionRadius</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00227">227</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. +<p> +Referenced by <a class="el" href="a06735.html#l00442">animateWaves()</a>, <a class="el" href="a06736.html#l00156">getWaveImpulsionRadius()</a>, and <a class="el" href="a06735.html#l00667">setWaves()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapr14" doxytag="NL3D::CWaterHeightMap::_WaveIntensity" ></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"> float <a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapr14">NL3D::CWaterHeightMap::_WaveIntensity</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00225">225</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. +<p> +Referenced by <a class="el" href="a06735.html#l00442">animateWaves()</a>, <a class="el" href="a06736.html#l00150">getWaveIntensity()</a>, and <a class="el" href="a06735.html#l00667">setWaves()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapr15" doxytag="NL3D::CWaterHeightMap::_WavePeriod" ></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"> float <a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapr15">NL3D::CWaterHeightMap::_WavePeriod</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00226">226</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. +<p> +Referenced by <a class="el" href="a06735.html#l00442">animateWaves()</a>, <a class="el" href="a06736.html#l00153">getWavePeriod()</a>, and <a class="el" href="a06735.html#l00667">setWaves()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapr16" doxytag="NL3D::CWaterHeightMap::_WavesEnabled" ></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"> bool <a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapr16">NL3D::CWaterHeightMap::_WavesEnabled</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00221">221</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. +<p> +Referenced by <a class="el" href="a06735.html#l00442">animateWaves()</a>, <a class="el" href="a06736.html#l00138">areWavesEnabled()</a>, and <a class="el" href="a06736.html#l00135">enableWaves()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapr17" doxytag="NL3D::CWaterHeightMap::_X" ></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#a15">uint</a> <a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapr17">NL3D::CWaterHeightMap::_X</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00234">234</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapr18" doxytag="NL3D::CWaterHeightMap::_Y" ></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#a15">uint</a> <a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapr18">NL3D::CWaterHeightMap::_Y</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00234">234</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaterHeightMapo0" doxytag="NL3D::CWaterHeightMap::Date" ></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#a12">sint64</a> <a class="el" href="a03719.html#NL3D_1_1CWaterHeightMapo0">NL3D::CWaterHeightMap::Date</a> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +the last update date +<p> + +<p> +Definition at line <a class="el" href="a06736.html#l00174">174</a> of file <a class="el" href="a06736.html">water_height_map.h</a>. +<p> +Referenced by <a class="el" href="a06737.html#l00437">NL3D::CWaterModel::traverseRender()</a>. </td> + </tr> +</table> +<hr>The documentation for this class was generated from the following files:<ul> +<li><a class="el" href="a06736.html">water_height_map.h</a><li><a class="el" href="a06735.html">water_height_map.cpp</a></ul> +<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 08:27:42 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> |