aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/a02917.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/doxygen/nel/a02917.html')
-rw-r--r--docs/doxygen/nel/a02917.html1847
1 files changed, 1847 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a02917.html b/docs/doxygen/nel/a02917.html
new file mode 100644
index 00000000..3dcac447
--- /dev/null
+++ b/docs/doxygen/nel/a02917.html
@@ -0,0 +1,1847 @@
+<!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::CMeshVPWindTree class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.3.6 -->
+<div class="qindex"> <form class="search" action="search.php" method="get">
+<a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a> | <span class="search"><u>S</u>earch&nbsp;for&nbsp;<input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div>
+<h1>NL3D::CMeshVPWindTree Class Reference</h1><code>#include &lt;<a class="el" href="a06025.html">meshvp_wind_tree.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for NL3D::CMeshVPWindTree:
+<p><center><img src="a02917.png" usemap="#NL3D::CMeshVPWindTree_map" border="0" alt=""></center>
+<map name="NL3D::CMeshVPWindTree_map">
+<area href="a02916.html" alt="NL3D::IMeshVertexProgram" shape="rect" coords="89,112,258,136">
+<area href="a02867.html" alt="NLMISC::IStreamable" shape="rect" coords="0,56,169,80">
+<area href="a02209.html" alt="NLMISC::CRefCount" shape="rect" coords="179,56,348,80">
+<area href="a02540.html" alt="NLMISC::IClassable" shape="rect" coords="0,0,169,24">
+</map>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+VertexProgram for an effect of Wind on Tree meshes. <dl compact><dt><b>Author:</b></dt><dd>Lionel Berenguier <p>
+Nevrax France </dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>2002 </dd></dl>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06025.html#l00044">44</a> of file <a class="el" href="a06025.html">meshvp_wind_tree.h</a>.<table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom>{ <a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreew0NL3D_1_1CMeshVPWindTreew1">HrcDepth</a> = 3
+ }</td></tr>
+
+<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreea0">CMeshVPWindTree</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <a href="#NL3D_1_1CMeshVPWindTreea0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02540.html#NL3D_1_1ITrackKeyFramer_3_01CKeyVector_01_4a6">getClassName</a> ()=0</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreea2">getMaxVertexMove</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a04558.html#a14">sint</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02209.html#NLGEORGES_1_1UTypea8">getRefCount</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02916.html#NL3D_1_1IMeshVertexPrograma7">needTangentSpace</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreea5">NLMISC_DECLARE_CLASS</a> (<a class="el" href="a02917.html">CMeshVPWindTree</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreea6">serial</a> (<a class="el" href="a02270.html">NLMISC::IStream</a> &amp;f) throw (NLMISC::EStream)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreea7">~CMeshVPWindTree</a> ()</td></tr>
+
+<tr><td colspan="2"><div class="groupHeader">IMeshVertexProgram implementation</div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreez549_0">begin</a> (<a class="el" href="a02434.html">IDriver</a> *drv, <a class="el" href="a03348.html">CScene</a> *scene, <a class="el" href="a02873.html">CMeshBaseInstance</a> *mbi, const <a class="el" href="a02851.html">NLMISC::CMatrix</a> &amp;invertedModelMat, const <a class="el" href="a03128.html">NLMISC::CVector</a> &amp;)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Setup Wind constants, Light constants, and activate the VP. <a href="#NL3D_1_1CMeshVPWindTreez549_0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreez549_1">end</a> (<a class="el" href="a02434.html">IDriver</a> *drv)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">disable the VertexProgram. <a href="#NL3D_1_1CMeshVPWindTreez549_1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreez549_2">initInstance</a> (<a class="el" href="a02873.html">CMeshBaseInstance</a> *mbi)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Setup a rand phase for wind in mbi. <a href="#NL3D_1_1CMeshVPWindTreez549_2"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreez549_3">setupForMaterial</a> (const <a class="el" href="a02839.html">CMaterial</a> &amp;mat, <a class="el" href="a02434.html">IDriver</a> *drv, <a class="el" href="a03348.html">CScene</a> *scene, <a class="el" href="a03694.html">IVertexBufferHard</a> *vb)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Setup Wind constants, Light constants, and activate the VP. <a href="#NL3D_1_1CMeshVPWindTreez549_3"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreez549_4">setupForMaterial</a> (const <a class="el" href="a02839.html">CMaterial</a> &amp;mat, <a class="el" href="a02434.html">IDriver</a> *drv, <a class="el" href="a03348.html">CScene</a> *scene, <a class="el" href="a03692.html">CVertexBuffer</a> *vb)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Setup Wind constants, Light constants, and activate the VP. <a href="#NL3D_1_1CMeshVPWindTreez549_4"></a><br><br></td></tr>
+<tr><td colspan="2"><div class="groupHeader">MBR support For WindTree</div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreez551_0">beginMBRInstance</a> (<a class="el" href="a02434.html">IDriver</a> *drv, <a class="el" href="a03348.html">CScene</a> *scene, <a class="el" href="a02873.html">CMeshBaseInstance</a> *mbi, const <a class="el" href="a02851.html">NLMISC::CMatrix</a> &amp;invertedModelMat)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreez551_1">beginMBRMesh</a> (<a class="el" href="a02434.html">IDriver</a> *drv, <a class="el" href="a03348.html">CScene</a> *scene)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreez551_2">endMBRMesh</a> (<a class="el" href="a02434.html">IDriver</a> *drv)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreez551_3">isMBRVpOk</a> (<a class="el" href="a02434.html">IDriver</a> *drv) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreez551_4">supportMeshBlockRendering</a> () const </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#a14">sint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02209.html#NLGEORGES_1_1UTypeo0">crefs</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>CPtrInfo *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02209.html#NLGEORGES_1_1UTypeo1">pinfo</a></td></tr>
+
+<tr><td colspan="2"><div class="groupHeader">WindTree Parameters;</div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreez547_0">Bias</a> [HrcDepth]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bias result of the cosinus: f= cos(time)+bias. <a href="#NL3D_1_1CMeshVPWindTreez547_0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreez547_1">Frequency</a> [HrcDepth]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Frequency of the wind for 3 Hierachy levels. <a href="#NL3D_1_1CMeshVPWindTreez547_1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreez547_2">FrequencyWindFactor</a> [HrcDepth]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Additional frequency, multiplied by the globalWindPower. <a href="#NL3D_1_1CMeshVPWindTreez547_2"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreez547_3">PowerXY</a> [HrcDepth]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Power of the wind on XY. Mul by globalWindPower. <a href="#NL3D_1_1CMeshVPWindTreez547_3"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreez547_4">PowerZ</a> [HrcDepth]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Power of the wind on Z. Mul by globalWindPower. <a href="#NL3D_1_1CMeshVPWindTreez547_4"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreez547_5">SpecularLighting</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">true if want Specular Lighting. <a href="#NL3D_1_1CMeshVPWindTreez547_5"></a><br><br></td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>CPtrInfo&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02209.html#NLGEORGES_1_1UTypes0">NullPtrInfo</a></td></tr>
+
+<tr><td colspan=2><br><h2>Private Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom>{ <a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreey0NL3D_1_1CMeshVPWindTreey1">NumVp</a> = 16
+ }</td></tr>
+
+<tr><td colspan=2><br><h2>Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreed0">setupLighting</a> (<a class="el" href="a03348.html">CScene</a> *scene, <a class="el" href="a02873.html">CMeshBaseInstance</a> *mbi, const <a class="el" href="a02851.html">NLMISC::CMatrix</a> &amp;invertedModelMat)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreed1">setupPerInstanceConstants</a> (<a class="el" href="a02434.html">IDriver</a> *driver, <a class="el" href="a03348.html">CScene</a> *scene, <a class="el" href="a02873.html">CMeshBaseInstance</a> *mbi, const <a class="el" href="a02851.html">NLMISC::CMatrix</a> &amp;invertedModelMat)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreed2">setupPerMesh</a> (<a class="el" href="a02434.html">IDriver</a> *driver, <a class="el" href="a03348.html">CScene</a> *scene)</td></tr>
+
+<tr><td colspan=2><br><h2>Static Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreeh0">speedCos</a> (float angle)</td></tr>
+
+<tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreer0">_CurrentTime</a> [HrcDepth]</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreer1">_LastMBRIdVP</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>double&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreer2">_LastSceneTime</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03128.html">CVector</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreer3">_MaxDeltaPos</a> [HrcDepth]</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreer4">_MaxVertexMove</a></td></tr>
+
+<tr><td colspan=2><br><h2>Static Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::auto_ptr&lt; <a class="el" href="a03702.html">CVertexProgram</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreev0">_VertexProgram</a> [NumVp]</td></tr>
+
+<tr><td colspan=2><br><h2>Friends</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02209.html#NLGEORGES_1_1UTypen0">CPtrInfo</a></td></tr>
+
+</table>
+<hr><h2>Member Enumeration Documentation</h2>
+<a class="anchor" name="NL3D_1_1CMeshVPWindTreew0" doxytag="NL3D::CMeshVPWindTree::@23" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> anonymous enum
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<dl compact><dt><b>Enumeration values: </b></dt><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMeshVPWindTreew0NL3D_1_1CMeshVPWindTreew1" doxytag="HrcDepth" ></a>HrcDepth</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a06025.html#l00049">49</a> of file <a class="el" href="a06025.html">meshvp_wind_tree.h</a>.
+<p>
+<div class="fragment"><pre>00049 {<a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreew0NL3D_1_1CMeshVPWindTreew1">HrcDepth</a>= 3};
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshVPWindTreey0" doxytag="NL3D::CMeshVPWindTree::@24" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> anonymous enum<code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<dl compact><dt><b>Enumeration values: </b></dt><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMeshVPWindTreey0NL3D_1_1CMeshVPWindTreey1" doxytag="NumVp" ></a>NumVp</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a06025.html#l00125">125</a> of file <a class="el" href="a06025.html">meshvp_wind_tree.h</a>.
+<p>
+<div class="fragment"><pre>00125 { <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreey0NL3D_1_1CMeshVPWindTreey1">NumVp</a> = 16};
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="NL3D_1_1CMeshVPWindTreea0" doxytag="NL3D::CMeshVPWindTree::CMeshVPWindTree" ></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::CMeshVPWindTree::CMeshVPWindTree </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06024.html#l00100">100</a> of file <a class="el" href="a06024.html">meshvp_wind_tree.cpp</a>.
+<p>
+References <a class="el" href="a06025.html#l00133">_CurrentTime</a>, <a class="el" href="a06025.html#l00134">_LastSceneTime</a>, <a class="el" href="a06025.html#l00138">_MaxVertexMove</a>, <a class="el" href="a06025.html#l00057">FrequencyWindFactor</a>, <a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreew0NL3D_1_1CMeshVPWindTreew1">HrcDepth</a>, <a class="el" href="a06025.html#l00059">PowerXY</a>, <a class="el" href="a06025.html#l00061">PowerZ</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>00101 {
+00102 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a15">uint</a> i=0; i&lt;<a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreew0NL3D_1_1CMeshVPWindTreew1">HrcDepth</a>; i++)
+00103 {
+00104 <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreez547_1">Frequency</a>[i]= 1;
+00105 <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreez547_2">FrequencyWindFactor</a>[i]= 0;
+00106 <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreez547_3">PowerXY</a>[i]= 0;
+00107 <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreez547_4">PowerZ</a>[i]= 0;
+00108 <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreez547_0">Bias</a>[i]= 0;
+00109 <span class="comment">// Init currentTime.</span>
+00110 <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreer0">_CurrentTime</a>[i]= 0;
+00111 }
+00112 <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreez547_5">SpecularLighting</a>= <span class="keyword">false</span>;
+00113
+00114 <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreer2">_LastSceneTime</a>= 0;
+00115 <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreer4">_MaxVertexMove</a>= 0;
+00116 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshVPWindTreea7" doxytag="NL3D::CMeshVPWindTree::~CMeshVPWindTree" ></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::CMeshVPWindTree::~<a class="el" href="a02917.html">CMeshVPWindTree</a> </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06024.html#l00120">120</a> of file <a class="el" href="a06024.html">meshvp_wind_tree.cpp</a>.
+<p>
+<div class="fragment"><pre>00121 {
+00122 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="NL3D_1_1CMeshVPWindTreez549_0" doxytag="NL3D::CMeshVPWindTree::begin" ></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::CMeshVPWindTree::begin </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02434.html">IDriver</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>drv</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a03348.html">CScene</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>scene</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02873.html">CMeshBaseInstance</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>mbi</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a02851.html">NLMISC::CMatrix</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>invertedModelMat</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a03128.html">NLMISC::CVector</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Setup Wind constants, Light constants, and activate the VP.
+<p>
+
+<p>
+Implements <a class="el" href="a02916.html#NL3D_1_1IMeshVertexPrograma0">NL3D::IMeshVertexProgram</a>.
+<p>
+Definition at line <a class="el" href="a06024.html#l00297">297</a> of file <a class="el" href="a06024.html">meshvp_wind_tree.cpp</a>.
+<p>
+References <a class="el" href="a02434.html#NL3D_1_1IDriverz147_2">NL3D::IDriver::activeVertexProgram()</a>, <a class="el" href="a05587.html#l00115">NLMISC::clamp()</a>, <a class="el" href="a06330.html#l00301">NL3D::CRenderTrav::getNumVPLights()</a>, <a class="el" href="a06349.html#l00479">NL3D::CScene::getRenderTrav()</a>, <a class="el" href="a02434.html#NL3D_1_1IDrivera46">NL3D::IDriver::isForceNormalize()</a>, <a class="el" href="a02434.html#NL3D_1_1IDriverz147_4">NL3D::IDriver::isVertexProgramEmulated()</a>, <a class="el" href="a02434.html#NL3D_1_1IDriverz147_5">NL3D::IDriver::isVertexProgramSupported()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06024.html#l00228">setupPerInstanceConstants()</a>, <a class="el" href="a06024.html#l00178">setupPerMesh()</a>, <a class="el" href="a05981.html#l00104">sint</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>00298 {
+00299 <span class="keywordflow">if</span> (!(driver-&gt;isVertexProgramSupported() &amp;&amp; !driver-&gt;isVertexProgramEmulated())) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00300
+00301
+00302 <span class="comment">// precompute mesh</span>
+00303 <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreed2">setupPerMesh</a>(driver, scene);
+00304
+00305 <span class="comment">// Setup instance constants</span>
+00306 <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreed1">setupPerInstanceConstants</a>(driver, scene, mbi, invertedModelMat);
+00307
+00308 <span class="comment">// Activate the good VertexProgram</span>
+00309 <span class="comment">//===============</span>
+00310
+00311 <span class="comment">// Get how many pointLights are setuped now.</span>
+00312 <a class="code" href="a04199.html#a6">nlassert</a>(scene != NULL);
+00313 CRenderTrav *renderTrav= &amp;scene-&gt;getRenderTrav();
+00314 <a class="code" href="a04558.html#a14">sint</a> numPls= renderTrav-&gt;getNumVPLights()-1;
+00315 <a class="code" href="a05378.html#a374">clamp</a>(numPls, 0, CRenderTrav::MaxVPLight-1);
+00316
+00317 <span class="comment">// Enable normalize only if requested by user. Because lighting don't manage correct "scale lighting"</span>
+00318 <a class="code" href="a04558.html#a15">uint</a> idVP= (<a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreez547_5">SpecularLighting</a>?2:0) + (driver-&gt;isForceNormalize()?1:0) ;
+00319 <span class="comment">// correct VP id for correct unmber of pls.</span>
+00320 idVP= numPls*4 + idVP;
+00321
+00322 <span class="comment">// activate VP.</span>
+00323 driver-&gt;activeVertexProgram(_VertexProgram[idVP].get());
+00324
+00325
+00326 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00327 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshVPWindTreez551_0" doxytag="NL3D::CMeshVPWindTree::beginMBRInstance" ></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::CMeshVPWindTree::beginMBRInstance </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02434.html">IDriver</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>drv</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a03348.html">CScene</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>scene</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02873.html">CMeshBaseInstance</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>mbi</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a02851.html">NLMISC::CMatrix</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>invertedModelMat</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Reimplemented from <a class="el" href="a02916.html#NL3D_1_1IMeshVertexProgramz543_0">NL3D::IMeshVertexProgram</a>.
+<p>
+Definition at line <a class="el" href="a06024.html#l00407">407</a> of file <a class="el" href="a06024.html">meshvp_wind_tree.cpp</a>.
+<p>
+References <a class="el" href="a06025.html#l00141">_LastMBRIdVP</a>, <a class="el" href="a02434.html#NL3D_1_1IDriverz147_2">NL3D::IDriver::activeVertexProgram()</a>, <a class="el" href="a05587.html#l00115">NLMISC::clamp()</a>, <a class="el" href="a06330.html#l00301">NL3D::CRenderTrav::getNumVPLights()</a>, <a class="el" href="a06349.html#l00479">NL3D::CScene::getRenderTrav()</a>, <a class="el" href="a02434.html#NL3D_1_1IDrivera46">NL3D::IDriver::isForceNormalize()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06024.html#l00228">setupPerInstanceConstants()</a>, <a class="el" href="a05981.html#l00104">sint</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>00408 {
+00409 <span class="comment">// setup first constants for this instance</span>
+00410 <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreed1">setupPerInstanceConstants</a>(driver, scene, mbi, invertedModelMat);
+00411
+00412 <span class="comment">// Get how many pointLights are setuped now.</span>
+00413 <a class="code" href="a04199.html#a6">nlassert</a>(scene != NULL);
+00414 CRenderTrav *renderTrav= &amp;scene-&gt;getRenderTrav();
+00415 <a class="code" href="a04558.html#a14">sint</a> numPls= renderTrav-&gt;getNumVPLights()-1;
+00416 <a class="code" href="a05378.html#a374">clamp</a>(numPls, 0, CRenderTrav::MaxVPLight-1);
+00417
+00418 <span class="comment">// Enable normalize only if requested by user. Because lighting don't manage correct "scale lighting"</span>
+00419 <a class="code" href="a04558.html#a15">uint</a> idVP= (<a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreez547_5">SpecularLighting</a>?2:0) + (driver-&gt;isForceNormalize()?1:0) ;
+00420 <span class="comment">// correct VP id for correct number of pls.</span>
+00421 idVP= numPls*4 + idVP;
+00422
+00423 <span class="comment">// re-activate VP if idVP different from last setup</span>
+00424 <span class="keywordflow">if</span>( idVP!=<a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreer1">_LastMBRIdVP</a> )
+00425 {
+00426 <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreer1">_LastMBRIdVP</a>= idVP;
+00427 driver-&gt;activeVertexProgram(_VertexProgram[_LastMBRIdVP].get());
+00428 }
+00429 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshVPWindTreez551_1" doxytag="NL3D::CMeshVPWindTree::beginMBRMesh" ></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::CMeshVPWindTree::beginMBRMesh </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02434.html">IDriver</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>drv</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a03348.html">CScene</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>scene</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Reimplemented from <a class="el" href="a02916.html#NL3D_1_1IMeshVertexProgramz543_1">NL3D::IMeshVertexProgram</a>.
+<p>
+Definition at line <a class="el" href="a06024.html#l00392">392</a> of file <a class="el" href="a06024.html">meshvp_wind_tree.cpp</a>.
+<p>
+References <a class="el" href="a06025.html#l00141">_LastMBRIdVP</a>, <a class="el" href="a02434.html#NL3D_1_1IDriverz147_2">NL3D::IDriver::activeVertexProgram()</a>, and <a class="el" href="a06024.html#l00178">setupPerMesh()</a>.
+<p>
+<div class="fragment"><pre>00393 {
+00394 <span class="comment">// precompute mesh</span>
+00395 <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreed2">setupPerMesh</a>(driver, scene);
+00396
+00397 <span class="comment">/* Since need a VertexProgram Activation before activeVBHard, activate a default one</span>
+00398 <span class="comment"> bet the common one will be "NoPointLight, NoSpecular, No ForceNormalize" =&gt; 0.</span>
+00399 <span class="comment"> */</span>
+00400 <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreer1">_LastMBRIdVP</a>= 0;
+00401
+00402 <span class="comment">// activate VP.</span>
+00403 driver-&gt;activeVertexProgram(_VertexProgram[_LastMBRIdVP].get());
+00404 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshVPWindTreez549_1" doxytag="NL3D::CMeshVPWindTree::end" ></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::CMeshVPWindTree::end </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02434.html">IDriver</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>drv</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+disable the VertexProgram.
+<p>
+
+<p>
+Implements <a class="el" href="a02916.html#NL3D_1_1IMeshVertexPrograma1">NL3D::IMeshVertexProgram</a>.
+<p>
+Definition at line <a class="el" href="a06024.html#l00330">330</a> of file <a class="el" href="a06024.html">meshvp_wind_tree.cpp</a>.
+<p>
+References <a class="el" href="a02434.html#NL3D_1_1IDriverz147_2">NL3D::IDriver::activeVertexProgram()</a>.
+<p>
+<div class="fragment"><pre>00331 {
+00332 <span class="comment">// Disable the VertexProgram</span>
+00333 driver-&gt;activeVertexProgram(NULL);
+00334 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshVPWindTreez551_2" doxytag="NL3D::CMeshVPWindTree::endMBRMesh" ></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::CMeshVPWindTree::endMBRMesh </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02434.html">IDriver</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>drv</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Reimplemented from <a class="el" href="a02916.html#NL3D_1_1IMeshVertexProgramz543_2">NL3D::IMeshVertexProgram</a>.
+<p>
+Definition at line <a class="el" href="a06024.html#l00432">432</a> of file <a class="el" href="a06024.html">meshvp_wind_tree.cpp</a>.
+<p>
+References <a class="el" href="a02434.html#NL3D_1_1IDriverz147_2">NL3D::IDriver::activeVertexProgram()</a>.
+<p>
+<div class="fragment"><pre>00433 {
+00434 <span class="comment">// Disable the VertexProgram</span>
+00435 driver-&gt;activeVertexProgram(NULL);
+00436 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1ITrackKeyFramer_3_01CKeyVector_01_4a6" doxytag="NL3D::CMeshVPWindTree::getClassName" ></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 std::string NLMISC::IClassable::getClassName </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [pure virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Implemented in <a class="el" href="a02995.html#NLAIAGENT_1_1CNumericIndexz1699_0">NLAIAGENT::CNumericIndex</a>, <a class="el" href="a02145.html#NLAIAGENT_1_1VectorTypez1764_0">NLAIC::IPointerGestion</a>, <a class="el" href="a02650.html#NLAIC_1_1CIdentTypez1766_0">NLAIC::CIdentType</a>, and <a class="el" href="a02241.html#CAutomataDescz1896_0">CAutomataDesc</a>.
+<p>
+Referenced by <a class="el" href="a05549.html#l00091">NLMISC::CClassRegistry::checkObject()</a>, and <a class="el" href="a06525.html#l00039">NL3D::GetTextureSize()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshVPWindTreea2" doxytag="NL3D::CMeshVPWindTree::getMaxVertexMove" ></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::CMeshVPWindTree::getMaxVertexMove </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This return the (over-evaluated) max delta the VertexProgram apply to vertex (in world basis) NB: This method call is relevant only after <a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreez549_0">begin()</a> or <a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreez551_0">beginMBRInstance()</a>
+<p>
+Reimplemented from <a class="el" href="a02916.html#NL3D_1_1IMeshVertexPrograma3">NL3D::IMeshVertexProgram</a>.
+<p>
+Definition at line <a class="el" href="a06024.html#l00439">439</a> of file <a class="el" href="a06024.html">meshvp_wind_tree.cpp</a>.
+<p>
+References <a class="el" href="a06025.html#l00138">_MaxVertexMove</a>.
+<p>
+<div class="fragment"><pre>00440 {
+00441 <span class="keywordflow">return</span> <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreer4">_MaxVertexMove</a>;
+00442 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLGEORGES_1_1UTypea8" doxytag="NL3D::CMeshVPWindTree::getRefCount" ></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 <a class="el" href="a04558.html#a14">sint</a>&amp; NLMISC::CRefCount::getRefCount </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06402.html#l00070">70</a> of file <a class="el" href="a06402.html">smart_ptr.h</a>.
+<p>
+References <a class="el" href="a06402.html#l00079">NLMISC::CRefCount::crefs</a>, and <a class="el" href="a05981.html#l00104">sint</a>.
+<p>
+<div class="fragment"><pre>00071 {
+00072 <span class="keywordflow">return</span> <a class="code" href="a02209.html#NLGEORGES_1_1UTypeo0">crefs</a>;
+00073 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshVPWindTreez549_2" doxytag="NL3D::CMeshVPWindTree::initInstance" ></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::CMeshVPWindTree::initInstance </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02873.html">CMeshBaseInstance</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>mbi</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Setup a rand phase for wind in mbi.
+<p>
+
+<p>
+Implements <a class="el" href="a02916.html#NL3D_1_1IMeshVertexPrograma6">NL3D::IMeshVertexProgram</a>.
+<p>
+Definition at line <a class="el" href="a06024.html#l00144">144</a> of file <a class="el" href="a06024.html">meshvp_wind_tree.cpp</a>.
+<p>
+References <a class="el" href="a05994.html#l00254">NL3D::CMeshBaseInstance::_VPWindTreePhase</a>, <a class="el" href="a05587.html#l00084">NLMISC::frand()</a>, <a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreew0NL3D_1_1CMeshVPWindTreew1">HrcDepth</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a06024.html#l00047">NL3D::VPLightConstantStart</a>, <a class="el" href="a06024.html#l00078">NL3D::WindTreeVPCodeEnd</a>, and <a class="el" href="a06024.html#l00053">NL3D::WindTreeVPCodeWave</a>.
+<p>
+<div class="fragment"><pre>00145 {
+00146 <span class="comment">// init the vertexProgram code.</span>
+00147 <span class="keyword">static</span> <span class="keywordtype">bool</span> vpCreated= <span class="keyword">false</span>;
+00148 <span class="keywordflow">if</span>(!vpCreated)
+00149 {
+00150 vpCreated= <span class="keyword">true</span>;
+00151 <span class="comment">// All vpcode and begin() written for HrcDepth==3</span>
+00152 <a class="code" href="a04199.html#a6">nlassert</a>(HrcDepth==3);
+00153
+00154 <span class="comment">// combine fragments.</span>
+00155 string vpCode;
+00156
+00157 <span class="comment">// For all possible VP.</span>
+00158 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a15">uint</a> i=0;i&lt;<a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreey0NL3D_1_1CMeshVPWindTreey1">NumVp</a>;i++)
+00159 {
+00160 <span class="comment">// setup of the VPLight fragment</span>
+00161 <a class="code" href="a04558.html#a15">uint</a> numPls= i/4;
+00162 <span class="keywordtype">bool</span> normalize= (i&amp;1)!=0;
+00163 <span class="keywordtype">bool</span> specular= (i&amp;2)!=0;
+00164
+00165 <span class="comment">// combine fragments</span>
+00166 vpCode= string(WindTreeVPCodeWave)
+00167 + CRenderTrav::getLightVPFragment(numPls, VPLightConstantStart, specular, normalize)
+00168 + <a class="code" href="a05363.html#a148">WindTreeVPCodeEnd</a>;
+00169 <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreev0">_VertexProgram</a>[i]= std::auto_ptr&lt;CVertexProgram&gt;(<span class="keyword">new</span> CVertexProgram(vpCode.c_str()));
+00170 }
+00171 }
+00172
+00173 <span class="comment">// init a random phase.</span>
+00174 mbi-&gt;_VPWindTreePhase= <a class="code" href="a05378.html#a371">frand</a>(1);
+00175 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshVPWindTreez551_3" doxytag="NL3D::CMeshVPWindTree::isMBRVpOk" ></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::CMeshVPWindTree::isMBRVpOk </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02434.html">IDriver</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>drv</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Reimplemented from <a class="el" href="a02916.html#NL3D_1_1IMeshVertexProgramz543_3">NL3D::IMeshVertexProgram</a>.
+<p>
+Definition at line <a class="el" href="a06024.html#l00386">386</a> of file <a class="el" href="a06024.html">meshvp_wind_tree.cpp</a>.
+<p>
+References <a class="el" href="a02434.html#NL3D_1_1IDriverz147_4">NL3D::IDriver::isVertexProgramEmulated()</a>, and <a class="el" href="a02434.html#NL3D_1_1IDriverz147_5">NL3D::IDriver::isVertexProgramSupported()</a>.
+<p>
+<div class="fragment"><pre>00387 {
+00388 <span class="keywordflow">return</span> driver-&gt;isVertexProgramSupported() &amp;&amp; !driver-&gt;isVertexProgramEmulated();
+00389 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1IMeshVertexPrograma7" doxytag="NL3D::CMeshVPWindTree::needTangentSpace" ></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 bool NL3D::IMeshVertexProgram::needTangentSpace </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a02915.html#NL3D_1_1CMeshVPPerPixelLightz545_3">NL3D::CMeshVPPerPixelLight</a>.
+<p>
+Definition at line <a class="el" href="a06021.html#l00106">106</a> of file <a class="el" href="a06021.html">mesh_vertex_program.h</a>.
+<p>
+<div class="fragment"><pre>00106 { <span class="keywordflow">return</span> <span class="keyword">false</span>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshVPWindTreea5" doxytag="NL3D::CMeshVPWindTree::NLMISC_DECLARE_CLASS" ></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::CMeshVPWindTree::NLMISC_DECLARE_CLASS </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02917.html">CMeshVPWindTree</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshVPWindTreea6" doxytag="NL3D::CMeshVPWindTree::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::CMeshVPWindTree::serial </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02270.html">NLMISC::IStream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>f</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> throw (<a class="el" href="a03781.html">NLMISC::EStream</a>)<code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Implements <a class="el" href="a02867.html#NL3D_1_1ITrackDefaulta6">NLMISC::IStreamable</a>.
+<p>
+Definition at line <a class="el" href="a06024.html#l00126">126</a> of file <a class="el" href="a06024.html">meshvp_wind_tree.cpp</a>.
+<p>
+References <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>00127 {
+00128 (<span class="keywordtype">void</span>)f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_8">serialVersion</a>(0);
+00129
+00130 <a class="code" href="a04199.html#a6">nlassert</a>(HrcDepth==3);
+00131 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a15">uint</a> i=0; i&lt;<a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreew0NL3D_1_1CMeshVPWindTreew1">HrcDepth</a>; i++)
+00132 {
+00133 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(Frequency[i]);
+00134 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(FrequencyWindFactor[i]);
+00135 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(PowerXY[i]);
+00136 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(PowerZ[i]);
+00137 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(Bias[i]);
+00138 }
+00139 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(SpecularLighting);
+00140 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshVPWindTreez549_3" doxytag="NL3D::CMeshVPWindTree::setupForMaterial" ></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::CMeshVPWindTree::setupForMaterial </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a02839.html">CMaterial</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>mat</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02434.html">IDriver</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>drv</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a03348.html">CScene</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>scene</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a03694.html">IVertexBufferHard</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>vb</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Setup Wind constants, Light constants, and activate the VP.
+<p>
+
+<p>
+Implements <a class="el" href="a02916.html#NL3D_1_1IMeshVertexPrograma9">NL3D::IMeshVertexProgram</a>.
+<p>
+Definition at line <a class="el" href="a06024.html#l00354">354</a> of file <a class="el" href="a06024.html">meshvp_wind_tree.cpp</a>.
+<p>
+References <a class="el" href="a06024.html#l00338">NL3D::SetupForMaterial()</a>.
+<p>
+<div class="fragment"><pre>00358 {
+00359 <a class="code" href="a05363.html#a436">SetupForMaterial</a>(mat, scene);
+00360 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshVPWindTreez549_4" doxytag="NL3D::CMeshVPWindTree::setupForMaterial" ></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::CMeshVPWindTree::setupForMaterial </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a02839.html">CMaterial</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>mat</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02434.html">IDriver</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>drv</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a03348.html">CScene</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>scene</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a03692.html">CVertexBuffer</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>vb</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Setup Wind constants, Light constants, and activate the VP.
+<p>
+
+<p>
+Implements <a class="el" href="a02916.html#NL3D_1_1IMeshVertexPrograma10">NL3D::IMeshVertexProgram</a>.
+<p>
+Definition at line <a class="el" href="a06024.html#l00345">345</a> of file <a class="el" href="a06024.html">meshvp_wind_tree.cpp</a>.
+<p>
+References <a class="el" href="a06024.html#l00338">NL3D::SetupForMaterial()</a>.
+<p>
+<div class="fragment"><pre>00349 {
+00350 <a class="code" href="a05363.html#a436">SetupForMaterial</a>(mat, scene);
+00351 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshVPWindTreed0" doxytag="NL3D::CMeshVPWindTree::setupLighting" ></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::CMeshVPWindTree::setupLighting </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03348.html">CScene</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>scene</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02873.html">CMeshBaseInstance</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>mbi</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a02851.html">NLMISC::CMatrix</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>invertedModelMat</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [private]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06024.html#l00363">363</a> of file <a class="el" href="a06024.html">meshvp_wind_tree.cpp</a>.
+<p>
+References <a class="el" href="a06329.html#l00557">NL3D::CRenderTrav::beginVPLightSetup()</a>, <a class="el" href="a06349.html#l00479">NL3D::CScene::getRenderTrav()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a06024.html#l00047">NL3D::VPLightConstantStart</a>.
+<p>
+Referenced by <a class="el" href="a06024.html#l00228">setupPerInstanceConstants()</a>.
+<p>
+<div class="fragment"><pre>00364 {
+00365 <a class="code" href="a04199.html#a6">nlassert</a>(scene != NULL);
+00366 CRenderTrav *renderTrav= &amp;scene-&gt;getRenderTrav();
+00367 <span class="comment">// setup cte for lighting</span>
+00368 renderTrav-&gt;beginVPLightSetup(VPLightConstantStart, SpecularLighting, invertedModelMat);
+00369 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshVPWindTreed1" doxytag="NL3D::CMeshVPWindTree::setupPerInstanceConstants" ></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::CMeshVPWindTree::setupPerInstanceConstants </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02434.html">IDriver</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>driver</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a03348.html">CScene</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>scene</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02873.html">CMeshBaseInstance</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>mbi</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a02851.html">NLMISC::CMatrix</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>invertedModelMat</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline, private]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06024.html#l00228">228</a> of file <a class="el" href="a06024.html">meshvp_wind_tree.cpp</a>.
+<p>
+References <a class="el" href="a06025.html#l00133">_CurrentTime</a>, <a class="el" href="a06025.html#l00137">_MaxDeltaPos</a>, <a class="el" href="a05994.html#l00254">NL3D::CMeshBaseInstance::_VPWindTreePhase</a>, <a class="el" href="a06569.html#l00299">NL3D::CTransform::getWorldMatrix()</a>, <a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreew0NL3D_1_1CMeshVPWindTreew1">HrcDepth</a>, <a class="el" href="a05972.html#l00914">NLMISC::CMatrix::invert()</a>, <a class="el" href="a05972.html#l01244">NLMISC::CMatrix::mulVector()</a>, <a class="el" href="a02434.html#NL3D_1_1IDriverz147_11">NL3D::IDriver::setConstant()</a>, <a class="el" href="a02434.html#NL3D_1_1IDriverz147_12">NL3D::IDriver::setConstantMatrix()</a>, <a class="el" href="a05972.html#l00209">NLMISC::CMatrix::setRot()</a>, <a class="el" href="a06024.html#l00363">setupLighting()</a>, <a class="el" href="a06024.html#l00092">speedCos()</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06024.html#l00297">begin()</a>, and <a class="el" href="a06024.html#l00407">beginMBRInstance()</a>.
+<p>
+<div class="fragment"><pre>00229 {
+00230 <span class="comment">// get instance info</span>
+00231 <span class="keywordtype">float</span> instancePhase= mbi-&gt;_VPWindTreePhase;
+00232
+00233
+00234 <span class="comment">// maxDeltaPos in ObjectSpace. So same world Wind direction is applied to all objects</span>
+00235 <span class="keyword">static</span> CMatrix invWorldMatrix;
+00236 <span class="comment">// Keep only rotation part. (just need it and faster invert)</span>
+00237 invWorldMatrix.setRot(mbi-&gt;getWorldMatrix());
+00238 invWorldMatrix.invert();
+00239 <span class="keyword">static</span> CVector maxDeltaPosOS[<a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreew0NL3D_1_1CMeshVPWindTreew1">HrcDepth</a>];
+00240 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a15">uint</a> i=0; i&lt;<a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreew0NL3D_1_1CMeshVPWindTreew1">HrcDepth</a>; i++)
+00241 {
+00242 maxDeltaPosOS[i]= invWorldMatrix.mulVector(_MaxDeltaPos[i]);
+00243 }
+00244
+00245
+00246 <span class="comment">// Setup lighting and lighting constants</span>
+00247 <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreed0">setupLighting</a>(scene, mbi, invertedModelMat);
+00248
+00249 <span class="comment">// c[0..3] take the ModelViewProjection Matrix. After setupModelMatrix();</span>
+00250 driver-&gt;setConstantMatrix(0, IDriver::ModelViewProjection, IDriver::Identity);
+00251 <span class="comment">// c[4..7] take the ModelView Matrix. After setupModelMatrix();</span>
+00252 driver-&gt;setConstantMatrix(4, IDriver::ModelView, IDriver::Identity);
+00253
+00254
+00255 <span class="comment">// c[15] take Wind of level 0.</span>
+00256 <span class="keywordtype">float</span> f;
+00257 f= <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreer0">_CurrentTime</a>[0] + instancePhase;
+00258 f= <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreeh0">speedCos</a>(f) + <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreez547_0">Bias</a>[0];
+00259 driver-&gt;setConstant(15, maxDeltaPosOS[0]*f );
+00260
+00261
+00262 <span class="comment">// c[16-19] take Wind of level 1.</span>
+00263 <span class="comment">// Unrolled. </span>
+00264 <span class="keywordtype">float</span> instTime1= _CurrentTime[1] + instancePhase;
+00265 <span class="comment">// phase 0.</span>
+00266 f= <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreeh0">speedCos</a>( instTime1+0 ) + <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreez547_0">Bias</a>[1];
+00267 driver-&gt;setConstant(16+0, maxDeltaPosOS[1]*f);
+00268 <span class="comment">// phase 1.</span>
+00269 f= <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreeh0">speedCos</a>( instTime1+0.25f ) + <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreez547_0">Bias</a>[1];
+00270 driver-&gt;setConstant(16+1, maxDeltaPosOS[1]*f);
+00271 <span class="comment">// phase 2.</span>
+00272 f= <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreeh0">speedCos</a>( instTime1+0.50f ) + <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreez547_0">Bias</a>[1];
+00273 driver-&gt;setConstant(16+2, maxDeltaPosOS[1]*f);
+00274 <span class="comment">// phase 3.</span>
+00275 f= <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreeh0">speedCos</a>( instTime1+0.75f ) + <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreez547_0">Bias</a>[1];
+00276 driver-&gt;setConstant(16+3, maxDeltaPosOS[1]*f);
+00277
+00278
+00279 <span class="comment">// c[20, 23] take Wind of level 2.</span>
+00280 <span class="comment">// Unrolled. </span>
+00281 <span class="keywordtype">float</span> instTime2= _CurrentTime[2] + instancePhase;
+00282 <span class="comment">// phase 0.</span>
+00283 f= <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreeh0">speedCos</a>( instTime2+0 ) + <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreez547_0">Bias</a>[2];
+00284 driver-&gt;setConstant(20+0, maxDeltaPosOS[2]*f);
+00285 <span class="comment">// phase 1.</span>
+00286 f= <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreeh0">speedCos</a>( instTime2+0.25f ) + <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreez547_0">Bias</a>[2];
+00287 driver-&gt;setConstant(20+1, maxDeltaPosOS[2]*f);
+00288 <span class="comment">// phase 2.</span>
+00289 f= <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreeh0">speedCos</a>( instTime2+0.50f ) + <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreez547_0">Bias</a>[2];
+00290 driver-&gt;setConstant(20+2, maxDeltaPosOS[2]*f);
+00291 <span class="comment">// phase 3.</span>
+00292 f= <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreeh0">speedCos</a>( instTime2+0.75f ) + <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreez547_0">Bias</a>[2];
+00293 driver-&gt;setConstant(20+3, maxDeltaPosOS[2]*f);
+00294 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshVPWindTreed2" doxytag="NL3D::CMeshVPWindTree::setupPerMesh" ></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::CMeshVPWindTree::setupPerMesh </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02434.html">IDriver</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>driver</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a03348.html">CScene</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>scene</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline, private]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06024.html#l00178">178</a> of file <a class="el" href="a06024.html">meshvp_wind_tree.cpp</a>.
+<p>
+References <a class="el" href="a06025.html#l00133">_CurrentTime</a>, <a class="el" href="a06025.html#l00134">_LastSceneTime</a>, <a class="el" href="a06025.html#l00137">_MaxDeltaPos</a>, <a class="el" href="a06025.html#l00138">_MaxVertexMove</a>, <a class="el" href="a06025.html#l00057">FrequencyWindFactor</a>, <a class="el" href="a06349.html#l00271">NL3D::CScene::getCurrentTime()</a>, <a class="el" href="a06349.html#l00467">NL3D::CScene::getGlobalWindDirection()</a>, <a class="el" href="a06349.html#l00462">NL3D::CScene::getGlobalWindPower()</a>, <a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreew0NL3D_1_1CMeshVPWindTreew1">HrcDepth</a>, <a class="el" href="a06682.html#l00115">NLMISC::CVector::norm()</a>, <a class="el" href="a06025.html#l00059">PowerXY</a>, <a class="el" href="a06025.html#l00061">PowerZ</a>, <a class="el" href="a02434.html#NL3D_1_1IDriverz147_11">NL3D::IDriver::setConstant()</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a06673.html#l00051">NLMISC::CVector::z</a>.
+<p>
+Referenced by <a class="el" href="a06024.html#l00297">begin()</a>, and <a class="el" href="a06024.html#l00392">beginMBRMesh()</a>.
+<p>
+<div class="fragment"><pre>00179 {
+00180 <span class="comment">// process current times and current power. Only one time per render() and per CMeshVPWindTree.</span>
+00181 <span class="keywordflow">if</span>(scene-&gt;getCurrentTime() != <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreer2">_LastSceneTime</a>)
+00182 {
+00183 <span class="comment">// Get info from scene</span>
+00184 <span class="keywordtype">float</span> windPower= scene-&gt;getGlobalWindPower();
+00185
+00186 <span class="keywordtype">float</span> dt= (<span class="keywordtype">float</span>)(scene-&gt;getCurrentTime() - <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreer2">_LastSceneTime</a>);
+00187 <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreer2">_LastSceneTime</a>= scene-&gt;getCurrentTime();
+00188
+00189 <span class="comment">// Update each boneLevel time according to frequency.</span>
+00190 <a class="code" href="a04558.html#a15">uint</a> i;
+00191 <span class="keywordflow">for</span>(i=0; i&lt;<a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreew0NL3D_1_1CMeshVPWindTreew1">HrcDepth</a>; i++)
+00192 {
+00193 <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreer0">_CurrentTime</a>[i]+= dt*(<a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreez547_1">Frequency</a>[i] + <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreez547_2">FrequencyWindFactor</a>[i]*windPower);
+00194 <span class="comment">// get it between 0 and 1. Important for float precision problems.</span>
+00195 <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreer0">_CurrentTime</a>[i]= (<span class="keywordtype">float</span>)fmod(_CurrentTime[i], 1);
+00196 }
+00197
+00198 <span class="comment">// Update each boneLevel maximum amplitude vector.</span>
+00199 <span class="keywordflow">for</span>(i=0; i&lt;HrcDepth; i++)
+00200 {
+00201 <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreer3">_MaxDeltaPos</a>[i]= scene-&gt;getGlobalWindDirection() * <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreez547_3">PowerXY</a>[i] * windPower;
+00202 <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreer3">_MaxDeltaPos</a>[i].z= <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreez547_4">PowerZ</a>[i] * windPower;
+00203 }
+00204
+00205 <span class="comment">/* Update the Max amplitude distance </span>
+00206 <span class="comment"> in world space, since maxdeltaPos are applied in world space, see setupPerInstanceConstants()</span>
+00207 <span class="comment"> */</span>
+00208 <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreer4">_MaxVertexMove</a>= 0;
+00209 <span class="keywordflow">for</span>(i=0; i&lt;HrcDepth; i++)
+00210 {
+00211 <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreer4">_MaxVertexMove</a>+= <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreer3">_MaxDeltaPos</a>[i].norm();
+00212 }
+00213 }
+00214
+00215 <span class="comment">// Setup common constants for each instances.</span>
+00216 <span class="comment">// c[8] take usefull constants.</span>
+00217 <span class="keyword">static</span> <span class="keywordtype">float</span> ct8[4]= {0, 1, 0.5f, 2};
+00218 driver-&gt;setConstant(8, 1, ct8);
+00219 <span class="comment">// c[9] take other usefull constants.</span>
+00220 <span class="keyword">static</span> <span class="keywordtype">float</span> ct9[4]= {3.f, 0.f, -1.f, -2.f};
+00221 driver-&gt;setConstant(9, 1, ct9);
+00222 <span class="comment">// c[10] take Number of phase (4) for level2 and 3. -0.01 to avoid int value == 4.</span>
+00223 <span class="keyword">static</span> <span class="keywordtype">float</span> ct10[4]= {4-0.01f, 0, 0, 0};
+00224 driver-&gt;setConstant(10, 1, ct10);
+00225 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshVPWindTreeh0" doxytag="NL3D::CMeshVPWindTree::speedCos" ></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::CMeshVPWindTree::speedCos </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>angle</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [static, private]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06024.html#l00092">92</a> of file <a class="el" href="a06024.html">meshvp_wind_tree.cpp</a>.
+<p>
+References <a class="el" href="a05587.html#l00079">NLMISC::Pi</a>.
+<p>
+Referenced by <a class="el" href="a06024.html#l00228">setupPerInstanceConstants()</a>.
+<p>
+<div class="fragment"><pre>00093 {
+00094 <span class="comment">// \todo yoyo TODO_OPTIM</span>
+00095 <span class="keywordflow">return</span> cosf(angle * 2*(<span class="keywordtype">float</span>)Pi);
+00096 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshVPWindTreez551_4" doxytag="NL3D::CMeshVPWindTree::supportMeshBlockRendering" ></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::CMeshVPWindTree::supportMeshBlockRendering </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Reimplemented from <a class="el" href="a02916.html#NL3D_1_1IMeshVertexProgramz543_4">NL3D::IMeshVertexProgram</a>.
+<p>
+Definition at line <a class="el" href="a06024.html#l00380">380</a> of file <a class="el" href="a06024.html">meshvp_wind_tree.cpp</a>.
+<p>
+<div class="fragment"><pre>00381 {
+00382 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00383 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Friends And Related Function Documentation</h2>
+<a class="anchor" name="NLGEORGES_1_1UTypen0" doxytag="NL3D::CMeshVPWindTree::CPtrInfo" ></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 struct CPtrInfo<code> [friend, inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06402.html#l00067">67</a> of file <a class="el" href="a06402.html">smart_ptr.h</a>. </td>
+ </tr>
+</table>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="NL3D_1_1CMeshVPWindTreer0" doxytag="NL3D::CMeshVPWindTree::_CurrentTime" ></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="a02917.html#NL3D_1_1CMeshVPWindTreer0">NL3D::CMeshVPWindTree::_CurrentTime</a>[HrcDepth]<code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06025.html#l00133">133</a> of file <a class="el" href="a06025.html">meshvp_wind_tree.h</a>.
+<p>
+Referenced by <a class="el" href="a06024.html#l00100">CMeshVPWindTree()</a>, <a class="el" href="a06024.html#l00228">setupPerInstanceConstants()</a>, and <a class="el" href="a06024.html#l00178">setupPerMesh()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshVPWindTreer1" doxytag="NL3D::CMeshVPWindTree::_LastMBRIdVP" ></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="a02917.html#NL3D_1_1CMeshVPWindTreer1">NL3D::CMeshVPWindTree::_LastMBRIdVP</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06025.html#l00141">141</a> of file <a class="el" href="a06025.html">meshvp_wind_tree.h</a>.
+<p>
+Referenced by <a class="el" href="a06024.html#l00407">beginMBRInstance()</a>, and <a class="el" href="a06024.html#l00392">beginMBRMesh()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshVPWindTreer2" doxytag="NL3D::CMeshVPWindTree::_LastSceneTime" ></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"> double <a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreer2">NL3D::CMeshVPWindTree::_LastSceneTime</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06025.html#l00134">134</a> of file <a class="el" href="a06025.html">meshvp_wind_tree.h</a>.
+<p>
+Referenced by <a class="el" href="a06024.html#l00100">CMeshVPWindTree()</a>, and <a class="el" href="a06024.html#l00178">setupPerMesh()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshVPWindTreer3" doxytag="NL3D::CMeshVPWindTree::_MaxDeltaPos" ></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="a03128.html">CVector</a> <a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreer3">NL3D::CMeshVPWindTree::_MaxDeltaPos</a>[HrcDepth]<code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06025.html#l00137">137</a> of file <a class="el" href="a06025.html">meshvp_wind_tree.h</a>.
+<p>
+Referenced by <a class="el" href="a06024.html#l00228">setupPerInstanceConstants()</a>, and <a class="el" href="a06024.html#l00178">setupPerMesh()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshVPWindTreer4" doxytag="NL3D::CMeshVPWindTree::_MaxVertexMove" ></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="a02917.html#NL3D_1_1CMeshVPWindTreer4">NL3D::CMeshVPWindTree::_MaxVertexMove</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06025.html#l00138">138</a> of file <a class="el" href="a06025.html">meshvp_wind_tree.h</a>.
+<p>
+Referenced by <a class="el" href="a06024.html#l00100">CMeshVPWindTree()</a>, <a class="el" href="a06024.html#l00439">getMaxVertexMove()</a>, and <a class="el" href="a06024.html#l00178">setupPerMesh()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshVPWindTreev0" doxytag="NL3D::CMeshVPWindTree::_VertexProgram" ></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::auto_ptr&lt; <a class="el" href="a03702.html">CVertexProgram</a> &gt; <a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreev0">NL3D::CMeshVPWindTree::_VertexProgram</a><code> [static, private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The 16 versions: Specular or not (0 or 2), + normalize normal or not (0 or 1). All multiplied by 4, because support from 0 to 3 pointLights activated. (0.., 4.., 8.., 12..)
+<p>
+Definition at line <a class="el" href="a06024.html#l00051">51</a> of file <a class="el" href="a06024.html">meshvp_wind_tree.cpp</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshVPWindTreez547_0" doxytag="NL3D::CMeshVPWindTree::Bias" ></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="a02917.html#NL3D_1_1CMeshVPWindTreez547_0">NL3D::CMeshVPWindTree::Bias</a>[HrcDepth]
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Bias result of the cosinus: f= cos(time)+bias.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06025.html#l00063">63</a> of file <a class="el" href="a06025.html">meshvp_wind_tree.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLGEORGES_1_1UTypeo0" doxytag="NL3D::CMeshVPWindTree::crefs" ></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#a14">sint</a> <a class="el" href="a02209.html#NLGEORGES_1_1UTypeo0">NLMISC::CRefCount::crefs</a><code> [mutable, inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06402.html#l00079">79</a> of file <a class="el" href="a06402.html">smart_ptr.h</a>.
+<p>
+Referenced by <a class="el" href="a06402.html#l00085">NLMISC::CRefCount::CRefCount()</a>, <a class="el" href="a06402.html#l00070">NLMISC::CRefCount::getRefCount()</a>, and <a class="el" href="a06403.html#l00044">NLMISC::CRefCount::~CRefCount()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshVPWindTreez547_1" doxytag="NL3D::CMeshVPWindTree::Frequency" ></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="a02917.html#NL3D_1_1CMeshVPWindTreez547_1">NL3D::CMeshVPWindTree::Frequency</a>[HrcDepth]
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Frequency of the wind for 3 Hierachy levels.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06025.html#l00055">55</a> of file <a class="el" href="a06025.html">meshvp_wind_tree.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshVPWindTreez547_2" doxytag="NL3D::CMeshVPWindTree::FrequencyWindFactor" ></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="a02917.html#NL3D_1_1CMeshVPWindTreez547_2">NL3D::CMeshVPWindTree::FrequencyWindFactor</a>[HrcDepth]
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Additional frequency, multiplied by the globalWindPower.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06025.html#l00057">57</a> of file <a class="el" href="a06025.html">meshvp_wind_tree.h</a>.
+<p>
+Referenced by <a class="el" href="a06024.html#l00100">CMeshVPWindTree()</a>, and <a class="el" href="a06024.html#l00178">setupPerMesh()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLGEORGES_1_1UTypes0" doxytag="NL3D::CMeshVPWindTree::NullPtrInfo" ></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="a03320.html">CRefCount::CPtrInfo</a> <a class="el" href="a02209.html#NLGEORGES_1_1UTypes0">NLMISC::CRefCount::NullPtrInfo</a><code> [static, inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Referenced by <a class="el" href="a06402.html#l00085">NLMISC::CRefCount::CRefCount()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLGEORGES_1_1UTypeo1" doxytag="NL3D::CMeshVPWindTree::pinfo" ></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"> CPtrInfo* <a class="el" href="a02209.html#NLGEORGES_1_1UTypeo1">NLMISC::CRefCount::pinfo</a><code> [mutable, inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06402.html#l00080">80</a> of file <a class="el" href="a06402.html">smart_ptr.h</a>.
+<p>
+Referenced by <a class="el" href="a06402.html#l00085">NLMISC::CRefCount::CRefCount()</a>, and <a class="el" href="a06403.html#l00044">NLMISC::CRefCount::~CRefCount()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshVPWindTreez547_3" doxytag="NL3D::CMeshVPWindTree::PowerXY" ></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="a02917.html#NL3D_1_1CMeshVPWindTreez547_3">NL3D::CMeshVPWindTree::PowerXY</a>[HrcDepth]
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Power of the wind on XY. Mul by globalWindPower.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06025.html#l00059">59</a> of file <a class="el" href="a06025.html">meshvp_wind_tree.h</a>.
+<p>
+Referenced by <a class="el" href="a06024.html#l00100">CMeshVPWindTree()</a>, and <a class="el" href="a06024.html#l00178">setupPerMesh()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshVPWindTreez547_4" doxytag="NL3D::CMeshVPWindTree::PowerZ" ></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="a02917.html#NL3D_1_1CMeshVPWindTreez547_4">NL3D::CMeshVPWindTree::PowerZ</a>[HrcDepth]
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Power of the wind on Z. Mul by globalWindPower.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06025.html#l00061">61</a> of file <a class="el" href="a06025.html">meshvp_wind_tree.h</a>.
+<p>
+Referenced by <a class="el" href="a06024.html#l00100">CMeshVPWindTree()</a>, and <a class="el" href="a06024.html#l00178">setupPerMesh()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshVPWindTreez547_5" doxytag="NL3D::CMeshVPWindTree::SpecularLighting" ></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="a02917.html#NL3D_1_1CMeshVPWindTreez547_5">NL3D::CMeshVPWindTree::SpecularLighting</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+true if want Specular Lighting.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06025.html#l00066">66</a> of file <a class="el" href="a06025.html">meshvp_wind_tree.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a06025.html">meshvp_wind_tree.h</a><li><a class="el" href="a06024.html">meshvp_wind_tree.cpp</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 06:56:19 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>