aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/classNL3D_1_1CVegetable.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/doxygen/nel/classNL3D_1_1CVegetable.html')
-rw-r--r--docs/doxygen/nel/classNL3D_1_1CVegetable.html1519
1 files changed, 1519 insertions, 0 deletions
diff --git a/docs/doxygen/nel/classNL3D_1_1CVegetable.html b/docs/doxygen/nel/classNL3D_1_1CVegetable.html
new file mode 100644
index 00000000..35c9cc66
--- /dev/null
+++ b/docs/doxygen/nel/classNL3D_1_1CVegetable.html
@@ -0,0 +1,1519 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<HTML>
+<HEAD>
+ <TITLE>nevrax.org : docs</TITLE>
+ <LINK REL=stylesheet TYPE="text/css" HREF="http://www.nevrax.org/inc/css/nevrax.css">
+ <link href="doxygen.css" rel="stylesheet" type="text/css">
+</HEAD>
+<BODY MARGINHEIGHT="0" MARGINWIDTH="0">
+
+<!-- uplinks -->
+<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0>
+ <TR>
+ <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD>
+ <TD WIDTH=140 BGCOLOR=#dddddd><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="16" BORDER=0 ALT=""></TD>
+ <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD>
+ <TD><IMG width=6 height=14 SRC="http://www.nevrax.org/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle>&nbsp;<A CLASS=uplinks HREF=http://www.nevrax.org><b>Home</B></FONT></A>&nbsp;&nbsp;&nbsp;</TD>
+ <TD><IMG width=6 height=14 SRC="http://www.nevrax.org/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle>&nbsp;<A CLASS=uplinks HREF=http://www.nevrax.com><b>nevrax.com</B></FONT></A>&nbsp;&nbsp;&nbsp;</TD>
+ </TR>
+</TABLE>
+
+<!-- banner Nevrax -->
+<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%>
+ <TR><TD BGCOLOR="#000000" BACKGROUND="http://www.nevrax.org/inc/img/black_banner.jpg"><A HREF="http://www.nevrax.org"><IMG SRC="http://www.nevrax.org/inc/img/nevrax.gif" WIDTH="170" HEIGHT="45" BORDER=0 ALT="Nevrax" ></A></TD></TR>
+</TABLE>
+
+<!-- main table -->
+<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 height=100%>
+ <TR>
+ <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="10" BORDER=0 ALT=""></TD>
+ <TD WIDTH=140 BGCOLOR=#dddddd VALIGN=TOP ALIGN=middle><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="10" BORDER=0 ALT="">
+
+ <!------ Begin Box ------>
+ <TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 BGCOLOR=black><TR><TD><TABLE border=0 cellspacing=2 cellpadding=0 width=120><tr><TD ALIGN=middle bgcolor=black>
+ <FONT COLOR=white FACE="sans-serif"><B>Nevrax.org</B></FONT></TD></TR><tr><td colspan=2 bgcolor=#FFFFFF>
+ <TABLE cellspacing=0 cellpadding=1 border=0>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/news/" TITLE="Rubrique news"><img width=13 height=15 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-news.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/news/" TITLE="News">News</a></td></tr>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/mail/" TITLE="Rubrique mail"><img width=15 height=11 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-mail.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/mail/" TITLE="Mailing list archive">Mailing-list</a></td></tr>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/docs/" TITLE="Rubrique docs"><img width=14 height=16 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-docs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/docs/" TITLE="Documentation">Documentation</a></td></tr>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/cvs/" TITLE="Rubrique cvs"><img width=13 height=17 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-cvs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/cvs/" TITLE="CVS Web">CVS</a></td></tr>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/bugs/" TITLE="Rubrique bugs"><img width=20 height=16 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-bugs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/bugs/" TITLE="Bugtracking">Bugs</a></td></tr>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/GPL.php3" TITLE="Rubrique license"><img width=18 height=12 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-gpl.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/GPL.php3" TITLE="License">License</a></td></tr>
+ </TABLE>
+ </TD></TR></TABLE></TD></TR></TABLE>
+ <!------ End Box ------>
+
+ </TD>
+ <TD WIDTH=15><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD>
+ <TD ALIGN=left valign=top><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="10" BORDER=0 ALT="">
+
+<!-- title -->
+<TABLE background="http://www.nevrax.org/inc/img/redline.gif" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td>
+<A HREF="http://www.nevrax.org/docs/"><img src="http://www.nevrax.org/inc/img/t_docs.gif" ALT="Docs" HEIGHT=20 BORDER=0></A>
+</td><td><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="1" HEIGHT="1" BORDER=0 ALT="">
+</td></tr></table>
+&nbsp;
+
+<!-- block -->
+<TABLE bgcolor="#dddddd" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td width=1% valign=middle><img width=6 height=14 hspace=2 vspace=2 src="http://www.nevrax.org/inc/img/reddots.gif"></TD>
+ <TD><B>Documentation</B></TD>
+ <TD ALIGN=RIGHT>&nbsp;</td>
+</tr></table>
+<!-- Generated by Doxygen 1.2.14 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; <a class="qindexRef" doxygen="_cgi:http://www.nevrax.org/cgi-bin/nel-search.cgi" href="http://www.nevrax.org/cgi-bin/nel-search.cgi">Search</a> &nbsp; </center>
+<hr><h1>NL3D::CVegetable Class Reference</h1>A vegetable descriptor.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="vegetable_8h-source.html">vegetable.h</a>&gt;</code>
+<p>
+<a href="classNL3D_1_1CVegetable-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td colspan=2><br><h2>Density Angle Factor</h2></td></tr>
+<tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CVegetable.html#z878_0">TAngleType</a> { <a class="el" href="classNL3D_1_1CVegetable.html#z878_0s4">AngleGround</a> = 0,
+<a class="el" href="classNL3D_1_1CVegetable.html#z878_0s5">AngleCeiling</a>,
+<a class="el" href="classNL3D_1_1CVegetable.html#z878_0s6">AngleWall</a>
+ }</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CVegetable.html#z878_1">setAngleGround</a> (float cosAngleMin)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>set an Angle setup such that max density is when normal== K, and 0 density is when normalAngle= cosAngleMin.</em> <a href="#z878_1">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CVegetable.html#z878_2">setAngleCeiling</a> (float cosAngleMax)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>set an Angle setup such that max density is when normal= -K, and 0 density is when normalAngle= cosAngleMax.</em> <a href="#z878_2">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CVegetable.html#z878_3">setAngleWall</a> (float cosAngleMin, float cosAngleMax)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>set an Angle setup such that max density is when normal is at (cosAngleMin+cosAngleMax)/2, and 0 density is when cosAngle= one of the cosAngleMin or cosAngleMax.</em> <a href="#z878_3">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>float&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CVegetable.html#z878_4">getCosAngleMin</a> () const</td></tr>
+<tr><td nowrap align=right valign=top>float&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CVegetable.html#z878_5">getCosAngleMax</a> () const</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classNL3D_1_1CVegetable.html#z878_0">TAngleType</a>&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CVegetable.html#z878_6">getAngleType</a> () const</td></tr>
+<tr><td colspan=2><br><h2>Public Types</h2></td></tr>
+<tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CVegetable.html#s7">TVegetableWater</a> { <a class="el" href="classNL3D_1_1CVegetable.html#s7s0">AboveWater</a> = 0,
+<a class="el" href="classNL3D_1_1CVegetable.html#s7s1">UnderWater</a>,
+<a class="el" href="classNL3D_1_1CVegetable.html#s7s2">IntersectWater</a>,
+<a class="el" href="classNL3D_1_1CVegetable.html#s7s3">VegetInfoLast</a>
+ }</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Micro vegetation position against Water. Above water is the default.</em> <a href="#s7">More...</a><em></em></font><br><br></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CVegetable.html#a0">CVegetable</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CVegetable.html#a1">registerToManager</a> (<a class="el" href="classNL3D_1_1CVegetableManager.html">CVegetableManager</a> *manager)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>register the vegetable to the vegetable manager.</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CVegetable.html#a2">generateGroup</a> (const CVector &amp;posInWorld, const CVector &amp;surfaceNormal, float area, <a class="el" href="memory__common_8h.html#a15">uint</a> vegetSeed, std::vector&lt; CVector2f &gt; &amp;instances) const</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>generate a list of instance to create on a small ground element, according to density and noise.</em> <a href="#a2">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CVegetable.html#a3">generateGroupBiLinear</a> (const CVector &amp;posInWorld, const CVector posInWorldBorder[4], const CVector &amp;surfaceNormal, float area, <a class="el" href="memory__common_8h.html#a15">uint</a> vegetSeed, std::vector&lt; CVector2f &gt; &amp;instances) const</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CVegetable.html#a4">reserveIgAddInstances</a> (<a class="el" href="classNL3D_1_1CVegetableInstanceGroupReserve.html">CVegetableInstanceGroupReserve</a> &amp;vegetIgReserve, <a class="el" href="classNL3D_1_1CVegetable.html#s7">TVegetableWater</a> vegetWaterState, <a class="el" href="memory__common_8h.html#a15">uint</a> numInstances) const</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Fast allocation reservation: you must call this before generating all your instances in an Ig: Add N instances of Vegetable to the reservation system.</em> <a href="#a4">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CVegetable.html#a5">generateInstance</a> (<a class="el" href="classNL3D_1_1CVegetableInstanceGroup.html">CVegetableInstanceGroup</a> *ig, const <a class="el" href="classNLMISC_1_1CMatrix.html">NLMISC::CMatrix</a> &amp;posInWorld, const <a class="el" href="classNLMISC_1_1CRGBAF.html">NLMISC::CRGBAF</a> &amp;modulateAmbientColor, const <a class="el" href="classNLMISC_1_1CRGBAF.html">NLMISC::CRGBAF</a> &amp;modulateDiffuseColor, float blendDistMax, <a class="el" href="classNL3D_1_1CVegetable.html#s7">TVegetableWater</a> vegetWaterState, <a class="el" href="classNL3D_1_1CVegetableUV8.html">CVegetableUV8</a> dlmUV) const</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>posInWorld should be a matrix of position + rotation (typically for surface alignement).</em> <a href="#a5">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CVegetable.html#a6">serial</a> (<a class="el" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &amp;f)</td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CVegetable.html#m0">ShapeName</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Name of the shape to use.</em> <a href="#m0">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classNL3D_1_1CNoiseValue.html">CNoiseValue</a>&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CVegetable.html#m1">Density</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Density== Number of instance to create / mē.</em> <a href="#m1">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>float&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CVegetable.html#m2">MaxDensity</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>the maximum density computed. if &lt;0, no maximum. -1 by default.</em> <a href="#m2">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classNL3D_1_1CNoiseValue.html">CNoiseValue</a>&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CVegetable.html#m3">Sxy</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Random Scale.</em> <a href="#m3">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classNL3D_1_1CNoiseValue.html">CNoiseValue</a>&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CVegetable.html#m4">Sz</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Random Scale.</em> <a href="#m4">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classNL3D_1_1CNoiseValue.html">CNoiseValue</a>&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CVegetable.html#m5">Rx</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Random Orientation.</em> <a href="#m5">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classNL3D_1_1CNoiseValue.html">CNoiseValue</a>&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CVegetable.html#m6">Ry</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Random Orientation.</em> <a href="#m6">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classNL3D_1_1CNoiseValue.html">CNoiseValue</a>&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CVegetable.html#m7">Rz</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Random Orientation.</em> <a href="#m7">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classNL3D_1_1CNoiseValue.html">CNoiseValue</a>&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CVegetable.html#m8">BendFactor</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Random Bend factor.</em> <a href="#m8">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classNL3D_1_1CNoiseValue.html">CNoiseValue</a>&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CVegetable.html#m9">BendPhase</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Random Bend Phase.</em> <a href="#m9">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>float&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CVegetable.html#m10">BendFrequencyFactor</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Fixed Bend FrequencyFactor. NB: rounded during addInstance to the nearest NL3D_VEGETABLE_FREQUENCY_FACTOR_PREC.</em> <a href="#m10">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classNL3D_1_1CNoiseColorGradient.html">CNoiseColorGradient</a>&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CVegetable.html#m11">Color</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>The color to modulate the instance.</em> <a href="#m11">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="memory__common_8h.html#a11">uint32</a>&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CVegetable.html#m12">DistType</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>At which distance this vegetable will be rendered.</em> <a href="#m12">More...</a><em></em></font><br><br></td></tr>
+<tr><td colspan=2><br><h2>Private Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CVegetable.html#c0">generateGroupEx</a> (float nbInst, const CVector &amp;posInWorld, const CVector &amp;surfaceNormal, <a class="el" href="memory__common_8h.html#a15">uint</a> vegetSeed, std::vector&lt; CVector2f &gt; &amp;instances) const</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Do the generateGroup, but take nbInst unmodulated by normal.</em> <a href="#c0">More...</a><em></em></font><br><br></td></tr>
+<tr><td colspan=2><br><h2>Static Private Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>float&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CVegetable.html#f0">easeInEaseOut</a> (float <a class="el" href="driver__opengl__extension__def_8h.html#a364">x</a>)</td></tr>
+<tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>float&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CVegetable.html#o0">_CosAngleMin</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>density is multiplied by a function f(cos angle with verticalVector), such that f(CosAngleMiddle)==1, and f(CosAngleMin)==f(CosAngleMax)== 0.</em> <a href="#o0">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>float&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CVegetable.html#o1">_CosAngleMax</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>density is multiplied by a function f(cos angle with verticalVector), such that f(CosAngleMiddle)==1, and f(CosAngleMin)==f(CosAngleMax)== 0.</em> <a href="#o1">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>float&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CVegetable.html#o2">_CosAngleMiddle</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>density is multiplied by a function f(cos angle with verticalVector), such that f(CosAngleMiddle)==1, and f(CosAngleMin)==f(CosAngleMax)== 0.</em> <a href="#o2">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>float&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CVegetable.html#o3">_OOCosAngleDist</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>density is multiplied by a function f(cos angle with verticalVector), such that f(CosAngleMiddle)==1, and f(CosAngleMin)==f(CosAngleMax)== 0.</em> <a href="#o3">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classNL3D_1_1CVegetable.html#z878_0">TAngleType</a>&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CVegetable.html#o4">_AngleType</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>angle type setuped with setAngleMin etc...</em> <a href="#o4">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classNL3D_1_1CVegetableManager.html">CVegetableManager</a> *&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CVegetable.html#o5">_Manager</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>the manager.</em> <a href="#o5">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classNL3D_1_1CVegetableShape.html">CVegetableShape</a> *&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CVegetable.html#o6">_VegetableShape</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>shape in the manager.</em> <a href="#o6">More...</a><em></em></font><br><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A vegetable descriptor.
+<p>
+<dl compact><dt><b>
+Author: </b><dd>
+Lionel Berenguier , Nevrax France </dl><dl compact><dt><b>
+Date: </b><dd>
+2001 </dl>
+<p>
+
+<p>
+Definition at line <a class="el" href="vegetable_8h-source.html#l00054">54</a> of file <a class="el" href="vegetable_8h-source.html">vegetable.h</a>.<hr><h2>Member Enumeration Documentation</h2>
+<a name="z878_0" doxytag="NL3D::CVegetable::TAngleType"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> enum NL3D::CVegetable::TAngleType
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<dl compact><dt><b>
+Enumeration values:</b><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em><a name="z878_0s4" doxytag="AngleGround"></a><em>AngleGround</em></em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a name="z878_0s5" doxytag="AngleCeiling"></a><em>AngleCeiling</em></em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a name="z878_0s6" doxytag="AngleWall"></a><em>AngleWall</em></em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="vegetable_8h-source.html#l00090">90</a> of file <a class="el" href="vegetable_8h-source.html">vegetable.h</a>.
+<p>
+Referenced by <a class="el" href="vegetable_8h-source.html#l00109">getAngleType</a>. </td>
+ </tr>
+</table>
+<a name="s7" doxytag="NL3D::CVegetable::TVegetableWater"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> enum NL3D::CVegetable::TVegetableWater
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Micro vegetation position against Water. Above water is the default.
+<p>
+<dl compact><dt><b>
+Enumeration values:</b><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em><a name="s7s0" doxytag="AboveWater"></a><em>AboveWater</em></em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a name="s7s1" doxytag="UnderWater"></a><em>UnderWater</em></em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a name="s7s2" doxytag="IntersectWater"></a><em>IntersectWater</em></em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a name="s7s3" doxytag="VegetInfoLast"></a><em>VegetInfoLast</em></em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="vegetable_8h-source.html#l00058">58</a> of file <a class="el" href="vegetable_8h-source.html">vegetable.h</a>. </td>
+ </tr>
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="NL3D::CVegetable::CVegetable"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NL3D::CVegetable::CVegetable </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="vegetable_8cpp-source.html#l00048">48</a> of file <a class="el" href="vegetable_8cpp-source.html">vegetable.cpp</a>.
+<p>
+References <a class="el" href="vegetable_8h-source.html#l00179">_Manager</a>, <a class="el" href="vegetable_8h-source.html#l00072">BendFactor</a>, <a class="el" href="vegetable_8h-source.html#l00076">BendFrequencyFactor</a>, <a class="el" href="vegetable_8h-source.html#l00082">DistType</a>, <a class="el" href="vegetable_8h-source.html#l00066">MaxDensity</a>, <a class="el" href="vegetable_8h-source.html#l00070">Rx</a>, <a class="el" href="vegetable_8h-source.html#l00070">Ry</a>, <a class="el" href="vegetable_8h-source.html#l00070">Rz</a>, <a class="el" href="vegetable_8cpp-source.html#l00075">setAngleGround</a>, <a class="el" href="vegetable_8h-source.html#l00068">Sxy</a>, and <a class="el" href="vegetable_8h-source.html#l00068">Sz</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="f0" doxytag="NL3D::CVegetable::easeInEaseOut"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float NL3D::CVegetable::easeInEaseOut </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>x</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, 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="vegetable_8h-source.html#l00189">189</a> of file <a class="el" href="vegetable_8h-source.html">vegetable.h</a>.
+<p>
+References <a class="el" href="driver__opengl__extension__def_8h-source.html#l00233">x</a>, and <a class="el" href="driver__opengl__extension__def_8h-source.html#l00233">y</a>.
+<p>
+Referenced by <a class="el" href="vegetable_8cpp-source.html#l00190">generateGroupBiLinear</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="NL3D::CVegetable::generateGroup"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CVegetable::generateGroup </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const CVector &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>posInWorld</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const CVector &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>surfaceNormal</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>area</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="memory__common_8h.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>vegetSeed</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>std::vector&lt; CVector2f &gt; &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>instances</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+generate a list of instance to create on a small ground element, according to density and noise.
+<p>
+result is a list of instance to create, with random 2d position. 2d position are in range [0..1]. caller should scale, or use it to compute real world position, and then use <a class="el" href="classNL3D_1_1CVegetable.html#a5">generateInstance</a>() to really compute the instances.
+<p>
+Warning! Use <a class="el" href="namespaceNL3D.html#a362">OptFastFloor</a>()! So call must be enclosed with a <a class="el" href="namespaceNL3D.html#a360">OptFastFloorBegin</a>()/<a class="el" href="namespaceNL3D.html#a361">OptFastFloorEnd</a>().<dl compact><dt><b>
+Parameters: </b><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em>posInWorld</em>&nbsp;</td><td>
+center (approx) of the surface which generate group of vegetable </td></tr>
+<tr><td valign=top><em>surfaceNormal</em>&nbsp;</td><td>
+UNIT up vector of the surface to compare with (0,0,1), to modulate density </td></tr>
+<tr><td valign=top><em>area</em>&nbsp;</td><td>
+area of the surface, to know number of elements to generate for this surface </td></tr>
+<tr><td valign=top><em>vegetSeed</em>&nbsp;</td><td>
+"random" value which Should be different for all vegetables in the same area. usefull if lot of different vegetable generated in same area: positions won't be generated at same place. </td></tr>
+<tr><td valign=top><em>instances</em>&nbsp;</td><td>
+the generated position of instances. </td></tr>
+</table>
+</dl>
+<p>
+Definition at line <a class="el" href="vegetable_8cpp-source.html#l00176">176</a> of file <a class="el" href="vegetable_8cpp-source.html">vegetable.cpp</a>.
+<p>
+References <a class="el" href="vegetable_8h-source.html#l00064">Density</a>, <a class="el" href="vegetable_8cpp-source.html#l00132">generateGroupEx</a>, <a class="el" href="vegetable_8h-source.html#l00066">MaxDensity</a>, and <a class="el" href="bit__set_8cpp-source.html#l00038">min</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="NL3D::CVegetable::generateGroupBiLinear"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CVegetable::generateGroupBiLinear </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const CVector &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>posInWorld</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const CVector&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>posInWorldBorder</em>[4], </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const CVector &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>surfaceNormal</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>area</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="memory__common_8h.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>vegetSeed</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>std::vector&lt; CVector2f &gt; &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>instances</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="vegetable_8cpp-source.html#l00190">190</a> of file <a class="el" href="vegetable_8cpp-source.html">vegetable.cpp</a>.
+<p>
+References <a class="el" href="vegetable_8h-source.html#l00064">Density</a>, <a class="el" href="vegetable_8h-source.html#l00189">easeInEaseOut</a>, <a class="el" href="vegetable_8cpp-source.html#l00132">generateGroupEx</a>, <a class="el" href="vegetable_8h-source.html#l00066">MaxDensity</a>, <a class="el" href="bit__set_8cpp-source.html#l00038">min</a>, <a class="el" href="namespaceNL3D.html#a472">NL3D::RandomGenerator</a>, <a class="el" href="driver__opengl__extension__def_8h-source.html#l00233">x</a>, and <a class="el" href="driver__opengl__extension__def_8h-source.html#l00233">y</a>. </td>
+ </tr>
+</table>
+<a name="c0" doxytag="NL3D::CVegetable::generateGroupEx"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CVegetable::generateGroupEx </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>nbInst</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const CVector &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>posInWorld</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const CVector &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>surfaceNormal</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="memory__common_8h.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>vegetSeed</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>std::vector&lt; CVector2f &gt; &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>instances</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"> const<code> [private]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Do the generateGroup, but take nbInst unmodulated by normal.
+<p>
+
+<p>
+Definition at line <a class="el" href="vegetable_8cpp-source.html#l00132">132</a> of file <a class="el" href="vegetable_8cpp-source.html">vegetable.cpp</a>.
+<p>
+References <a class="el" href="vegetable_8h-source.html#l00173">_CosAngleMiddle</a>, <a class="el" href="vegetable_8h-source.html#l00173">_OOCosAngleDist</a>, <a class="el" href="fast__floor_8h-source.html#l00125">NL3D::OptFastFloor</a>, <a class="el" href="namespaceNL3D.html#a472">NL3D::RandomGenerator</a>, and <a class="el" href="common_8h-source.html#l00143">NLMISC::sqr</a>.
+<p>
+Referenced by <a class="el" href="vegetable_8cpp-source.html#l00176">generateGroup</a>, and <a class="el" href="vegetable_8cpp-source.html#l00190">generateGroupBiLinear</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="NL3D::CVegetable::generateInstance"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CVegetable::generateInstance </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classNL3D_1_1CVegetableInstanceGroup.html">CVegetableInstanceGroup</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>ig</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="classNLMISC_1_1CMatrix.html">NLMISC::CMatrix</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>posInWorld</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="classNLMISC_1_1CRGBAF.html">NLMISC::CRGBAF</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>modulateAmbientColor</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="classNLMISC_1_1CRGBAF.html">NLMISC::CRGBAF</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>modulateDiffuseColor</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>blendDistMax</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classNL3D_1_1CVegetable.html#s7">TVegetableWater</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>vegetWaterState</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classNL3D_1_1CVegetableUV8.html">CVegetableUV8</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>dlmUV</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+posInWorld should be a matrix of position + rotation (typically for surface alignement).
+<p>
+FinalPos= posInWorld * noiseMatrix(scale/rot) FinalAmbientColor= vegetManager-&gt;Ambient * modulateAmbientColor * randomColor. FinalDiffuseColor= vegetManager-&gt;Diffuse * modulateDiffuseColor * randomColor. If instance is in AlphaBlend/ZSort, blendDistMax is the distance where the instance is invisible (alpha==0). instance is added to the manager, under the instance group ig. This one must have been generated by the VegetableManager. <dl compact><dt><b>
+Parameters: </b><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em>dlmUV</em>&nbsp;</td><td>
+is the dynamic lightmap UV for this vegetable. </td></tr>
+</table>
+</dl>
+<p>
+Definition at line <a class="el" href="vegetable_8cpp-source.html#l00306">306</a> of file <a class="el" href="vegetable_8cpp-source.html">vegetable.cpp</a>.
+<p>
+References <a class="el" href="vegetable_8h-source.html#l00179">_Manager</a>, <a class="el" href="vegetable_8h-source.html#l00181">_VegetableShape</a>, <a class="el" href="vegetable_8h-source.html#l00072">BendFactor</a>, <a class="el" href="vegetable_8h-source.html#l00076">BendFrequencyFactor</a>, <a class="el" href="vegetable_8h-source.html#l00074">BendPhase</a>, <a class="el" href="vegetable_8h-source.html#l00078">Color</a>, <a class="el" href="matrix_8h-source.html#l00188">NLMISC::CMatrix::getPos</a>, <a class="el" href="debug_8h-source.html#l00254">nlassert</a>, <a class="el" href="vegetable_8h-source.html#l00070">Rx</a>, <a class="el" href="vegetable_8h-source.html#l00070">Ry</a>, <a class="el" href="vegetable_8h-source.html#l00070">Rz</a>, <a class="el" href="vegetable_8h-source.html#l00068">Sxy</a>, and <a class="el" href="vegetable_8h-source.html#l00068">Sz</a>. </td>
+ </tr>
+</table>
+<a name="z878_6" doxytag="NL3D::CVegetable::getAngleType"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classNL3D_1_1CVegetable.html#z878_0">TAngleType</a> NL3D::CVegetable::getAngleType </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</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="vegetable_8h-source.html#l00109">109</a> of file <a class="el" href="vegetable_8h-source.html">vegetable.h</a>.
+<p>
+References <a class="el" href="vegetable_8h-source.html#l00175">_AngleType</a>, and <a class="el" href="vegetable_8h-source.html#l00090">TAngleType</a>. </td>
+ </tr>
+</table>
+<a name="z878_5" doxytag="NL3D::CVegetable::getCosAngleMax"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float NL3D::CVegetable::getCosAngleMax </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</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="vegetable_8h-source.html#l00108">108</a> of file <a class="el" href="vegetable_8h-source.html">vegetable.h</a>.
+<p>
+References <a class="el" href="vegetable_8h-source.html#l00173">_CosAngleMax</a>. </td>
+ </tr>
+</table>
+<a name="z878_4" doxytag="NL3D::CVegetable::getCosAngleMin"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float NL3D::CVegetable::getCosAngleMin </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</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="vegetable_8h-source.html#l00107">107</a> of file <a class="el" href="vegetable_8h-source.html">vegetable.h</a>.
+<p>
+References <a class="el" href="vegetable_8h-source.html#l00173">_CosAngleMin</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="NL3D::CVegetable::registerToManager"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CVegetable::registerToManager </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classNL3D_1_1CVegetableManager.html">CVegetableManager</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>manager</em> </td>
+ <td class="md" valign="top">)&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>
+register the vegetable to the vegetable manager.
+<p>
+do it first. used by <a class="el" href="classNL3D_1_1CVegetable.html#a5">generateInstance</a>(). Manager will load the shape needed for this vegetable.
+<p>
+Definition at line <a class="el" href="vegetable_8cpp-source.html#l00123">123</a> of file <a class="el" href="vegetable_8cpp-source.html">vegetable.cpp</a>.
+<p>
+References <a class="el" href="vegetable_8h-source.html#l00179">_Manager</a>, <a class="el" href="vegetable_8h-source.html#l00181">_VegetableShape</a>, <a class="el" href="debug_8h-source.html#l00254">nlassert</a>, and <a class="el" href="vegetable_8h-source.html#l00062">ShapeName</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="NL3D::CVegetable::reserveIgAddInstances"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CVegetable::reserveIgAddInstances </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classNL3D_1_1CVegetableInstanceGroupReserve.html">CVegetableInstanceGroupReserve</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>vegetIgReserve</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classNL3D_1_1CVegetable.html#s7">TVegetableWater</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>vegetWaterState</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="memory__common_8h.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>numInstances</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Fast allocation reservation: you must call this before generating all your instances in an Ig: Add N instances of Vegetable to the reservation system.
+<p>
+<dl compact><dt><b>
+Parameters: </b><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em>numInstances</em>&nbsp;</td><td>
+number of instances to generate (as "returned" by <a class="el" href="classNL3D_1_1CVegetable.html#a2">generateGroup</a>()). </td></tr>
+</table>
+</dl><dl compact><dt><b>
+See also: </b><dd>
+<a class="el" href="classNL3D_1_1CVegetableManager.html#z883_1">CVegetableManager::reserveIgCompile</a>(). </dl>
+<p>
+Definition at line <a class="el" href="vegetable_8cpp-source.html#l00296">296</a> of file <a class="el" href="vegetable_8cpp-source.html">vegetable.cpp</a>.
+<p>
+References <a class="el" href="vegetable_8h-source.html#l00179">_Manager</a>, <a class="el" href="vegetable_8h-source.html#l00181">_VegetableShape</a>, and <a class="el" href="debug_8h-source.html#l00254">nlassert</a>. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="NL3D::CVegetable::serial"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CVegetable::serial </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>f</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="vegetable_8cpp-source.html#l00367">367</a> of file <a class="el" href="vegetable_8cpp-source.html">vegetable.cpp</a>.
+<p>
+References <a class="el" href="vegetable_8h-source.html#l00175">_AngleType</a>, <a class="el" href="vegetable_8h-source.html#l00173">_CosAngleMax</a>, <a class="el" href="vegetable_8h-source.html#l00173">_CosAngleMiddle</a>, <a class="el" href="vegetable_8h-source.html#l00173">_CosAngleMin</a>, <a class="el" href="vegetable_8h-source.html#l00173">_OOCosAngleDist</a>, <a class="el" href="vegetable_8h-source.html#l00072">BendFactor</a>, <a class="el" href="vegetable_8h-source.html#l00076">BendFrequencyFactor</a>, <a class="el" href="vegetable_8h-source.html#l00074">BendPhase</a>, <a class="el" href="vegetable_8h-source.html#l00078">Color</a>, <a class="el" href="vegetable_8h-source.html#l00064">Density</a>, <a class="el" href="vegetable_8h-source.html#l00082">DistType</a>, <a class="el" href="vegetable_8h-source.html#l00066">MaxDensity</a>, <a class="el" href="vegetable_8h-source.html#l00070">Rx</a>, <a class="el" href="vegetable_8h-source.html#l00070">Ry</a>, <a class="el" href="vegetable_8h-source.html#l00070">Rz</a>, <a class="el" href="stream_8h-source.html#l00222">NLMISC::IStream::serial</a>, <a class="el" href="stream_8h-source.html#l00251">NLMISC::IStream::serialEnum</a>, <a class="el" href="stream_8cpp-source.html#l00253">NLMISC::IStream::serialVersion</a>, <a class="el" href="vegetable_8h-source.html#l00062">ShapeName</a>, <a class="el" href="vegetable_8h-source.html#l00068">Sxy</a>, and <a class="el" href="vegetable_8h-source.html#l00068">Sz</a>. </td>
+ </tr>
+</table>
+<a name="z878_2" doxytag="NL3D::CVegetable::setAngleCeiling"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CVegetable::setAngleCeiling </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>cosAngleMax</em> </td>
+ <td class="md" valign="top">)&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>
+set an Angle setup such that max density is when normal= -K, and 0 density is when normalAngle= cosAngleMax.
+<p>
+<dl compact><dt><b>
+Parameters: </b><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em>cosAngleMinLimit</em>&nbsp;</td><td>
+should be a cosinus angle between -1 and 1. </td></tr>
+</table>
+</dl>
+<p>
+Definition at line <a class="el" href="vegetable_8cpp-source.html#l00091">91</a> of file <a class="el" href="vegetable_8cpp-source.html">vegetable.cpp</a>.
+<p>
+References <a class="el" href="vegetable_8h-source.html#l00175">_AngleType</a>, <a class="el" href="vegetable_8h-source.html#l00173">_CosAngleMax</a>, <a class="el" href="vegetable_8h-source.html#l00173">_CosAngleMiddle</a>, <a class="el" href="vegetable_8h-source.html#l00173">_CosAngleMin</a>, <a class="el" href="vegetable_8h-source.html#l00173">_OOCosAngleDist</a>, and <a class="el" href="classNL3D_1_1CVegetable.html#z878_0s5">AngleCeiling</a>. </td>
+ </tr>
+</table>
+<a name="z878_1" doxytag="NL3D::CVegetable::setAngleGround"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CVegetable::setAngleGround </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>cosAngleMin</em> </td>
+ <td class="md" valign="top">)&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>
+set an Angle setup such that max density is when normal== K, and 0 density is when normalAngle= cosAngleMin.
+<p>
+<dl compact><dt><b>
+Parameters: </b><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em>cosAngleMinLimit</em>&nbsp;</td><td>
+should be a cosinus angle between -1 and 1. </td></tr>
+</table>
+</dl>
+<p>
+Definition at line <a class="el" href="vegetable_8cpp-source.html#l00075">75</a> of file <a class="el" href="vegetable_8cpp-source.html">vegetable.cpp</a>.
+<p>
+References <a class="el" href="vegetable_8h-source.html#l00175">_AngleType</a>, <a class="el" href="vegetable_8h-source.html#l00173">_CosAngleMax</a>, <a class="el" href="vegetable_8h-source.html#l00173">_CosAngleMiddle</a>, <a class="el" href="vegetable_8h-source.html#l00173">_CosAngleMin</a>, <a class="el" href="vegetable_8h-source.html#l00173">_OOCosAngleDist</a>, and <a class="el" href="classNL3D_1_1CVegetable.html#z878_0s4">AngleGround</a>.
+<p>
+Referenced by <a class="el" href="vegetable_8cpp-source.html#l00048">CVegetable</a>. </td>
+ </tr>
+</table>
+<a name="z878_3" doxytag="NL3D::CVegetable::setAngleWall"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CVegetable::setAngleWall </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cosAngleMin</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cosAngleMax</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+set an Angle setup such that max density is when normal is at (cosAngleMin+cosAngleMax)/2, and 0 density is when cosAngle= one of the cosAngleMin or cosAngleMax.
+<p>
+
+<p>
+Definition at line <a class="el" href="vegetable_8cpp-source.html#l00107">107</a> of file <a class="el" href="vegetable_8cpp-source.html">vegetable.cpp</a>.
+<p>
+References <a class="el" href="vegetable_8h-source.html#l00175">_AngleType</a>, <a class="el" href="vegetable_8h-source.html#l00173">_CosAngleMax</a>, <a class="el" href="vegetable_8h-source.html#l00173">_CosAngleMiddle</a>, <a class="el" href="vegetable_8h-source.html#l00173">_CosAngleMin</a>, <a class="el" href="vegetable_8h-source.html#l00173">_OOCosAngleDist</a>, and <a class="el" href="classNL3D_1_1CVegetable.html#z878_0s6">AngleWall</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="o4" doxytag="NL3D::CVegetable::_AngleType"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classNL3D_1_1CVegetable.html#z878_0">TAngleType</a> NL3D::CVegetable::_AngleType<code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+angle type setuped with setAngleMin etc...
+<p>
+
+<p>
+Definition at line <a class="el" href="vegetable_8h-source.html#l00175">175</a> of file <a class="el" href="vegetable_8h-source.html">vegetable.h</a>.
+<p>
+Referenced by <a class="el" href="vegetable_8h-source.html#l00109">getAngleType</a>, <a class="el" href="vegetable_8cpp-source.html#l00367">serial</a>, <a class="el" href="vegetable_8cpp-source.html#l00091">setAngleCeiling</a>, <a class="el" href="vegetable_8cpp-source.html#l00075">setAngleGround</a>, and <a class="el" href="vegetable_8cpp-source.html#l00107">setAngleWall</a>. </td>
+ </tr>
+</table>
+<a name="o1" doxytag="NL3D::CVegetable::_CosAngleMax"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float NL3D::CVegetable::_CosAngleMax<code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+density is multiplied by a function f(cos angle with verticalVector), such that f(CosAngleMiddle)==1, and f(CosAngleMin)==f(CosAngleMax)== 0.
+<p>
+
+<p>
+Definition at line <a class="el" href="vegetable_8h-source.html#l00173">173</a> of file <a class="el" href="vegetable_8h-source.html">vegetable.h</a>.
+<p>
+Referenced by <a class="el" href="vegetable_8h-source.html#l00108">getCosAngleMax</a>, <a class="el" href="vegetable_8cpp-source.html#l00367">serial</a>, <a class="el" href="vegetable_8cpp-source.html#l00091">setAngleCeiling</a>, <a class="el" href="vegetable_8cpp-source.html#l00075">setAngleGround</a>, and <a class="el" href="vegetable_8cpp-source.html#l00107">setAngleWall</a>. </td>
+ </tr>
+</table>
+<a name="o2" doxytag="NL3D::CVegetable::_CosAngleMiddle"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float NL3D::CVegetable::_CosAngleMiddle<code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+density is multiplied by a function f(cos angle with verticalVector), such that f(CosAngleMiddle)==1, and f(CosAngleMin)==f(CosAngleMax)== 0.
+<p>
+
+<p>
+Definition at line <a class="el" href="vegetable_8h-source.html#l00173">173</a> of file <a class="el" href="vegetable_8h-source.html">vegetable.h</a>.
+<p>
+Referenced by <a class="el" href="vegetable_8cpp-source.html#l00132">generateGroupEx</a>, <a class="el" href="vegetable_8cpp-source.html#l00367">serial</a>, <a class="el" href="vegetable_8cpp-source.html#l00091">setAngleCeiling</a>, <a class="el" href="vegetable_8cpp-source.html#l00075">setAngleGround</a>, and <a class="el" href="vegetable_8cpp-source.html#l00107">setAngleWall</a>. </td>
+ </tr>
+</table>
+<a name="o0" doxytag="NL3D::CVegetable::_CosAngleMin"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float NL3D::CVegetable::_CosAngleMin<code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+density is multiplied by a function f(cos angle with verticalVector), such that f(CosAngleMiddle)==1, and f(CosAngleMin)==f(CosAngleMax)== 0.
+<p>
+
+<p>
+Definition at line <a class="el" href="vegetable_8h-source.html#l00173">173</a> of file <a class="el" href="vegetable_8h-source.html">vegetable.h</a>.
+<p>
+Referenced by <a class="el" href="vegetable_8h-source.html#l00107">getCosAngleMin</a>, <a class="el" href="vegetable_8cpp-source.html#l00367">serial</a>, <a class="el" href="vegetable_8cpp-source.html#l00091">setAngleCeiling</a>, <a class="el" href="vegetable_8cpp-source.html#l00075">setAngleGround</a>, and <a class="el" href="vegetable_8cpp-source.html#l00107">setAngleWall</a>. </td>
+ </tr>
+</table>
+<a name="o5" doxytag="NL3D::CVegetable::_Manager"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classNL3D_1_1CVegetableManager.html">CVegetableManager</a>* NL3D::CVegetable::_Manager<code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+the manager.
+<p>
+
+<p>
+Definition at line <a class="el" href="vegetable_8h-source.html#l00179">179</a> of file <a class="el" href="vegetable_8h-source.html">vegetable.h</a>.
+<p>
+Referenced by <a class="el" href="vegetable_8cpp-source.html#l00048">CVegetable</a>, <a class="el" href="vegetable_8cpp-source.html#l00306">generateInstance</a>, <a class="el" href="vegetable_8cpp-source.html#l00123">registerToManager</a>, and <a class="el" href="vegetable_8cpp-source.html#l00296">reserveIgAddInstances</a>. </td>
+ </tr>
+</table>
+<a name="o3" doxytag="NL3D::CVegetable::_OOCosAngleDist"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float NL3D::CVegetable::_OOCosAngleDist<code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+density is multiplied by a function f(cos angle with verticalVector), such that f(CosAngleMiddle)==1, and f(CosAngleMin)==f(CosAngleMax)== 0.
+<p>
+
+<p>
+Definition at line <a class="el" href="vegetable_8h-source.html#l00173">173</a> of file <a class="el" href="vegetable_8h-source.html">vegetable.h</a>.
+<p>
+Referenced by <a class="el" href="vegetable_8cpp-source.html#l00132">generateGroupEx</a>, <a class="el" href="vegetable_8cpp-source.html#l00367">serial</a>, <a class="el" href="vegetable_8cpp-source.html#l00091">setAngleCeiling</a>, <a class="el" href="vegetable_8cpp-source.html#l00075">setAngleGround</a>, and <a class="el" href="vegetable_8cpp-source.html#l00107">setAngleWall</a>. </td>
+ </tr>
+</table>
+<a name="o6" doxytag="NL3D::CVegetable::_VegetableShape"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classNL3D_1_1CVegetableShape.html">CVegetableShape</a>* NL3D::CVegetable::_VegetableShape<code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+shape in the manager.
+<p>
+
+<p>
+Definition at line <a class="el" href="vegetable_8h-source.html#l00181">181</a> of file <a class="el" href="vegetable_8h-source.html">vegetable.h</a>.
+<p>
+Referenced by <a class="el" href="vegetable_8cpp-source.html#l00306">generateInstance</a>, <a class="el" href="vegetable_8cpp-source.html#l00123">registerToManager</a>, and <a class="el" href="vegetable_8cpp-source.html#l00296">reserveIgAddInstances</a>. </td>
+ </tr>
+</table>
+<a name="m8" doxytag="NL3D::CVegetable::BendFactor"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classNL3D_1_1CNoiseValue.html">CNoiseValue</a> NL3D::CVegetable::BendFactor
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Random Bend factor.
+<p>
+
+<p>
+Definition at line <a class="el" href="vegetable_8h-source.html#l00072">72</a> of file <a class="el" href="vegetable_8h-source.html">vegetable.h</a>.
+<p>
+Referenced by <a class="el" href="vegetable_8cpp-source.html#l00048">CVegetable</a>, <a class="el" href="vegetable_8cpp-source.html#l00306">generateInstance</a>, and <a class="el" href="vegetable_8cpp-source.html#l00367">serial</a>. </td>
+ </tr>
+</table>
+<a name="m10" doxytag="NL3D::CVegetable::BendFrequencyFactor"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float NL3D::CVegetable::BendFrequencyFactor
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Fixed Bend FrequencyFactor. NB: rounded during addInstance to the nearest NL3D_VEGETABLE_FREQUENCY_FACTOR_PREC.
+<p>
+
+<p>
+Definition at line <a class="el" href="vegetable_8h-source.html#l00076">76</a> of file <a class="el" href="vegetable_8h-source.html">vegetable.h</a>.
+<p>
+Referenced by <a class="el" href="vegetable_8cpp-source.html#l00048">CVegetable</a>, <a class="el" href="vegetable_8cpp-source.html#l00306">generateInstance</a>, and <a class="el" href="vegetable_8cpp-source.html#l00367">serial</a>. </td>
+ </tr>
+</table>
+<a name="m9" doxytag="NL3D::CVegetable::BendPhase"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classNL3D_1_1CNoiseValue.html">CNoiseValue</a> NL3D::CVegetable::BendPhase
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Random Bend Phase.
+<p>
+
+<p>
+Definition at line <a class="el" href="vegetable_8h-source.html#l00074">74</a> of file <a class="el" href="vegetable_8h-source.html">vegetable.h</a>.
+<p>
+Referenced by <a class="el" href="vegetable_8cpp-source.html#l00306">generateInstance</a>, and <a class="el" href="vegetable_8cpp-source.html#l00367">serial</a>. </td>
+ </tr>
+</table>
+<a name="m11" doxytag="NL3D::CVegetable::Color"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classNL3D_1_1CNoiseColorGradient.html">CNoiseColorGradient</a> NL3D::CVegetable::Color
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The color to modulate the instance.
+<p>
+
+<p>
+Definition at line <a class="el" href="vegetable_8h-source.html#l00078">78</a> of file <a class="el" href="vegetable_8h-source.html">vegetable.h</a>.
+<p>
+Referenced by <a class="el" href="vegetable_8cpp-source.html#l00306">generateInstance</a>, and <a class="el" href="vegetable_8cpp-source.html#l00367">serial</a>. </td>
+ </tr>
+</table>
+<a name="m1" doxytag="NL3D::CVegetable::Density"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classNL3D_1_1CNoiseValue.html">CNoiseValue</a> NL3D::CVegetable::Density
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Density== Number of instance to create / mē.
+<p>
+
+<p>
+Definition at line <a class="el" href="vegetable_8h-source.html#l00064">64</a> of file <a class="el" href="vegetable_8h-source.html">vegetable.h</a>.
+<p>
+Referenced by <a class="el" href="vegetable_8cpp-source.html#l00176">generateGroup</a>, <a class="el" href="vegetable_8cpp-source.html#l00190">generateGroupBiLinear</a>, and <a class="el" href="vegetable_8cpp-source.html#l00367">serial</a>. </td>
+ </tr>
+</table>
+<a name="m12" doxytag="NL3D::CVegetable::DistType"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="memory__common_8h.html#a11">uint32</a> NL3D::CVegetable::DistType
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+At which distance this vegetable will be rendered.
+<p>
+NB: DistType is not managed by <a class="el" href="classNL3D_1_1CVegetableManager.html">CVegetableManager</a>, but by user (eg <a class="el" href="classNL3D_1_1CLandscape.html">CLandscape</a>).
+<p>
+Definition at line <a class="el" href="vegetable_8h-source.html#l00082">82</a> of file <a class="el" href="vegetable_8h-source.html">vegetable.h</a>.
+<p>
+Referenced by <a class="el" href="vegetable_8cpp-source.html#l00048">CVegetable</a>, and <a class="el" href="vegetable_8cpp-source.html#l00367">serial</a>. </td>
+ </tr>
+</table>
+<a name="m2" doxytag="NL3D::CVegetable::MaxDensity"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float NL3D::CVegetable::MaxDensity
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+the maximum density computed. if &lt;0, no maximum. -1 by default.
+<p>
+
+<p>
+Definition at line <a class="el" href="vegetable_8h-source.html#l00066">66</a> of file <a class="el" href="vegetable_8h-source.html">vegetable.h</a>.
+<p>
+Referenced by <a class="el" href="vegetable_8cpp-source.html#l00048">CVegetable</a>, <a class="el" href="vegetable_8cpp-source.html#l00176">generateGroup</a>, <a class="el" href="vegetable_8cpp-source.html#l00190">generateGroupBiLinear</a>, and <a class="el" href="vegetable_8cpp-source.html#l00367">serial</a>. </td>
+ </tr>
+</table>
+<a name="m5" doxytag="NL3D::CVegetable::Rx"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classNL3D_1_1CNoiseValue.html">CNoiseValue</a> NL3D::CVegetable::Rx
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Random Orientation.
+<p>
+
+<p>
+Definition at line <a class="el" href="vegetable_8h-source.html#l00070">70</a> of file <a class="el" href="vegetable_8h-source.html">vegetable.h</a>.
+<p>
+Referenced by <a class="el" href="vegetable_8cpp-source.html#l00048">CVegetable</a>, <a class="el" href="vegetable_8cpp-source.html#l00306">generateInstance</a>, and <a class="el" href="vegetable_8cpp-source.html#l00367">serial</a>. </td>
+ </tr>
+</table>
+<a name="m6" doxytag="NL3D::CVegetable::Ry"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classNL3D_1_1CNoiseValue.html">CNoiseValue</a> NL3D::CVegetable::Ry
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Random Orientation.
+<p>
+
+<p>
+Definition at line <a class="el" href="vegetable_8h-source.html#l00070">70</a> of file <a class="el" href="vegetable_8h-source.html">vegetable.h</a>.
+<p>
+Referenced by <a class="el" href="vegetable_8cpp-source.html#l00048">CVegetable</a>, <a class="el" href="vegetable_8cpp-source.html#l00306">generateInstance</a>, and <a class="el" href="vegetable_8cpp-source.html#l00367">serial</a>. </td>
+ </tr>
+</table>
+<a name="m7" doxytag="NL3D::CVegetable::Rz"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classNL3D_1_1CNoiseValue.html">CNoiseValue</a> NL3D::CVegetable::Rz
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Random Orientation.
+<p>
+
+<p>
+Definition at line <a class="el" href="vegetable_8h-source.html#l00070">70</a> of file <a class="el" href="vegetable_8h-source.html">vegetable.h</a>.
+<p>
+Referenced by <a class="el" href="vegetable_8cpp-source.html#l00048">CVegetable</a>, <a class="el" href="vegetable_8cpp-source.html#l00306">generateInstance</a>, and <a class="el" href="vegetable_8cpp-source.html#l00367">serial</a>. </td>
+ </tr>
+</table>
+<a name="m0" doxytag="NL3D::CVegetable::ShapeName"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::string NL3D::CVegetable::ShapeName
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Name of the shape to use.
+<p>
+
+<p>
+Definition at line <a class="el" href="vegetable_8h-source.html#l00062">62</a> of file <a class="el" href="vegetable_8h-source.html">vegetable.h</a>.
+<p>
+Referenced by <a class="el" href="vegetable_8cpp-source.html#l00123">registerToManager</a>, and <a class="el" href="vegetable_8cpp-source.html#l00367">serial</a>. </td>
+ </tr>
+</table>
+<a name="m3" doxytag="NL3D::CVegetable::Sxy"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classNL3D_1_1CNoiseValue.html">CNoiseValue</a> NL3D::CVegetable::Sxy
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Random Scale.
+<p>
+
+<p>
+Definition at line <a class="el" href="vegetable_8h-source.html#l00068">68</a> of file <a class="el" href="vegetable_8h-source.html">vegetable.h</a>.
+<p>
+Referenced by <a class="el" href="vegetable_8cpp-source.html#l00048">CVegetable</a>, <a class="el" href="vegetable_8cpp-source.html#l00306">generateInstance</a>, and <a class="el" href="vegetable_8cpp-source.html#l00367">serial</a>. </td>
+ </tr>
+</table>
+<a name="m4" doxytag="NL3D::CVegetable::Sz"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classNL3D_1_1CNoiseValue.html">CNoiseValue</a> NL3D::CVegetable::Sz
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Random Scale.
+<p>
+
+<p>
+Definition at line <a class="el" href="vegetable_8h-source.html#l00068">68</a> of file <a class="el" href="vegetable_8h-source.html">vegetable.h</a>.
+<p>
+Referenced by <a class="el" href="vegetable_8cpp-source.html#l00048">CVegetable</a>, <a class="el" href="vegetable_8cpp-source.html#l00306">generateInstance</a>, and <a class="el" href="vegetable_8cpp-source.html#l00367">serial</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="vegetable_8h-source.html">vegetable.h</a><li><a class="el" href="vegetable_8cpp-source.html">vegetable.cpp</a></ul>
+
+
+<!-- footer -->
+<BR><FONT Size=+5>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </FONT>
+</TD>
+<TD WIDTH=15><IMG SRC=http://www.nevrax.org/inc/img/pixel.gif WIDTH=15 HEIGHT=15 BORDER=0 ALT=""></TD>
+</TR>
+</TABLE>
+</BODY>
+</HTML>