diff options
Diffstat (limited to 'docs/doxygen/nel/a02917.html')
-rw-r--r-- | docs/doxygen/nel/a02917.html | 1847 |
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 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::CMeshVPWindTree Class Reference</h1><code>#include <<a class="el" href="a06025.html">meshvp_wind_tree.h</a>></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 </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> </td><td class="memItemRight" valign=bottom><a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreea0">CMeshVPWindTree</a> ()</td></tr> + +<tr><td class="mdescLeft"> </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 </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 </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> & </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 </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> </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 </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> &f) throw (NLMISC::EStream)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual </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 </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> &invertedModelMat, const <a class="el" href="a03128.html">NLMISC::CVector</a> &)</td></tr> + +<tr><td class="mdescLeft"> </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 </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"> </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 </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"> </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 </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> &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"> </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 </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> &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"> </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 </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> &invertedModelMat)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void </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 </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 </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 </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> </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 * </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </td><td class="memItemRight" valign=bottom><a class="el" href="a02917.html#NL3D_1_1CMeshVPWindTreez547_5">SpecularLighting</a></td></tr> + +<tr><td class="mdescLeft"> </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 </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 </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 </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> &invertedModelMat)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </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> &invertedModelMat)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </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 </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 </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> </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 </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> </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 </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< <a class="el" href="a03702.html">CVertexProgram</a> > </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 </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> + + </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> </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> + + </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> </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 & 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">( </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> +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<<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">( </td> + <td class="mdname1" valign="top" nowrap> </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> + +<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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02434.html">IDriver</a> * </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> * </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> * </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> & </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> & </td> + <td class="mdname" nowrap></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> +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->isVertexProgramSupported() && !driver->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= &scene->getRenderTrav(); +00314 <a class="code" href="a04558.html#a14">sint</a> numPls= renderTrav->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->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->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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02434.html">IDriver</a> * </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> * </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> * </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> & </td> + <td class="mdname" nowrap> <em>invertedModelMat</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> + +<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= &scene->getRenderTrav(); +00415 <a class="code" href="a04558.html#a14">sint</a> numPls= renderTrav->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->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->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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02434.html">IDriver</a> * </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> * </td> + <td class="mdname" nowrap> <em>scene</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> + +<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" => 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->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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02434.html">IDriver</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>drv</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> +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->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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02434.html">IDriver</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>drv</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> + +<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->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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </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> + + </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">( </td> + <td class="mdname1" valign="top" nowrap> </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> +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>& NLMISC::CRefCount::getRefCount </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, inherited]</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="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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02873.html">CMeshBaseInstance</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>mbi</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> +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<<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&1)!=0; +00163 <span class="keywordtype">bool</span> specular= (i&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<CVertexProgram>(<span class="keyword">new</span> CVertexProgram(vpCode.c_str())); +00170 } +00171 } +00172 +00173 <span class="comment">// init a random phase.</span> +00174 mbi->_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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02434.html">IDriver</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>drv</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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->isVertexProgramSupported() && !driver->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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </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> + + </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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02917.html">CMeshVPWindTree</a> </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> + </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">( </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>)<code> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<<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">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a02839.html">CMaterial</a> & </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> * </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> * </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> * </td> + <td class="mdname" nowrap> <em>vb</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> +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">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a02839.html">CMaterial</a> & </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> * </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> * </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> * </td> + <td class="mdname" nowrap> <em>vb</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> +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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03348.html">CScene</a> * </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> * </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> & </td> + <td class="mdname" nowrap> <em>invertedModelMat</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="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= &scene->getRenderTrav(); +00367 <span class="comment">// setup cte for lighting</span> +00368 renderTrav->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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02434.html">IDriver</a> * </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> * </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> * </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> & </td> + <td class="mdname" nowrap> <em>invertedModelMat</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </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> + + </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->_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->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<<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->setConstantMatrix(0, IDriver::ModelViewProjection, IDriver::Identity); +00251 <span class="comment">// c[4..7] take the ModelView Matrix. After setupModelMatrix();</span> +00252 driver->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->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->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->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->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->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->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->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->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->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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02434.html">IDriver</a> * </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> * </td> + <td class="mdname" nowrap> <em>scene</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </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> + + </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->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->getGlobalWindPower(); +00185 +00186 <span class="keywordtype">float</span> dt= (<span class="keywordtype">float</span>)(scene->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->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<<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<HrcDepth; i++) +00200 { +00201 <a class="code" href="a02917.html#NL3D_1_1CMeshVPWindTreer3">_MaxDeltaPos</a>[i]= scene->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<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->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->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->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">( </td> + <td class="md" nowrap valign="top">float </td> + <td class="mdname1" valign="top" nowrap> <em>angle</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [static, 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="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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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< <a class="el" href="a03702.html">CVertexProgram</a> > <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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> |