aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/classNL3D_1_1CPSAttribMaker.html
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--docs/doxygen/nel/classNL3D_1_1CPSAttribMaker.html1245
1 files changed, 1245 insertions, 0 deletions
diff --git a/docs/doxygen/nel/classNL3D_1_1CPSAttribMaker.html b/docs/doxygen/nel/classNL3D_1_1CPSAttribMaker.html
new file mode 100644
index 00000000..70782183
--- /dev/null
+++ b/docs/doxygen/nel/classNL3D_1_1CPSAttribMaker.html
@@ -0,0 +1,1245 @@
+<!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::CPSAttribMaker Class Template Reference</h1>This is a base class for any attrib maker.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="ps__attrib__maker_8h-source.html">ps_attrib_maker.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for NL3D::CPSAttribMaker:
+<p><center><img src="classNL3D_1_1CPSAttribMaker.gif" usemap="#NL3D::CPSAttribMaker_map" border="0"></center>
+<map name="NL3D::CPSAttribMaker_map">
+<area href="classNL3D_1_1CPSAttribMakerBase.html" alt="NL3D::CPSAttribMakerBase" shape="rect" coords="1012,112,1407,136">
+<area href="classNLMISC_1_1IStreamable.html" alt="NLMISC::IStreamable" shape="rect" coords="1012,56,1407,80">
+<area href="classNLMISC_1_1IClassable.html" alt="NLMISC::IClassable" shape="rect" coords="1012,0,1407,24">
+<area href="classNL3D_1_1CPSAttribMakerBinOp.html" alt="NL3D::CPSAttribMakerBinOp" shape="rect" coords="0,224,395,248">
+<area href="classNL3D_1_1CPSAttribMakerMemory.html" alt="NL3D::CPSAttribMakerMemory" shape="rect" coords="405,224,800,248">
+<area href="classNL3D_1_1CPSAttribMakerT.html" alt="NL3D::CPSAttribMakerT" shape="rect" coords="810,224,1205,248">
+<area href="classNL3D_1_1CPSAttribMakerT.html" alt="NL3D::CPSAttribMakerT< T, CPSValueBlendFunc< T > >" shape="rect" coords="1215,224,1610,248">
+<area href="classNL3D_1_1CPSAttribMakerT.html" alt="NL3D::CPSAttribMakerT< T, CPSValueBlendSampleFunc< T, n > >" shape="rect" coords="1620,224,2015,248">
+<area href="classNL3D_1_1CPSAttribMakerT.html" alt="NL3D::CPSAttribMakerT< T, CPSValueGradientFunc< T > >" shape="rect" coords="2025,224,2420,248">
+<area href="classNL3D_1_1CPSValueBlender.html" alt="NL3D::CPSValueBlender" shape="rect" coords="1215,280,1610,304">
+<area href="classNL3D_1_1CPSValueBlenderSample.html" alt="NL3D::CPSValueBlenderSample" shape="rect" coords="1620,280,2015,304">
+<area href="classNL3D_1_1CPSValueGradient.html" alt="NL3D::CPSValueGradient" shape="rect" coords="2025,280,2420,304">
+</map>
+<a href="classNL3D_1_1CPSAttribMaker-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>virtual T&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CPSAttribMaker.html#a0">getMaxValue</a> (void) const</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>get the max value (meaningful for ordered set only).</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Object</div></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CPSAttribMaker.html#z706_0">CPSAttribMaker</a> (float nbCycles=1.f)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>construct the attrib maker specifying the number of cycles to do.</em> <a href="#z706_0">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CPSAttribMaker.html#z706_1">serial</a> (<a class="el" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &amp;f) throw (NLMISC::EStream)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>serialisation of the object. Derivers MUST call this, (if they use the attribute of this class at least).</em> <a href="#z706_1">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual const char *&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CPSAttribMaker.html#z706_2">getType</a> ()</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>inherited from <a class="el" href="classNL3D_1_1CPSAttribMakerBase.html">CPSAttribMakerBase</a>. Template specialization will do the job.</em> <a href="#z706_2">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CPSAttribMaker.html#z706_3">~CPSAttribMaker</a> ()</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>dtor.</em> <a href="#z706_3">More...</a><em></em></font><br><br></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Production of attribute</div></td></tr>
+<tr><td nowrap align=right valign=top>virtual T&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CPSAttribMaker.html#z707_0">get</a> (<a class="el" href="classNL3D_1_1CPSLocated.html">CPSLocated</a> *loc, <a class="el" href="memory__common_8h.html#a11">uint32</a> <a class="el" href="driver__opengl__extension__def_8h.html#a358">index</a>)=0</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>compute one value of the attribute from the given located at the given index.</em> <a href="#z707_0">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual T&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CPSAttribMaker.html#z707_1">get</a> (float input)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Direct lookup of the result value from a float input (if it makes sense).</em> <a href="#z707_1">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CPSAttribMaker.html#z707_2">make</a> (<a class="el" href="classNL3D_1_1CPSLocated.html">CPSLocated</a> *loc, <a class="el" href="memory__common_8h.html#a11">uint32</a> startIndex, void *tab, <a class="el" href="memory__common_8h.html#a11">uint32</a> <a class="el" href="driver__opengl__extension__def_8h.html#a374">stride</a>, <a class="el" href="memory__common_8h.html#a11">uint32</a> numAttrib, bool allowNoCopy=false, <a class="el" href="memory__common_8h.html#a11">uint32</a> srcStep=(1&lt;&lt; 16)) const=0</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Fill tab with an attribute by using the given stride.</em> <a href="#z707_2">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CPSAttribMaker.html#z707_3">make4</a> (<a class="el" href="classNL3D_1_1CPSLocated.html">CPSLocated</a> *loc, <a class="el" href="memory__common_8h.html#a11">uint32</a> startIndex, void *tab, <a class="el" href="memory__common_8h.html#a11">uint32</a> <a class="el" href="driver__opengl__extension__def_8h.html#a374">stride</a>, <a class="el" href="memory__common_8h.html#a11">uint32</a> numAttrib, <a class="el" href="memory__common_8h.html#a11">uint32</a> srcStep=(1&lt;&lt; 16)) const=0</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>The same as make, but it replicate each attribute 4 times, thus filling 4*numAttrib.</em> <a href="#z707_3">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CPSAttribMaker.html#z707_4">makeN</a> (<a class="el" href="classNL3D_1_1CPSLocated.html">CPSLocated</a> *loc, <a class="el" href="memory__common_8h.html#a11">uint32</a> startIndex, void *tab, <a class="el" href="memory__common_8h.html#a11">uint32</a> <a class="el" href="driver__opengl__extension__def_8h.html#a374">stride</a>, <a class="el" href="memory__common_8h.html#a11">uint32</a> numAttrib, <a class="el" href="memory__common_8h.html#a11">uint32</a> nbReplicate, <a class="el" href="memory__common_8h.html#a11">uint32</a> srcStep=(1&lt;&lt; 16)) const=0</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>The same as make4, but with n replication instead of 4.</em> <a href="#z707_4">More...</a><em></em></font><br><br></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Input properties of the attribute maker</div></td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CPSAttribMaker.html#z708_0">setNbCycles</a> (float nbCycles)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>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.</em> <a href="#z708_0">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_1CPSAttribMaker.html#z708_1">getNbCycles</a> (void) const</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Retrieve the number of cycles.</em> <a href="#z708_1">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual bool&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CPSAttribMaker.html#z708_2">hasCustomInput</a> (void)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>tells wether one may choose one attribute from a <a class="el" href="classNL3D_1_1CPSLocated.html">CPSLocated</a> to use as an input. If false, the input(s) is fixed.</em> <a href="#z708_2">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CPSAttribMaker.html#z708_3">setInput</a> (const <a class="el" href="structNL3D_1_1CPSInputType.html">CPSInputType</a> &amp;input)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>set a new input type (if supported).</em> <a href="#z708_3">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="structNL3D_1_1CPSInputType.html">CPSInputType</a>&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CPSAttribMaker.html#z708_4">getInput</a> (void) const</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>get the type of input (if supported).</em> <a href="#z708_4">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual bool&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CPSAttribMaker.html#z708_5">isClampingSupported</a> (void) const</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>tells wether clamping is supported for the input (value can't go above MaxInputValue) The default is false.</em> <a href="#z708_5">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CPSAttribMaker.html#z708_6">setClamping</a> (bool enable=true)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Enable, disable the clamping of input values.</em> <a href="#z708_6">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual bool&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CPSAttribMaker.html#z708_7">getClamping</a> (void) const</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Test if the clamping is enabled.</em> <a href="#z708_7">More...</a><em></em></font><br><br></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Memory managment</div></td></tr>
+<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CPSAttribMaker.html#z709_0">hasMemory</a> (void) const</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Some attribute makers may hold memory.</em> <a href="#z709_0">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CPSAttribMaker.html#z709_1">deleteElement</a> (<a class="el" href="memory__common_8h.html#a11">uint32</a> <a class="el" href="driver__opengl__extension__def_8h.html#a358">index</a>)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>delete an element, given its index. this must be called only if memory management is used.</em> <a href="#z709_1">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CPSAttribMaker.html#z709_2">newElement</a> (<a class="el" href="classNL3D_1_1CPSLocated.html">CPSLocated</a> *emitterLocated, <a class="el" href="memory__common_8h.html#a11">uint32</a> emitterIndex)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>create a new element, and provides the emitter, this must be called only if this attribute maker has its own memory.</em> <a href="#z709_2">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CPSAttribMaker.html#z709_3">resize</a> (<a class="el" href="memory__common_8h.html#a11">uint32</a> capacity, <a class="el" href="memory__common_8h.html#a11">uint32</a> nbPresentElements)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>set a new capacity for the memorized attribute, and a number of used element.</em> <a href="#z709_3">More...</a><em></em></font><br><br></td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>float&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CPSAttribMaker.html#n0">_NbCycles</a></td></tr>
+<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CPSAttribMaker.html#n1">_HasMemory</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename T&gt;<br>
+ class NL3D::CPSAttribMaker&lt; T &gt;</h3>
+
+This is a base class for any attrib maker.
+<p>
+It produce an attribute used in a particle system. It can be used to fill a vertex buffer, or a table. <dl compact><dt><b>
+Author: </b><dd>
+Nicolas Vizerie , Nevrax France </dl><dl compact><dt><b>
+Date: </b><dd>
+2001 </dl>
+<p>
+
+<p>
+Definition at line <a class="el" href="ps__attrib__maker_8h-source.html#l00122">122</a> of file <a class="el" href="ps__attrib__maker_8h-source.html">ps_attrib_maker.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="z706_0" doxytag="NL3D::CPSAttribMaker::CPSAttribMaker"></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" colspan="4">
+template&lt;typename T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> NL3D::CPSAttribMaker&lt; T &gt;::CPSAttribMaker </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>nbCycles</em> = 1.f </td>
+ <td class="md" valign="top">)&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>
+construct the attrib maker specifying the number of cycles to do.
+<p>
+<dl compact><dt><b>
+See also: </b><dd>
+<a class="el" href="classNL3D_1_1CPSAttribMaker.html#z708_0">setNbCycles</a>() </dl>
+<p>
+Definition at line <a class="el" href="ps__attrib__maker_8h-source.html#l00130">130</a> of file <a class="el" href="ps__attrib__maker_8h-source.html">ps_attrib_maker.h</a>.
+<p>
+Referenced by <a class="el" href="ps__attrib__maker__helper_8h-source.html#l01330">NL3D::CPSAttribMakerMemory&lt; sint32 &gt;::CPSAttribMakerMemory</a>, and <a class="el" href="ps__attrib__maker__helper_8h-source.html#l00128">NL3D::CPSAttribMakerT&lt; uint32, CPSValueBlendFunc&lt; uint32 &gt; &gt;::CPSAttribMakerT</a>. </td>
+ </tr>
+</table>
+<a name="z706_3" doxytag="NL3D::CPSAttribMaker::~CPSAttribMaker"></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" colspan="4">
+template&lt;typename T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> virtual NL3D::CPSAttribMaker&lt; T &gt;::~CPSAttribMaker </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><code> [inline, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+dtor.
+<p>
+
+<p>
+Definition at line <a class="el" href="ps__attrib__maker_8h-source.html#l00145">145</a> of file <a class="el" href="ps__attrib__maker_8h-source.html">ps_attrib_maker.h</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="z709_1" doxytag="NL3D::CPSAttribMaker::deleteElement"></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" colspan="4">
+template&lt;typename T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void NL3D::CPSAttribMaker&lt; T &gt;::deleteElement </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="memory__common_8h.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>index</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, virtual]</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="classNL3D_1_1CPSAttribMakerBinOp.html#z711_5">NL3D::CPSAttribMakerBinOp</a>.
+<p>
+Definition at line <a class="el" href="ps__attrib__maker_8h-source.html#l00278">278</a> of file <a class="el" href="ps__attrib__maker_8h-source.html">ps_attrib_maker.h</a>. </td>
+ </tr>
+</table>
+<a name="z707_1" doxytag="NL3D::CPSAttribMaker::get"></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" colspan="4">
+template&lt;typename T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> virtual T NL3D::CPSAttribMaker&lt; T &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>&nbsp; <em>input</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, virtual]</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).
+<p>
+This bypass what was set with setInput The input must be in [0, 1[
+<p>
+Reimplemented in <a class="el" href="classNL3D_1_1CPSAttribMakerT.html#a1">NL3D::CPSAttribMakerT</a>.
+<p>
+Definition at line <a class="el" href="ps__attrib__maker_8h-source.html#l00156">156</a> of file <a class="el" href="ps__attrib__maker_8h-source.html">ps_attrib_maker.h</a>. </td>
+ </tr>
+</table>
+<a name="z707_0" doxytag="NL3D::CPSAttribMaker::get"></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" colspan="4">
+template&lt;typename T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> virtual T NL3D::CPSAttribMaker&lt; T &gt;::get </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classNL3D_1_1CPSLocated.html">CPSLocated</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>loc</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="memory__common_8h.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>index</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [pure virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+compute one value of the attribute from the given located at the given index.
+<p>
+
+<p>
+Implemented in <a class="el" href="classNL3D_1_1CPSAttribMakerBinOp.html#z711_0">NL3D::CPSAttribMakerBinOp</a>. </td>
+ </tr>
+</table>
+<a name="z708_7" doxytag="NL3D::CPSAttribMaker::getClamping"></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" colspan="4">
+template&lt;typename T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> virtual bool NL3D::CPSAttribMaker&lt; T &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>&nbsp; </td>
+ <td class="md" valign="top">)&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>
+Test if the clamping is enabled.
+<p>
+The default is false (clamping unsupported) <dl compact><dt><b>
+See also: </b><dd>
+<a class="el" href="classNL3D_1_1CPSAttribMaker.html#z708_5">isClampingSupported</a>() </dl>
+<p>
+Reimplemented in <a class="el" href="classNL3D_1_1CPSAttribMakerT.html#a10">NL3D::CPSAttribMakerT</a>.
+<p>
+Definition at line <a class="el" href="ps__attrib__maker_8h-source.html#l00265">265</a> of file <a class="el" href="ps__attrib__maker_8h-source.html">ps_attrib_maker.h</a>. </td>
+ </tr>
+</table>
+<a name="z708_4" doxytag="NL3D::CPSAttribMaker::getInput"></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" colspan="4">
+template&lt;typename T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="structNL3D_1_1CPSInputType.html">CPSInputType</a> NL3D::CPSAttribMaker&lt; T &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>&nbsp; </td>
+ <td class="md" valign="top">)&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>
+get the type of input (if supported).
+<p>
+The default return attrDate <dl compact><dt><b>
+See also: </b><dd>
+<a class="el" href="classNL3D_1_1CPSAttribMaker.html#z708_2">hasCustomInput</a>() </dl>
+<p>
+Reimplemented in <a class="el" href="classNL3D_1_1CPSAttribMakerT.html#a7">NL3D::CPSAttribMakerT</a>.
+<p>
+Definition at line <a class="el" href="ps__attrib__maker_8h-source.html#l00244">244</a> of file <a class="el" href="ps__attrib__maker_8h-source.html">ps_attrib_maker.h</a>. </td>
+ </tr>
+</table>
+<a name="a0" doxytag="NL3D::CPSAttribMaker::getMaxValue"></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" colspan="4">
+template&lt;typename T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> virtual T NL3D::CPSAttribMaker&lt; T &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>&nbsp; </td>
+ <td class="md" valign="top">)&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>
+get the max value (meaningful for ordered set only).
+<p>
+
+<p>
+Reimplemented in <a class="el" href="classNL3D_1_1CPSValueBlender.html#a1">NL3D::CPSValueBlender</a>.
+<p>
+Definition at line <a class="el" href="ps__attrib__maker_8h-source.html#l00210">210</a> of file <a class="el" href="ps__attrib__maker_8h-source.html">ps_attrib_maker.h</a>. </td>
+ </tr>
+</table>
+<a name="z708_1" doxytag="NL3D::CPSAttribMaker::getNbCycles"></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" colspan="4">
+template&lt;typename T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> float NL3D::CPSAttribMaker&lt; T &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>&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>
+Retrieve the number of cycles.
+<p>
+<dl compact><dt><b>
+See also: </b><dd>
+<a class="el" href="classNL3D_1_1CPSAttribMaker.html#z708_0">setNbCycles</a>() </dl>
+<p>
+Definition at line <a class="el" href="ps__attrib__maker_8h-source.html#l00229">229</a> of file <a class="el" href="ps__attrib__maker_8h-source.html">ps_attrib_maker.h</a>. </td>
+ </tr>
+</table>
+<a name="z706_2" doxytag="NL3D::CPSAttribMaker::getType"></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" colspan="4">
+template&lt;typename T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> virtual const char* NL3D::CPSAttribMaker&lt; T &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>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, virtual]</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="classNL3D_1_1CPSAttribMakerBase.html">CPSAttribMakerBase</a>. Template specialization will do the job.
+<p>
+
+<p>
+Implements <a class="el" href="classNL3D_1_1CPSAttribMakerBase.html#a0">NL3D::CPSAttribMakerBase</a>.
+<p>
+Definition at line <a class="el" href="ps__attrib__maker_8h-source.html#l00142">142</a> of file <a class="el" href="ps__attrib__maker_8h-source.html">ps_attrib_maker.h</a>. </td>
+ </tr>
+</table>
+<a name="z708_2" doxytag="NL3D::CPSAttribMaker::hasCustomInput"></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" colspan="4">
+template&lt;typename T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> virtual bool NL3D::CPSAttribMaker&lt; T &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>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, virtual]</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="classNL3D_1_1CPSLocated.html">CPSLocated</a> to use as an input. If false, the input(s) is fixed.
+<p>
+
+<p>
+Reimplemented in <a class="el" href="classNL3D_1_1CPSAttribMakerT.html#a5">NL3D::CPSAttribMakerT</a>.
+<p>
+Definition at line <a class="el" href="ps__attrib__maker_8h-source.html#l00232">232</a> of file <a class="el" href="ps__attrib__maker_8h-source.html">ps_attrib_maker.h</a>. </td>
+ </tr>
+</table>
+<a name="z709_0" doxytag="NL3D::CPSAttribMaker::hasMemory"></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" colspan="4">
+template&lt;typename T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CPSAttribMaker&lt; T &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>&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>
+Some attribute makers may hold memory.
+<p>
+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="classNL3D_1_1CPSLocatedBindable.html">CPSLocatedBindable</a>)
+<p>
+Definition at line <a class="el" href="ps__attrib__maker_8h-source.html#l00275">275</a> of file <a class="el" href="ps__attrib__maker_8h-source.html">ps_attrib_maker.h</a>. </td>
+ </tr>
+</table>
+<a name="z708_5" doxytag="NL3D::CPSAttribMaker::isClampingSupported"></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" colspan="4">
+template&lt;typename T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> virtual bool NL3D::CPSAttribMaker&lt; T &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>&nbsp; </td>
+ <td class="md" valign="top">)&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>
+tells wether clamping is supported for the input (value can't go above MaxInputValue) The default is false.
+<p>
+
+<p>
+Reimplemented in <a class="el" href="classNL3D_1_1CPSAttribMakerT.html#a8">NL3D::CPSAttribMakerT</a>.
+<p>
+Definition at line <a class="el" href="ps__attrib__maker_8h-source.html#l00251">251</a> of file <a class="el" href="ps__attrib__maker_8h-source.html">ps_attrib_maker.h</a>. </td>
+ </tr>
+</table>
+<a name="z707_2" doxytag="NL3D::CPSAttribMaker::make"></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" colspan="4">
+template&lt;typename T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* NL3D::CPSAttribMaker&lt; T &gt;::make </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classNL3D_1_1CPSLocated.html">CPSLocated</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>loc</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="memory__common_8h.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>startIndex</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>void *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>tab</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="memory__common_8h.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>stride</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="memory__common_8h.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>numAttrib</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>bool&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>allowNoCopy</em> = false, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="memory__common_8h.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>srcStep</em> = (1&lt;&lt; 16)</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"> const<code> [pure virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Fill tab with an attribute by using the given stride.
+<p>
+It fills numAttrib attributes. <dl compact><dt><b>
+Parameters: </b><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 (is it multiplied by the step) </td></tr>
+<tr><td valign=top><em>tab</em>&nbsp;</td><td>
+where the data will be written </td></tr>
+<tr><td valign=top><em>stride</em>&nbsp;</td><td>
+the stride, in byte, between each value to write </td></tr>
+<tr><td valign=top><em>numAttrib</em>&nbsp;</td><td>
+the number of attributes to compute </td></tr>
+<tr><td valign=top><em>allowNoCopy</em>&nbsp;</td><td>
+data may be already present in memory, and may not need computation. When set to true, this allow no computation to be made the return parameter is then le location of the datas. this may be tab (if recomputation where needed), or another value for this to work, the stride must most of the time be sizeof(T). This is intended to be used with derivers of <a class="el" href="classNL3D_1_1CPSAttribMaker.html">CPSAttribMaker</a> that store values that do not depend on the input. The make method then just copy the data, we is sometime useless </td></tr>
+<tr><td valign=top><em>srcStep</em>&nbsp;</td><td>
+A fixed-point 16:16 value that gives the step for the source iterator </td></tr>
+</table>
+</dl><dl compact><dt><b>
+Returns: </b><dd>
+where the data have been copied, this is always tab, unless allowNoCopy is set to true, in which case this may be different </dl>
+<p>
+Implemented in <a class="el" href="classNL3D_1_1CPSAttribMakerBinOp.html#z711_1">NL3D::CPSAttribMakerBinOp</a>. </td>
+ </tr>
+</table>
+<a name="z707_3" doxytag="NL3D::CPSAttribMaker::make4"></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" colspan="4">
+template&lt;typename T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void NL3D::CPSAttribMaker&lt; T &gt;::make4 </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classNL3D_1_1CPSLocated.html">CPSLocated</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>loc</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="memory__common_8h.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>startIndex</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>void *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>tab</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="memory__common_8h.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>stride</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="memory__common_8h.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>numAttrib</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="memory__common_8h.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>srcStep</em> = (1&lt;&lt; 16)</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"> const<code> [pure virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The same as make, but it replicate each attribute 4 times, thus filling 4*numAttrib.
+<p>
+Useful for facelookat and the like <dl compact><dt><b>
+See also: </b><dd>
+<a class="el" href="classNL3D_1_1CPSAttribMaker.html#z707_2">make</a>() </dl>
+<p>
+Implemented in <a class="el" href="classNL3D_1_1CPSAttribMakerBinOp.html#z711_2">NL3D::CPSAttribMakerBinOp</a>. </td>
+ </tr>
+</table>
+<a name="z707_4" doxytag="NL3D::CPSAttribMaker::makeN"></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" colspan="4">
+template&lt;typename T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void NL3D::CPSAttribMaker&lt; T &gt;::makeN </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classNL3D_1_1CPSLocated.html">CPSLocated</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>loc</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="memory__common_8h.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>startIndex</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>void *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>tab</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="memory__common_8h.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>stride</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="memory__common_8h.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>numAttrib</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="memory__common_8h.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>nbReplicate</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="memory__common_8h.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>srcStep</em> = (1&lt;&lt; 16)</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"> const<code> [pure virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The same as make4, but with n replication instead of 4.
+<p>
+<dl compact><dt><b>
+See also: </b><dd>
+<a class="el" href="classNL3D_1_1CPSAttribMaker.html#z707_3">make4</a> </dl>
+<p>
+Implemented in <a class="el" href="classNL3D_1_1CPSAttribMakerBinOp.html#z711_3">NL3D::CPSAttribMakerBinOp</a>. </td>
+ </tr>
+</table>
+<a name="z709_2" doxytag="NL3D::CPSAttribMaker::newElement"></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" colspan="4">
+template&lt;typename T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void NL3D::CPSAttribMaker&lt; T &gt;::newElement </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classNL3D_1_1CPSLocated.html">CPSLocated</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>emitterLocated</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="memory__common_8h.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>emitterIndex</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline, virtual]</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>
+
+<p>
+Reimplemented in <a class="el" href="classNL3D_1_1CPSAttribMakerBinOp.html#z711_6">NL3D::CPSAttribMakerBinOp</a>.
+<p>
+Definition at line <a class="el" href="ps__attrib__maker_8h-source.html#l00283">283</a> of file <a class="el" href="ps__attrib__maker_8h-source.html">ps_attrib_maker.h</a>. </td>
+ </tr>
+</table>
+<a name="z709_3" doxytag="NL3D::CPSAttribMaker::resize"></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" colspan="4">
+template&lt;typename T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void NL3D::CPSAttribMaker&lt; T &gt;::resize </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="memory__common_8h.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>capacity</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="memory__common_8h.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>nbPresentElements</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline, virtual]</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.
+<p>
+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="classNL3D_1_1CPSAttribMakerBinOp.html#z711_7">NL3D::CPSAttribMakerBinOp</a>.
+<p>
+Definition at line <a class="el" href="ps__attrib__maker_8h-source.html#l00289">289</a> of file <a class="el" href="ps__attrib__maker_8h-source.html">ps_attrib_maker.h</a>. </td>
+ </tr>
+</table>
+<a name="z706_1" doxytag="NL3D::CPSAttribMaker::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" colspan="4">
+template&lt;typename T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void NL3D::CPSAttribMaker&lt; T &gt;::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> throw (<a class="el" href="structNLMISC_1_1EStream.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>
+serialisation of the object. Derivers MUST call this, (if they use the attribute of this class at least).
+<p>
+
+<p>
+Implements <a class="el" href="classNLMISC_1_1IStreamable.html#a0">NLMISC::IStreamable</a>.
+<p>
+Reimplemented in <a class="el" href="classNL3D_1_1CPSAttribMakerBinOp.html#z711_4">NL3D::CPSAttribMakerBinOp</a>.
+<p>
+Definition at line <a class="el" href="ps__attrib__maker_8h-source.html#l00135">135</a> of file <a class="el" href="ps__attrib__maker_8h-source.html">ps_attrib_maker.h</a>. </td>
+ </tr>
+</table>
+<a name="z708_6" doxytag="NL3D::CPSAttribMaker::setClamping"></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" colspan="4">
+template&lt;typename T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void NL3D::CPSAttribMaker&lt; T &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>&nbsp; <em>enable</em> = true </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, virtual]</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.
+<p>
+The default does nothing (clamping unsupported) <dl compact><dt><b>
+See also: </b><dd>
+<a class="el" href="classNL3D_1_1CPSAttribMaker.html#z708_5">isClampingSupported</a>() </dl>
+<p>
+Reimplemented in <a class="el" href="classNL3D_1_1CPSAttribMakerT.html#a9">NL3D::CPSAttribMakerT</a>.
+<p>
+Definition at line <a class="el" href="ps__attrib__maker_8h-source.html#l00258">258</a> of file <a class="el" href="ps__attrib__maker_8h-source.html">ps_attrib_maker.h</a>. </td>
+ </tr>
+</table>
+<a name="z708_3" doxytag="NL3D::CPSAttribMaker::setInput"></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" colspan="4">
+template&lt;typename T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void NL3D::CPSAttribMaker&lt; T &gt;::setInput </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="structNL3D_1_1CPSInputType.html">CPSInputType</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>input</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, virtual]</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).
+<p>
+The default does nothing <dl compact><dt><b>
+See also: </b><dd>
+<a class="el" href="classNL3D_1_1CPSAttribMaker.html#z708_2">hasCustomInput</a>() </dl>
+<p>
+Reimplemented in <a class="el" href="classNL3D_1_1CPSAttribMakerT.html#a6">NL3D::CPSAttribMakerT</a>.
+<p>
+Definition at line <a class="el" href="ps__attrib__maker_8h-source.html#l00238">238</a> of file <a class="el" href="ps__attrib__maker_8h-source.html">ps_attrib_maker.h</a>. </td>
+ </tr>
+</table>
+<a name="z708_0" doxytag="NL3D::CPSAttribMaker::setNbCycles"></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" colspan="4">
+template&lt;typename T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSAttribMaker&lt; T &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>&nbsp; <em>nbCycles</em> </td>
+ <td class="md" valign="top">)&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>
+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.
+<p>
+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="ps__attrib__maker_8h-source.html#l00220">220</a> of file <a class="el" href="ps__attrib__maker_8h-source.html">ps_attrib_maker.h</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="n1" doxytag="NL3D::CPSAttribMaker::_HasMemory"></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" colspan="4">
+template&lt;typename T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CPSAttribMaker::_HasMemory<code> [protected]</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="ps__attrib__maker_8h-source.html#l00297">297</a> of file <a class="el" href="ps__attrib__maker_8h-source.html">ps_attrib_maker.h</a>.
+<p>
+Referenced by <a class="el" href="ps__attrib__maker_8h-source.html#l00130">NL3D::CPSAttribMaker&lt; sint32 &gt;::CPSAttribMaker</a>, <a class="el" href="ps__attrib__maker__bin__op__inline_8h-source.html#l00133">NL3D::CPSAttribMakerBinOp::CPSAttribMakerBinOp</a>, <a class="el" href="ps__attrib__maker__helper_8h-source.html#l01330">NL3D::CPSAttribMakerMemory&lt; sint32 &gt;::CPSAttribMakerMemory</a>, and <a class="el" href="ps__attrib__maker_8h-source.html#l00275">NL3D::CPSAttribMaker&lt; sint32 &gt;::hasMemory</a>. </td>
+ </tr>
+</table>
+<a name="n0" doxytag="NL3D::CPSAttribMaker::_NbCycles"></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" colspan="4">
+template&lt;typename T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> float NL3D::CPSAttribMaker::_NbCycles<code> [protected]</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="ps__attrib__maker_8h-source.html#l00294">294</a> of file <a class="el" href="ps__attrib__maker_8h-source.html">ps_attrib_maker.h</a>.
+<p>
+Referenced by <a class="el" href="ps__attrib__maker_8h-source.html#l00130">NL3D::CPSAttribMaker&lt; sint32 &gt;::CPSAttribMaker</a>, <a class="el" href="ps__attrib__maker__helper_8h-source.html#l01172">NL3D::CPSAttribMakerT::get</a>, <a class="el" href="ps__attrib__maker_8h-source.html#l00229">NL3D::CPSAttribMaker&lt; sint32 &gt;::getNbCycles</a>, <a class="el" href="ps__attrib__maker__helper_8h-source.html#l00293">NL3D::CPSAttribMakerT&lt; uint32, CPSValueBlendFunc&lt; uint32 &gt; &gt;::make4ByIterator</a>, <a class="el" href="ps__attrib__maker__helper_8h-source.html#l00191">NL3D::CPSAttribMakerT&lt; uint32, CPSValueBlendFunc&lt; uint32 &gt; &gt;::makeByIterator</a>, <a class="el" href="ps__attrib__maker__helper_8h-source.html#l00448">NL3D::CPSAttribMakerT&lt; uint32, CPSValueBlendFunc&lt; uint32 &gt; &gt;::makeNByIterator</a>, <a class="el" href="ps__attrib__maker_8h-source.html#l00135">NL3D::CPSAttribMaker&lt; sint32 &gt;::serial</a>, and <a class="el" href="ps__attrib__maker_8h-source.html#l00220">NL3D::CPSAttribMaker&lt; sint32 &gt;::setNbCycles</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="ps__attrib__maker_8h-source.html">ps_attrib_maker.h</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>