aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/particle__system_8h-source.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/doxygen/nel/particle__system_8h-source.html')
-rw-r--r--docs/doxygen/nel/particle__system_8h-source.html766
1 files changed, 766 insertions, 0 deletions
diff --git a/docs/doxygen/nel/particle__system_8h-source.html b/docs/doxygen/nel/particle__system_8h-source.html
new file mode 100644
index 00000000..b9cbd4da
--- /dev/null
+++ b/docs/doxygen/nel/particle__system_8h-source.html
@@ -0,0 +1,766 @@
+<!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>particle_system.h</h1><a href="particle__system_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001
+00007 <font class="comment">/* Copyright, 2001 Nevrax Ltd.</font>
+00008 <font class="comment"> *</font>
+00009 <font class="comment"> * This file is part of NEVRAX NEL.</font>
+00010 <font class="comment"> * NEVRAX NEL is free software; you can redistribute it and/or modify</font>
+00011 <font class="comment"> * it under the terms of the GNU General Public License as published by</font>
+00012 <font class="comment"> * the Free Software Foundation; either version 2, or (at your option)</font>
+00013 <font class="comment"> * any later version.</font>
+00014 <font class="comment"></font>
+00015 <font class="comment"> * NEVRAX NEL is distributed in the hope that it will be useful, but</font>
+00016 <font class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</font>
+00017 <font class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</font>
+00018 <font class="comment"> * General Public License for more details.</font>
+00019 <font class="comment"></font>
+00020 <font class="comment"> * You should have received a copy of the GNU General Public License</font>
+00021 <font class="comment"> * along with NEVRAX NEL; see the file COPYING. If not, write to the</font>
+00022 <font class="comment"> * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,</font>
+00023 <font class="comment"> * MA 02111-1307, USA.</font>
+00024 <font class="comment"> */</font>
+00025
+00026 <font class="preprocessor">#ifndef NL_PARTICLE_SYSTEM_H</font>
+00027 <font class="preprocessor"></font><font class="preprocessor">#define NL_PARTICLE_SYSTEM_H</font>
+00028 <font class="preprocessor"></font>
+00029 <font class="preprocessor">#include "<a class="code" href="types__nl_8h.html">nel/misc/types_nl.h</a>"</font>
+00030 <font class="preprocessor">#include "<a class="code" href="matrix_8h.html">nel/misc/matrix.h</a>"</font>
+00031 <font class="preprocessor">#include "<a class="code" href="aabbox_8h.html">nel/misc/aabbox.h</a>"</font>
+00032 <font class="preprocessor">#include "<a class="code" href="smart__ptr_8h.html">nel/misc/smart_ptr.h</a>"</font>
+00033 <font class="preprocessor">#include "<a class="code" href="rgba_8h.html">nel/misc/rgba.h</a>"</font>
+00034 <font class="preprocessor">#include "<a class="code" href="animation__time_8h.html">nel/3d/animation_time.h</a>"</font>
+00035 <font class="preprocessor">#include "<a class="code" href="mot_8h.html">3d/mot.h</a>"</font>
+00036 <font class="preprocessor">#include "<a class="code" href="animated__value_8h.html">3d/animated_value.h</a>"</font>
+00037 <font class="preprocessor">#include "<a class="code" href="particle__system__process_8h.html">3d/particle_system_process.h</a>"</font>
+00038 <font class="preprocessor">#include "<a class="code" href="ps__lod_8h.html">3d/ps_lod.h</a>"</font>
+00039 <font class="preprocessor">#include "<a class="code" href="ps__attrib__maker_8h.html">3d/ps_attrib_maker.h</a>"</font>
+00040
+00041 <font class="preprocessor">#include &lt;map&gt;</font>
+00042
+00043
+00044
+00045 <font class="keyword">namespace </font>NL3D
+00046 {
+00047
+00048 <font class="keyword">class </font>CParticleSystemShape;
+00049 <font class="keyword">class </font>CPSLocatedBindable;
+00050 <font class="keyword">class </font>CFontGenerator;
+00051 <font class="keyword">class </font>CFontManager;
+00052 <font class="keyword">class </font>CPSCopyHelper;
+00053 <font class="keyword">class </font>CScene;
+00054 <font class="keyword">class </font>CPSLocated;
+00055 <font class="keyword">class </font>IDriver;
+00056 <font class="keyword">struct </font>UPSSoundServer;
+00057
+00058
+00059
+00061 <font class="keyword">const</font> uint <a class="code" href="namespaceNL3D.html#a165">MaxPSUserParam</a> = 4;
+00062
+00063
+<a name="l00083"></a><a class="code" href="classNL3D_1_1CParticleSystem.html">00083</a> <font class="keyword">class </font>CParticleSystem : <font class="keyword">public</font> NLMISC::CRefCount
+00084 {
+00085 <font class="keyword">public</font>:
+00086 <font class="comment">// the pass that is applied on particles</font>
+<a name="l00087"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#s18">00087</a> <font class="keyword">enum</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#s18">TPass</a> { <a class="code" href="classNL3D_1_1CParticleSystem.html#s18s0">Anim</a>, <a class="code" href="classNL3D_1_1CParticleSystem.html#s18s1">SolidRender</a>, <a class="code" href="classNL3D_1_1CParticleSystem.html#s18s2">BlendRender</a>, <a class="code" href="classNL3D_1_1CParticleSystem.html#s18s3">ToolRender</a> };
+00088 <font class="keyword">public</font>:
+00089 <font class="comment">//*****************************************************************************************************</font>
+00090
+00092
+00093
+00094 <a class="code" href="classNL3D_1_1CParticleSystem.html#z633_0">CParticleSystem</a>();
+00096 <font class="keyword">virtual</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z633_1">~CParticleSystem</a>();
+00098 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z633_2">serial</a>(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &amp;f) <font class="keywordflow">throw</font>(NLMISC::EStream);
+00102 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z633_3">merge</a>(CParticleSystemShape *toMerge);
+00103
+00104 <font class="comment">/*** duplication method NOT SUPPORTED for now (duplication is using streams, but it may not last)</font>
+00105 <font class="comment"> * \param ch for private use, set to null by default</font>
+00106 <font class="comment"> */</font>
+00107 <font class="comment">// CParticleSystem *clone(CPSCopyHelper *ch = NULL) ;</font>
+00109 <font class="comment"></font>
+00110 <font class="comment">//*****************************************************************************************************</font>
+00111
+00113
+00114
+<a name="l00122"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z634_0">00122</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z634_0">enableSharing</a>(<font class="keywordtype">bool</font> enabled = <font class="keyword">true</font>) { <a class="code" href="classNL3D_1_1CParticleSystem.html#o46">_Sharing</a> = enabled; }
+00123
+<a name="l00125"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z634_1">00125</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z634_1">isSharingEnabled</a>()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o46">_Sharing</a>; }
+00127
+00128 <font class="comment">//***************************************************************************************************** </font>
+00129
+00131
+00132
+<a name="l00133"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z635_0">00133</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z635_0">setDriver</a>(IDriver *driver) { <a class="code" href="classNL3D_1_1CParticleSystem.html#o1">_Driver</a> = driver; }
+00134
+<a name="l00136"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z635_1">00136</a> IDriver *<a class="code" href="classNL3D_1_1CParticleSystem.html#z635_1">getDriver</a>(<font class="keywordtype">void</font>) { <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o1">_Driver</a>; }
+00138 <font class="comment">//*****************************************************************************************************</font>
+00139
+00141
+00142
+<a name="l00145"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z636_0">00145</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z636_0">setScene</a>(CScene *scene) { <a class="code" href="classNL3D_1_1CParticleSystem.html#o17">_Scene</a> = scene; }
+00146
+<a name="l00148"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z636_1">00148</a> CScene *<a class="code" href="classNL3D_1_1CParticleSystem.html#z636_1">getScene</a>(<font class="keywordtype">void</font>) { <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o17">_Scene</a>; }
+00150
+00151 <font class="comment">//*****************************************************************************************************</font>
+00152
+00154
+00155
+00156
+00164 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z637_0">setSysMat</a>(<font class="keyword">const</font> <a class="code" href="classNLMISC_1_1CMatrix.html">NLMISC::CMatrix</a> &amp;m);
+00165
+<a name="l00167"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z637_1">00167</a> <font class="keyword">const</font> <a class="code" href="classNLMISC_1_1CMatrix.html">NLMISC::CMatrix</a> &amp;<a class="code" href="classNL3D_1_1CParticleSystem.html#z637_1">getSysMat</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o7">_SysMat</a>; }
+00168
+<a name="l00170"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z637_2">00170</a> <font class="keyword">const</font> <a class="code" href="classNLMISC_1_1CMatrix.html">NLMISC::CMatrix</a> &amp;<a class="code" href="classNL3D_1_1CParticleSystem.html#z637_2">getOldSysMat</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o7">_SysMat</a>; }
+00171
+<a name="l00173"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z637_3">00173</a> <font class="keyword">const</font> <a class="code" href="classNLMISC_1_1CMatrix.html">NLMISC::CMatrix</a> &amp;<a class="code" href="classNL3D_1_1CParticleSystem.html#z637_3">getInvertedSysMat</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o9">_InvSysMat</a>; }
+00174
+00178 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z637_4">setViewMat</a>(<font class="keyword">const</font> <a class="code" href="classNLMISC_1_1CMatrix.html">NLMISC::CMatrix</a> &amp;m);
+00179
+<a name="l00181"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z637_5">00181</a> <font class="keyword">const</font> <a class="code" href="classNLMISC_1_1CMatrix.html">NLMISC::CMatrix</a> &amp;<a class="code" href="classNL3D_1_1CParticleSystem.html#z637_5">getViewMat</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o5">_ViewMat</a>; }
+00182
+<a name="l00184"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z637_6">00184</a> <font class="keyword">const</font> <a class="code" href="classNLMISC_1_1CMatrix.html">NLMISC::CMatrix</a> &amp;<a class="code" href="classNL3D_1_1CParticleSystem.html#z637_6">getInvertedViewMat</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o6">_InvertedViewMat</a>; }
+00185
+00187
+00188
+00189 <font class="comment">//*****************************************************************************************************</font>
+00190
+00192
+00193
+00200 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z638_0">step</a>(<a class="code" href="classNL3D_1_1CParticleSystem.html#s18">TPass</a> pass, <a class="code" href="namespaceNL3D.html#a1">TAnimationTime</a> ellapsedTime);
+00202
+00203
+00204
+00206 <font class="keyword">static</font> uint32 <a class="code" href="classNL3D_1_1CParticleSystem.html#p0">NbParticlesDrawn</a>;
+00207
+00208 <font class="comment">//*****************************************************************************************************</font>
+00209
+00219 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z639_0">attach</a>(CParticleSystemProcess *process);
+00220
+00223 CParticleSystemProcess *<a class="code" href="classNL3D_1_1CParticleSystem.html#z639_1">detach</a>(uint <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>);
+00224
+00227 <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z639_2">isProcess</a>(CParticleSystemProcess *process) <font class="keyword">const</font>;
+00228
+00232 uint <a class="code" href="classNL3D_1_1CParticleSystem.html#z639_3">getIndexOf</a>(<font class="keyword">const</font> CParticleSystemProcess *process) <font class="keyword">const</font>;
+00233
+00238 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z639_4">remove</a>(CParticleSystemProcess *process);
+00239
+<a name="l00241"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z639_5">00241</a> uint32 <a class="code" href="classNL3D_1_1CParticleSystem.html#z639_5">getNbProcess</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o2">_ProcessVect</a>.size(); }
+00242
+<a name="l00247"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z639_6">00247</a> CParticleSystemProcess *<a class="code" href="classNL3D_1_1CParticleSystem.html#z639_6">getProcess</a>(uint32 <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>)
+00248 {
+00249 <a class="code" href="debug_8h.html#a6">nlassert</a>(<a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> &lt; <a class="code" href="classNL3D_1_1CParticleSystem.html#o2">_ProcessVect</a>.size());
+00250 <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o2">_ProcessVect</a>[<a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>];
+00251 }
+00252
+<a name="l00257"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z639_7">00257</a> <font class="keyword">const</font> CParticleSystemProcess *<a class="code" href="classNL3D_1_1CParticleSystem.html#z639_6">getProcess</a>(uint32 <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>)<font class="keyword"> const</font>
+00258 <font class="keyword"> </font>{
+00259 <a class="code" href="debug_8h.html#a6">nlassert</a>(<a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> &lt; <a class="code" href="classNL3D_1_1CParticleSystem.html#o2">_ProcessVect</a>.size());
+00260 <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o2">_ProcessVect</a>[<a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>];
+00261 }
+00262
+00264
+00265 <font class="comment">//*****************************************************************************************************</font>
+00266
+00268
+00269
+<a name="l00271"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z640_0">00271</a> <a class="code" href="namespaceNL3D.html#a1">TAnimationTime</a> <a class="code" href="classNL3D_1_1CParticleSystem.html#z640_0">getSystemDate</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o20">_SystemDate</a>; }
+00272
+<a name="l00277"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z640_1">00277</a> uint64 <a class="code" href="classNL3D_1_1CParticleSystem.html#z640_1">getDate</a>(<font class="keywordtype">void</font>)<font class="keyword"> const</font>
+00278 <font class="keyword"> </font>{
+00279 <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o12">_Date</a>;
+00280 }
+00282
+00283 <font class="comment">//*****************************************************************************************************</font>
+00284
+<a name="l00293"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z641_0">00293</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z641_0">setUserParam</a>(uint userParamIndex, <font class="keywordtype">float</font> <a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>)
+00294 {
+00295 <a class="code" href="debug_8h.html#a6">nlassert</a>(userParamIndex &lt; <a class="code" href="namespaceNL3D.html#a165">MaxPSUserParam</a>);
+00296 <a class="code" href="namespaceNLMISC.html#a215">NLMISC::clamp</a>(<a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>, 0, <a class="code" href="namespaceNL3D.html#a186">MaxInputValue</a>);
+00297 <a class="code" href="classNL3D_1_1CParticleSystem.html#o31">_UserParam</a>[userParamIndex] = <a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>;
+00298 }
+00299
+<a name="l00303"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z641_1">00303</a> <font class="keywordtype">float</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z641_1">getUserParam</a>(uint userParamIndex)<font class="keyword"> const</font>
+00304 <font class="keyword"> </font>{
+00305 <a class="code" href="debug_8h.html#a6">nlassert</a>(userParamIndex &lt; <a class="code" href="namespaceNL3D.html#a165">MaxPSUserParam</a>);
+00306 <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o31">_UserParam</a>[userParamIndex];
+00307 }
+00308
+00314 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z641_2">bindGlobalValueToUserParam</a>(<font class="keyword">const</font> std::string &amp;globalValueName, uint userParamIndex);
+00315 <font class="comment">// Get name of a global value, or NULL if no global value is bound to that user param</font>
+00316 std::string <a class="code" href="classNL3D_1_1CParticleSystem.html#z641_3">getGlobalValueName</a>(uint userParamIndex) <font class="keyword">const</font>;
+00317 <font class="comment">// Set a global value</font>
+00318 <font class="keyword">static</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z641_4">setGlobalValue</a>(<font class="keyword">const</font> std::string &amp;name, <font class="keywordtype">float</font> <a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>);
+00319 <font class="comment">// Get a global value</font>
+00320 <font class="keyword">static</font> <font class="keywordtype">float</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z641_5">getGlobalValue</a>(<font class="keyword">const</font> std::string &amp;name);
+00324 <font class="keyword">static</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z641_6">setGlobalVectorValue</a>(<font class="keyword">const</font> std::string &amp;name, <font class="keyword">const</font> <a class="code" href="classNLMISC_1_1CVector.html">NLMISC::CVector</a> &amp;<a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>);
+00325 <font class="comment">// Get a global vector value</font>
+00326 <font class="keyword">static</font> <a class="code" href="classNLMISC_1_1CVector.html">NLMISC::CVector</a> <a class="code" href="classNL3D_1_1CParticleSystem.html#z641_7">getGlobalVectorValue</a>(<font class="keyword">const</font> std::string &amp;name);
+00327 <font class="comment">// define a handle to a global value</font>
+<a name="l00328"></a><a class="code" href="classNL3D_1_1CParticleSystem_1_1CGlobalVectorValueHandle.html">00328</a> <font class="keyword">class </font>CGlobalVectorValueHandle
+00329 {
+00330 <font class="keyword">public</font>:
+<a name="l00331"></a><a class="code" href="classNL3D_1_1CParticleSystem_1_1CGlobalVectorValueHandle.html#a0">00331</a> <a class="code" href="classNL3D_1_1CParticleSystem_1_1CGlobalVectorValueHandle.html#a0">CGlobalVectorValueHandle</a>() { <a class="code" href="classNL3D_1_1CParticleSystem_1_1CGlobalVectorValueHandle.html#a5">reset</a>(); }
+<a name="l00332"></a><a class="code" href="classNL3D_1_1CParticleSystem_1_1CGlobalVectorValueHandle.html#a1">00332</a> <font class="keyword">const</font> <a class="code" href="classNLMISC_1_1CVector.html">NLMISC::CVector</a> &amp;<a class="code" href="classNL3D_1_1CParticleSystem_1_1CGlobalVectorValueHandle.html#a1">get</a>()<font class="keyword"> const </font>{ <a class="code" href="debug_8h.html#a6">nlassert</a>(<a class="code" href="classNL3D_1_1CParticleSystem_1_1CGlobalVectorValueHandle.html#o1">_Value</a>); <font class="keywordflow">return</font> *<a class="code" href="classNL3D_1_1CParticleSystem_1_1CGlobalVectorValueHandle.html#o1">_Value</a>; }
+<a name="l00333"></a><a class="code" href="classNL3D_1_1CParticleSystem_1_1CGlobalVectorValueHandle.html#a2">00333</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem_1_1CGlobalVectorValueHandle.html#a2">set</a>(<font class="keyword">const</font> <a class="code" href="classNLMISC_1_1CVector.html">NLMISC::CVector</a> &amp;<a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>) { <a class="code" href="debug_8h.html#a6">nlassert</a>(<a class="code" href="classNL3D_1_1CParticleSystem_1_1CGlobalVectorValueHandle.html#o1">_Value</a>); *<a class="code" href="classNL3D_1_1CParticleSystem_1_1CGlobalVectorValueHandle.html#o1">_Value</a> = value; }
+<a name="l00334"></a><a class="code" href="classNL3D_1_1CParticleSystem_1_1CGlobalVectorValueHandle.html#a3">00334</a> <font class="keyword">const</font> std::string &amp;<a class="code" href="classNL3D_1_1CParticleSystem_1_1CGlobalVectorValueHandle.html#a3">getName</a>()<font class="keyword"> const </font>{ <a class="code" href="debug_8h.html#a6">nlassert</a>(<a class="code" href="classNL3D_1_1CParticleSystem_1_1CGlobalVectorValueHandle.html#o0">_Name</a>); <font class="keywordflow">return</font> *<a class="code" href="classNL3D_1_1CParticleSystem_1_1CGlobalVectorValueHandle.html#o0">_Name</a>; }
+<a name="l00335"></a><a class="code" href="classNL3D_1_1CParticleSystem_1_1CGlobalVectorValueHandle.html#a4">00335</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CParticleSystem_1_1CGlobalVectorValueHandle.html#a4">isValid</a>()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem_1_1CGlobalVectorValueHandle.html#o0">_Name</a> != NULL &amp;&amp; <a class="code" href="classNL3D_1_1CParticleSystem_1_1CGlobalVectorValueHandle.html#o1">_Value</a> != NULL; }
+<a name="l00336"></a><a class="code" href="classNL3D_1_1CParticleSystem_1_1CGlobalVectorValueHandle.html#a5">00336</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem_1_1CGlobalVectorValueHandle.html#a5">reset</a>() { <a class="code" href="classNL3D_1_1CParticleSystem_1_1CGlobalVectorValueHandle.html#o0">_Name</a> = NULL; <a class="code" href="classNL3D_1_1CParticleSystem_1_1CGlobalVectorValueHandle.html#o1">_Value</a> = NULL; }
+00338 <font class="keyword">private</font>:
+<a name="l00339"></a><a class="code" href="classNL3D_1_1CParticleSystem_1_1CGlobalVectorValueHandle.html#l0">00339</a> <font class="keyword">friend</font> <font class="keyword">class </font><a class="code" href="classNL3D_1_1CParticleSystem_1_1CGlobalVectorValueHandle.html#l0">CParticleSystem</a>;
+<a name="l00340"></a><a class="code" href="classNL3D_1_1CParticleSystem_1_1CGlobalVectorValueHandle.html#o0">00340</a> <font class="keyword">const</font> std::string *<a class="code" href="classNL3D_1_1CParticleSystem_1_1CGlobalVectorValueHandle.html#o0">_Name</a>;
+<a name="l00341"></a><a class="code" href="classNL3D_1_1CParticleSystem_1_1CGlobalVectorValueHandle.html#o1">00341</a> <a class="code" href="classNLMISC_1_1CVector.html">NLMISC::CVector</a> *<a class="code" href="classNL3D_1_1CParticleSystem_1_1CGlobalVectorValueHandle.html#o1">_Value</a>;
+00342 };
+00343 <font class="comment">// Get a handle on a global value that provide a quick access on it (no map lookup)</font>
+00344 <font class="keyword">static</font> CGlobalVectorValueHandle <a class="code" href="classNL3D_1_1CParticleSystem.html#z641_8">getGlobalVectorValueHandle</a>(<font class="keyword">const</font> std::string &amp;name);
+00346
+00347
+00348
+00349 <font class="comment">//*****************************************************************************************************</font>
+00350
+00352 <font class="comment">// @{</font>
+<a name="l00358"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z642_0">00358</a> <font class="comment"></font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z642_0">setCurrentEditedElement</a>(CPSLocated *loc = NULL , uint32 <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> = 0, <font class="keyword">class</font> CPSLocatedBindable *bd = NULL )
+00359 {
+00360 <a class="code" href="classNL3D_1_1CParticleSystem.html#o14">_CurrEditedElementLocated</a> = loc;
+00361 <a class="code" href="classNL3D_1_1CParticleSystem.html#o15">_CurrEditedElementLocatedBindable</a> = bd;
+00362 <a class="code" href="classNL3D_1_1CParticleSystem.html#o16">_CurrEditedElementIndex</a> = <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>;
+00363 }
+00364
+<a name="l00368"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z642_1">00368</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z642_1">getCurrentEditedElement</a>(CPSLocated *&amp;loc , uint32 &amp;<a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>, CPSLocatedBindable *&amp;lb)
+00369 {
+00370 loc = <a class="code" href="classNL3D_1_1CParticleSystem.html#o14">_CurrEditedElementLocated</a>;
+00371 <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> = <a class="code" href="classNL3D_1_1CParticleSystem.html#o16">_CurrEditedElementIndex</a>;
+00372 lb = <a class="code" href="classNL3D_1_1CParticleSystem.html#o15">_CurrEditedElementLocatedBindable</a>;
+00373 }
+00374
+<a name="l00376"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z642_2">00376</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z642_2">setFontGenerator</a>(CFontGenerator *fg) { <a class="code" href="classNL3D_1_1CParticleSystem.html#o3">_FontGenerator</a> = fg; }
+00377
+<a name="l00379"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z642_3">00379</a> CFontGenerator *<a class="code" href="classNL3D_1_1CParticleSystem.html#z642_3">getFontGenerator</a>(<font class="keywordtype">void</font>) { <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o3">_FontGenerator</a>; }
+00380
+<a name="l00382"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z642_4">00382</a> <font class="keyword">const</font> CFontGenerator *<a class="code" href="classNL3D_1_1CParticleSystem.html#z642_3">getFontGenerator</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o3">_FontGenerator</a>; }
+00383
+<a name="l00385"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z642_5">00385</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z642_5">setFontManager</a>(CFontManager *fg) { <a class="code" href="classNL3D_1_1CParticleSystem.html#o4">_FontManager</a> = fg; }
+00386
+<a name="l00388"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z642_6">00388</a> CFontManager *<a class="code" href="classNL3D_1_1CParticleSystem.html#z642_6">getFontManager</a>(<font class="keywordtype">void</font>) { <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o4">_FontManager</a>; }
+00389
+<a name="l00391"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z642_7">00391</a> <font class="keyword">const</font> CFontManager *<a class="code" href="classNL3D_1_1CParticleSystem.html#z642_6">getFontManager</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o4">_FontManager</a>; }
+00392 <font class="comment">// @}</font>
+00393
+<a name="l00395"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#a0">00395</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#a0">setName</a>(<font class="keyword">const</font> std::string &amp;<a class="code" href="driver__opengl__extension__def_8h.html#a383">s</a>) { <a class="code" href="classNL3D_1_1CParticleSystem.html#o18">_Name</a> = <a class="code" href="driver__opengl__extension__def_8h.html#a383">s</a>; }
+00396
+<a name="l00398"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#a1">00398</a> std::string <a class="code" href="classNL3D_1_1CParticleSystem.html#a1">getName</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o18">_Name</a>; }
+00399
+00400 <font class="comment">//*****************************************************************************************************</font>
+00401
+00403 <font class="comment">// @{</font>
+00405 <font class="comment"> bool hasOpaqueObjects(void) const;</font>
+00406
+00408 <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z643_1">hasTransparentObjects</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>;
+00409 <font class="comment">// @}</font>
+00410
+00411 <font class="comment">//*****************************************************************************************************</font>
+00412
+00414 <font class="comment">// @{</font>
+<a name="l00418"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z644_0">00418</a> <font class="comment"></font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z644_0">enableAccurateIntegration</a>(<font class="keywordtype">bool</font> enable = <font class="keyword">true</font>) { <a class="code" href="classNL3D_1_1CParticleSystem.html#o42">_AccurateIntegration</a> = enable; }
+<a name="l00419"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z644_1">00419</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z644_1">isAccurateIntegrationEnabled</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o42">_AccurateIntegration</a>; }
+00420
+<a name="l00426"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z644_2">00426</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z644_2">setAccurateIntegrationParams</a>(<a class="code" href="namespaceNL3D.html#a1">TAnimationTime</a> threshold,
+00427 uint32 maxNbIntegrations,
+00428 <font class="keywordtype">bool</font> canSlowDown,
+00429 <font class="keywordtype">bool</font> keepEllapsedTimeForLifeUpdate
+00430 )
+00431 {
+00432 <a class="code" href="classNL3D_1_1CParticleSystem.html#o19">_TimeThreshold</a> = threshold;
+00433 <a class="code" href="classNL3D_1_1CParticleSystem.html#o21">_MaxNbIntegrations</a> = maxNbIntegrations;
+00434 <a class="code" href="classNL3D_1_1CParticleSystem.html#o43">_CanSlowDown</a> = canSlowDown;
+00435 <a class="code" href="classNL3D_1_1CParticleSystem.html#o48">_KeepEllapsedTimeForLifeUpdate</a> = keepEllapsedTimeForLifeUpdate;
+00436 }
+00437
+<a name="l00441"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z644_3">00441</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z644_3">getAccurateIntegrationParams</a>(<a class="code" href="namespaceNL3D.html#a1">TAnimationTime</a> &amp;threshold,
+00442 uint32 &amp;maxNbIntegrations,
+00443 <font class="keywordtype">bool</font> &amp;canSlowDown,
+00444 <font class="keywordtype">bool</font> &amp;keepEllapsedTimeForLifeUpdate
+00445 )
+00446 {
+00447 threshold = <a class="code" href="classNL3D_1_1CParticleSystem.html#o19">_TimeThreshold</a> ;
+00448 maxNbIntegrations = <a class="code" href="classNL3D_1_1CParticleSystem.html#o21">_MaxNbIntegrations</a>;
+00449 canSlowDown = <a class="code" href="classNL3D_1_1CParticleSystem.html#o43">_CanSlowDown</a>;
+00450 keepEllapsedTimeForLifeUpdate = <a class="code" href="classNL3D_1_1CParticleSystem.html#o48">_KeepEllapsedTimeForLifeUpdate</a>;
+00451 }
+00452
+00453
+00454
+00455 <font class="comment">// @}</font>
+00456
+00457 <font class="comment">//*****************************************************************************************************</font>
+00458
+00466 <font class="comment">// @{</font>
+00467
+<a name="l00469"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z645_0">00469</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z645_0">setMaxViewDist</a>(<font class="keywordtype">float</font> maxDist)
+00470 {
+00471 <a class="code" href="debug_8h.html#a6">nlassert</a>(maxDist &gt; 0.f);
+00472 <a class="code" href="classNL3D_1_1CParticleSystem.html#o24">_MaxViewDist</a> = maxDist;
+00473 <a class="code" href="classNL3D_1_1CParticleSystem.html#o26">_InvCurrentViewDist</a> = <a class="code" href="classNL3D_1_1CParticleSystem.html#o25">_InvMaxViewDist</a> = 1.f / maxDist;
+00474 }
+00475
+<a name="l00477"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z645_1">00477</a> <font class="keywordtype">float</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z645_1">getMaxViewDist</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o24">_MaxViewDist</a>; }
+00478
+<a name="l00480"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z645_2">00480</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z645_2">setLODRatio</a>(<font class="keywordtype">float</font> ratio) { <a class="code" href="debug_8h.html#a6">nlassert</a>(ratio &gt; 0 &amp;&amp; ratio &lt;= 1.f); <a class="code" href="classNL3D_1_1CParticleSystem.html#o22">_LODRatio</a> = ratio; }
+00481
+<a name="l00483"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z645_3">00483</a> <font class="keywordtype">float</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z645_3">getLODRatio</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o22">_LODRatio</a>; }
+00484
+00485
+00490 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z645_4">getLODVect</a>(<a class="code" href="classNLMISC_1_1CVector.html">NLMISC::CVector</a> &amp;<a class="code" href="driver__opengl__extension__def_8h.html#a368">v</a>, <font class="keywordtype">float</font> &amp;<a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>, <font class="keywordtype">bool</font> systemBasis);
+00491
+00493 <a class="code" href="namespaceNL3D.html#a485">TPSLod</a> <a class="code" href="classNL3D_1_1CParticleSystem.html#z645_5">getLOD</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>;
+00494
+<a name="l00496"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z645_6">00496</a> <font class="keywordtype">float</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z645_6">getOneMinusCurrentLODRatio</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o23">_OneMinusCurrentLODRatio</a>; }
+00497
+<a name="l00503"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z645_7">00503</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z645_7">enableAutoLOD</a>(<font class="keywordtype">bool</font> enabled = <font class="keyword">true</font>) { <a class="code" href="classNL3D_1_1CParticleSystem.html#o47">_AutoLOD</a> = enabled; }
+00504
+<a name="l00506"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z645_8">00506</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z645_8">isAutoLODEnabled</a>()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o47">_AutoLOD</a>; }
+00507
+<a name="l00512"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z645_9">00512</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z645_9">setupAutoLOD</a>(<font class="keywordtype">float</font> startDistPercent, uint8 degradationExponent)
+00513 {
+00514 <a class="code" href="debug_8h.html#a6">nlassert</a>(startDistPercent &lt; 1.f);
+00515 <a class="code" href="debug_8h.html#a6">nlassert</a>(degradationExponent &gt; 0);
+00516 <a class="code" href="classNL3D_1_1CParticleSystem.html#o36">_AutoLODStartDistPercent</a> = startDistPercent;
+00517 <a class="code" href="classNL3D_1_1CParticleSystem.html#o37">_AutoLODDegradationExponent</a> = degradationExponent;
+00518 }
+00519
+00520
+<a name="l00521"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z645_10">00521</a> <font class="keywordtype">float</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z645_10">getAutoLODStartDistPercent</a>()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o36">_AutoLODStartDistPercent</a>; }
+<a name="l00522"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z645_11">00522</a> uint8 <a class="code" href="classNL3D_1_1CParticleSystem.html#z645_11">getAutoLODDegradationExponent</a>()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o37">_AutoLODDegradationExponent</a>; }
+00523
+<a name="l00528"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z645_12">00528</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z645_12">setAutoLODMode</a>(<font class="keywordtype">bool</font> skipParticles) { <a class="code" href="classNL3D_1_1CParticleSystem.html#o49">_AutoLODSkipParticles</a> = skipParticles; }
+<a name="l00529"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z645_13">00529</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z645_13">getAutoLODMode</a>()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o49">_AutoLODSkipParticles</a>; }
+00530
+<a name="l00537"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z645_14">00537</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z645_14">setColorAttenuationScheme</a>(CPSAttribMaker&lt;NLMISC::CRGBA&gt; *colScheme)
+00538 {
+00539 <font class="keyword">delete</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o38">_ColorAttenuationScheme</a>;
+00540 <a class="code" href="classNL3D_1_1CParticleSystem.html#o38">_ColorAttenuationScheme</a> = colScheme;
+00541 <font class="keywordflow">if</font> (!colScheme)
+00542 {
+00543 <a class="code" href="classNL3D_1_1CParticleSystem.html#o39">_GlobalColor</a> = <a class="code" href="classNLMISC_1_1CRGBA.html#p7">NLMISC::CRGBA::White</a>;
+00544 }
+00545 }
+00546
+<a name="l00548"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z645_15">00548</a> CPSAttribMaker&lt;NLMISC::CRGBA&gt; *<a class="code" href="classNL3D_1_1CParticleSystem.html#z645_15">getColorAttenuationScheme</a>() { <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o38">_ColorAttenuationScheme</a>; }
+<a name="l00549"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z645_16">00549</a> <font class="keyword">const</font> CPSAttribMaker&lt;NLMISC::CRGBA&gt; *<a class="code" href="classNL3D_1_1CParticleSystem.html#z645_15">getColorAttenuationScheme</a>()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o38">_ColorAttenuationScheme</a>; }
+00550
+<a name="l00554"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z645_17">00554</a> <font class="keyword">const</font> <a class="code" href="classNLMISC_1_1CRGBA.html">NLMISC::CRGBA</a> &amp;<a class="code" href="classNL3D_1_1CParticleSystem.html#z645_17">getGlobalColor</a>()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o39">_GlobalColor</a>; }
+00555
+00556
+00557 <font class="comment">// @}</font>
+00558
+00559 <font class="comment">//*****************************************************************************************************</font>
+00560
+00561 <font class="comment">// \name Load balancing</font>
+00562 <font class="comment">// @{</font>
+00563 <font class="comment">// get an evaluation of how many tris are needed with the system for the given distance</font>
+00564 <font class="keywordtype">float</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z646_0">getWantedNumTris</a>(<font class="keywordtype">float</font> dist);
+00565
+00567 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z646_1">setNumTris</a>(uint numFaces);
+00568
+00572 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z646_2">notifyMaxNumFacesChanged</a>(<font class="keywordtype">void</font>);
+00573
+<a name="l00575"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z646_3">00575</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z646_3">isLoadBalancingEnabled</a>()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o50">_EnableLoadBalancing</a>; }
+00576
+00578 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z646_4">enableLoadBalancing</a>(<font class="keywordtype">bool</font> enabled = <font class="keyword">true</font>);
+00579 <font class="comment">// @}</font>
+00580
+00581 <font class="comment">//*****************************************************************************************************</font>
+00582
+00584 <font class="comment">// @{ </font>
+00588 <font class="comment"></font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z647_0">computeBBox</a>(<a class="code" href="classNLMISC_1_1CAABBox.html">NLMISC::CAABBox</a> &amp;aabbox);
+00589
+<a name="l00593"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z647_1">00593</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z647_1">setAutoComputeBBox</a>(<font class="keywordtype">bool</font> enable = <font class="keyword">true</font>) { <a class="code" href="classNL3D_1_1CParticleSystem.html#o40">_ComputeBBox</a> = enable; }
+00594
+00595
+<a name="l00597"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z647_2">00597</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z647_2">getAutoComputeBBox</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o40">_ComputeBBox</a>; }
+00598
+00599
+<a name="l00604"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z647_3">00604</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z647_3">setPrecomputedBBox</a>(<font class="keyword">const</font> <a class="code" href="classNLMISC_1_1CAABBox.html">NLMISC::CAABBox</a> &amp;precompBBox)
+00605 {
+00606 <a class="code" href="debug_8h.html#a6">nlassert</a>(!<a class="code" href="classNL3D_1_1CParticleSystem.html#o40">_ComputeBBox</a>);
+00607 <a class="code" href="classNL3D_1_1CParticleSystem.html#o0">_PreComputedBBox</a> = precompBBox;
+00608 }
+00609
+<a name="l00611"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z647_4">00611</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z647_4">getLastComputedBBox</a>(<a class="code" href="classNLMISC_1_1CAABBox.html">NLMISC::CAABBox</a> &amp;dest) { dest = <a class="code" href="classNL3D_1_1CParticleSystem.html#o0">_PreComputedBBox</a>; }
+00612 <font class="comment">// @}</font>
+00613
+00614 <font class="comment">//*****************************************************************************************************</font>
+00615
+00617 <font class="comment">// @{</font>
+<a name="l00621"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z648_3">00621</a> <font class="comment"></font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_3">setDestroyModelWhenOutOfRange</a>(<font class="keywordtype">bool</font> enable = <font class="keyword">true</font>)
+00622 {
+00623 <a class="code" href="classNL3D_1_1CParticleSystem.html#o44">_DestroyModelWhenOutOfRange</a> = enable;
+00624 <a class="code" href="classNL3D_1_1CParticleSystem.html#o34">_PresetBehaviour</a> = <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_2s16">UserBehaviour</a>;
+00625 }
+00626
+<a name="l00628"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z648_4">00628</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_4">getDestroyModelWhenOutOfRange</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o44">_DestroyModelWhenOutOfRange</a>; }
+00629
+00630
+<a name="l00632"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z648_0">00632</a> <font class="keyword">enum</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_0">TDieCondition</a> { <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_0s4">none</a>, <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_0s5">noMoreParticles</a>, <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_0s6">noMoreParticlesAndEmitters</a> };
+00633
+00634
+<a name="l00641"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z648_5">00641</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_5">setDestroyCondition</a>(<a class="code" href="classNL3D_1_1CParticleSystem.html#z648_0">TDieCondition</a> dieCondition)
+00642 {
+00643 <a class="code" href="classNL3D_1_1CParticleSystem.html#o27">_DieCondition</a> = dieCondition;
+00644 <a class="code" href="classNL3D_1_1CParticleSystem.html#o34">_PresetBehaviour</a> = <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_2s16">UserBehaviour</a>;
+00645 }
+00646
+<a name="l00648"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z648_6">00648</a> <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_0">TDieCondition</a> <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_6">getDestroyCondition</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o27">_DieCondition</a>; }
+00649
+<a name="l00658"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z648_7">00658</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_7">setDelayBeforeDeathConditionTest</a>(<a class="code" href="namespaceNL3D.html#a1">TAnimationTime</a> delay)
+00659 {
+00660 <a class="code" href="classNL3D_1_1CParticleSystem.html#o28">_DelayBeforeDieTest</a> = delay;
+00661 }
+00662
+<a name="l00664"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z648_8">00664</a> <a class="code" href="namespaceNL3D.html#a1">TAnimationTime</a> <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_8">getDelayBeforeDeathConditionTest</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o28">_DelayBeforeDieTest</a>; }
+00665
+<a name="l00671"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z648_9">00671</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_9">destroyWhenOutOfFrustum</a>(<font class="keywordtype">bool</font> enable = <font class="keyword">true</font>)
+00672 {
+00673 <a class="code" href="classNL3D_1_1CParticleSystem.html#o45">_DestroyWhenOutOfFrustum</a> = enable;
+00674 <a class="code" href="classNL3D_1_1CParticleSystem.html#o34">_PresetBehaviour</a> = <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_2s16">UserBehaviour</a>;
+00675 }
+00676
+<a name="l00680"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z648_10">00680</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_10">doesDestroyWhenOutOfFrustum</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o45">_DestroyWhenOutOfFrustum</a>; }
+00681
+00682
+00684 <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_11">hasEmitters</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>;
+00685
+00687 <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_12">hasParticles</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>;
+00688
+<a name="l00690"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z648_1">00690</a> <font class="keyword">enum</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_1">TAnimType</a>
+00691 { <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_1s7">AnimVisible</a> = 0, <font class="comment">/* visible systems only are animated */</font>
+00692 <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_1s8">AnimInCluster</a>, <font class="comment">/* systems that are in cluster are animated */</font>
+00693 <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_1s9">AnimAlways</a>, <font class="comment">/* animate always when not too far */</font>
+00694 <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_1s10">LastValue</a>
+00695 };
+00696
+<a name="l00700"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z648_13">00700</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_13">performMotionWhenOutOfFrustum</a>(<font class="keywordtype">bool</font> enable = <font class="keyword">true</font>)
+00701 {
+00702 <a class="code" href="classNL3D_1_1CParticleSystem.html#o30">_AnimType</a> = enable ? <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_1s8">AnimInCluster</a> : <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_1s7">AnimVisible</a>;
+00703 <a class="code" href="classNL3D_1_1CParticleSystem.html#o34">_PresetBehaviour</a> = <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_2s16">UserBehaviour</a>;
+00704 }
+00705
+<a name="l00709"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z648_14">00709</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_14">doesPerformMotionWhenOutOfFrustum</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o30">_AnimType</a> == <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_1s8">AnimInCluster</a>; }
+00710
+<a name="l00712"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z648_15">00712</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_15">setAnimType</a>(<a class="code" href="classNL3D_1_1CParticleSystem.html#z648_1">TAnimType</a> animType)
+00713 {
+00714 <a class="code" href="debug_8h.html#a6">nlassert</a>(animType &lt; <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_1s10">LastValue</a>);
+00715 <a class="code" href="classNL3D_1_1CParticleSystem.html#o30">_AnimType</a> = animType;
+00716 <a class="code" href="classNL3D_1_1CParticleSystem.html#o34">_PresetBehaviour</a> = <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_2s16">UserBehaviour</a>;
+00717 }
+00718
+<a name="l00720"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z648_16">00720</a> <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_1">TAnimType</a> <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_16">getAnimType</a>()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o30">_AnimType</a>; }
+00721
+<a name="l00733"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z648_2">00733</a> <font class="keyword">enum</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_2">TPresetBehaviour</a>
+00734 {
+00735 <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_2s11">EnvironmentFX</a> = 0,
+00736 <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_2s12">RunningEnvironmentFX</a>, <font class="comment">/* an environment fx that should </font>
+00737 <font class="comment"> * run when in parsed cluster : cascade for example,</font>
+00738 <font class="comment"> * so that it doesn't start when the player first see</font>
+00739 <font class="comment"> * it</font>
+00740 <font class="comment"> */</font>
+00741 <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_2s13">SpellFX</a>,
+00742 <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_2s14">LoopingSpellFX</a>,
+00743 <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_2s15">MinorFX</a>,
+00744 <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_2s16">UserBehaviour</a>,
+00745 <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_2s17">PresetLast</a>
+00746 };
+00747
+00748 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_17">activatePresetBehaviour</a>(<a class="code" href="classNL3D_1_1CParticleSystem.html#z648_2">TPresetBehaviour</a> behaviour);
+00749
+<a name="l00750"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z648_18">00750</a> <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_2">TPresetBehaviour</a> <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_18">getBehaviourType</a>()<font class="keyword"> const </font>
+00751 <font class="keyword"> </font>{
+00752 <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o34">_PresetBehaviour</a>;
+00753 }
+00754
+00755
+00756
+00757
+00758 <font class="comment">// @}</font>
+00759
+00760 <font class="comment">//*****************************************************************************************************</font>
+00762 <font class="comment"> // @{</font>
+<a name="l00764"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z649_2">00764</a> <font class="comment"> static void registerSoundServer(UPSSoundServer *soundServer)</font>
+00765 {
+00766 <a class="code" href="classNL3D_1_1CParticleSystem.html#r2">_SoundServer</a> = soundServer;
+00767 }
+00768
+<a name="l00770"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#z649_3">00770</a> <font class="keyword">static</font> UPSSoundServer * <a class="code" href="classNL3D_1_1CParticleSystem.html#z649_3">getSoundServer</a>(<font class="keywordtype">void</font>)
+00771 {
+00772 <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#r2">_SoundServer</a>;
+00773 }
+00774
+00776 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z649_0">stopSound</a>();
+00777
+00779 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z649_1">reactivateSound</a>();
+00780
+00781 <font class="comment">// @}</font>
+00782
+00783 <font class="comment">//*****************************************************************************************************</font>
+00785 <font class="comment"> // @{</font>
+00790 <font class="comment"></font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z650_0">registerLocatedBindableExternID</a>(uint32 <a class="code" href="driver__opengl__extension__def_8h.html#a356">id</a>, CPSLocatedBindable *lb);
+00791
+00793 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z650_1">unregisterLocatedBindableExternID</a>(CPSLocatedBindable *lb);
+00794 <font class="comment">// @}</font>
+00795
+00796 <font class="comment">//*****************************************************************************************************</font>
+00798 <font class="comment"> // @{</font>
+00800 <font class="comment"> uint getNumLocatedBindableByExternID(uint32 id) const;</font>
+00804 <font class="comment"></font> CPSLocatedBindable *<a class="code" href="classNL3D_1_1CParticleSystem.html#z651_1">getLocatedBindableByExternID</a>(uint32 <a class="code" href="driver__opengl__extension__def_8h.html#a356">id</a>, uint <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>);
+00805 <font class="keyword">const</font> CPSLocatedBindable *<a class="code" href="classNL3D_1_1CParticleSystem.html#z651_1">getLocatedBindableByExternID</a>(uint32 <a class="code" href="driver__opengl__extension__def_8h.html#a356">id</a>, uint <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>) <font class="keyword">const</font>;
+00807 uint <a class="code" href="classNL3D_1_1CParticleSystem.html#z651_3">getNumID</a>() <font class="keyword">const</font>;
+00809 uint32 <a class="code" href="classNL3D_1_1CParticleSystem.html#z651_4">getID</a>(uint <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>) <font class="keyword">const</font>;
+00813 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#z651_5">getIDs</a>(std::vector&lt;uint32&gt; &amp;dest) <font class="keyword">const</font>;
+00814 <font class="comment">// @}</font>
+00815
+00816
+00817 <font class="keyword">private</font>:
+<a name="l00818"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#u0">00818</a> <font class="keyword">typedef</font> std::map&lt;std::string, float&gt; <a class="code" href="classNL3D_1_1CParticleSystem.html#u0">TGlobalValuesMap</a>;
+<a name="l00819"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#u1">00819</a> <font class="keyword">typedef</font> std::map&lt;std::string, NLMISC::CVector&gt; <a class="code" href="classNL3D_1_1CParticleSystem.html#u1">TGlobalVectorValuesMap</a>;
+00820 <font class="keyword">private</font>:
+<a name="l00821"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#l0">00821</a> <font class="keyword">friend</font> <font class="keyword">class </font><a class="code" href="classNL3D_1_1CParticleSystem.html#l0">CParticleSystemDetailObs</a>;
+00823 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#c0">stepLocated</a>(<a class="code" href="namespaceNL3D.html#a484">TPSProcessPass</a> pass, <a class="code" href="namespaceNL3D.html#a1">TAnimationTime</a> et, <a class="code" href="namespaceNL3D.html#a1">TAnimationTime</a> realEt);
+00824 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#c1">updateLODRatio</a>();
+00825 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#c2">updateColor</a>();
+00826 <font class="comment">// map that contain global value that can be affected to user param</font>
+00827 <font class="keyword">static</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#u0">TGlobalValuesMap</a> <a class="code" href="classNL3D_1_1CParticleSystem.html#r0">_GlobalValuesMap</a>;
+00828 <font class="comment">// map that contain gloābal vector values</font>
+00829 <font class="keyword">static</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#u1">TGlobalVectorValuesMap</a> <a class="code" href="classNL3D_1_1CParticleSystem.html#r1">_GlobalVectorValuesMap</a>;
+00830 <font class="comment">// A bbox that has been specified by the user</font>
+<a name="l00831"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o0">00831</a> <a class="code" href="classNLMISC_1_1CAABBox.html">NLMISC::CAABBox</a> <a class="code" href="classNL3D_1_1CParticleSystem.html#o0">_PreComputedBBox</a>;
+00832 <font class="comment">// the driver used for rendering</font>
+<a name="l00833"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o1">00833</a> IDriver *<a class="code" href="classNL3D_1_1CParticleSystem.html#o1">_Driver</a>;
+00834
+<a name="l00835"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#u2">00835</a> <font class="keyword">typedef</font> std::vector&lt; CParticleSystemProcess *&gt; <a class="code" href="classNL3D_1_1CParticleSystem.html#u2">TProcessVect</a>;
+<a name="l00836"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o2">00836</a> <a class="code" href="classNL3D_1_1CParticleSystem.html#u2">TProcessVect</a> <a class="code" href="classNL3D_1_1CParticleSystem.html#o2">_ProcessVect</a>;
+<a name="l00837"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o3">00837</a> CFontGenerator *<a class="code" href="classNL3D_1_1CParticleSystem.html#o3">_FontGenerator</a>;
+<a name="l00838"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o4">00838</a> CFontManager *<a class="code" href="classNL3D_1_1CParticleSystem.html#o4">_FontManager</a>;
+00839 <font class="comment">// the view matrix</font>
+<a name="l00840"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o5">00840</a> <a class="code" href="classNLMISC_1_1CMatrix.html">NLMISC::CMatrix</a> <a class="code" href="classNL3D_1_1CParticleSystem.html#o5">_ViewMat</a>;
+00841
+00842 <font class="comment">// the inverted view matrix</font>
+<a name="l00843"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o6">00843</a> <a class="code" href="classNLMISC_1_1CMatrix.html">NLMISC::CMatrix</a> <a class="code" href="classNL3D_1_1CParticleSystem.html#o6">_InvertedViewMat</a>;
+00844
+00845 <font class="comment">// the matrix of the system</font>
+<a name="l00846"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o7">00846</a> <a class="code" href="classNLMISC_1_1CMatrix.html">NLMISC::CMatrix</a> <a class="code" href="classNL3D_1_1CParticleSystem.html#o7">_SysMat</a>;
+00847 <font class="comment">// The previous matrix of the system. It is used to perform emission of particles in the world basis at the right position when the systm is moving</font>
+<a name="l00848"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o8">00848</a> <a class="code" href="classNLMISC_1_1CMatrix.html">NLMISC::CMatrix</a> <a class="code" href="classNL3D_1_1CParticleSystem.html#o8">_OldSysMat</a>;
+00849 <font class="comment">// the inverted matrix of the system</font>
+<a name="l00850"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o9">00850</a> <a class="code" href="classNLMISC_1_1CMatrix.html">NLMISC::CMatrix</a> <a class="code" href="classNL3D_1_1CParticleSystem.html#o9">_InvSysMat</a>;
+00851 <font class="comment">// Current position of the system. It is interpolated during integration, and is used by emitter to emit at the correct position</font>
+<a name="l00852"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o10">00852</a> <a class="code" href="classNLMISC_1_1CVector.html">NLMISC::CVector</a> <a class="code" href="classNL3D_1_1CParticleSystem.html#o10">_CurrentDeltaPos</a>;
+00853 <font class="comment">// Delta position of the system</font>
+<a name="l00854"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o11">00854</a> <a class="code" href="classNLMISC_1_1CVector.html">NLMISC::CVector</a> <a class="code" href="classNL3D_1_1CParticleSystem.html#o11">_DeltaPos</a>;
+00855
+00856 <font class="comment">// number of rendered pass on the system, incremented each time the system is redrawn</font>
+<a name="l00857"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o12">00857</a> uint64 <a class="code" href="classNL3D_1_1CParticleSystem.html#o12">_Date</a>;
+00858
+<a name="l00860"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o13">00860</a> sint64 <a class="code" href="classNL3D_1_1CParticleSystem.html#o13">_LastUpdateDate</a>;
+00861
+00862 <font class="comment">// current edited element located (edition purpose only)</font>
+<a name="l00863"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o14">00863</a> CPSLocated *<a class="code" href="classNL3D_1_1CParticleSystem.html#o14">_CurrEditedElementLocated</a>;
+00864 <font class="comment">// current edited located bindable, NULL means all binadable of a located. (edition purpose only)</font>
+<a name="l00865"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o15">00865</a> CPSLocatedBindable *<a class="code" href="classNL3D_1_1CParticleSystem.html#o15">_CurrEditedElementLocatedBindable</a>;
+00866 <font class="comment">// current edited element index in its located (edition purpose only)</font>
+<a name="l00867"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o16">00867</a> uint32 <a class="code" href="classNL3D_1_1CParticleSystem.html#o16">_CurrEditedElementIndex</a>;
+00868
+00869
+<a name="l00874"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o17">00874</a> CScene *<a class="code" href="classNL3D_1_1CParticleSystem.html#o17">_Scene</a>;
+00875
+00876
+00877 <font class="comment">// contains the name of the system. (VERSION &gt;= 2 only)</font>
+<a name="l00878"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o18">00878</a> std::string <a class="code" href="classNL3D_1_1CParticleSystem.html#o18">_Name</a>;
+00879
+<a name="l00880"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o19">00880</a> <a class="code" href="namespaceNL3D.html#a1">TAnimationTime</a> <a class="code" href="classNL3D_1_1CParticleSystem.html#o19">_TimeThreshold</a>;
+<a name="l00881"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o20">00881</a> <a class="code" href="namespaceNL3D.html#a1">TAnimationTime</a> <a class="code" href="classNL3D_1_1CParticleSystem.html#o20">_SystemDate</a>;
+<a name="l00882"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o21">00882</a> uint32 <a class="code" href="classNL3D_1_1CParticleSystem.html#o21">_MaxNbIntegrations</a>;
+00883
+00884
+<a name="l00885"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o22">00885</a> <font class="keywordtype">float</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o22">_LODRatio</a>;
+<a name="l00886"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o23">00886</a> <font class="keywordtype">float</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o23">_OneMinusCurrentLODRatio</a>;
+<a name="l00887"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o24">00887</a> <font class="keywordtype">float</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o24">_MaxViewDist</a>;
+<a name="l00888"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o25">00888</a> <font class="keywordtype">float</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o25">_InvMaxViewDist</a>;
+<a name="l00889"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o26">00889</a> <font class="keywordtype">float</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o26">_InvCurrentViewDist</a>; <font class="comment">// inverse of the current view dist. It can be the same than _InvMaxViewDist</font>
+00890 <font class="comment">// but when there's LOD, the view distance may be reduced </font>
+00891
+<a name="l00892"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o27">00892</a> <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_0">TDieCondition</a> <a class="code" href="classNL3D_1_1CParticleSystem.html#o27">_DieCondition</a>;
+<a name="l00893"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o28">00893</a> <a class="code" href="namespaceNL3D.html#a1">TAnimationTime</a> <a class="code" href="classNL3D_1_1CParticleSystem.html#o28">_DelayBeforeDieTest</a>;
+<a name="l00894"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o29">00894</a> uint <a class="code" href="classNL3D_1_1CParticleSystem.html#o29">_MaxNumFacesWanted</a>;
+<a name="l00895"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o30">00895</a> <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_1">TAnimType</a> <a class="code" href="classNL3D_1_1CParticleSystem.html#o30">_AnimType</a>;
+00896
+00897 <font class="keyword">static</font> UPSSoundServer *<a class="code" href="classNL3D_1_1CParticleSystem.html#r2">_SoundServer</a>;
+00898
+<a name="l00899"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o31">00899</a> <font class="keywordtype">float</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o31">_UserParam</a>[<a class="code" href="namespaceNL3D.html#a165">MaxPSUserParam</a>];
+<a name="l00900"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o32">00900</a> <font class="keyword">const</font> TGlobalValuesMap::value_type **<a class="code" href="classNL3D_1_1CParticleSystem.html#o32">_UserParamGlobalValue</a>; <font class="comment">// usually set to NULL unless some user params mirror a global value, </font>
+00901 <font class="comment">// in this case this contains as many pointer into the global map as there are user params</font>
+<a name="l00902"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o33">00902</a> uint8 <a class="code" href="classNL3D_1_1CParticleSystem.html#o33">_BypassGlobalUserParam</a>; <font class="comment">// mask to bypass a global user param. This state is not serialized</font>
+00903
+<a name="l00904"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o34">00904</a> <a class="code" href="classNL3D_1_1CParticleSystem.html#z648_2">TPresetBehaviour</a> <a class="code" href="classNL3D_1_1CParticleSystem.html#o34">_PresetBehaviour</a>;
+00905
+00906 <font class="keyword">typedef</font>
+<a name="l00907"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#u3">00907</a> std::multimap&lt;uint32, CPSLocatedBindable *&gt; <a class="code" href="classNL3D_1_1CParticleSystem.html#u3">TLBMap</a>;
+<a name="l00908"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o35">00908</a> <a class="code" href="classNL3D_1_1CParticleSystem.html#u3">TLBMap</a> <a class="code" href="classNL3D_1_1CParticleSystem.html#o35">_LBMap</a>;
+00909
+<a name="l00910"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o36">00910</a> <font class="keywordtype">float</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o36">_AutoLODStartDistPercent</a>;
+<a name="l00911"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o37">00911</a> uint8 <a class="code" href="classNL3D_1_1CParticleSystem.html#o37">_AutoLODDegradationExponent</a>;
+00912
+<a name="l00913"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o38">00913</a> CPSAttribMaker&lt;NLMISC::CRGBA&gt; *<a class="code" href="classNL3D_1_1CParticleSystem.html#o38">_ColorAttenuationScheme</a>;
+<a name="l00914"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o39">00914</a> <a class="code" href="classNLMISC_1_1CRGBA.html">NLMISC::CRGBA</a> <a class="code" href="classNL3D_1_1CParticleSystem.html#o39">_GlobalColor</a>;
+00915
+<a name="l00918"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o40">00918</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o40">_ComputeBBox</a>;
+<a name="l00919"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o41">00919</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o41">_BBoxTouched</a>;
+<a name="l00920"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o42">00920</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o42">_AccurateIntegration</a>;
+<a name="l00921"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o43">00921</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o43">_CanSlowDown</a>;
+<a name="l00922"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o44">00922</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o44">_DestroyModelWhenOutOfRange</a>;
+<a name="l00923"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o45">00923</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o45">_DestroyWhenOutOfFrustum</a>;
+<a name="l00924"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o46">00924</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o46">_Sharing</a>;
+<a name="l00925"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o47">00925</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o47">_AutoLOD</a>;
+<a name="l00926"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o48">00926</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o48">_KeepEllapsedTimeForLifeUpdate</a>;
+<a name="l00927"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o49">00927</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o49">_AutoLODSkipParticles</a>;
+<a name="l00928"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o50">00928</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o50">_EnableLoadBalancing</a>;
+00929
+<a name="l00931"></a><a class="code" href="classNL3D_1_1CParticleSystem.html#o51">00931</a> <font class="keywordtype">float</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#o51">_InverseEllapsedTime</a>;
+00932 <font class="keyword">public</font>:
+00933 <font class="comment">// For use by emitters only : This compute a delta of position to ensure that spaning position are correct when the system moves</font>
+00934 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CParticleSystem.html#a2">interpolatePosDelta</a>(<a class="code" href="classNLMISC_1_1CVector.html">NLMISC::CVector</a> &amp;dest, <a class="code" href="namespaceNL3D.html#a1">TAnimationTime</a> deltaT);
+00935 };
+00936
+00937
+00938
+00939
+00940
+00941 <font class="comment">// NOT USED FOR NOW</font>
+00949 <font class="comment"></font><font class="comment">/*</font>
+00950 <font class="comment">class CPSCopyHelper</font>
+00951 <font class="comment">{</font>
+00952 <font class="comment"> public:</font>
+00953 <font class="comment"> // duplicate an object using the copy ctor, if it has not been before</font>
+00954 <font class="comment"> template &lt;class T&gt; T *ctorCopy(const T &amp;src) </font>
+00955 <font class="comment"> {</font>
+00956 <font class="comment"> TCopiedIt it = _Alreadycopied.find(src);</font>
+00957 <font class="comment"> if (it != _AlreadyCopied.end())</font>
+00958 <font class="comment"> {</font>
+00959 <font class="comment"> return (T *) it;</font>
+00960 <font class="comment"> }</font>
+00961 <font class="comment"> else</font>
+00962 <font class="comment"> {</font>
+00963 <font class="comment"> T *result = new T(src);</font>
+00964 <font class="comment"> _AlreadyCopied.insert((void *) result);</font>
+00965 <font class="comment"> return result;</font>
+00966 <font class="comment"> }</font>
+00967 <font class="comment"> }</font>
+00968 <font class="comment"> // duplicate an object using its clone method, if it has not been before</font>
+00969 <font class="comment"></font>
+00970 <font class="comment"> template &lt;class T&gt; T *clone(const T &amp;src)</font>
+00971 <font class="comment"> {</font>
+00972 <font class="comment"> TCopiedIt it = _AlreadyCopied.find(src);</font>
+00973 <font class="comment"> if (it != _AlreadyCopied.end())</font>
+00974 <font class="comment"> {</font>
+00975 <font class="comment"> return (T *) *it;</font>
+00976 <font class="comment"> }</font>
+00977 <font class="comment"> else</font>
+00978 <font class="comment"> {</font>
+00979 <font class="comment"> T *result = src.clone(this);</font>
+00980 <font class="comment"> _AlreadyCopied.insert((void *) result);</font>
+00981 <font class="comment"> return result;</font>
+00982 <font class="comment"> }</font>
+00983 <font class="comment"> } </font>
+00984 <font class="comment"></font>
+00985 <font class="comment"></font>
+00986 <font class="comment"> // insert a value that has been copied by other means</font>
+00987 <font class="comment"> void insert(void *ptr)</font>
+00988 <font class="comment"> {</font>
+00989 <font class="comment"> std::pair&lt;TCopiedIt, bool&gt; result = _AlreadyCopied.insert(ptr);</font>
+00990 <font class="comment"> nlassert(result.second);</font>
+00991 <font class="comment"> } </font>
+00992 <font class="comment"></font>
+00993 <font class="comment"> private:</font>
+00994 <font class="comment"> typedef std::set&lt;void *&gt; TAlreadyCopied;</font>
+00995 <font class="comment"> typedef TAlreadyCopied::iterator TCopiedIt;</font>
+00996 <font class="comment"> TAlreadyCopied _AlreadyCopied;</font>
+00997 <font class="comment">};</font>
+00998 <font class="comment"></font>
+00999 <font class="comment">*/</font>
+01000
+01001
+01002 } <font class="comment">// NL3D</font>
+01003
+01004
+01005 <font class="preprocessor">#endif // NL_PARTICLE_SYSTEM_H</font>
+01006 <font class="preprocessor"></font>
+01007 <font class="comment">/* End of particle_system.h */</font>
+</pre></div>
+
+<!-- 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>