aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/a03222.html
diff options
context:
space:
mode:
authorneodarz <neodarz@neodarz.net>2018-08-11 20:21:34 +0200
committerneodarz <neodarz@neodarz.net>2018-08-11 20:21:34 +0200
commit0ea5fc66924303d1bf73ba283a383e2aadee02f2 (patch)
tree2568e71a7ccc44ec23b8bb3f0ff97fb6bf2ed709 /docs/doxygen/nel/a03222.html
downloadnevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.tar.xz
nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.zip
Initial commit
Diffstat (limited to 'docs/doxygen/nel/a03222.html')
-rw-r--r--docs/doxygen/nel/a03222.html1600
1 files changed, 1600 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a03222.html b/docs/doxygen/nel/a03222.html
new file mode 100644
index 00000000..d5bcbcd0
--- /dev/null
+++ b/docs/doxygen/nel/a03222.html
@@ -0,0 +1,1600 @@
+<!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::CPSPlaneBasisFollowSpeed class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.3.6 -->
+<div class="qindex"> <form class="search" action="search.php" method="get">
+<a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a> | <span class="search"><u>S</u>earch&nbsp;for&nbsp;<input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div>
+<h1>NL3D::CPSPlaneBasisFollowSpeed Class Reference</h1><code>#include &lt;<a class="el" href="a06261.html">ps_plane_basis_maker.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for NL3D::CPSPlaneBasisFollowSpeed:
+<p><center><img src="a03222.png" usemap="#NL3D::CPSPlaneBasisFollowSpeed_map" border="0" alt=""></center>
+<map name="NL3D::CPSPlaneBasisFollowSpeed_map">
+<area href="a03136.html" alt="NL3D::CPSAttribMaker< CPlaneBasis >" shape="rect" coords="0,168,236,192">
+<area href="a03137.html" alt="NL3D::CPSAttribMakerBase" shape="rect" coords="0,112,236,136">
+<area href="a02867.html" alt="NLMISC::IStreamable" shape="rect" coords="0,56,236,80">
+<area href="a02540.html" alt="NLMISC::IClassable" shape="rect" coords="0,0,236,24">
+</map>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+this is a 'follow direction' plane basis maker It set the plane basis to have its normal in the same direction than speed of the located The cycle param has no effect o the direction
+<p>
+
+<p>
+Definition at line <a class="el" href="a06261.html#l00086">86</a> of file <a class="el" href="a06261.html">ps_plane_basis_maker.h</a>.<table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeedw2">TProjectionPlane</a> { <br>
+&nbsp;&nbsp;<a class="el" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeedw2NL3D_1_1CPSPlaneBasisFollowSpeedw0">NoProjection</a> = 0,
+<a class="el" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeedw2NL3D_1_1CPSPlaneBasisFollowSpeedw3">XY</a>,
+<a class="el" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeedw2NL3D_1_1CPSPlaneBasisFollowSpeedw4">XZ</a>,
+<a class="el" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeedw2NL3D_1_1CPSPlaneBasisFollowSpeedw5">YZ</a>,
+<br>
+&nbsp;&nbsp;<a class="el" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeedw2NL3D_1_1CPSPlaneBasisFollowSpeedw1">ProjectionPlaneLast</a>
+<br>
+ }</td></tr>
+
+<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03137.html">CPSAttribMakerBase</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeeda0">clone</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeeda1">CPSPlaneBasisFollowSpeed</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03136.html#NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4z718_0">deleteElement</a> (<a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a04223.html#a566">index</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">delete an element, given its index. this must be called only if memory management is used. <a href="#NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4z718_0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="a03083.html">CPlaneBasis</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03136.html#NL3D_1_1CPSColorMemoryz714_0">get</a> (float input)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="a03083.html">CPlaneBasis</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeeda4">get</a> (<a class="el" href="a03214.html">CPSLocated</a> *loc, <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a04223.html#a566">index</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">============================================================================ <a href="#NL3D_1_1CPSPlaneBasisFollowSpeeda4"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03136.html#NL3D_1_1CPSColorMemoryz716_0">getClamping</a> (void) const</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02540.html#NL3D_1_1ITrackKeyFramer_3_01CKeyVector_01_4a6">getClassName</a> ()=0</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="a03207.html">CPSInputType</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03136.html#NL3D_1_1CPSColorMemoryz716_1">getInput</a> (void) const</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="a03083.html">CPlaneBasis</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03136.html#NL3D_1_1CPSColorMemorya6">getMaxValue</a> (void) const</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the min value, or an evalution that is guaranteed to be &lt; to it (meaningful for ordered set only) <a href="#NL3D_1_1CPSColorMemorya6"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="a03083.html">CPlaneBasis</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03136.html#NL3D_1_1CPSColorMemorya7">getMinValue</a> (void) const</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the max value, or an evalution that is guaranteed to be &gt; to it (meaningful for ordered set only) <a href="#NL3D_1_1CPSColorMemorya7"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03136.html#NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4z716_0">getNbCycles</a> (void) const</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeedw2">TProjectionPlane</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeeda11">getProjectionPlane</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual const char *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03136.html#NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4z712_0">getType</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">inherited from <a class="el" href="a03137.html">CPSAttribMakerBase</a>. Template specialization will do the job <a href="#NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4z712_0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03136.html#NL3D_1_1CPSColorMemoryz716_3">hasCustomInput</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">tells wether one may choose one attribute from a <a class="el" href="a03214.html">CPSLocated</a> to use as an input. If false, the input(s) is fixed <a href="#NL3D_1_1CPSColorMemoryz716_3"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03136.html#NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4z718_1">hasMemory</a> (void) const</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03136.html#NL3D_1_1CPSColorMemoryz716_4">isClampingSupported</a> (void) const</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeeda16">make</a> (<a class="el" href="a03214.html">CPSLocated</a> *loc, <a class="el" href="a04558.html#a11">uint32</a> startIndex, void *tab, <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a04223.html#a582">stride</a>, <a class="el" href="a04558.html#a11">uint32</a> numAttrib, bool enableNoCopy=false, <a class="el" href="a04558.html#a11">uint32</a> srcStep=(1&lt;&lt; 16)) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">============================================================================ <a href="#NL3D_1_1CPSPlaneBasisFollowSpeeda16"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeeda17">make4</a> (<a class="el" href="a03214.html">CPSLocated</a> *loc, <a class="el" href="a04558.html#a11">uint32</a> startIndex, void *tab, <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a04223.html#a582">stride</a>, <a class="el" href="a04558.html#a11">uint32</a> numAttrib, <a class="el" href="a04558.html#a11">uint32</a> srcStep=(1&lt;&lt; 16)) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">============================================================================ <a href="#NL3D_1_1CPSPlaneBasisFollowSpeeda17"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeeda18">makeN</a> (<a class="el" href="a03214.html">CPSLocated</a> *loc, <a class="el" href="a04558.html#a11">uint32</a> startIndex, void *tab, <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a04223.html#a582">stride</a>, <a class="el" href="a04558.html#a11">uint32</a> numAttrib, <a class="el" href="a04558.html#a11">uint32</a> nbReplicate, <a class="el" href="a04558.html#a11">uint32</a> srcStep=(1&lt;&lt; 16)) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">============================================================================ <a href="#NL3D_1_1CPSPlaneBasisFollowSpeeda18"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03136.html#NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4z718_2">newElement</a> (<a class="el" href="a03214.html">CPSLocated</a> *emitterLocated, <a class="el" href="a04558.html#a11">uint32</a> emitterIndex)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeeda20">NLMISC_DECLARE_CLASS</a> (<a class="el" href="a03222.html">CPSPlaneBasisFollowSpeed</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03136.html#NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4z718_3">resize</a> (<a class="el" href="a04558.html#a11">uint32</a> capacity, <a class="el" href="a04558.html#a11">uint32</a> nbPresentElements)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeeda22">serial</a> (<a class="el" href="a02270.html">NLMISC::IStream</a> &amp;f) throw (NLMISC::EStream)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">serialization <a href="#NL3D_1_1CPSPlaneBasisFollowSpeeda22"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03136.html#NL3D_1_1CPSColorMemoryz716_5">setClamping</a> (bool enable=true)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03136.html#NL3D_1_1CPSColorMemoryz716_6">setInput</a> (const <a class="el" href="a03207.html">CPSInputType</a> &amp;input)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03136.html#NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4z716_1">setNbCycles</a> (float nbCycles)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeeda26">setProjectionPlane</a> (<a class="el" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeedw2">TProjectionPlane</a> pp)</td></tr>
+
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03136.html#NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4p0">_HasMemory</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03136.html#NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4p1">_NbCycles</a></td></tr>
+
+<tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeedw2">TProjectionPlane</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeedr0">_ProjectionPlane</a></td></tr>
+
+</table>
+<hr><h2>Member Enumeration Documentation</h2>
+<a class="anchor" name="NL3D_1_1CPSPlaneBasisFollowSpeedw2" doxytag="NL3D::CPSPlaneBasisFollowSpeed::TProjectionPlane" ></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"> enum <a class="el" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeedw2">NL3D::CPSPlaneBasisFollowSpeed::TProjectionPlane</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<dl compact><dt><b>Enumeration values: </b></dt><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CPSPlaneBasisFollowSpeedw2NL3D_1_1CPSPlaneBasisFollowSpeedw0" doxytag="NoProjection" ></a>NoProjection</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CPSPlaneBasisFollowSpeedw2NL3D_1_1CPSPlaneBasisFollowSpeedw3" doxytag="XY" ></a>XY</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CPSPlaneBasisFollowSpeedw2NL3D_1_1CPSPlaneBasisFollowSpeedw4" doxytag="XZ" ></a>XZ</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CPSPlaneBasisFollowSpeedw2NL3D_1_1CPSPlaneBasisFollowSpeedw5" doxytag="YZ" ></a>YZ</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CPSPlaneBasisFollowSpeedw2NL3D_1_1CPSPlaneBasisFollowSpeedw1" doxytag="ProjectionPlaneLast" ></a>ProjectionPlaneLast</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a06261.html#l00089">89</a> of file <a class="el" href="a06261.html">ps_plane_basis_maker.h</a>.
+<p>
+<div class="fragment"><pre>00089 { <a class="code" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeedw2NL3D_1_1CPSPlaneBasisFollowSpeedw0">NoProjection</a> = 0, <a class="code" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeedw2NL3D_1_1CPSPlaneBasisFollowSpeedw3">XY</a>, <a class="code" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeedw2NL3D_1_1CPSPlaneBasisFollowSpeedw4">XZ</a>, <a class="code" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeedw2NL3D_1_1CPSPlaneBasisFollowSpeedw5">YZ</a>, <a class="code" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeedw2NL3D_1_1CPSPlaneBasisFollowSpeedw1">ProjectionPlaneLast</a> <span class="comment">/* enum counter */</span> };
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="NL3D_1_1CPSPlaneBasisFollowSpeeda1" doxytag="NL3D::CPSPlaneBasisFollowSpeed::CPSPlaneBasisFollowSpeed" ></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::CPSPlaneBasisFollowSpeed::CPSPlaneBasisFollowSpeed </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [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="a06261.html#l00091">91</a> of file <a class="el" href="a06261.html">ps_plane_basis_maker.h</a>.
+<p>
+<div class="fragment"><pre>00091 : CPSAttribMaker&lt;CPlaneBasis&gt;(1), <a class="code" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeedr0">_ProjectionPlane</a>(NoProjection) {}
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="NL3D_1_1CPSPlaneBasisFollowSpeeda0" doxytag="NL3D::CPSPlaneBasisFollowSpeed::clone" ></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="a03137.html">CPSAttribMakerBase</a>* NL3D::CPSPlaneBasisFollowSpeed::clone </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Implements <a class="el" href="a03137.html#NL3D_1_1CPSValueGradient_3_01uint32_01_4a0">NL3D::CPSAttribMakerBase</a>.
+<p>
+Definition at line <a class="el" href="a06261.html#l00151">151</a> of file <a class="el" href="a06261.html">ps_plane_basis_maker.h</a>.
+<p>
+<div class="fragment"><pre>00151 { <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeeda1">CPSPlaneBasisFollowSpeed</a>(*<span class="keyword">this</span>); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4z718_0" doxytag="NL3D::CPSPlaneBasisFollowSpeed::deleteElement" ></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 void <a class="el" href="a03136.html">NL3D::CPSAttribMaker</a>&lt; <a class="el" href="a03083.html">CPlaneBasis</a> &gt;::deleteElement </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>index</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+delete an element, given its index. this must be called only if memory management is used.
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a03138.html#NL3D_1_1CPSColorBinOpz722_0">NL3D::CPSAttribMakerBinOp&lt; CPlaneBasis &gt;</a>, and <a class="el" href="a03140.html#NL3D_1_1CPSColorMemorya2">NL3D::CPSAttribMakerMemoryBase&lt; CPlaneBasis &gt;</a>.
+<p>
+Definition at line <a class="el" href="a06214.html#l00285">285</a> of file <a class="el" href="a06214.html">ps_attrib_maker.h</a>.
+<p>
+Referenced by <a class="el" href="a06258.html#l00703">NL3D::CPSRotated3DPlaneParticle::deletePlaneBasisElement()</a>.
+<p>
+<div class="fragment"><pre>00285 { <a class="code" href="a04199.html#a6">nlassert</a>(<span class="keyword">false</span>) ; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSColorMemoryz714_0" doxytag="NL3D::CPSPlaneBasisFollowSpeed::get" ></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 <a class="el" href="a03083.html">CPlaneBasis</a> <a class="el" href="a03136.html">NL3D::CPSAttribMaker</a>&lt; <a class="el" href="a03083.html">CPlaneBasis</a> &gt;::get </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>input</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Direct lookup of the result value from a float input (if it makes sense). This bypass what was set with setInput The input must be in [0, 1[
+<p>
+Reimplemented in <a class="el" href="a03144.html#NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4a2">NL3D::CPSAttribMakerT&lt; CPlaneBasis, CPSValueBlendFunc&lt; CPlaneBasis &gt; &gt;</a>, <a class="el" href="a03144.html#NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4a2">NL3D::CPSAttribMakerT&lt; CPlaneBasis, CPSValueGradientFunc&lt; CPlaneBasis &gt; &gt;</a>, and <a class="el" href="a03144.html#NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4a2">NL3D::CPSAttribMakerT&lt; CPlaneBasis, CSpinnerFunctor &gt;</a>.
+<p>
+Definition at line <a class="el" href="a06214.html#l00161">161</a> of file <a class="el" href="a06214.html">ps_attrib_maker.h</a>.
+<p>
+<div class="fragment"><pre>00161 { <a class="code" href="a04199.html#a6">nlassert</a>(0); <span class="keywordflow">return</span> T(); <span class="comment">/* not supported by default */</span> }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSPlaneBasisFollowSpeeda4" doxytag="NL3D::CPSPlaneBasisFollowSpeed::get" ></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="a03083.html">CPlaneBasis</a> NL3D::CPSPlaneBasisFollowSpeed::get </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03214.html">CPSLocated</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>loc</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>index</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+============================================================================
+<p>
+
+<p>
+Implements <a class="el" href="a03136.html#NL3D_1_1CPSAttribMakerz714_1">NL3D::CPSAttribMaker&lt; CPlaneBasis &gt;</a>.
+<p>
+Definition at line <a class="el" href="a06260.html#l00043">43</a> of file <a class="el" href="a06260.html">ps_plane_basis_maker.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00339">NL3D::CPSLocated::getSpeed()</a>, <a class="el" href="a05646.html#l00225">index</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00044 {
+00045 <span class="keywordflow">return</span> (CPlaneBasis(loc-&gt;getSpeed()[<a class="code" href="a04223.html#a566">index</a>]));
+00046 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSColorMemoryz716_0" doxytag="NL3D::CPSPlaneBasisFollowSpeed::getClamping" ></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 <a class="el" href="a03136.html">NL3D::CPSAttribMaker</a>&lt; <a class="el" href="a03083.html">CPlaneBasis</a> &gt;::getClamping </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Test if the clamping is enabled. The default is false (clamping unsupported) <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a03136.html#NL3D_1_1CPSColorMemoryz716_4">isClampingSupported()</a></dd></dl>
+
+<p>
+Reimplemented in <a class="el" href="a03144.html#NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4a4">NL3D::CPSAttribMakerT&lt; CPlaneBasis, CPSValueBlendFunc&lt; CPlaneBasis &gt; &gt;</a>, <a class="el" href="a03144.html#NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4a4">NL3D::CPSAttribMakerT&lt; CPlaneBasis, CPSValueGradientFunc&lt; CPlaneBasis &gt; &gt;</a>, and <a class="el" href="a03144.html#NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4a4">NL3D::CPSAttribMakerT&lt; CPlaneBasis, CSpinnerFunctor &gt;</a>.
+<p>
+Definition at line <a class="el" href="a06214.html#l00272">272</a> of file <a class="el" href="a06214.html">ps_attrib_maker.h</a>.
+<p>
+<div class="fragment"><pre>00272 { <span class="keywordflow">return</span> <span class="keyword">false</span> ; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1ITrackKeyFramer_3_01CKeyVector_01_4a6" doxytag="NL3D::CPSPlaneBasisFollowSpeed::getClassName" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual std::string NLMISC::IClassable::getClassName </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [pure virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Implemented in <a class="el" href="a02995.html#NLAIAGENT_1_1CNumericIndexz1699_0">NLAIAGENT::CNumericIndex</a>, <a class="el" href="a02145.html#NLAIAGENT_1_1VectorTypez1764_0">NLAIC::IPointerGestion</a>, <a class="el" href="a02650.html#NLAIC_1_1CIdentTypez1766_0">NLAIC::CIdentType</a>, and <a class="el" href="a02241.html#CAutomataDescz1896_0">CAutomataDesc</a>.
+<p>
+Referenced by <a class="el" href="a05549.html#l00091">NLMISC::CClassRegistry::checkObject()</a>, and <a class="el" href="a06525.html#l00039">NL3D::GetTextureSize()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSColorMemoryz716_1" doxytag="NL3D::CPSPlaneBasisFollowSpeed::getInput" ></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 <a class="el" href="a03207.html">CPSInputType</a> <a class="el" href="a03136.html">NL3D::CPSAttribMaker</a>&lt; <a class="el" href="a03083.html">CPlaneBasis</a> &gt;::getInput </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get the type of input (if supported). The default return attrDate <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a03136.html#NL3D_1_1CPSColorMemoryz716_3">hasCustomInput()</a></dd></dl>
+
+<p>
+Reimplemented in <a class="el" href="a03144.html#NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4a6">NL3D::CPSAttribMakerT&lt; CPlaneBasis, CPSValueBlendFunc&lt; CPlaneBasis &gt; &gt;</a>, <a class="el" href="a03144.html#NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4a6">NL3D::CPSAttribMakerT&lt; CPlaneBasis, CPSValueGradientFunc&lt; CPlaneBasis &gt; &gt;</a>, and <a class="el" href="a03144.html#NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4a6">NL3D::CPSAttribMakerT&lt; CPlaneBasis, CSpinnerFunctor &gt;</a>.
+<p>
+Definition at line <a class="el" href="a06214.html#l00251">251</a> of file <a class="el" href="a06214.html">ps_attrib_maker.h</a>.
+<p>
+<div class="fragment"><pre>00251 { <span class="keywordflow">return</span> CPSInputType() ; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSColorMemorya6" doxytag="NL3D::CPSPlaneBasisFollowSpeed::getMaxValue" ></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 <a class="el" href="a03083.html">CPlaneBasis</a> <a class="el" href="a03136.html">NL3D::CPSAttribMaker</a>&lt; <a class="el" href="a03083.html">CPlaneBasis</a> &gt;::getMaxValue </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get the min value, or an evalution that is guaranteed to be &lt; to it (meaningful for ordered set only)
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a03138.html#NL3D_1_1CPSColorBinOpa2">NL3D::CPSAttribMakerBinOp&lt; CPlaneBasis &gt;</a>, <a class="el" href="a03156.html#NL3D_1_1CPSValueBlendera7">NL3D::CPSValueBlender&lt; CPlaneBasis &gt;</a>, and <a class="el" href="a03159.html#NL3D_1_1CPSValueGradienta7">NL3D::CPSValueGradient&lt; CPlaneBasis &gt;</a>.
+<p>
+Definition at line <a class="el" href="a06214.html#l00217">217</a> of file <a class="el" href="a06214.html">ps_attrib_maker.h</a>.
+<p>
+<div class="fragment"><pre>00217 { <span class="keywordflow">return</span> T() ; <span class="comment">/* no mean by default */</span> }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSColorMemorya7" doxytag="NL3D::CPSPlaneBasisFollowSpeed::getMinValue" ></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 <a class="el" href="a03083.html">CPlaneBasis</a> <a class="el" href="a03136.html">NL3D::CPSAttribMaker</a>&lt; <a class="el" href="a03083.html">CPlaneBasis</a> &gt;::getMinValue </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get the max value, or an evalution that is guaranteed to be &gt; to it (meaningful for ordered set only)
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a03138.html#NL3D_1_1CPSColorBinOpa3">NL3D::CPSAttribMakerBinOp&lt; CPlaneBasis &gt;</a>, <a class="el" href="a03156.html#NL3D_1_1CPSValueBlendera8">NL3D::CPSValueBlender&lt; CPlaneBasis &gt;</a>, and <a class="el" href="a03159.html#NL3D_1_1CPSValueGradienta8">NL3D::CPSValueGradient&lt; CPlaneBasis &gt;</a>.
+<p>
+Definition at line <a class="el" href="a06214.html#l00215">215</a> of file <a class="el" href="a06214.html">ps_attrib_maker.h</a>.
+<p>
+<div class="fragment"><pre>00215 { <span class="keywordflow">return</span> T() ; <span class="comment">/* no mean by default */</span> }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4z716_0" doxytag="NL3D::CPSPlaneBasisFollowSpeed::getNbCycles" ></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="a03136.html">NL3D::CPSAttribMaker</a>&lt; <a class="el" href="a03083.html">CPlaneBasis</a> &gt;::getNbCycles </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Retrieve the number of cycles <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a03136.html#NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4z716_1">setNbCycles()</a></dd></dl>
+
+<p>
+Definition at line <a class="el" href="a06214.html#l00236">236</a> of file <a class="el" href="a06214.html">ps_attrib_maker.h</a>.
+<p>
+<div class="fragment"><pre>00236 { <span class="keywordflow">return</span> <a class="code" href="a03136.html#NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4p1">_NbCycles</a> ; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSPlaneBasisFollowSpeeda11" doxytag="NL3D::CPSPlaneBasisFollowSpeed::getProjectionPlane" ></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="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeedw2">TProjectionPlane</a> NL3D::CPSPlaneBasisFollowSpeed::getProjectionPlane </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</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="a06261.html#l00153">153</a> of file <a class="el" href="a06261.html">ps_plane_basis_maker.h</a>.
+<p>
+<div class="fragment"><pre>00153 { <span class="keywordflow">return</span> <a class="code" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeedr0">_ProjectionPlane</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4z712_0" doxytag="NL3D::CPSPlaneBasisFollowSpeed::getType" ></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 char * <a class="el" href="a03136.html">NL3D::CPSAttribMaker</a>&lt; <a class="el" href="a03083.html">CPlaneBasis</a> &gt;::getType </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+inherited from <a class="el" href="a03137.html">CPSAttribMakerBase</a>. Template specialization will do the job
+<p>
+
+<p>
+Implements <a class="el" href="a03137.html#NL3D_1_1CPSAttribMakerBasea2">NL3D::CPSAttribMakerBase</a>.
+<p>
+Definition at line <a class="el" href="a06214.html#l00147">147</a> of file <a class="el" href="a06214.html">ps_attrib_maker.h</a>.
+<p>
+<div class="fragment"><pre>00147 { <span class="keywordflow">return</span> <span class="stringliteral">"UNKNOWN"</span>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSColorMemoryz716_3" doxytag="NL3D::CPSPlaneBasisFollowSpeed::hasCustomInput" ></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 <a class="el" href="a03136.html">NL3D::CPSAttribMaker</a>&lt; <a class="el" href="a03083.html">CPlaneBasis</a> &gt;::hasCustomInput </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+tells wether one may choose one attribute from a <a class="el" href="a03214.html">CPSLocated</a> to use as an input. If false, the input(s) is fixed
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a03144.html#NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4a9">NL3D::CPSAttribMakerT&lt; CPlaneBasis, CPSValueBlendFunc&lt; CPlaneBasis &gt; &gt;</a>, <a class="el" href="a03144.html#NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4a9">NL3D::CPSAttribMakerT&lt; CPlaneBasis, CPSValueGradientFunc&lt; CPlaneBasis &gt; &gt;</a>, and <a class="el" href="a03144.html#NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4a9">NL3D::CPSAttribMakerT&lt; CPlaneBasis, CSpinnerFunctor &gt;</a>.
+<p>
+Definition at line <a class="el" href="a06214.html#l00239">239</a> of file <a class="el" href="a06214.html">ps_attrib_maker.h</a>.
+<p>
+<div class="fragment"><pre>00239 { <span class="keywordflow">return</span> <span class="keyword">false</span> ; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4z718_1" doxytag="NL3D::CPSPlaneBasisFollowSpeed::hasMemory" ></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="a03136.html">NL3D::CPSAttribMaker</a>&lt; <a class="el" href="a03083.html">CPlaneBasis</a> &gt;::hasMemory </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Some attribute makers may hold memory. this return true when this is the case. This also mean that you must call newElement, deleteElement, and resize, when it is called for the owning object (which is likely to be a <a class="el" href="a02691.html">CPSLocatedBindable</a>)
+<p>
+Definition at line <a class="el" href="a06214.html#l00282">282</a> of file <a class="el" href="a06214.html">ps_attrib_maker.h</a>.
+<p>
+Referenced by <a class="el" href="a06258.html#l00703">NL3D::CPSRotated3DPlaneParticle::deletePlaneBasisElement()</a>, <a class="el" href="a06258.html#l00699">NL3D::CPSRotated3DPlaneParticle::newPlaneBasisElement()</a>, and <a class="el" href="a06258.html#l00707">NL3D::CPSRotated3DPlaneParticle::resizePlaneBasis()</a>.
+<p>
+<div class="fragment"><pre>00282 { <span class="keywordflow">return</span> <a class="code" href="a03136.html#NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4p0">_HasMemory</a> ; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSColorMemoryz716_4" doxytag="NL3D::CPSPlaneBasisFollowSpeed::isClampingSupported" ></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 <a class="el" href="a03136.html">NL3D::CPSAttribMaker</a>&lt; <a class="el" href="a03083.html">CPlaneBasis</a> &gt;::isClampingSupported </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+tells wether clamping is supported for the input (value can't go above MaxInputValue) The default is false
+<p>
+Reimplemented in <a class="el" href="a03144.html#NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4a10">NL3D::CPSAttribMakerT&lt; CPlaneBasis, CPSValueBlendFunc&lt; CPlaneBasis &gt; &gt;</a>, <a class="el" href="a03144.html#NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4a10">NL3D::CPSAttribMakerT&lt; CPlaneBasis, CPSValueGradientFunc&lt; CPlaneBasis &gt; &gt;</a>, and <a class="el" href="a03144.html#NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4a10">NL3D::CPSAttribMakerT&lt; CPlaneBasis, CSpinnerFunctor &gt;</a>.
+<p>
+Definition at line <a class="el" href="a06214.html#l00258">258</a> of file <a class="el" href="a06214.html">ps_attrib_maker.h</a>.
+<p>
+<div class="fragment"><pre>00258 { <span class="keywordflow">return</span> <span class="keyword">false</span> ; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSPlaneBasisFollowSpeeda16" doxytag="NL3D::CPSPlaneBasisFollowSpeed::make" ></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::CPSPlaneBasisFollowSpeed::make </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03214.html">CPSLocated</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>loc</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>startIndex</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>void *&nbsp;</td>
+ <td class="mdname" nowrap> <em>tab</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>stride</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>numAttrib</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>enableNoCopy</em> = false, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>srcStep</em> = (1&lt;&lt; 16)</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"> const<code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+============================================================================
+<p>
+Fill tab with an attribute by using the given stride. It fills numAttrib attributes. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>loc</em>&nbsp;</td><td>the 'located' that hold the 'located bindable' that need an attribute to be filled </td></tr>
+ <tr><td valign=top><em>startIndex</em>&nbsp;</td><td>usually 0, it gives the index of the first element in the located</td></tr>
+ </table>
+</dl>
+
+<p>
+Implements <a class="el" href="a03136.html#NL3D_1_1CPSAttribMakerz714_2">NL3D::CPSAttribMaker&lt; CPlaneBasis &gt;</a>.
+<p>
+Definition at line <a class="el" href="a06260.html#l00049">49</a> of file <a class="el" href="a06260.html">ps_plane_basis_maker.cpp</a>.
+<p>
+References <a class="el" href="a06261.html#l00156">_ProjectionPlane</a>, <a class="el" href="a06213.html#l00353">NL3D::CPSAttrib&lt; T &gt;::begin()</a>, <a class="el" href="a06247.html#l00339">NL3D::CPSLocated::getSpeed()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeedw2NL3D_1_1CPSPlaneBasisFollowSpeedw0">NoProjection</a>, <a class="el" href="a06682.html#l00136">NLMISC::CVector::set()</a>, <a class="el" href="a05646.html#l00244">stride</a>, <a class="el" href="a05981.html#l00100">uint32</a>, <a class="el" href="a05981.html#l00096">uint8</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::x</a>, <a class="el" href="a06259.html#l00048">NL3D::CPlaneBasis::X</a>, <a class="el" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeedw2NL3D_1_1CPSPlaneBasisFollowSpeedw3">XY</a>, <a class="el" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeedw2NL3D_1_1CPSPlaneBasisFollowSpeedw4">XZ</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::y</a>, <a class="el" href="a06259.html#l00049">NL3D::CPlaneBasis::Y</a>, <a class="el" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeedw2NL3D_1_1CPSPlaneBasisFollowSpeedw5">YZ</a>, and <a class="el" href="a06673.html#l00051">NLMISC::CVector::z</a>.
+<p>
+<div class="fragment"><pre>00056 {
+00057 <a class="code" href="a04199.html#a6">nlassert</a>(numAttrib);
+00058 <span class="keywordflow">if</span> (srcStep == (1 &lt;&lt; 16))
+00059 {
+00060 TPSAttribVector::const_iterator speedIt = loc-&gt;getSpeed().begin() + startIndex
+00061 , endSpeedIt = loc-&gt;getSpeed().begin() + startIndex + numAttrib;
+00062 <a class="code" href="a04558.html#a7">uint8</a> *ptDat = (<a class="code" href="a04558.html#a7">uint8</a> *) tab;
+00063 <span class="keywordflow">switch</span>(<a class="code" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeedr0">_ProjectionPlane</a>)
+00064 {
+00065 <span class="keywordflow">case</span> <a class="code" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeedw2NL3D_1_1CPSPlaneBasisFollowSpeedw0">NoProjection</a>:
+00066 <span class="keywordflow">do</span>
+00067 {
+00068 *(CPlaneBasis *) ptDat = CPlaneBasis(*speedIt);
+00069 ++ speedIt;
+00070 ptDat += <a class="code" href="a04223.html#a582">stride</a>;
+00071 }
+00072 <span class="keywordflow">while</span> (speedIt != endSpeedIt);
+00073 <span class="keywordflow">break</span>;
+00074 <span class="keywordflow">case</span> <a class="code" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeedw2NL3D_1_1CPSPlaneBasisFollowSpeedw3">XY</a>:
+00075 <span class="keywordflow">do</span>
+00076 {
+00077 <span class="keywordtype">float</span> norm = sqrtf(speedIt-&gt;x * speedIt-&gt;x + speedIt-&gt;y * speedIt-&gt;y);
+00078 <span class="keywordtype">float</span> invNorm = (norm != 0.f) ? 1.f / norm : 0.f;
+00079 CPlaneBasis &amp;pb = *(CPlaneBasis *) ptDat;
+00080 pb.X.set(invNorm * speedIt-&gt;x, invNorm * speedIt-&gt;y, 0.f);
+00081 pb.Y.set(- pb.X.y, pb.X.x, 0.f);
+00082 ++ speedIt;
+00083 ptDat += <a class="code" href="a04223.html#a582">stride</a>;
+00084 }
+00085 <span class="keywordflow">while</span> (speedIt != endSpeedIt);
+00086 <span class="keywordflow">break</span>;
+00087 <span class="keywordflow">case</span> <a class="code" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeedw2NL3D_1_1CPSPlaneBasisFollowSpeedw4">XZ</a>:
+00088 <span class="keywordflow">do</span>
+00089 {
+00090 <span class="keywordtype">float</span> norm = sqrtf(speedIt-&gt;x * speedIt-&gt;x + speedIt-&gt;z * speedIt-&gt;z);
+00091 <span class="keywordtype">float</span> invNorm = (norm != 0.f) ? 1.f / norm : 0.f;
+00092 CPlaneBasis &amp;pb = *(CPlaneBasis *) ptDat;
+00093 pb.X.set(invNorm * speedIt-&gt;x, 0.f, invNorm * speedIt-&gt;z);
+00094 pb.Y.set(- pb.X.z, 0.f, pb.X.x);
+00095 ++ speedIt;
+00096 ptDat += <a class="code" href="a04223.html#a582">stride</a>;
+00097 }
+00098 <span class="keywordflow">while</span> (speedIt != endSpeedIt);
+00099 <span class="keywordflow">break</span>;
+00100 <span class="keywordflow">case</span> <a class="code" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeedw2NL3D_1_1CPSPlaneBasisFollowSpeedw5">YZ</a>:
+00101 <span class="keywordflow">do</span>
+00102 {
+00103 <span class="keywordtype">float</span> norm = sqrtf(speedIt-&gt;y * speedIt-&gt;y + speedIt-&gt;z * speedIt-&gt;z);
+00104 <span class="keywordtype">float</span> invNorm = (norm != 0.f) ? 1.f / norm : 0.f;
+00105 CPlaneBasis &amp;pb = *(CPlaneBasis *) ptDat;
+00106 pb.X.set(0.f, invNorm * speedIt-&gt;y, invNorm * speedIt-&gt;z);
+00107 pb.Y.set(0.f, - pb.X.z, pb.X.y);
+00108 ++ speedIt;
+00109 ptDat += <a class="code" href="a04223.html#a582">stride</a>;
+00110 }
+00111 <span class="keywordflow">while</span> (speedIt != endSpeedIt);
+00112 <span class="keywordflow">break</span>;
+00113 <span class="keywordflow">default</span>:
+00114 <a class="code" href="a04199.html#a6">nlassert</a>(0); <span class="comment">// unknow projection mode</span>
+00115 <span class="keywordflow">break</span>;
+00116 }
+00117 <span class="keywordflow">return</span> tab;
+00118 }
+00119 <span class="keywordflow">else</span>
+00120 {
+00121 <a class="code" href="a04558.html#a11">uint32</a> fpIndex = startIndex * srcStep;
+00122 <span class="keyword">const</span> TPSAttribVector::const_iterator speedIt = loc-&gt;getSpeed().begin();
+00123 <a class="code" href="a04558.html#a7">uint8</a> *ptDat = (<a class="code" href="a04558.html#a7">uint8</a> *) tab;
+00124 <span class="keywordflow">switch</span>(<a class="code" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeedr0">_ProjectionPlane</a>)
+00125 {
+00126 <span class="keywordflow">case</span> <a class="code" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeedw2NL3D_1_1CPSPlaneBasisFollowSpeedw0">NoProjection</a>:
+00127 <span class="keywordflow">while</span> (numAttrib --)
+00128 {
+00129 *(CPlaneBasis *) ptDat = CPlaneBasis(*(speedIt + (fpIndex &gt;&gt; 16)));
+00130 ptDat += <a class="code" href="a04223.html#a582">stride</a>;
+00131 fpIndex += srcStep;
+00132 }
+00133 <span class="keywordflow">break</span>;
+00134 <span class="keywordflow">case</span> <a class="code" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeedw2NL3D_1_1CPSPlaneBasisFollowSpeedw3">XY</a>:
+00135 <span class="keywordflow">while</span> (numAttrib --)
+00136 {
+00137 <span class="keyword">const</span> CVector *speedVect = &amp;(*(speedIt + (fpIndex &gt;&gt; 16)));
+00138 <span class="keywordtype">float</span> norm = sqrtf(speedVect-&gt;x * speedVect-&gt;x + speedVect-&gt;y * speedVect-&gt;y);
+00139 <span class="keywordtype">float</span> invNorm = (norm != 0.f) ? 1.f / norm : 0.f;
+00140 CPlaneBasis &amp;pb = *(CPlaneBasis *) ptDat;
+00141 pb.X.set(invNorm * speedVect-&gt;x, invNorm * speedVect-&gt;y, 0.f);
+00142 pb.Y.set(- pb.X.y, pb.X.x, 0.f);
+00143 ptDat += <a class="code" href="a04223.html#a582">stride</a>;
+00144 fpIndex += srcStep;
+00145 }
+00146 <span class="keywordflow">break</span>;
+00147 <span class="keywordflow">case</span> <a class="code" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeedw2NL3D_1_1CPSPlaneBasisFollowSpeedw4">XZ</a>:
+00148 <span class="keywordflow">while</span> (numAttrib --);
+00149 {
+00150 <span class="keyword">const</span> CVector *speedVect = &amp;(*(speedIt + (fpIndex &gt;&gt; 16)));
+00151 <span class="keywordtype">float</span> norm = sqrtf(speedVect-&gt;x * speedVect-&gt;x + speedVect-&gt;z * speedVect-&gt;z);
+00152 <span class="keywordtype">float</span> invNorm = (norm != 0.f) ? 1.f / norm : 0.f;
+00153 CPlaneBasis &amp;pb = *(CPlaneBasis *) ptDat;
+00154 pb.X.set(invNorm * speedVect-&gt;x, 0.f, invNorm * speedVect-&gt;z);
+00155 pb.Y.set(- pb.X.z, 0.f, pb.X.x);
+00156 ptDat += <a class="code" href="a04223.html#a582">stride</a>;
+00157 fpIndex += srcStep;
+00158 }
+00159 <span class="keywordflow">break</span>;
+00160 <span class="keywordflow">case</span> <a class="code" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeedw2NL3D_1_1CPSPlaneBasisFollowSpeedw5">YZ</a>:
+00161 <span class="keywordflow">while</span> (numAttrib --);
+00162 {
+00163 <span class="keyword">const</span> CVector *speedVect = &amp;(*(speedIt + (fpIndex &gt;&gt; 16)));
+00164 <span class="keywordtype">float</span> norm = sqrtf(speedVect-&gt;y * speedVect-&gt;y + speedVect-&gt;z * speedVect-&gt;z);
+00165 <span class="keywordtype">float</span> invNorm = (norm != 0.f) ? 1.f / norm : 0.f;
+00166 CPlaneBasis &amp;pb = *(CPlaneBasis *) ptDat;
+00167 pb.X.set(0.f, invNorm * speedVect-&gt;y, invNorm * speedVect-&gt;z);
+00168 pb.Y.set(0.f, - pb.X.z, pb.X.y);
+00169 ptDat += <a class="code" href="a04223.html#a582">stride</a>;
+00170 fpIndex += srcStep;
+00171 }
+00172 <span class="keywordflow">break</span>;
+00173 <span class="keywordflow">default</span>:
+00174 <a class="code" href="a04199.html#a6">nlassert</a>(0); <span class="comment">// unknow projection mode</span>
+00175 <span class="keywordflow">break</span>;
+00176 }
+00177 <span class="keywordflow">return</span> tab;
+00178 }
+00179 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSPlaneBasisFollowSpeeda17" doxytag="NL3D::CPSPlaneBasisFollowSpeed::make4" ></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::CPSPlaneBasisFollowSpeed::make4 </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03214.html">CPSLocated</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>loc</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>startIndex</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>void *&nbsp;</td>
+ <td class="mdname" nowrap> <em>tab</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>stride</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>numAttrib</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>srcStep</em> = (1&lt;&lt; 16)</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"> const<code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+============================================================================
+<p>
+The same as make, but it replicate each attribute 4 times, thus filling 4*numAttrib. Useful for facelookat and the like <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeeda16">make()</a></dd></dl>
+
+<p>
+Implements <a class="el" href="a03136.html#NL3D_1_1CPSAttribMakerz714_3">NL3D::CPSAttribMaker&lt; CPlaneBasis &gt;</a>.
+<p>
+Definition at line <a class="el" href="a06260.html#l00182">182</a> of file <a class="el" href="a06260.html">ps_plane_basis_maker.cpp</a>.
+<p>
+References <a class="el" href="a06213.html#l00353">NL3D::CPSAttrib&lt; T &gt;::begin()</a>, <a class="el" href="a06247.html#l00339">NL3D::CPSLocated::getSpeed()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05646.html#l00244">stride</a>, <a class="el" href="a05981.html#l00100">uint32</a>, and <a class="el" href="a05981.html#l00096">uint8</a>.
+<p>
+<div class="fragment"><pre>00189 {
+00190 <a class="code" href="a04199.html#a6">nlassert</a>(numAttrib);
+00191 <span class="keywordflow">if</span> (srcStep == (1 &lt;&lt; 16))
+00192 {
+00193 TPSAttribVector::const_iterator speedIt = loc-&gt;getSpeed().begin() + startIndex
+00194 , endSpeedIt = loc-&gt;getSpeed().begin() + startIndex + numAttrib;
+00195 <a class="code" href="a04558.html#a7">uint8</a> *ptDat = (<a class="code" href="a04558.html#a7">uint8</a> *) tab;
+00196 <span class="keywordflow">do</span>
+00197 {
+00198 *(CPlaneBasis *) ptDat = CPlaneBasis(*speedIt);
+00199 *(CPlaneBasis *) (ptDat + <a class="code" href="a04223.html#a582">stride</a>) = *(CPlaneBasis *) ptDat;
+00200 ptDat += <a class="code" href="a04223.html#a582">stride</a>;
+00201 *(CPlaneBasis *) (ptDat + <a class="code" href="a04223.html#a582">stride</a>) = *(CPlaneBasis *) ptDat;
+00202 ptDat += <a class="code" href="a04223.html#a582">stride</a>;
+00203 *(CPlaneBasis *) (ptDat + <a class="code" href="a04223.html#a582">stride</a>) = *(CPlaneBasis *) ptDat;
+00204 ptDat += <a class="code" href="a04223.html#a582">stride</a> &lt;&lt; 1;
+00205 ++ speedIt;
+00206 }
+00207 <span class="keywordflow">while</span> (speedIt != endSpeedIt);
+00208 }
+00209 <span class="keywordflow">else</span>
+00210 {
+00211 <a class="code" href="a04558.html#a11">uint32</a> fpIndex = startIndex * srcStep;
+00212 <span class="keyword">const</span> TPSAttribVector::const_iterator speedIt = loc-&gt;getSpeed().begin();
+00213 <a class="code" href="a04558.html#a7">uint8</a> *ptDat = (<a class="code" href="a04558.html#a7">uint8</a> *) tab;
+00214 <span class="keywordflow">while</span> (numAttrib --)
+00215 {
+00216 *(CPlaneBasis *) ptDat = CPlaneBasis(*(speedIt + (fpIndex &gt;&gt; 16)));
+00217 *(CPlaneBasis *) (ptDat + <a class="code" href="a04223.html#a582">stride</a>) = *(CPlaneBasis *) ptDat;
+00218 ptDat += <a class="code" href="a04223.html#a582">stride</a>;
+00219 *(CPlaneBasis *) (ptDat + <a class="code" href="a04223.html#a582">stride</a>) = *(CPlaneBasis *) ptDat;
+00220 ptDat += <a class="code" href="a04223.html#a582">stride</a>;
+00221 *(CPlaneBasis *) (ptDat + <a class="code" href="a04223.html#a582">stride</a>) = *(CPlaneBasis *) ptDat;
+00222 ptDat += <a class="code" href="a04223.html#a582">stride</a> &lt;&lt; 1;
+00223 fpIndex += srcStep;
+00224 }
+00225 }
+00226 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSPlaneBasisFollowSpeeda18" doxytag="NL3D::CPSPlaneBasisFollowSpeed::makeN" ></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::CPSPlaneBasisFollowSpeed::makeN </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03214.html">CPSLocated</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>loc</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>startIndex</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>void *&nbsp;</td>
+ <td class="mdname" nowrap> <em>tab</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>stride</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>numAttrib</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>nbReplicate</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>srcStep</em> = (1&lt;&lt; 16)</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"> const<code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+============================================================================
+<p>
+the same as make4, but with nbReplicate replication isntead of 4 <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeeda17">make4</a></dd></dl>
+
+<p>
+Implements <a class="el" href="a03136.html#NL3D_1_1CPSAttribMakerz714_4">NL3D::CPSAttribMaker&lt; CPlaneBasis &gt;</a>.
+<p>
+Definition at line <a class="el" href="a06260.html#l00229">229</a> of file <a class="el" href="a06260.html">ps_plane_basis_maker.cpp</a>.
+<p>
+References <a class="el" href="a06213.html#l00353">NL3D::CPSAttrib&lt; T &gt;::begin()</a>, <a class="el" href="a06247.html#l00339">NL3D::CPSLocated::getSpeed()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05646.html#l00244">stride</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05981.html#l00100">uint32</a>, and <a class="el" href="a05981.html#l00096">uint8</a>.
+<p>
+<div class="fragment"><pre>00237 {
+00238 <a class="code" href="a04199.html#a6">nlassert</a>(numAttrib);
+00239 <span class="keywordflow">if</span> (srcStep == (1 &lt;&lt; 16))
+00240 {
+00241 <a class="code" href="a04199.html#a6">nlassert</a>(nbReplicate &gt; 1);
+00242 TPSAttribVector::const_iterator speedIt = loc-&gt;getSpeed().begin() + startIndex
+00243 , endSpeedIt = loc-&gt;getSpeed().begin() + startIndex + numAttrib;
+00244 <a class="code" href="a04558.html#a7">uint8</a> *ptDat = (<a class="code" href="a04558.html#a7">uint8</a> *) tab;
+00245 <a class="code" href="a04558.html#a15">uint</a> k;
+00246 <span class="keywordflow">do</span>
+00247 {
+00248 *(CPlaneBasis *) ptDat = CPlaneBasis(*speedIt);
+00249
+00250 k = nbReplicate - 1;
+00251
+00252 <span class="keywordflow">do</span>
+00253 {
+00254 *(CPlaneBasis *) (ptDat + <a class="code" href="a04223.html#a582">stride</a>) = *(CPlaneBasis *) ptDat;
+00255 ptDat += <a class="code" href="a04223.html#a582">stride</a>;
+00256 }
+00257 <span class="keywordflow">while</span> (--k);
+00258 ptDat += <a class="code" href="a04223.html#a582">stride</a>;
+00259
+00260 ++ speedIt;
+00261 }
+00262 <span class="keywordflow">while</span> (speedIt != endSpeedIt);
+00263 }
+00264 <span class="keywordflow">else</span>
+00265 {
+00266 <a class="code" href="a04558.html#a11">uint32</a> fpIndex = startIndex * srcStep;
+00267 <a class="code" href="a04199.html#a6">nlassert</a>(nbReplicate &gt; 1);
+00268 <span class="keyword">const</span> TPSAttribVector::const_iterator speedIt = loc-&gt;getSpeed().begin();
+00269 <a class="code" href="a04558.html#a7">uint8</a> *ptDat = (<a class="code" href="a04558.html#a7">uint8</a> *) tab;
+00270 <a class="code" href="a04558.html#a15">uint</a> k;
+00271 <span class="keywordflow">while</span> (numAttrib --)
+00272 {
+00273 *(CPlaneBasis *) ptDat = CPlaneBasis(*(speedIt + (fpIndex &gt;&gt; 16)));
+00274
+00275 k = nbReplicate - 1;
+00276
+00277 <span class="keywordflow">do</span>
+00278 {
+00279 *(CPlaneBasis *) (ptDat + <a class="code" href="a04223.html#a582">stride</a>) = *(CPlaneBasis *) ptDat;
+00280 ptDat += <a class="code" href="a04223.html#a582">stride</a>;
+00281 }
+00282 <span class="keywordflow">while</span> (--k);
+00283 ptDat += <a class="code" href="a04223.html#a582">stride</a>;
+00284
+00285 fpIndex += srcStep;
+00286 }
+00287 }
+00288 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4z718_2" doxytag="NL3D::CPSPlaneBasisFollowSpeed::newElement" ></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 void <a class="el" href="a03136.html">NL3D::CPSAttribMaker</a>&lt; <a class="el" href="a03083.html">CPlaneBasis</a> &gt;::newElement </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03214.html">CPSLocated</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>emitterLocated</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>emitterIndex</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+create a new element, and provides the emitter, this must be called only if this attribute maker has its own memory
+<p>
+Reimplemented in <a class="el" href="a03138.html#NL3D_1_1CPSColorBinOpz722_5">NL3D::CPSAttribMakerBinOp&lt; CPlaneBasis &gt;</a>, and <a class="el" href="a03140.html#NL3D_1_1CPSColorMemorya13">NL3D::CPSAttribMakerMemoryBase&lt; CPlaneBasis &gt;</a>.
+<p>
+Definition at line <a class="el" href="a06214.html#l00290">290</a> of file <a class="el" href="a06214.html">ps_attrib_maker.h</a>.
+<p>
+Referenced by <a class="el" href="a06258.html#l00699">NL3D::CPSRotated3DPlaneParticle::newPlaneBasisElement()</a>.
+<p>
+<div class="fragment"><pre>00290 { <a class="code" href="a04199.html#a6">nlassert</a>(<span class="keyword">false</span>) ; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSPlaneBasisFollowSpeeda20" doxytag="NL3D::CPSPlaneBasisFollowSpeed::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::CPSPlaneBasisFollowSpeed::NLMISC_DECLARE_CLASS </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03222.html">CPSPlaneBasisFollowSpeed</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4z718_3" doxytag="NL3D::CPSPlaneBasisFollowSpeed::resize" ></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 void <a class="el" href="a03136.html">NL3D::CPSAttribMaker</a>&lt; <a class="el" href="a03083.html">CPlaneBasis</a> &gt;::resize </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>capacity</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>nbPresentElements</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+set a new capacity for the memorized attribute, and a number of used element. This usually is 0 , but during edition, this may not be ... so new element are created. this must be called only if this attribute maker has its own memory
+<p>
+Reimplemented in <a class="el" href="a03138.html#NL3D_1_1CPSColorBinOpz722_6">NL3D::CPSAttribMakerBinOp&lt; CPlaneBasis &gt;</a>, and <a class="el" href="a03140.html#NL3D_1_1CPSColorMemorya15">NL3D::CPSAttribMakerMemoryBase&lt; CPlaneBasis &gt;</a>.
+<p>
+Definition at line <a class="el" href="a06214.html#l00296">296</a> of file <a class="el" href="a06214.html">ps_attrib_maker.h</a>.
+<p>
+Referenced by <a class="el" href="a06258.html#l00707">NL3D::CPSRotated3DPlaneParticle::resizePlaneBasis()</a>.
+<p>
+<div class="fragment"><pre>00296 { <a class="code" href="a04199.html#a6">nlassert</a>(<span class="keyword">false</span>) ; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSPlaneBasisFollowSpeeda22" doxytag="NL3D::CPSPlaneBasisFollowSpeed::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"> virtual void NL3D::CPSPlaneBasisFollowSpeed::serial </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02270.html">NLMISC::IStream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>f</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> throw (<a class="el" href="a03781.html">NLMISC::EStream</a>)<code> [inline, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+serialization
+<p>
+
+<p>
+Reimplemented from <a class="el" href="a03136.html#NL3D_1_1CPSAttribMakerz712_2">NL3D::CPSAttribMaker&lt; CPlaneBasis &gt;</a>.
+<p>
+Definition at line <a class="el" href="a06261.html#l00137">137</a> of file <a class="el" href="a06261.html">ps_plane_basis_maker.h</a>.
+<p>
+References <a class="el" href="a05981.html#l00104">sint</a>.
+<p>
+<div class="fragment"><pre>00138 {
+00139 <span class="comment">// version 2 : added projection plane</span>
+00140 <span class="comment">// version 1 : nothing to save here</span>
+00141 <a class="code" href="a04558.html#a14">sint</a> ver = f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_8">serialVersion</a>(2);
+00142 <span class="keywordflow">if</span> (ver &gt;= 2)
+00143 {
+00144 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama7">serialEnum</a>(_ProjectionPlane);
+00145 }
+00146 <span class="keywordflow">else</span>
+00147 {
+00148 <a class="code" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeedr0">_ProjectionPlane</a> = <a class="code" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeedw2NL3D_1_1CPSPlaneBasisFollowSpeedw0">NoProjection</a>;
+00149 }
+00150 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSColorMemoryz716_5" doxytag="NL3D::CPSPlaneBasisFollowSpeed::setClamping" ></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 void <a class="el" href="a03136.html">NL3D::CPSAttribMaker</a>&lt; <a class="el" href="a03083.html">CPlaneBasis</a> &gt;::setClamping </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>enable</em> = true </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Enable, disable the clamping of input values. The default does nothing (clamping unsupported) <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a03136.html#NL3D_1_1CPSColorMemoryz716_4">isClampingSupported()</a></dd></dl>
+
+<p>
+Reimplemented in <a class="el" href="a03144.html#NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4a12">NL3D::CPSAttribMakerT&lt; CPlaneBasis, CPSValueBlendFunc&lt; CPlaneBasis &gt; &gt;</a>, <a class="el" href="a03144.html#NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4a12">NL3D::CPSAttribMakerT&lt; CPlaneBasis, CPSValueGradientFunc&lt; CPlaneBasis &gt; &gt;</a>, and <a class="el" href="a03144.html#NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4a12">NL3D::CPSAttribMakerT&lt; CPlaneBasis, CSpinnerFunctor &gt;</a>.
+<p>
+Definition at line <a class="el" href="a06214.html#l00265">265</a> of file <a class="el" href="a06214.html">ps_attrib_maker.h</a>.
+<p>
+<div class="fragment"><pre>00265 {} ;
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSColorMemoryz716_6" doxytag="NL3D::CPSPlaneBasisFollowSpeed::setInput" ></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 void <a class="el" href="a03136.html">NL3D::CPSAttribMaker</a>&lt; <a class="el" href="a03083.html">CPlaneBasis</a> &gt;::setInput </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03207.html">CPSInputType</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>input</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+set a new input type (if supported). The default does nothing <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a03136.html#NL3D_1_1CPSColorMemoryz716_3">hasCustomInput()</a></dd></dl>
+
+<p>
+Reimplemented in <a class="el" href="a03144.html#NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4a13">NL3D::CPSAttribMakerT&lt; CPlaneBasis, CPSValueBlendFunc&lt; CPlaneBasis &gt; &gt;</a>, <a class="el" href="a03144.html#NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4a13">NL3D::CPSAttribMakerT&lt; CPlaneBasis, CPSValueGradientFunc&lt; CPlaneBasis &gt; &gt;</a>, and <a class="el" href="a03144.html#NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4a13">NL3D::CPSAttribMakerT&lt; CPlaneBasis, CSpinnerFunctor &gt;</a>.
+<p>
+Definition at line <a class="el" href="a06214.html#l00245">245</a> of file <a class="el" href="a06214.html">ps_attrib_maker.h</a>.
+<p>
+<div class="fragment"><pre>00245 {}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4z716_1" doxytag="NL3D::CPSPlaneBasisFollowSpeed::setNbCycles" ></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 <a class="el" href="a03136.html">NL3D::CPSAttribMaker</a>&lt; <a class="el" href="a03083.html">CPlaneBasis</a> &gt;::setNbCycles </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>nbCycles</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set the number of cycles that must be done during the life of a particle, or the number of cycle per second for a particle that has no life limit. It is used to multiply the input used by this attribute maker It must be &gt;= 0
+<p>
+Definition at line <a class="el" href="a06214.html#l00227">227</a> of file <a class="el" href="a06214.html">ps_attrib_maker.h</a>.
+<p>
+<div class="fragment"><pre>00228 {
+00229 <a class="code" href="a04199.html#a6">nlassert</a>(nbCycles &gt;= 0) ;
+00230 <a class="code" href="a03136.html#NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4p1">_NbCycles</a> = nbCycles ;
+00231 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSPlaneBasisFollowSpeeda26" doxytag="NL3D::CPSPlaneBasisFollowSpeed::setProjectionPlane" ></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::CPSPlaneBasisFollowSpeed::setProjectionPlane </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeedw2">TProjectionPlane</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>pp</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><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="a06261.html#l00154">154</a> of file <a class="el" href="a06261.html">ps_plane_basis_maker.h</a>.
+<p>
+<div class="fragment"><pre>00154 { <a class="code" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeedr0">_ProjectionPlane</a> = pp; }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4p0" doxytag="NL3D::CPSPlaneBasisFollowSpeed::_HasMemory" ></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="a03136.html">NL3D::CPSAttribMaker</a>&lt; <a class="el" href="a03083.html">CPlaneBasis</a> &gt;::<a class="el" href="a03136.html#NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4p0">_HasMemory</a><code> [protected, inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06214.html#l00304">304</a> of file <a class="el" href="a06214.html">ps_attrib_maker.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4p1" doxytag="NL3D::CPSPlaneBasisFollowSpeed::_NbCycles" ></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="a03136.html">NL3D::CPSAttribMaker</a>&lt; <a class="el" href="a03083.html">CPlaneBasis</a> &gt;::<a class="el" href="a03136.html#NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4p1">_NbCycles</a><code> [protected, inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06214.html#l00301">301</a> of file <a class="el" href="a06214.html">ps_attrib_maker.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSPlaneBasisFollowSpeedr0" doxytag="NL3D::CPSPlaneBasisFollowSpeed::_ProjectionPlane" ></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="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeedw2">TProjectionPlane</a> <a class="el" href="a03222.html#NL3D_1_1CPSPlaneBasisFollowSpeedr0">NL3D::CPSPlaneBasisFollowSpeed::_ProjectionPlane</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06261.html#l00156">156</a> of file <a class="el" href="a06261.html">ps_plane_basis_maker.h</a>.
+<p>
+Referenced by <a class="el" href="a06260.html#l00049">make()</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a06261.html">ps_plane_basis_maker.h</a><li><a class="el" href="a06260.html">ps_plane_basis_maker.cpp</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 07:19:42 2004 for NeL by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
+</a>1.3.6 </small></address>
+</body>
+</html>