aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/a03214.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/doxygen/nel/a03214.html')
-rw-r--r--docs/doxygen/nel/a03214.html7535
1 files changed, 7535 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a03214.html b/docs/doxygen/nel/a03214.html
new file mode 100644
index 00000000..ae2a077e
--- /dev/null
+++ b/docs/doxygen/nel/a03214.html
@@ -0,0 +1,7535 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>NeL: NL3D::CPSLocated class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.3.6 -->
+<div class="qindex"> <form class="search" action="search.php" method="get">
+<a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a> | <span class="search"><u>S</u>earch&nbsp;for&nbsp;<input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div>
+<h1>NL3D::CPSLocated Class Reference</h1><code>#include &lt;<a class="el" href="a06247.html">ps_located.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for NL3D::CPSLocated:
+<p><center><img src="a03214.png" usemap="#NL3D::CPSLocated_map" border="0" alt=""></center>
+<map name="NL3D::CPSLocated_map">
+<area href="a03054.html" alt="NL3D::CParticleSystemProcess" shape="rect" coords="0,112,188,136">
+<area href="a02867.html" alt="NLMISC::IStreamable" shape="rect" coords="0,56,188,80">
+<area href="a02540.html" alt="NLMISC::IClassable" shape="rect" coords="0,0,188,24">
+</map>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+this class is a located : it belongs to a particle system, and it represents any kind of object that has a position in the world. A located don't do anything by itself. You must bind objects to it, such as a particle, a force and so on. It is important to remember that a located holds all instance of object of one type (force, emitter, particles or both...), not only one. Not sharable accross systems
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00130">130</a> of file <a class="el" href="a06247.html">ps_located.h</a>.<table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="a03135.html">CPSAttrib</a>&lt; <a class="el" href="a03215.html">CParametricInfo</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedw0">TPSAttribParametricInfo</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">WARNING : private use by forces only. <a href="#NL3D_1_1CPSLocatedw0"></a><br><br></td></tr>
+<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda0">addNonIntegrableForceRef</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda1">bind</a> (<a class="el" href="a02691.html">CPSLocatedBindable</a> *lb)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda2">collisionUpdate</a> (const <a class="el" href="a03151.html">CPSCollisionInfo</a> &amp;ci, <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a04223.html#a566">index</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda3">computeBBox</a> (<a class="el" href="a02156.html">NLMISC::CAABBox</a> &amp;aabbox) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda3"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03128.html">NLMISC::CVector</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda4">computeI</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda4"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03128.html">NLMISC::CVector</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda5">computeJ</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda5"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03128.html">NLMISC::CVector</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda6">computeK</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda6"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda7">CPSLocated</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda7"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda8">deleteElement</a> (<a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a04223.html#a566">index</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda8"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda9">enableParametricMotion</a> (bool enable=true)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda9"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda10">enableTriggerOnDeath</a> (bool enable=true)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enable a trigger on death. It is used to create emission on an emitter with a given ID. <a href="#NL3D_1_1CPSLocateda10"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda11">enumTexs</a> (std::vector&lt; <a class="el" href="a03408.html">NLMISC::CSmartPtr</a>&lt; <a class="el" href="a03487.html">ITexture</a> &gt; &gt; &amp;dest, <a class="el" href="a02434.html">IDriver</a> &amp;drv)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda11"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda12">evalMaxDuration</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda12"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda13">forceLODDegradation</a> (bool enable=true)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02691.html">CPSLocatedBindable</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda14">getBoundObject</a> (<a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a04223.html#a566">index</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02691.html">CPSLocatedBindable</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda15">getBoundObject</a> (<a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a04223.html#a566">index</a>) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02540.html#NL3D_1_1ITrackKeyFramer_3_01CKeyVector_01_4a6">getClassName</a> ()=0</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03135.html">TPSAttribCollisionInfo</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda17">getCollisionInfo</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get a const ref to the collision infos <a href="#NL3D_1_1CPSLocateda17"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03135.html">TPSAttribCollisionInfo</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda18">getCollisionInfo</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get a ref to the collision infos <a href="#NL3D_1_1CPSLocateda18"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02434.html">IDriver</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda19">getDriver</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda19"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda20">getFrameRate</a> (void) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda21">getIndexOf</a> (const <a class="el" href="a02691.html">CPSLocatedBindable</a> *lb) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda21"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a05363.html#a366">TAnimationTime</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda22">getInitialLife</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the life of created particles (valid if they have a limited life time) <a href="#NL3D_1_1CPSLocateda22"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda23">getInitialMass</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the mass of created particle <a href="#NL3D_1_1CPSLocateda23"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03135.html">TPSAttribFloat</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda24">getInvMass</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get mass inverse attrib const ref <a href="#NL3D_1_1CPSLocateda24"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03135.html">TPSAttribFloat</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda25">getInvMass</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get mass inverse attrib ref <a href="#NL3D_1_1CPSLocateda25"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda26">getLastForever</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">retrieve immortality for locateds <a href="#NL3D_1_1CPSLocateda26"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03136.html">CPSAttribMaker</a>&lt; float &gt; *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda27">getLifeScheme</a> (void) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03136.html">CPSAttribMaker</a>&lt; float &gt; *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda28">getLifeScheme</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the life scheme of created particle, null if none (valid if they have a limited life time) <a href="#NL3D_1_1CPSLocateda28"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02851.html">NLMISC::CMatrix</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda29">getLocalToWorldMatrix</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda30">getLODVect</a> (<a class="el" href="a03128.html">NLMISC::CVector</a> &amp;<a class="el" href="a04223.html#a576">v</a>, float &amp;<a class="el" href="a04223.html#a586">offset</a>, <a class="el" href="a05363.html#a557">TPSMatrixMode</a> matrixMode)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda30"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03136.html">CPSAttribMaker</a>&lt; float &gt; *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda31">getMassScheme</a> (void) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03136.html">CPSAttribMaker</a>&lt; float &gt; *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda32">getMassScheme</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the scheme that compute mass of created particles, null if none <a href="#NL3D_1_1CPSLocateda32"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a05363.html#a557">TPSMatrixMode</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03054.html#NL3D_1_1CPSLocateda33">getMatrixMode</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda34">getMaxSize</a> (void) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda35">getName</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the located bindable name (edition purpose) <a href="#NL3D_1_1CPSLocateda35"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda36">getNbBoundObjects</a> (void) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda37">getNewElementIndex</a> (void) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03041.html">CParticleSystem</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03054.html#NL3D_1_1CPSLocateda38">getOwner</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">retrieve the particle system that owns this process (const version) <a href="#NL3D_1_1CPSLocateda38"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03041.html">CParticleSystem</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03054.html#NL3D_1_1CPSLocateda39">getOwner</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve the particle system that owns this process. <a href="#NL3D_1_1CPSLocateda39"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03135.html">TPSAttribParametricInfo</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda40">getParametricInfos</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">PRIVATE USE : access to parametric infos. <a href="#NL3D_1_1CPSLocateda40"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03135.html">TPSAttribVector</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda41">getPos</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get Pos attrib const ref <a href="#NL3D_1_1CPSLocateda41"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03135.html">TPSAttribVector</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda42">getPos</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get Pos attrib ref <a href="#NL3D_1_1CPSLocateda42"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03348.html">CScene</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda43">getScene</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda43"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda44">getSize</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the current number of instance in this located container <a href="#NL3D_1_1CPSLocateda44"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03135.html">TPSAttribVector</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda45">getSpeed</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get Speed attrib const ref <a href="#NL3D_1_1CPSLocateda45"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03135.html">TPSAttribVector</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda46">getSpeed</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get Speed attrib ref <a href="#NL3D_1_1CPSLocateda46"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03135.html">TPSAttribTime</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda47">getTime</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get Time attrib const ref <a href="#NL3D_1_1CPSLocateda47"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03135.html">TPSAttribTime</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda48">getTime</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get Time attrib ref <a href="#NL3D_1_1CPSLocateda48"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03135.html">TPSAttribTime</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda49">getTimeIncrement</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get TotalTime attrib const ref <a href="#NL3D_1_1CPSLocateda49"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03135.html">TPSAttribTime</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda50">getTimeIncrement</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get TotalTime attrib ref <a href="#NL3D_1_1CPSLocateda50"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda51">getTriggerEmitterID</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the ID for the emitter to be triggered on death. <a href="#NL3D_1_1CPSLocateda51"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="a04558.html#a15">uint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda52">getUserMatrixUsageCount</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda52"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda53">getUserParam</a> (<a class="el" href="a04558.html#a15">uint</a> numParam) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda53"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02851.html">NLMISC::CMatrix</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda54">getWorldToLocalMatrix</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda55">hasCollisionInfos</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">test wether this located has collision infos <a href="#NL3D_1_1CPSLocateda55"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda56">hasEmitters</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">tells wether there are alive emitters / particles in the system <a href="#NL3D_1_1CPSLocateda56"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda57">hasLODDegradation</a> (void) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda58">hasParticles</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">tells wether there are alive entities / particles in the system <a href="#NL3D_1_1CPSLocateda58"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda59">incrementNbDrawnParticles</a> (<a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a653">num</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda59"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda60">integrableForceBasisChanged</a> (<a class="el" href="a05363.html#a557">TPSMatrixMode</a> basis)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda60"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda61">integrateSingle</a> (float startDate, float deltaT, <a class="el" href="a04558.html#a15">uint</a> numStep, <a class="el" href="a04558.html#a11">uint32</a> indexInLocated, <a class="el" href="a03128.html">NLMISC::CVector</a> *destPos, <a class="el" href="a04558.html#a15">uint</a> posStride=sizeof(<a class="el" href="a03128.html">NLMISC::CVector</a>))</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda61"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda62">isBound</a> (const <a class="el" href="a02691.html">CPSLocatedBindable</a> *lb) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda62"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda63">isLocated</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda64">isParametricMotionEnabled</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">test wether parametric motion is enabled <a href="#NL3D_1_1CPSLocateda64"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda65">isTriggerOnDeathEnabled</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test wether a trigger on death has been enabled. <a href="#NL3D_1_1CPSLocateda65"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a10">sint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda66">newElement</a> (const <a class="el" href="a03128.html">NLMISC::CVector</a> &amp;pos, const <a class="el" href="a03128.html">NLMISC::CVector</a> &amp;speed, <a class="el" href="a03214.html">CPSLocated</a> *emitterLocated, <a class="el" href="a04558.html#a11">uint32</a> indexInEmitter, <a class="el" href="a05363.html#a557">TPSMatrixMode</a> speedCoordSystem, <a class="el" href="a05363.html#a366">TAnimationTime</a> ellapsedTime)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda66"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda67">NLMISC_DECLARE_CLASS</a> (<a class="el" href="a03214.html">CPSLocated</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda68">notifyMaxNumFacesChanged</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda68"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda69">performParametricMotion</a> (<a class="el" href="a05363.html#a366">TAnimationTime</a> date, <a class="el" href="a05363.html#a366">TAnimationTime</a> ellapsedTime, <a class="el" href="a05363.html#a366">TAnimationTime</a> realEllapsedTime)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda69"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="a04558.html#a15">uint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda70">querryMaxWantedNumFaces</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda70"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda71">queryCollisionInfo</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda71"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda72">registerDtorObserver</a> (<a class="el" href="a02691.html">CPSLocatedBindable</a> *observer)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda72"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda73">registerIntegrableForce</a> (<a class="el" href="a02690.html">CPSForce</a> *f)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda73"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda74">releaseAllRef</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda74"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda75">releaseCollisionInfo</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda75"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda76">releaseNonIntegrableForceRef</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda76"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda77">releaseRefTo</a> (const <a class="el" href="a03054.html">CParticleSystemProcess</a> *other)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda77"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda78">remove</a> (const <a class="el" href="a02691.html">CPSLocatedBindable</a> *lb)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda78"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda79">resize</a> (<a class="el" href="a04558.html#a11">uint32</a> newSize)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda80">serial</a> (<a class="el" href="a02270.html">NLMISC::IStream</a> &amp;f) throw (NLMISC::EStream)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda80"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda81">setFrameRate</a> (<a class="el" href="a04558.html#a11">uint32</a> nbFramesToSkip=0)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda82">setInitialLife</a> (<a class="el" href="a05363.html#a366">TAnimationTime</a> lifeTime)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda82"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda83">setInitialMass</a> (float mass)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda83"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda84">setLastForever</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda84"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda85">setLifeScheme</a> (<a class="el" href="a03136.html">CPSAttribMaker</a>&lt; float &gt; *scheme)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda85"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda86">setMassScheme</a> (<a class="el" href="a03136.html">CPSAttribMaker</a>&lt; float &gt; *scheme)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda86"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda87">setMatrixMode</a> (<a class="el" href="a05363.html#a557">TPSMatrixMode</a> matrixMode)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda87"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda88">setName</a> (const std::string &amp;name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set the located bindable name (edition purpose) <a href="#NL3D_1_1CPSLocateda88"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03054.html#NL3D_1_1CPSLocateda89">setOwner</a> (<a class="el" href="a03041.html">CParticleSystem</a> *ps)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the process owner. Called by the particle system during attachment. <a href="#NL3D_1_1CPSLocateda89"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda90">setTriggerEmitterID</a> (<a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a04223.html#a564">id</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set an ID for the emitter to be triggered on death. <a href="#NL3D_1_1CPSLocateda90"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda91">setupDriverModelMatrix</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Setup the driver model matrix. It is set accrodingly to the basis of the located. <a href="#NL3D_1_1CPSLocateda91"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda92">setZBias</a> (float <a class="el" href="a04223.html#a658">value</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda92"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda93">step</a> (<a class="el" href="a05363.html#a556">TPSProcessPass</a> pass, <a class="el" href="a05363.html#a366">TAnimationTime</a> ellapsedTime, <a class="el" href="a05363.html#a366">TAnimationTime</a> realEt)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda93"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda94">supportParametricMotion</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test wether this located support parametric motion. <a href="#NL3D_1_1CPSLocateda94"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda95">systemDateChanged</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda95"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02691.html">CPSLocatedBindable</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda96">unbind</a> (<a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a566">index</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda96"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda97">unregisterDtorObserver</a> (<a class="el" href="a02691.html">CPSLocatedBindable</a> *anObserver)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda97"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda98">unregisterIntegrableForce</a> (<a class="el" href="a02690.html">CPSForce</a> *f)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda98"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda99">updateLife</a> (<a class="el" href="a05363.html#a366">TAnimationTime</a> ellapsedTime)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocateda99"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocateda100">~CPSLocated</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">dtor <a href="#NL3D_1_1CPSLocateda100"></a><br><br></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Useful methods for edition</div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02541.html">CFontGenerator</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03054.html#NL3D_1_1CPSLocatedz630_0">getFontGenerator</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shortcut to get a font generator if one was set, const version (edition mode). <a href="#NL3D_1_1CPSLocatedz630_0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02541.html">CFontGenerator</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03054.html#NL3D_1_1CPSLocatedz630_1">getFontGenerator</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shortcut to get a font generator if one was set (edition mode). <a href="#NL3D_1_1CPSLocatedz630_1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02542.html">CFontManager</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03054.html#NL3D_1_1CPSLocatedz630_2">getFontManager</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shortcut to get a font Manager if one was set, const version (edition mode). <a href="#NL3D_1_1CPSLocatedz630_2"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02542.html">CFontManager</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03054.html#NL3D_1_1CPSLocatedz630_3">getFontManager</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shortcut to get a font Manager if one was set (edition mode). <a href="#NL3D_1_1CPSLocatedz630_3"></a><br><br></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Useful methods for edition</div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02541.html">CFontGenerator</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03054.html#NL3D_1_1CPSLocatedz630_0">getFontGenerator</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shortcut to get a font generator if one was set, const version (edition mode). <a href="#NL3D_1_1CPSLocatedz630_0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02541.html">CFontGenerator</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03054.html#NL3D_1_1CPSLocatedz630_1">getFontGenerator</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shortcut to get a font generator if one was set (edition mode). <a href="#NL3D_1_1CPSLocatedz630_1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02542.html">CFontManager</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03054.html#NL3D_1_1CPSLocatedz630_2">getFontManager</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shortcut to get a font Manager if one was set, const version (edition mode). <a href="#NL3D_1_1CPSLocatedz630_2"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02542.html">CFontManager</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03054.html#NL3D_1_1CPSLocatedz630_3">getFontManager</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shortcut to get a font Manager if one was set (edition mode). <a href="#NL3D_1_1CPSLocatedz630_3"></a><br><br></td></tr>
+<tr><td colspan=2><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02851.html">NLMISC::CMatrix</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatede0">getConversionMatrix</a> (const <a class="el" href="a03214.html">CPSLocated</a> *A, const <a class="el" href="a03214.html">CPSLocated</a> *B)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02851.html">NLMISC::CMatrix</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatede1">getConversionMatrix</a> (const <a class="el" href="a03041.html">CParticleSystem</a> &amp;ps, <a class="el" href="a05363.html#a557">TPSMatrixMode</a> to, <a class="el" href="a05363.html#a557">TPSMatrixMode</a> <a class="el" href="a04113.html#a70">from</a>)</td></tr>
+
+<tr><td colspan=2><br><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03135.html">CPSAttrib</a>&lt; <a class="el" href="a03215.html">CParametricInfo</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedo0">_PInfo</a></td></tr>
+
+<tr><td colspan=2><br><h2>Protected Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="a03254.html">CPSVector</a>&lt; <a class="el" href="a02691.html">CPSLocatedBindable</a> <br>
+* &gt;::<a class="el" href="a03254.html">V</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedx0">TDtorObserversVect</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="a03254.html">CPSVector</a>&lt; <a class="el" href="a02690.html">CPSForce</a> <br>
+* &gt;::<a class="el" href="a03254.html">V</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedx1">TForceVect</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">a vector of integrable forces that apply on this located <a href="#NL3D_1_1CPSLocatedx1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="a03254.html">CPSVector</a>&lt; <a class="el" href="a02691.html">CPSLocatedBindable</a> <br>
+* &gt;::<a class="el" href="a03254.html">V</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedx2">TLocatedBoundCont</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>typedef std::stack&lt; <a class="el" href="a03216.html">CPostNewElementRequestInfo</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedx3">TNewElementRequestStack</a></td></tr>
+
+<tr><td colspan=2><br><h2>Protected Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedb0">allocateParametricInfos</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">allocate parametric infos <a href="#NL3D_1_1CPSLocatedb0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedb1">checkIntegrity</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocatedb1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedb2">notifyMotionTypeChanged</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocatedb2"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedb3">postNewElement</a> (const <a class="el" href="a03128.html">NLMISC::CVector</a> &amp;pos=<a class="el" href="a03128.html#NLMISC_1_1CVectors3">NLMISC::CVector::Null</a>, const <a class="el" href="a03128.html">NLMISC::CVector</a> &amp;speed=<a class="el" href="a03128.html#NLMISC_1_1CVectors3">NLMISC::CVector::Null</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocatedb3"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedb4">releaseParametricInfos</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">release paametric infos <a href="#NL3D_1_1CPSLocatedb4"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedb5">resetCollisionInfo</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocatedb5"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedb6">updateNewElementRequestStack</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSLocatedb6"></a><br><br></td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03135.html">TPSAttribCollisionInfo</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedp0">_CollisionInfo</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedp1">_CollisionInfoNbRef</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03254.html">TDtorObserversVect</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedp2">_DtorObserversVect</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedp3">_InitialLife</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedp4">_InitialMass</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03254.html">TForceVect</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedp5">_IntegrableForces</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03135.html">TPSAttribFloat</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedp6">_InvMass</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedp7">_LastForever</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03136.html">CPSAttribMaker</a>&lt; float &gt; *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedp8">_LifeScheme</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03254.html">TLocatedBoundCont</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedp10">_LODDegradation</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">true when LOD degradation apply to this located <a href="#NL3D_1_1CPSLocatedp10"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03136.html">CPSAttribMaker</a>&lt; float &gt; *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedp11">_MassScheme</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a05363.html#a557">TPSMatrixMode</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03054.html#NL3D_1_1CPSLocatedp12">_MatrixMode</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedp13">_MaxNumFaces</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">cache the max number of faces this located may want <a href="#NL3D_1_1CPSLocatedp13"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedp14">_MaxSize</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedp15">_Name</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedp16">_NbFramesToSkip</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a9">uint16</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedp17">_NonIntegrableForceNbRefs</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a9">uint16</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedp18">_NumIntegrableForceWithDifferentBasis</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">number of forces that apply on that located that have the same basis that this one (required for parametric animation) <a href="#NL3D_1_1CPSLocatedp18"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03041.html">CParticleSystem</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedp20">_ParametricMotion</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">When set to true, this tells the system to use parametric motion. Only parametric forces must have been applied. <a href="#NL3D_1_1CPSLocatedp20"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03135.html">TPSAttribVector</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedp21">_Pos</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03214.html#NL3D_1_1CPSLocatedx3">TNewElementRequestStack</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedp22">_RequestStack</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">this stack is used after each update to generate located <a href="#NL3D_1_1CPSLocatedp22"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedp23">_Size</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03135.html">TPSAttribVector</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedp24">_Speed</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03135.html">TPSAttribTime</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedp25">_Time</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03135.html">TPSAttribTime</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedp26">_TimeIncrement</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedp27">_TriggerID</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedp28">_TriggerOnDeath</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedp29">_UpdateLock</a></td></tr>
+
+<tr><td colspan=2><br><h2>Friends</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>class&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03214.html#NL3D_1_1CPSLocatedn0">CPSForce</a></td></tr>
+
+</table>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="NL3D_1_1CPSLocatedx0" doxytag="NL3D::CPSLocated::TDtorObserversVect" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef <a class="el" href="a03254.html">CPSVector</a>&lt;<a class="el" href="a02691.html">CPSLocatedBindable</a> *&gt;::<a class="el" href="a03254.html">V</a> <a class="el" href="a03254.html">NL3D::CPSLocated::TDtorObserversVect</a><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="a06247.html#l00722">722</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l00212">releaseAllRef()</a>, and <a class="el" href="a06246.html#l00715">~CPSLocated()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedx1" doxytag="NL3D::CPSLocated::TForceVect" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef <a class="el" href="a03254.html">CPSVector</a>&lt;<a class="el" href="a02690.html">CPSForce</a> *&gt;::<a class="el" href="a03254.html">V</a> <a class="el" href="a03254.html">NL3D::CPSLocated::TForceVect</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+a vector of integrable forces that apply on this located
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00735">735</a> of file <a class="el" href="a06247.html">ps_located.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedx2" doxytag="NL3D::CPSLocated::TLocatedBoundCont" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef <a class="el" href="a03254.html">CPSVector</a>&lt;<a class="el" href="a02691.html">CPSLocatedBindable</a> *&gt;::<a class="el" href="a03254.html">V</a> <a class="el" href="a03254.html">NL3D::CPSLocated::TLocatedBoundCont</a><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="a06247.html#l00600">600</a> of file <a class="el" href="a06247.html">ps_located.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedx3" doxytag="NL3D::CPSLocated::TNewElementRequestStack" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef std::stack&lt;<a class="el" href="a03216.html">CPostNewElementRequestInfo</a>&gt; <a class="el" href="a03214.html#NL3D_1_1CPSLocatedx3">NL3D::CPSLocated::TNewElementRequestStack</a><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="a06247.html#l00690">690</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l01165">serial()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedw0" doxytag="NL3D::CPSLocated::TPSAttribParametricInfo" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef <a class="el" href="a03135.html">CPSAttrib</a>&lt;<a class="el" href="a03215.html">CParametricInfo</a>&gt; <a class="el" href="a03135.html">NL3D::CPSLocated::TPSAttribParametricInfo</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+WARNING : private use by forces only.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00645">645</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+Referenced by <a class="el" href="a06247.html#l00772">getParametricInfos()</a>. </td>
+ </tr>
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="NL3D_1_1CPSLocateda7" doxytag="NL3D::CPSLocated::CPSLocated" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NL3D::CPSLocated::CPSLocated </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+Constructor
+<p>
+Definition at line <a class="el" href="a06246.html#l00068">68</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00069">NL3D::DefaultMaxLocatedInstance</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00068 : <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp13">_MaxNumFaces</a>(0),
+00069 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp15">_Name</a>(std::string(<span class="stringliteral">"located"</span>)),
+00070 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp16">_NbFramesToSkip</a>(0),
+00071 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp14">_MaxSize</a>(DefaultMaxLocatedInstance),
+00072 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp23">_Size</a>(0),
+00073 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp7">_LastForever</a>(<span class="keyword">true</span>),
+00074 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp0">_CollisionInfo</a>(NULL),
+00075 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp1">_CollisionInfoNbRef</a>(0),
+00076 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp3">_InitialLife</a>(1.f),
+00077 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp8">_LifeScheme</a>(NULL),
+00078 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp4">_InitialMass</a>(1.f),
+00079 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp11">_MassScheme</a>(NULL),
+00080 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp29">_UpdateLock</a>(<span class="keyword">false</span>),
+00081 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp10">_LODDegradation</a>(<span class="keyword">false</span>),
+00082 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp17">_NonIntegrableForceNbRefs</a>(0),
+00083 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp18">_NumIntegrableForceWithDifferentBasis</a>(0),
+00084 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp28">_TriggerOnDeath</a>(<span class="keyword">false</span>),
+00085 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp27">_TriggerID</a>((<a class="code" href="a04558.html#a11">uint32</a>) 'NONE'),
+00086 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp20">_ParametricMotion</a>(<span class="keyword">false</span>)
+00087 {
+00088 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda100" doxytag="NL3D::CPSLocated::~CPSLocated" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NL3D::CPSLocated::~<a class="el" href="a03214.html">CPSLocated</a> </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [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="a06246.html#l00715">715</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00657">_CollisionInfo</a>, <a class="el" href="a06247.html#l00662">_CollisionInfoNbRef</a>, <a class="el" href="a06247.html#l00723">_DtorObserversVect</a>, <a class="el" href="a06247.html#l00736">_IntegrableForces</a>, <a class="el" href="a06247.html#l00668">_LifeScheme</a>, <a class="el" href="a06247.html#l00604">_LocatedBoundCont</a>, <a class="el" href="a06247.html#l00673">_MassScheme</a>, <a class="el" href="a06247.html#l00731">_NonIntegrableForceNbRefs</a>, <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a06247.html#l00722">TDtorObserversVect</a>.
+<p>
+<div class="fragment"><pre>00716 {
+00717 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00718 <span class="comment">// we must do a copy, because the subsequent call can modify this vector</span>
+00719 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedx0">TDtorObserversVect</a> copyVect(<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp2">_DtorObserversVect</a>.begin(), <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp2">_DtorObserversVect</a>.end());
+00720 <span class="comment">// call all the dtor observers</span>
+00721 <span class="keywordflow">for</span> (TDtorObserversVect::iterator it = copyVect.begin(); it != copyVect.end(); ++it)
+00722 {
+00723 (*it)-&gt;notifyTargetRemoved(<span class="keyword">this</span>);
+00724 }
+00725
+00726 <a class="code" href="a04199.html#a6">nlassert</a>(_CollisionInfoNbRef == 0); <span class="comment">//If this is not = 0, then someone didnt call releaseCollisionInfo</span>
+00727 <span class="comment">// If this happen, you can register with the registerDTorObserver</span>
+00728 <span class="comment">// (observer pattern)</span>
+00729 <span class="comment">// and override notifyTargetRemove to call releaseCollisionInfo</span>
+00730 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp5">_IntegrableForces</a>.size() == 0);
+00731 <a class="code" href="a04199.html#a6">nlassert</a>(_NonIntegrableForceNbRefs == 0);
+00732 <a class="code" href="a04199.html#a6">nlassert</a>(!_CollisionInfo);
+00733
+00734 <span class="comment">// delete all bindable</span>
+00735 <span class="keywordflow">for</span> (TLocatedBoundCont::iterator it2 = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.begin(); it2 != <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.end(); ++it2)
+00736 {
+00737 (*it2)-&gt;finalize();
+00738 <span class="keyword">delete</span> *it2;
+00739 }
+00740
+00741
+00742 <span class="keyword">delete</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp8">_LifeScheme</a>;
+00743 <span class="keyword">delete</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp11">_MassScheme</a>;
+00744 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00745 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="NL3D_1_1CPSLocateda0" doxytag="NL3D::CPSLocated::addNonIntegrableForceRef" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::addNonIntegrableForceRef </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l01866">1866</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00731">_NonIntegrableForceNbRefs</a>, <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, and <a class="el" href="a06246.html#l00364">releaseParametricInfos()</a>.
+<p>
+Referenced by <a class="el" href="a06287.html#l00073">NL3D::CPSZone::attachTarget()</a>, and <a class="el" href="a06239.html#l00094">NL3D::CPSForce::attachTarget()</a>.
+<p>
+<div class="fragment"><pre>01867 {
+01868 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+01869 ++<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp17">_NonIntegrableForceNbRefs</a>;
+01870 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedb4">releaseParametricInfos</a>();
+01871 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+01872 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedb0" doxytag="NL3D::CPSLocated::allocateParametricInfos" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::allocateParametricInfos </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+allocate parametric infos
+<p>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l00341">341</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00741">_ParametricMotion</a>, <a class="el" href="a06247.html#l00650">_PInfo</a>, <a class="el" href="a06213.html#l00353">NL3D::CPSAttrib&lt; T &gt;::begin()</a>, <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, <a class="el" href="a06213.html#l00356">NL3D::CPSAttrib&lt; T &gt;::end()</a>, <a class="el" href="a06143.html#l00311">NL3D::CParticleSystem::getSystemDate()</a>, <a class="el" href="a03135.html#NL3D_1_1CPSAttribz710_1">NL3D::CPSAttrib&lt; CParametricInfo &gt;::insert()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06246.html#l00244">notifyMotionTypeChanged()</a>, <a class="el" href="a03135.html#NL3D_1_1CPSAttribz704_2">NL3D::CPSAttrib&lt; CParametricInfo &gt;::resize()</a>, and <a class="el" href="a06246.html#l00376">supportParametricMotion()</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l00385">enableParametricMotion()</a>.
+<p>
+<div class="fragment"><pre>00342 {
+00343 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00344 <span class="keywordflow">if</span> (<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp20">_ParametricMotion</a>) <span class="keywordflow">return</span>;
+00345 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a03214.html#NL3D_1_1CPSLocateda94">supportParametricMotion</a>());
+00346 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+00347 <span class="keyword">const</span> <span class="keywordtype">float</span> date = <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getSystemDate();
+00348 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedo0">_PInfo</a>.resize(_MaxSize);
+00349 <span class="comment">// copy back infos from current position and speeds</span>
+00350 TPSAttribVector::const_iterator posIt = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp21">_Pos</a>.begin(), endPosIt = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp21">_Pos</a>.end();
+00351 TPSAttribVector::const_iterator speedIt = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp24">_Speed</a>.begin();
+00352 <span class="keywordflow">while</span> (posIt != endPosIt)
+00353 {
+00354 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedo0">_PInfo</a>.insert( CParametricInfo(*posIt, *speedIt, date) );
+00355 ++posIt;
+00356 }
+00357 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp20">_ParametricMotion</a> = <span class="keyword">true</span>;
+00358 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedb2">notifyMotionTypeChanged</a>();
+00359 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00360 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda1" doxytag="NL3D::CPSLocated::bind" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CPSLocated::bind </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02691.html">CPSLocatedBindable</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>lb</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+attach a bindable object to this located, such as a force or a particle a bindable must be attached only once (-&gt; nlassert) The bindable is then owned by the system and will be deleted by it. <dl compact><dt><b>Returns:</b></dt><dd>true if the operation could be performed. It can fail when this cause the system the system to last forever, which is incompatible with the 'BypassMaxNumIntegrationSteps' in <a class="el" href="a03041.html">CParticleSystem</a></dd></dl>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l00751">751</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00604">_LocatedBoundCont</a>, <a class="el" href="a06247.html#l00741">_ParametricMotion</a>, <a class="el" href="a06142.html#l01462">NL3D::CParticleSystem::canFinish()</a>, <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, <a class="el" href="a06143.html#l00538">NL3D::CParticleSystem::getBypassMaxNumIntegrationSteps()</a>, <a class="el" href="a06247.html#l00964">NL3D::CPSLocatedBindable::getExternID()</a>, <a class="el" href="a06246.html#l01923">getIndexOf()</a>, <a class="el" href="a06247.html#l00971">NL3D::CPSLocatedBindable::motionTypeChanged()</a>, <a class="el" href="a02691.html#NL3D_1_1CPSZoneb3">NL3D::CPSLocatedBindable::newElement()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05622.html#l00135">nlwarning</a>, <a class="el" href="a06246.html#l00422">notifyMaxNumFacesChanged()</a>, <a class="el" href="a06142.html#l01081">NL3D::CParticleSystem::registerLocatedBindableExternID()</a>, <a class="el" href="a02691.html#NL3D_1_1CPSZoneb5">NL3D::CPSLocatedBindable::resize()</a>, <a class="el" href="a06246.html#l01948">NL3D::CPSLocatedBindable::setOwner()</a>, <a class="el" href="a06142.html#l01521">NL3D::CParticleSystem::systemDurationChanged()</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05981.html#l00100">uint32</a>, and <a class="el" href="a06246.html#l01902">unbind()</a>.
+<p>
+<div class="fragment"><pre>00752 {
+00753 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00754 <a class="code" href="a04199.html#a6">nlassert</a>(std::find(<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.begin(), <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.end(), lb) == <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.end());
+00755 TLocatedBoundCont::iterator it = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.begin();
+00756 <span class="keywordflow">while</span> (it != <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.end() &amp;&amp; **it &lt; *lb) <span class="comment">// the "&lt;" operator sort them correctly</span>
+00757 {
+00758 ++it;
+00759 }
+00760
+00761 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.insert(it, lb);
+00762 lb-&gt;setOwner(<span class="keyword">this</span>);
+00763 lb-&gt;resize(_MaxSize);
+00764
+00765 <span class="comment">// any located bindable that is bound to us should have no element in it for now !!</span>
+00766 <span class="comment">// we resize it anyway...</span>
+00767
+00768 <a class="code" href="a04558.html#a11">uint32</a> initialSize = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp23">_Size</a>;
+00769 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> k = 0; k &lt; initialSize; ++k)
+00770 {
+00771 _Size = k;
+00772 lb-&gt;newElement(NULL, 0);
+00773 }
+00774 _Size = initialSize;
+00775
+00776
+00777 <span class="keywordflow">if</span> (<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp20">_ParametricMotion</a>) lb-&gt;motionTypeChanged(<span class="keyword">true</span>);
+00778
+00780 <a class="code" href="a03214.html#NL3D_1_1CPSLocateda68">notifyMaxNumFacesChanged</a>();
+00781
+00782 <span class="keywordflow">if</span> (<a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>)
+00783 {
+00784 CParticleSystem *ps = <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>;
+00785 <span class="keywordflow">if</span> (ps-&gt;getBypassMaxNumIntegrationSteps())
+00786 {
+00787 <span class="keywordflow">if</span> (!ps-&gt;canFinish())
+00788 {
+00789 <a class="code" href="a03214.html#NL3D_1_1CPSLocateda96">unbind</a>(<a class="code" href="a03214.html#NL3D_1_1CPSLocateda21">getIndexOf</a>(lb));
+00790 <a class="code" href="a04199.html#a2">nlwarning</a>(<span class="stringliteral">"&lt;CPSLocated::bind&gt; Can't bind the located : this causes the system to last forever, and it has been flagged with 'BypassMaxNumIntegrationSteps'. Located is not bound."</span>);
+00791 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00792 }
+00793 }
+00794 <span class="comment">// if there's an extern id, register in lb list</span>
+00795 <span class="keywordflow">if</span> (lb-&gt;getExternID() != 0)
+00796 {
+00797 <span class="comment">// register in ID list</span>
+00798 ps-&gt;registerLocatedBindableExternID(lb-&gt;getExternID(), lb);
+00799 }
+00800 _Owner-&gt;systemDurationChanged();
+00801 }
+00802
+00803 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00804 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00805 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedb1" doxytag="NL3D::CPSLocated::checkIntegrity" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::checkIntegrity </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l00133">133</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00657">_CollisionInfo</a>, <a class="el" href="a06247.html#l00620">_InvMass</a>, <a class="el" href="a06247.html#l00624">_TimeIncrement</a>, <a class="el" href="a06213.html#l00306">NL3D::CPSAttrib&lt; T &gt;::getMaxSize()</a>, <a class="el" href="a06213.html#l00306">NL3D::CPSAttrib&lt; float &gt;::getMaxSize()</a>, <a class="el" href="a06213.html#l00303">NL3D::CPSAttrib&lt; T &gt;::getSize()</a>, <a class="el" href="a06213.html#l00303">NL3D::CPSAttrib&lt; float &gt;::getSize()</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+<div class="fragment"><pre>00134 {
+00135 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp6">_InvMass</a>.getMaxSize() == <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp21">_Pos</a>.getMaxSize());
+00136 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp21">_Pos</a>.getMaxSize() == <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp24">_Speed</a>.getMaxSize());
+00137 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp24">_Speed</a>.getMaxSize() == <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp25">_Time</a>.getMaxSize());
+00138 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp25">_Time</a>.getMaxSize() == <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp26">_TimeIncrement</a>.getMaxSize());
+00139 <span class="comment">//</span>
+00140 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp6">_InvMass</a>.getSize() == <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp21">_Pos</a>.getSize());
+00141 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp21">_Pos</a>.getSize() == <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp24">_Speed</a>.getSize());
+00142 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp24">_Speed</a>.getSize() == <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp25">_Time</a>.getSize());
+00143 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp25">_Time</a>.getSize() == <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp26">_TimeIncrement</a>.getSize());
+00144 <span class="comment">//</span>
+00145 <span class="keywordflow">if</span> (<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp0">_CollisionInfo</a>)
+00146 {
+00147 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp6">_InvMass</a>.getMaxSize() == <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp0">_CollisionInfo</a>-&gt;getMaxSize());
+00148 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp6">_InvMass</a>.getSize() == <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp0">_CollisionInfo</a>-&gt;getSize());
+00149 }
+00150 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda2" doxytag="NL3D::CPSLocated::collisionUpdate" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::collisionUpdate </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03151.html">CPSCollisionInfo</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>ci</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>index</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A collider must call this when a collision occurs If the collider was nearer that another one it will be taken in account the index of instance that collided
+<p>
+Definition at line <a class="el" href="a06247.html#l00784">784</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06247.html#l00657">_CollisionInfo</a>, <a class="el" href="a06247.html#l00085">NL3D::CPSCollisionInfo::dist</a>, <a class="el" href="a05646.html#l00225">index</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00785 {
+00786 <a class="code" href="a04199.html#a6">nlassert</a>(_CollisionInfo);
+00787 CPSCollisionInfo &amp;firstCi = (*_CollisionInfo)[<a class="code" href="a04223.html#a566">index</a>];
+00788 <span class="keywordflow">if</span> (firstCi.dist == -1 || ci.dist &lt; firstCi.dist)
+00789 {
+00790 firstCi = ci;
+00791 }
+00792 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda3" doxytag="NL3D::CPSLocated::computeBBox" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CPSLocated::computeBBox </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02156.html">NLMISC::CAABBox</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>aabbox</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+Compute the aabbox of this located, (expressed in world basis <dl compact><dt><b>Returns:</b></dt><dd>true if there is any aabbox </dd></dl>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>aabbox</em>&nbsp;</td><td>a ref to the result box</td></tr>
+ </table>
+</dl>
+
+<p>
+Implements <a class="el" href="a03054.html#NL3D_1_1CParticleSystemProcessa0">NL3D::CParticleSystemProcess</a>.
+<p>
+Definition at line <a class="el" href="a06246.html#l01716">1716</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00604">_LocatedBoundCont</a>, <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, <a class="el" href="a05384.html#l00231">NLMISC::CAABBox::computeAABBoxUnion()</a>, <a class="el" href="a06682.html#l00192">NLMISC::CVector::maxof()</a>, <a class="el" href="a05484.html#l00038">min</a>, <a class="el" href="a05385.html#l00071">NLMISC::CAABBox::setMinMax()</a>, and <a class="el" href="a05646.html#l00237">v</a>.
+<p>
+<div class="fragment"><pre>01717 {
+01718 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+01719 <span class="keywordflow">if</span> (!<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp23">_Size</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>; <span class="comment">// something to compute ?</span>
+01720
+01721
+01722 TLocatedBoundCont::const_iterator it;
+01723 TPSAttribVector::const_iterator it2;
+01724
+01725 <span class="comment">// check whether any object bound to us need a bbox</span>
+01726
+01727 <span class="keywordflow">for</span> (it = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.begin(); it != <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.end(); ++it)
+01728 {
+01729 <span class="keywordflow">if</span> ((*it)-&gt;doesProduceBBox())
+01730 {
+01731 <span class="keywordflow">break</span>;
+01732 }
+01733 }
+01734
+01735 <span class="keywordflow">if</span> (it == <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.end())
+01736 {
+01737 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+01738 }
+01739
+01740 CVector <a class="code" href="a04061.html#a0">min</a> = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp21">_Pos</a>[0], max = _Pos[0];
+01741
+01742 <span class="keywordflow">for</span> (it2 = _Pos.begin(); it2 != _Pos.end(); ++ it2)
+01743 {
+01744 <span class="keyword">const</span> CVector &amp;<a class="code" href="a04223.html#a576">v</a> = (*it2);
+01745 <a class="code" href="a04061.html#a0">min</a>.minof(min, v);
+01746 max.maxof(max, v);
+01747 }
+01748
+01749 box.<a class="code" href="a02156.html#NLMISC_1_1CAABBoxz1902_3">setMinMax</a>(min, max);
+01750
+01751 <span class="comment">// we've considered that located had no extent in space</span>
+01752 <span class="comment">// now, we must call each objects that are bound to the located in order</span>
+01753 <span class="comment">// to complete the bbox if they have no null extent</span>
+01754
+01755 <a class="code" href="a02156.html">NLMISC::CAABBox</a> tmpBox, startBox = box;
+01756
+01757 <span class="keywordflow">for</span> (it = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.begin(); it != <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.end(); ++it)
+01758 {
+01759 <span class="keywordflow">if</span> ((*it)-&gt;doesProduceBBox())
+01760 {
+01761 tmpBox = startBox;
+01762 <span class="keywordflow">if</span> ((*it)-&gt;completeBBox(tmpBox))
+01763 {
+01764 box = <a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtz1908_2">NLMISC::CAABBox::computeAABBoxUnion</a>(tmpBox, box);
+01765 }
+01766 }
+01767 }
+01768 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+01769 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+01770 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda4" doxytag="NL3D::CPSLocated::computeI" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03128.html">NLMISC::CVector</a> NL3D::CPSLocated::computeI </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+Compute a vector that will map to (1 0 0) after view and model transform. This allow to have object that always faces the user, whatever basis they are in
+<p>
+Definition at line <a class="el" href="a06246.html#l00612">612</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, <a class="el" href="a05972.html#l00419">NLMISC::CMatrix::getI()</a>, <a class="el" href="a06143.html#l00223">NL3D::CParticleSystem::getInvertedViewMat()</a>, <a class="el" href="a06151.html#l00143">NL3D::CParticleSystemProcess::getMatrixMode()</a>, <a class="el" href="a06143.html#l00184">NL3D::CParticleSystem::getSysMat()</a>, <a class="el" href="a06246.html#l00108">getWorldToLocalMatrix()</a>, <a class="el" href="a05972.html#l01244">NLMISC::CMatrix::mulVector()</a>, and <a class="el" href="a05363.html#a557a219">NL3D::PSIdentityMatrix</a>.
+<p>
+Referenced by <a class="el" href="a06247.html#l00931">NL3D::CPSLocatedBindable::computeI()</a>, and <a class="el" href="a06277.html#l00319">NL3D::CPSRibbonLookAt::displayRibbons()</a>.
+<p>
+<div class="fragment"><pre>00613 {
+00614 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00615 <span class="keyword">const</span> <a class="code" href="a02851.html">NLMISC::CMatrix</a> &amp;sysMat = <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getSysMat();
+00616 <span class="keywordflow">if</span> (<a class="code" href="a03054.html#NL3D_1_1CPSLocateda33">getMatrixMode</a>() == <a class="code" href="a05363.html#a557a219">PSIdentityMatrix</a>)
+00617 {
+00618 <span class="keywordflow">if</span> (!sysMat.hasScalePart())
+00619 {
+00620 <span class="keywordflow">return</span> <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getInvertedViewMat().getI();
+00621 }
+00622 <span class="keywordflow">else</span>
+00623 {
+00624 <span class="keywordflow">return</span> sysMat.getScaleUniform() * <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getInvertedViewMat().getI();
+00625 }
+00626 }
+00627 <span class="keywordflow">else</span>
+00628 {
+00629 <span class="keywordflow">if</span> (!sysMat.hasScalePart())
+00630 {
+00631 <span class="comment">// we must express the I vector in the system basis, so we need to multiply it by the inverted matrix of the system</span>
+00632 <span class="keywordflow">return</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocateda54">getWorldToLocalMatrix</a>().<a class="code" href="a02851.html#NLMISC_1_1CMatrixz1968_1">mulVector</a>(<a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getInvertedViewMat().getI());
+00633 }
+00634 <span class="keywordflow">else</span>
+00635 {
+00636 <span class="keywordflow">return</span> sysMat.getScaleUniform() * <a class="code" href="a03214.html#NL3D_1_1CPSLocateda54">getWorldToLocalMatrix</a>().<a class="code" href="a02851.html#NLMISC_1_1CMatrixz1968_1">mulVector</a>(<a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getInvertedViewMat().getI());
+00637 }
+00638 }
+00639 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00640 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda5" doxytag="NL3D::CPSLocated::computeJ" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03128.html">NLMISC::CVector</a> NL3D::CPSLocated::computeJ </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+Compute a vector that will map to (0 1 0) after view and model transform. This allow to have object that always faces the user, whatever basis they are in
+<p>
+Definition at line <a class="el" href="a06246.html#l00643">643</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, <a class="el" href="a06143.html#l00223">NL3D::CParticleSystem::getInvertedViewMat()</a>, <a class="el" href="a05972.html#l00427">NLMISC::CMatrix::getJ()</a>, <a class="el" href="a06151.html#l00143">NL3D::CParticleSystemProcess::getMatrixMode()</a>, <a class="el" href="a06143.html#l00184">NL3D::CParticleSystem::getSysMat()</a>, <a class="el" href="a06246.html#l00108">getWorldToLocalMatrix()</a>, <a class="el" href="a05972.html#l01244">NLMISC::CMatrix::mulVector()</a>, and <a class="el" href="a05363.html#a557a219">NL3D::PSIdentityMatrix</a>.
+<p>
+Referenced by <a class="el" href="a06247.html#l00936">NL3D::CPSLocatedBindable::computeJ()</a>.
+<p>
+<div class="fragment"><pre>00644 {
+00645 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00646 <span class="keyword">const</span> <a class="code" href="a02851.html">NLMISC::CMatrix</a> &amp;sysMat = <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getSysMat();
+00647 <span class="keywordflow">if</span> (<a class="code" href="a03054.html#NL3D_1_1CPSLocateda33">getMatrixMode</a>() == <a class="code" href="a05363.html#a557a219">PSIdentityMatrix</a>)
+00648 {
+00649 <span class="keywordflow">if</span> (!sysMat.hasScalePart())
+00650 {
+00651 <span class="keywordflow">return</span> <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getInvertedViewMat().getJ();
+00652 }
+00653 <span class="keywordflow">else</span>
+00654 {
+00655 <span class="keywordflow">return</span> sysMat.getScaleUniform() * <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getInvertedViewMat().getJ();
+00656 }
+00657 }
+00658 <span class="keywordflow">else</span>
+00659 {
+00660 <span class="keywordflow">if</span> (!sysMat.hasScalePart())
+00661 {
+00662 <span class="comment">// we must express the J vector in the system basis, so we need to multiply it by the inverted matrix of the system</span>
+00663 <span class="keywordflow">return</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocateda54">getWorldToLocalMatrix</a>().<a class="code" href="a02851.html#NLMISC_1_1CMatrixz1968_1">mulVector</a>(<a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getInvertedViewMat().getJ());
+00664 }
+00665 <span class="keywordflow">else</span>
+00666 {
+00667 <span class="keywordflow">return</span> sysMat.getScaleUniform() * <a class="code" href="a03214.html#NL3D_1_1CPSLocateda54">getWorldToLocalMatrix</a>().<a class="code" href="a02851.html#NLMISC_1_1CMatrixz1968_1">mulVector</a>(<a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getInvertedViewMat().getJ());
+00668 }
+00669 }
+00670 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00671 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda6" doxytag="NL3D::CPSLocated::computeK" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03128.html">NLMISC::CVector</a> NL3D::CPSLocated::computeK </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+Compute a vector that will map to (0 0 1) after view and model transform. This allow to have object that always faces the user, whatever basis they are in
+<p>
+Definition at line <a class="el" href="a06246.html#l00674">674</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, <a class="el" href="a06143.html#l00223">NL3D::CParticleSystem::getInvertedViewMat()</a>, <a class="el" href="a05972.html#l00435">NLMISC::CMatrix::getK()</a>, <a class="el" href="a06151.html#l00143">NL3D::CParticleSystemProcess::getMatrixMode()</a>, <a class="el" href="a06143.html#l00184">NL3D::CParticleSystem::getSysMat()</a>, <a class="el" href="a06246.html#l00108">getWorldToLocalMatrix()</a>, <a class="el" href="a05972.html#l01244">NLMISC::CMatrix::mulVector()</a>, and <a class="el" href="a05363.html#a557a219">NL3D::PSIdentityMatrix</a>.
+<p>
+Referenced by <a class="el" href="a06247.html#l00940">NL3D::CPSLocatedBindable::computeK()</a>, and <a class="el" href="a06277.html#l00319">NL3D::CPSRibbonLookAt::displayRibbons()</a>.
+<p>
+<div class="fragment"><pre>00675 {
+00676 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00677 <span class="keyword">const</span> <a class="code" href="a02851.html">NLMISC::CMatrix</a> &amp;sysMat = <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getSysMat();
+00678 <span class="keywordflow">if</span> (<a class="code" href="a03054.html#NL3D_1_1CPSLocateda33">getMatrixMode</a>() == <a class="code" href="a05363.html#a557a219">PSIdentityMatrix</a>)
+00679 {
+00680 <span class="keywordflow">if</span> (!sysMat.hasScalePart())
+00681 {
+00682 <span class="keywordflow">return</span> <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getInvertedViewMat().getK();
+00683 }
+00684 <span class="keywordflow">else</span>
+00685 {
+00686 <span class="keywordflow">return</span> sysMat.getScaleUniform() * <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getInvertedViewMat().getK();
+00687 }
+00688 }
+00689 <span class="keywordflow">else</span>
+00690 {
+00691 <span class="keywordflow">if</span> (!sysMat.hasScalePart())
+00692 {
+00693 <span class="comment">// we must express the K vector in the system basis, so we need to multiply it by the inverted matrix of the system</span>
+00694 <span class="keywordflow">return</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocateda54">getWorldToLocalMatrix</a>().<a class="code" href="a02851.html#NLMISC_1_1CMatrixz1968_1">mulVector</a>(<a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getInvertedViewMat().getK());
+00695 }
+00696 <span class="keywordflow">else</span>
+00697 {
+00698 <span class="keywordflow">return</span> sysMat.getScaleUniform() * <a class="code" href="a03214.html#NL3D_1_1CPSLocateda54">getWorldToLocalMatrix</a>().<a class="code" href="a02851.html#NLMISC_1_1CMatrixz1968_1">mulVector</a>(<a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getInvertedViewMat().getK());
+00699 }
+00700 }
+00701 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00702 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda8" doxytag="NL3D::CPSLocated::deleteElement" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::deleteElement </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>index</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+Delete one located in the container not present -&gt; nlassert
+<p>
+Definition at line <a class="el" href="a06246.html#l01051">1051</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00657">_CollisionInfo</a>, <a class="el" href="a06247.html#l00620">_InvMass</a>, <a class="el" href="a06247.html#l00604">_LocatedBoundCont</a>, <a class="el" href="a06247.html#l00741">_ParametricMotion</a>, <a class="el" href="a06247.html#l00650">_PInfo</a>, <a class="el" href="a06247.html#l00624">_TimeIncrement</a>, <a class="el" href="a06247.html#l00738">_TriggerID</a>, <a class="el" href="a06247.html#l00737">_TriggerOnDeath</a>, <a class="el" href="a06247.html#l00707">_UpdateLock</a>, <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, <a class="el" href="a06142.html#l01115">NL3D::CParticleSystem::getLocatedBindableByExternID()</a>, <a class="el" href="a06142.html#l01109">NL3D::CParticleSystem::getNumLocatedBindableByExternID()</a>, <a class="el" href="a06247.html#l00942">NL3D::CPSLocatedBindable::getOwner()</a>, <a class="el" href="a06247.html#l00361">getSize()</a>, <a class="el" href="a02691.html#NL3D_1_1CPSTargetLocatedBindablea29">NL3D::CPSLocatedBindable::getType()</a>, <a class="el" href="a06144.html#l00194">NL3D::IDToLittleEndian()</a>, <a class="el" href="a05646.html#l00225">index</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06247.html#l00807">NL3D::PSEmitter</a>, <a class="el" href="a03135.html#NL3D_1_1CPSAttribz710_2">NL3D::CPSAttrib&lt; CParametricInfo &gt;::remove()</a>, <a class="el" href="a06213.html#l00425">NL3D::CPSAttrib&lt; T &gt;::remove()</a>, <a class="el" href="a03135.html#NL3D_1_1CPSAttribz710_2">NL3D::CPSAttrib&lt; float &gt;::remove()</a>, <a class="el" href="a06229.html#l00490">NL3D::CPSEmitter::singleEmit()</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a06229.html#l00182">NL3D::CompensateEmission()</a>, <a class="el" href="a06144.html#l00236">NL3D::CParticleSystemInstanceUser::removeByID()</a>, <a class="el" href="a06246.html#l01117">resize()</a>, <a class="el" href="a06246.html#l01466">step()</a>, and <a class="el" href="a06246.html#l01621">updateLife()</a>.
+<p>
+<div class="fragment"><pre>01052 {
+01053 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+01054
+01055 <a class="code" href="a04199.html#a6">nlassert</a>(index &lt; _Size);
+01056
+01057 <span class="comment">// delete all bindable before : they may need our coordinate</span>
+01058 <span class="comment">// to perform a destruction task</span>
+01059
+01060 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp29">_UpdateLock</a> = <span class="keyword">true</span>;
+01061
+01062
+01063 <span class="keywordflow">for</span> (TLocatedBoundCont::iterator it = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.begin(); it != <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.end(); ++it)
+01064 {
+01065 (*it)-&gt;deleteElement(index);
+01066 }
+01067
+01068
+01069 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp29">_UpdateLock</a> = <span class="keyword">false</span>;
+01070
+01071 <span class="comment">// remove common located's attributes</span>
+01072
+01073 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp6">_InvMass</a>.remove(index);
+01074 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp21">_Pos</a>.remove(index);
+01075 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp24">_Speed</a>.remove(index);
+01076 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp25">_Time</a>.remove(index);
+01077 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp26">_TimeIncrement</a>.remove(index);
+01078
+01079 <span class="keywordflow">if</span> (<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp0">_CollisionInfo</a>)
+01080 {
+01081 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp0">_CollisionInfo</a>-&gt;remove(index);
+01082 }
+01083
+01084 <span class="keywordflow">if</span> (<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp20">_ParametricMotion</a>)
+01085 {
+01086 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedo0">_PInfo</a>.remove(index);
+01087 }
+01088
+01089 --<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp23">_Size</a>;
+01090
+01091 <span class="keywordflow">if</span> (<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp28">_TriggerOnDeath</a>)
+01092 {
+01093 <span class="keyword">const</span> <a class="code" href="a04558.html#a11">uint32</a> <span class="keywordtype">id</span> = <a class="code" href="a05363.html#a439">IDToLittleEndian</a>(_TriggerID);
+01094 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+01095 <a class="code" href="a04558.html#a15">uint</a> numLb = <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getNumLocatedBindableByExternID(<span class="keywordtype">id</span>);
+01096 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> k = 0; k &lt; numLb; ++k)
+01097 {
+01098 CPSLocatedBindable *lb = <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getLocatedBindableByExternID(<span class="keywordtype">id</span>, k);
+01099 <span class="keywordflow">if</span> (lb-&gt;getType() == <a class="code" href="a05363.html#a256">PSEmitter</a>)
+01100 {
+01101 CPSEmitter *e = NLMISC::safe_cast&lt;CPSEmitter *&gt;(lb);
+01102 <a class="code" href="a04199.html#a6">nlassert</a>(e-&gt;getOwner());
+01103 <a class="code" href="a04558.html#a15">uint</a> nbInstances = e-&gt;getOwner()-&gt;getSize();
+01104 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> <a class="code" href="a05373.html#a2">l</a> = 0; <a class="code" href="a05373.html#a2">l</a> &lt; nbInstances; ++<a class="code" href="a05373.html#a2">l</a>)
+01105 {
+01106 e-&gt;singleEmit(l, 1);
+01107 }
+01108 }
+01109 }
+01110 }
+01111 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+01112 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda9" doxytag="NL3D::CPSLocated::enableParametricMotion" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::enableParametricMotion </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>enable</em> = true </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+When set to true, this tells the system to use parametric motion. This is needed in a few case only, and can only work if all the forces that apply to the system are integrable. An assertion happens otherwise
+<p>
+Definition at line <a class="el" href="a06246.html#l00385">385</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06246.html#l00341">allocateParametricInfos()</a>, <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06246.html#l00364">releaseParametricInfos()</a>, and <a class="el" href="a06246.html#l00376">supportParametricMotion()</a>.
+<p>
+<div class="fragment"><pre>00386 {
+00387 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00388 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a03214.html#NL3D_1_1CPSLocateda94">supportParametricMotion</a>());
+00389 <span class="keywordflow">if</span> (enable)
+00390 {
+00391 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedb0">allocateParametricInfos</a>();
+00392 }
+00393 <span class="keywordflow">else</span>
+00394 {
+00395 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedb4">releaseParametricInfos</a>();
+00396 }
+00397 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00398 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda10" doxytag="NL3D::CPSLocated::enableTriggerOnDeath" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::enableTriggerOnDeath </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>enable</em> = true </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Enable a trigger on death. It is used to create emission on an emitter with a given ID.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00552">552</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06247.html#l00737">_TriggerOnDeath</a>.
+<p>
+<div class="fragment"><pre>00552 { <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp28">_TriggerOnDeath</a> = enable; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda11" doxytag="NL3D::CPSLocated::enumTexs" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::enumTexs </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">std::vector&lt; <a class="el" href="a03408.html">NLMISC::CSmartPtr</a>&lt; <a class="el" href="a03487.html">ITexture</a> &gt; &gt; &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>dest</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02434.html">IDriver</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>drv</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+
+<p>
+Implements <a class="el" href="a03054.html#NL3D_1_1CParticleSystemProcessa1">NL3D::CParticleSystemProcess</a>.
+<p>
+Definition at line <a class="el" href="a06246.html#l02295">2295</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00604">_LocatedBoundCont</a>.
+<p>
+<div class="fragment"><pre>02296 {
+02297 <span class="keywordflow">for</span>(TLocatedBoundCont::const_iterator it = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.begin(); it != <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.end(); ++it)
+02298 {
+02299 (*it)-&gt;enumTexs(dest, drv);
+02300 }
+02301 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda12" doxytag="NL3D::CPSLocated::evalMaxDuration" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float NL3D::CPSLocated::evalMaxDuration </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+eval max duration of the located (if no scheme is used, this is the lifetime) nb : return -1 if located last for ever
+<p>
+Definition at line <a class="el" href="a06246.html#l00125">125</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00667">_InitialLife</a>, <a class="el" href="a06247.html#l00615">_LastForever</a>, <a class="el" href="a06247.html#l00668">_LifeScheme</a>, and <a class="el" href="a06214.html#l00217">NL3D::CPSAttribMaker&lt; float &gt;::getMaxValue()</a>.
+<p>
+Referenced by <a class="el" href="a06142.html#l01556">NL3D::CParticleSystem::evalDuration()</a>.
+<p>
+<div class="fragment"><pre>00126 {
+00127 <span class="keywordflow">if</span> (<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp7">_LastForever</a>) <span class="keywordflow">return</span> -1.f;
+00128 <span class="keywordflow">return</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp8">_LifeScheme</a> ? <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp8">_LifeScheme</a>-&gt;getMaxValue() : <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp3">_InitialLife</a>;
+00129 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda13" doxytag="NL3D::CPSLocated::forceLODDegradation" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::forceLODDegradation </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>enable</em> = true </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Enable the to force LOD degradation. This will suppress instances immediately, (during the motion pass) so that there won't be more than maxNbInstance * dist / maxDist instances. This may not be desirable every time since particle dissapear on screen, which may be noticeable.
+<p>
+Definition at line <a class="el" href="a06247.html#l00509">509</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06247.html#l00726">_LODDegradation</a>.
+<p>
+<div class="fragment"><pre>00509 { <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp10">_LODDegradation</a> = enable; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda14" doxytag="NL3D::CPSLocated::getBoundObject" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02691.html">CPSLocatedBindable</a>* NL3D::CPSLocated::getBoundObject </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>index</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get a pointer to a bound object
+<p>
+Definition at line <a class="el" href="a06247.html#l00209">209</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06247.html#l00604">_LocatedBoundCont</a>, <a class="el" href="a05646.html#l00225">index</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00210 {
+00211 <a class="code" href="a04199.html#a6">nlassert</a>(index &lt; <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.size());
+00212 <span class="keywordflow">return</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>[<a class="code" href="a04223.html#a566">index</a>];
+00213 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda15" doxytag="NL3D::CPSLocated::getBoundObject" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a02691.html">CPSLocatedBindable</a>* NL3D::CPSLocated::getBoundObject </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>index</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get a pointer to a bound object (const version)
+<p>
+Definition at line <a class="el" href="a06247.html#l00199">199</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06247.html#l00604">_LocatedBoundCont</a>, <a class="el" href="a05646.html#l00225">index</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a06142.html#l01718">NL3D::CParticleSystem::activateEmitters()</a>, <a class="el" href="a06142.html#l01462">NL3D::CParticleSystem::canFinish()</a>, <a class="el" href="a06229.html#l02117">NL3D::CPSEmitter::checkLoop()</a>, <a class="el" href="a06142.html#l01556">NL3D::CParticleSystem::evalDuration()</a>, <a class="el" href="a06142.html#l01821">NL3D::CParticleSystem::getCurrNumParticles()</a>, <a class="el" href="a06142.html#l01797">NL3D::CParticleSystem::getMaxNumParticles()</a>, <a class="el" href="a06142.html#l01845">NL3D::CParticleSystem::getTargeters()</a>, <a class="el" href="a06142.html#l01738">NL3D::CParticleSystem::hasActiveEmitters()</a>, <a class="el" href="a06142.html#l01761">NL3D::CParticleSystem::hasEmittersTemplates()</a>, <a class="el" href="a06142.html#l01016">NL3D::CParticleSystem::hasLightableObjects()</a>, <a class="el" href="a06142.html#l01494">NL3D::CParticleSystem::hasLoop()</a>, <a class="el" href="a06142.html#l00972">NL3D::CParticleSystem::hasOpaqueObjects()</a>, <a class="el" href="a06142.html#l00994">NL3D::CParticleSystem::hasTransparentObjects()</a>, <a class="el" href="a06142.html#l00172">NL3D::CParticleSystem::reactivateSound()</a>, and <a class="el" href="a06142.html#l00152">NL3D::CParticleSystem::stopSound()</a>.
+<p>
+<div class="fragment"><pre>00200 {
+00201 <a class="code" href="a04199.html#a6">nlassert</a>(index &lt; <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.size());
+00202 <span class="keywordflow">return</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>[<a class="code" href="a04223.html#a566">index</a>];
+00203 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1ITrackKeyFramer_3_01CKeyVector_01_4a6" doxytag="NL3D::CPSLocated::getClassName" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual std::string NLMISC::IClassable::getClassName </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [pure virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Implemented in <a class="el" href="a02995.html#NLAIAGENT_1_1CNumericIndexz1699_0">NLAIAGENT::CNumericIndex</a>, <a class="el" href="a02145.html#NLAIAGENT_1_1VectorTypez1764_0">NLAIC::IPointerGestion</a>, <a class="el" href="a02650.html#NLAIC_1_1CIdentTypez1766_0">NLAIC::CIdentType</a>, and <a class="el" href="a02241.html#CAutomataDescz1896_0">CAutomataDesc</a>.
+<p>
+Referenced by <a class="el" href="a05549.html#l00091">NLMISC::CClassRegistry::checkObject()</a>, and <a class="el" href="a06525.html#l00039">NL3D::GetTextureSize()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda17" doxytag="NL3D::CPSLocated::getCollisionInfo" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a03135.html">TPSAttribCollisionInfo</a>&amp; NL3D::CPSLocated::getCollisionInfo </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get a const ref to the collision infos
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00445">445</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06247.html#l00657">_CollisionInfo</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a06247.html#l00114">NL3D::TPSAttribCollisionInfo</a>.
+<p>
+<div class="fragment"><pre>00446 {
+00447 <a class="code" href="a04199.html#a6">nlassert</a>(_CollisionInfo);
+00448 <span class="keywordflow">return</span> *<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp0">_CollisionInfo</a>;
+00449 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda18" doxytag="NL3D::CPSLocated::getCollisionInfo" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03135.html">TPSAttribCollisionInfo</a>&amp; NL3D::CPSLocated::getCollisionInfo </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get a ref to the collision infos
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00438">438</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06247.html#l00657">_CollisionInfo</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a06247.html#l00114">NL3D::TPSAttribCollisionInfo</a>.
+<p>
+Referenced by <a class="el" href="a06229.html#l00182">NL3D::CompensateEmission()</a>.
+<p>
+<div class="fragment"><pre>00439 {
+00440 <a class="code" href="a04199.html#a6">nlassert</a>(_CollisionInfo);
+00441 <span class="keywordflow">return</span> *<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp0">_CollisionInfo</a>;
+00442 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatede0" doxytag="NL3D::CPSLocated::getConversionMatrix" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a02851.html">NLMISC::CMatrix</a> &amp; NL3D::CPSLocated::getConversionMatrix </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03214.html">CPSLocated</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>A</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a03214.html">CPSLocated</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>B</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline, static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get a matrix that helps to express located B coordinate in located A basis A and B must belong to the same system
+<p>
+Definition at line <a class="el" href="a06247.html#l01133">1133</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06151.html#l00190">NL3D::CParticleSystemProcess::_Owner</a>, <a class="el" href="a06246.html#l00570">getConversionMatrix()</a>, <a class="el" href="a06151.html#l00143">NL3D::CParticleSystemProcess::getMatrixMode()</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+<div class="fragment"><pre>01134 {
+01135 <a class="code" href="a04199.html#a6">nlassert</a>(A);
+01136 <a class="code" href="a04199.html#a6">nlassert</a>(B);
+01137 <a class="code" href="a04199.html#a6">nlassert</a>(A-&gt;_Owner == B-&gt;_Owner); <span class="comment">// conversion must be made between entity of the same system</span>
+01138 <span class="keyword">const</span> CParticleSystem *ps = A-&gt;_Owner;
+01139 <a class="code" href="a04199.html#a6">nlassert</a>(ps);
+01140 <span class="keywordflow">return</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatede1">getConversionMatrix</a>(*ps, A-&gt;getMatrixMode(), B-&gt;getMatrixMode());
+01141 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatede1" doxytag="NL3D::CPSLocated::getConversionMatrix" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a02851.html">NLMISC::CMatrix</a> &amp; NL3D::CPSLocated::getConversionMatrix </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03041.html">CParticleSystem</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>ps</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a05363.html#a557">TPSMatrixMode</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>to</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a05363.html#a557">TPSMatrixMode</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>from</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l00570">570</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06143.html#l00212">NL3D::CParticleSystem::getFXToUserMatrix()</a>, <a class="el" href="a06143.html#l00190">NL3D::CParticleSystem::getInvertedSysMat()</a>, <a class="el" href="a06143.html#l00207">NL3D::CParticleSystem::getInvertedUserMatrix()</a>, <a class="el" href="a06143.html#l00184">NL3D::CParticleSystem::getSysMat()</a>, <a class="el" href="a06143.html#l00197">NL3D::CParticleSystem::getUserMatrix()</a>, <a class="el" href="a06143.html#l00210">NL3D::CParticleSystem::getUserToFXMatrix()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05363.html#a557a218">NL3D::PSFXWorldMatrix</a>, <a class="el" href="a05363.html#a557a219">NL3D::PSIdentityMatrix</a>, and <a class="el" href="a05363.html#a557a220">NL3D::PSUserMatrix</a>.
+<p>
+Referenced by <a class="el" href="a06247.html#l01133">getConversionMatrix()</a>, and <a class="el" href="a06246.html#l00852">newElement()</a>.
+<p>
+<div class="fragment"><pre>00571 {
+00572 <span class="keywordflow">switch</span>(destMode)
+00573 {
+00574 <span class="keywordflow">case</span> <a class="code" href="a05363.html#a557a218">PSFXWorldMatrix</a>:
+00575 <span class="keywordflow">switch</span>(srcMode)
+00576 {
+00577 <span class="keywordflow">case</span> <a class="code" href="a05363.html#a557a218">PSFXWorldMatrix</a>: <span class="keywordflow">return</span> <a class="code" href="a02851.html#NLMISC_1_1CMatrixs0">NLMISC::CMatrix::Identity</a>;
+00578 <span class="keywordflow">case</span> <a class="code" href="a05363.html#a557a219">PSIdentityMatrix</a>: <span class="keywordflow">return</span> ps.getInvertedSysMat();
+00579 <span class="keywordflow">case</span> <a class="code" href="a05363.html#a557a220">PSUserMatrix</a>: <span class="keywordflow">return</span> ps.getUserToFXMatrix();
+00580 <span class="keywordflow">default</span>:
+00581 <a class="code" href="a04199.html#a6">nlassert</a>(0);
+00582 }
+00583 <span class="keywordflow">break</span>;
+00584 <span class="keywordflow">case</span> <a class="code" href="a05363.html#a557a219">PSIdentityMatrix</a>:
+00585 <span class="keywordflow">switch</span>(srcMode)
+00586 {
+00587 <span class="keywordflow">case</span> <a class="code" href="a05363.html#a557a218">PSFXWorldMatrix</a>: <span class="keywordflow">return</span> ps.getSysMat();
+00588 <span class="keywordflow">case</span> <a class="code" href="a05363.html#a557a219">PSIdentityMatrix</a>: <span class="keywordflow">return</span> <a class="code" href="a02851.html#NLMISC_1_1CMatrixs0">NLMISC::CMatrix::Identity</a>;
+00589 <span class="keywordflow">case</span> <a class="code" href="a05363.html#a557a220">PSUserMatrix</a>: <span class="keywordflow">return</span> ps.getUserMatrix();
+00590 <span class="keywordflow">default</span>:
+00591 <a class="code" href="a04199.html#a6">nlassert</a>(0);
+00592 }
+00593 <span class="keywordflow">break</span>;
+00594 <span class="keywordflow">case</span> <a class="code" href="a05363.html#a557a220">PSUserMatrix</a>:
+00595 <span class="keywordflow">switch</span>(srcMode)
+00596 {
+00597 <span class="keywordflow">case</span> <a class="code" href="a05363.html#a557a218">PSFXWorldMatrix</a>: <span class="keywordflow">return</span> ps.getFXToUserMatrix();
+00598 <span class="keywordflow">case</span> <a class="code" href="a05363.html#a557a219">PSIdentityMatrix</a>: <span class="keywordflow">return</span> ps.getInvertedUserMatrix();
+00599 <span class="keywordflow">case</span> <a class="code" href="a05363.html#a557a220">PSUserMatrix</a>: <span class="keywordflow">return</span> <a class="code" href="a02851.html#NLMISC_1_1CMatrixs0">NLMISC::CMatrix::Identity</a>;
+00600 <span class="keywordflow">default</span>:
+00601 <a class="code" href="a04199.html#a6">nlassert</a>(0);
+00602 }
+00603 <span class="keywordflow">break</span>;
+00604 <span class="keywordflow">default</span>:
+00605 <a class="code" href="a04199.html#a6">nlassert</a>(0);
+00606 }
+00607 <a class="code" href="a04199.html#a6">nlassert</a>(0);
+00608 <span class="keywordflow">return</span> <a class="code" href="a02851.html#NLMISC_1_1CMatrixs0">NLMISC::CMatrix::Identity</a>;
+00609 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda19" doxytag="NL3D::CPSLocated::getDriver" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02434.html">IDriver</a> * NL3D::CPSLocated::getDriver </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l00705">705</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, <a class="el" href="a06143.html#l00146">NL3D::CParticleSystem::getDriver()</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+Referenced by <a class="el" href="a06247.html#l00890">NL3D::CPSLocatedBindable::getDriver()</a>, and <a class="el" href="a06246.html#l01775">setupDriverModelMatrix()</a>.
+<p>
+<div class="fragment"><pre>00706 {
+00707 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00708 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+00709 <a class="code" href="a04199.html#a6">nlassert</a> (<a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getDriver() ); <span class="comment">// you haven't called setDriver on the system</span>
+00710 <span class="keywordflow">return</span> <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getDriver();
+00711 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedz630_0" doxytag="NL3D::CPSLocated::getFontGenerator" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a02541.html">CFontGenerator</a> * NL3D::CParticleSystemProcess::getFontGenerator </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Shortcut to get a font generator if one was set, const version (edition mode).
+<p>
+
+<p>
+Definition at line <a class="el" href="a06150.html#l00078">78</a> of file <a class="el" href="a06150.html">particle_system_process.cpp</a>.
+<p>
+References <a class="el" href="a06143.html#l00422">NL3D::CParticleSystem::getFontGenerator()</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+<div class="fragment"><pre>00079 {
+00080 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+00081 <span class="keywordflow">return</span> <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getFontGenerator();
+00082 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedz630_1" doxytag="NL3D::CPSLocated::getFontGenerator" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02541.html">CFontGenerator</a> * NL3D::CParticleSystemProcess::getFontGenerator </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Shortcut to get a font generator if one was set (edition mode).
+<p>
+
+<p>
+Definition at line <a class="el" href="a06150.html#l00071">71</a> of file <a class="el" href="a06150.html">particle_system_process.cpp</a>.
+<p>
+References <a class="el" href="a06143.html#l00422">NL3D::CParticleSystem::getFontGenerator()</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+Referenced by <a class="el" href="a06247.html#l00897">NL3D::CPSLocatedBindable::getFontGenerator()</a>.
+<p>
+<div class="fragment"><pre>00072 {
+00073 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+00074 <span class="keywordflow">return</span> <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getFontGenerator();
+00075 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedz630_2" doxytag="NL3D::CPSLocated::getFontManager" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a02542.html">CFontManager</a> * NL3D::CParticleSystemProcess::getFontManager </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Shortcut to get a font Manager if one was set, const version (edition mode).
+<p>
+
+<p>
+Definition at line <a class="el" href="a06150.html#l00092">92</a> of file <a class="el" href="a06150.html">particle_system_process.cpp</a>.
+<p>
+References <a class="el" href="a06143.html#l00431">NL3D::CParticleSystem::getFontManager()</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+<div class="fragment"><pre>00093 {
+00094 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+00095 <span class="keywordflow">return</span> <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getFontManager();
+00096 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedz630_3" doxytag="NL3D::CPSLocated::getFontManager" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02542.html">CFontManager</a> * NL3D::CParticleSystemProcess::getFontManager </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Shortcut to get a font Manager if one was set (edition mode).
+<p>
+
+<p>
+Definition at line <a class="el" href="a06150.html#l00085">85</a> of file <a class="el" href="a06150.html">particle_system_process.cpp</a>.
+<p>
+References <a class="el" href="a06143.html#l00431">NL3D::CParticleSystem::getFontManager()</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l02091">NL3D::CPSLocatedBindable::getFontManager()</a>.
+<p>
+<div class="fragment"><pre>00086 {
+00087 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+00088 <span class="keywordflow">return</span> <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getFontManager();
+00089 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda20" doxytag="NL3D::CPSLocated::getFrameRate" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> NL3D::CPSLocated::getFrameRate </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00382">382</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06247.html#l00597">_NbFramesToSkip</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00382 { <span class="keywordflow">return</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp16">_NbFramesToSkip</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda21" doxytag="NL3D::CPSLocated::getIndexOf" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> NL3D::CPSLocated::getIndexOf </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a02691.html">CPSLocatedBindable</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>lb</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+Get the index of a located bindable that is bound to that object. If it isn't bound, an assertion is raised
+<p>
+Definition at line <a class="el" href="a06246.html#l01923">1923</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00604">_LocatedBoundCont</a>, <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l00751">bind()</a>.
+<p>
+<div class="fragment"><pre>01924 {
+01925 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+01926 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a15">uint</a> k = 0; k &lt; <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.size(); ++k)
+01927 {
+01928 <span class="keywordflow">if</span> (<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>[k] == lb) <span class="keywordflow">return</span> k;
+01929 }
+01930 <a class="code" href="a04199.html#a6">nlassert</a>(0);
+01931 <span class="keywordflow">return</span> 0;
+01932 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda22" doxytag="NL3D::CPSLocated::getInitialLife" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a05363.html#a366">TAnimationTime</a> NL3D::CPSLocated::getInitialLife </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get the life of created particles (valid if they have a limited life time)
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00292">292</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06247.html#l00667">_InitialLife</a>, and <a class="el" href="a05454.html#l00044">NL3D::TAnimationTime</a>.
+<p>
+Referenced by <a class="el" href="a06229.html#l00182">NL3D::CompensateEmission()</a>.
+<p>
+<div class="fragment"><pre>00292 { <span class="keywordflow">return</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp3">_InitialLife</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda23" doxytag="NL3D::CPSLocated::getInitialMass" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float NL3D::CPSLocated::getInitialMass </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get the mass of created particle
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00311">311</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06247.html#l00672">_InitialMass</a>.
+<p>
+<div class="fragment"><pre>00311 { <span class="keywordflow">return</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp4">_InitialMass</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda24" doxytag="NL3D::CPSLocated::getInvMass" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a03135.html">TPSAttribFloat</a>&amp; NL3D::CPSLocated::getInvMass </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get mass inverse attrib const ref
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00331">331</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06247.html#l00620">_InvMass</a>, and <a class="el" href="a06213.html#l00570">NL3D::TPSAttribFloat</a>.
+<p>
+<div class="fragment"><pre>00331 { <span class="keywordflow">return</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp6">_InvMass</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda25" doxytag="NL3D::CPSLocated::getInvMass" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03135.html">TPSAttribFloat</a>&amp; NL3D::CPSLocated::getInvMass </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get mass inverse attrib ref
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00329">329</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06247.html#l00620">_InvMass</a>, and <a class="el" href="a06213.html#l00570">NL3D::TPSAttribFloat</a>.
+<p>
+Referenced by <a class="el" href="a06219.html#l01172">NL3D::CPSAttribMakerT&lt; T, F &gt;::get()</a>, <a class="el" href="a06219.html#l00596">NL3D::CPSAttribMakerT&lt; uint32, CPSValueBlendFunc&lt; uint32 &gt; &gt;::make()</a>, <a class="el" href="a06219.html#l00790">NL3D::CPSAttribMakerT&lt; uint32, CPSValueBlendFunc&lt; uint32 &gt; &gt;::make4()</a>, and <a class="el" href="a06219.html#l00978">NL3D::CPSAttribMakerT&lt; uint32, CPSValueBlendFunc&lt; uint32 &gt; &gt;::makeN()</a>.
+<p>
+<div class="fragment"><pre>00329 { <span class="keywordflow">return</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp6">_InvMass</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda26" doxytag="NL3D::CPSLocated::getLastForever" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CPSLocated::getLastForever </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+retrieve immortality for locateds
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00326">326</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06247.html#l00615">_LastForever</a>.
+<p>
+Referenced by <a class="el" href="a06142.html#l01462">NL3D::CParticleSystem::canFinish()</a>, <a class="el" href="a06229.html#l00182">NL3D::CompensateEmission()</a>, <a class="el" href="a06142.html#l01556">NL3D::CParticleSystem::evalDuration()</a>, <a class="el" href="a06219.html#l00596">NL3D::CPSAttribMakerT&lt; uint32, CPSValueBlendFunc&lt; uint32 &gt; &gt;::make()</a>, <a class="el" href="a06219.html#l00790">NL3D::CPSAttribMakerT&lt; uint32, CPSValueBlendFunc&lt; uint32 &gt; &gt;::make4()</a>, <a class="el" href="a06219.html#l00978">NL3D::CPSAttribMakerT&lt; uint32, CPSValueBlendFunc&lt; uint32 &gt; &gt;::makeN()</a>, and <a class="el" href="a06229.html#l02148">NL3D::CPSEmitter::testEmitForever()</a>.
+<p>
+<div class="fragment"><pre>00326 { <span class="keywordflow">return</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp7">_LastForever</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda27" doxytag="NL3D::CPSLocated::getLifeScheme" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a03136.html">CPSAttribMaker</a>&lt;float&gt;* NL3D::CPSLocated::getLifeScheme </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00296">296</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06247.html#l00668">_LifeScheme</a>.
+<p>
+<div class="fragment"><pre>00296 { <span class="keywordflow">return</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp8">_LifeScheme</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda28" doxytag="NL3D::CPSLocated::getLifeScheme" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03136.html">CPSAttribMaker</a>&lt;float&gt;* NL3D::CPSLocated::getLifeScheme </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get the life scheme of created particle, null if none (valid if they have a limited life time)
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00295">295</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06247.html#l00668">_LifeScheme</a>.
+<p>
+Referenced by <a class="el" href="a06229.html#l00182">NL3D::CompensateEmission()</a>.
+<p>
+<div class="fragment"><pre>00295 { <span class="keywordflow">return</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp8">_LifeScheme</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda29" doxytag="NL3D::CPSLocated::getLocalToWorldMatrix" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a02851.html">NLMISC::CMatrix</a> &amp; NL3D::CPSLocated::getLocalToWorldMatrix </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l00092">92</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06151.html#l00143">NL3D::CParticleSystemProcess::getMatrixMode()</a>, <a class="el" href="a06143.html#l00184">NL3D::CParticleSystem::getSysMat()</a>, <a class="el" href="a06143.html#l00197">NL3D::CParticleSystem::getUserMatrix()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05363.html#a557a218">NL3D::PSFXWorldMatrix</a>, <a class="el" href="a05363.html#a557a219">NL3D::PSIdentityMatrix</a>, and <a class="el" href="a05363.html#a557a220">NL3D::PSUserMatrix</a>.
+<p>
+Referenced by <a class="el" href="a06233.html#l00379">NL3D::CPSFaceLookAtHelper::drawLookAt()</a>, <a class="el" href="a06247.html#l01144">NL3D::CPSLocatedBindable::getLocalToWorldMatrix()</a>, <a class="el" href="a06246.html#l01775">setupDriverModelMatrix()</a>, and <a class="el" href="a06281.html#l00109">NL3D::CPSSound::step()</a>.
+<p>
+<div class="fragment"><pre>00093 {
+00094 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+00095 <span class="keywordflow">switch</span>(<a class="code" href="a03054.html#NL3D_1_1CPSLocateda33">getMatrixMode</a>())
+00096 {
+00097 <span class="keywordflow">case</span> <a class="code" href="a05363.html#a557a218">PSFXWorldMatrix</a>: <span class="keywordflow">return</span> <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getSysMat();
+00098 <span class="keywordflow">case</span> <a class="code" href="a05363.html#a557a219">PSIdentityMatrix</a>: <span class="keywordflow">return</span> <a class="code" href="a02851.html#NLMISC_1_1CMatrixs0">NLMISC::CMatrix::Identity</a>;
+00099 <span class="keywordflow">case</span> <a class="code" href="a05363.html#a557a220">PSUserMatrix</a>: <span class="keywordflow">return</span> <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getUserMatrix();
+00100 <span class="keywordflow">default</span>:
+00101 <a class="code" href="a04199.html#a6">nlassert</a>(0);
+00102 }
+00103 <a class="code" href="a04199.html#a6">nlassert</a>(0);
+00104 <span class="keywordflow">return</span> <a class="code" href="a02851.html#NLMISC_1_1CMatrixs0">NLMISC::CMatrix::Identity</a>;
+00105 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda30" doxytag="NL3D::CPSLocated::getLODVect" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::getLODVect </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03128.html">NLMISC::CVector</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>v</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>offset</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a05363.html#a557">TPSMatrixMode</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>matrixMode</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l00475">475</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, <a class="el" href="a06142.html#l01040">NL3D::CParticleSystem::getLODVect()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05646.html#l00645">offset</a>, and <a class="el" href="a05646.html#l00237">v</a>.
+<p>
+Referenced by <a class="el" href="a06219.html#l01172">NL3D::CPSAttribMakerT&lt; T, F &gt;::get()</a>, <a class="el" href="a06219.html#l00596">NL3D::CPSAttribMakerT&lt; uint32, CPSValueBlendFunc&lt; uint32 &gt; &gt;::make()</a>, <a class="el" href="a06219.html#l00790">NL3D::CPSAttribMakerT&lt; uint32, CPSValueBlendFunc&lt; uint32 &gt; &gt;::make4()</a>, and <a class="el" href="a06219.html#l00978">NL3D::CPSAttribMakerT&lt; uint32, CPSValueBlendFunc&lt; uint32 &gt; &gt;::makeN()</a>.
+<p>
+<div class="fragment"><pre>00476 {
+00477 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+00478 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00479 <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getLODVect(v, offset, matrixMode);
+00480 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00481 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda31" doxytag="NL3D::CPSLocated::getMassScheme" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a03136.html">CPSAttribMaker</a>&lt;float&gt;* NL3D::CPSLocated::getMassScheme </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00315">315</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06247.html#l00673">_MassScheme</a>.
+<p>
+<div class="fragment"><pre>00315 { <span class="keywordflow">return</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp11">_MassScheme</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda32" doxytag="NL3D::CPSLocated::getMassScheme" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03136.html">CPSAttribMaker</a>&lt;float&gt;* NL3D::CPSLocated::getMassScheme </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get the scheme that compute mass of created particles, null if none
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00314">314</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06247.html#l00673">_MassScheme</a>.
+<p>
+<div class="fragment"><pre>00314 { <span class="keywordflow">return</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp11">_MassScheme</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda33" doxytag="NL3D::CPSLocated::getMatrixMode" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a05363.html#a557">TPSMatrixMode</a> NL3D::CParticleSystemProcess::getMatrixMode </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06151.html#l00143">143</a> of file <a class="el" href="a06151.html">particle_system_process.h</a>.
+<p>
+References <a class="el" href="a06151.html#l00193">NL3D::CParticleSystemProcess::_MatrixMode</a>, and <a class="el" href="a06151.html#l00061">NL3D::TPSMatrixMode</a>.
+<p>
+Referenced by <a class="el" href="a06239.html#l00133">NL3D::CPSForce::cancelIntegrable()</a>, <a class="el" href="a06246.html#l00612">computeI()</a>, <a class="el" href="a06246.html#l00643">computeJ()</a>, <a class="el" href="a06246.html#l00674">computeK()</a>, <a class="el" href="a06219.html#l01172">NL3D::CPSAttribMakerT&lt; T, F &gt;::get()</a>, <a class="el" href="a06247.html#l01133">getConversionMatrix()</a>, <a class="el" href="a06246.html#l00092">getLocalToWorldMatrix()</a>, <a class="el" href="a06246.html#l00108">getWorldToLocalMatrix()</a>, <a class="el" href="a06246.html#l01885">integrableForceBasisChanged()</a>, <a class="el" href="a06219.html#l00596">NL3D::CPSAttribMakerT&lt; uint32, CPSValueBlendFunc&lt; uint32 &gt; &gt;::make()</a>, <a class="el" href="a06219.html#l00790">NL3D::CPSAttribMakerT&lt; uint32, CPSValueBlendFunc&lt; uint32 &gt; &gt;::make4()</a>, <a class="el" href="a06219.html#l00978">NL3D::CPSAttribMakerT&lt; uint32, CPSValueBlendFunc&lt; uint32 &gt; &gt;::makeN()</a>, <a class="el" href="a06246.html#l00852">newElement()</a>, <a class="el" href="a06229.html#l00119">NL3D::CPSEmitter::processEmit()</a>, <a class="el" href="a06229.html#l00247">NL3D::CPSEmitter::processEmitConsistent()</a>, <a class="el" href="a06246.html#l01836">registerIntegrableForce()</a>, <a class="el" href="a06239.html#l00147">NL3D::CPSForce::renewIntegrable()</a>, <a class="el" href="a06246.html#l00401">setMatrixMode()</a>, and <a class="el" href="a06246.html#l01851">unregisterIntegrableForce()</a>.
+<p>
+<div class="fragment"><pre>00143 { <span class="keywordflow">return</span> <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp12">_MatrixMode</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda34" doxytag="NL3D::CPSLocated::getMaxSize" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> NL3D::CPSLocated::getMaxSize </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get the max number of instance in this located container <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a03214.html#NL3D_1_1CPSLocateda79">resize()</a></dd></dl>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00369">369</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l01339">NL3D::CPSConstraintMesh::fillIndexesInPrecompBasis()</a>, <a class="el" href="a06231.html#l00354">NL3D::CPSFace::fillIndexesInPrecompBasis()</a>, <a class="el" href="a06229.html#l00901">NL3D::GenEmitterPositions()</a>, <a class="el" href="a06229.html#l00951">NL3D::GenEmitterPositionsWithLOD()</a>, <a class="el" href="a06283.html#l00365">NL3D::CPSTailDot::getMaxNumFaces()</a>, <a class="el" href="a06279.html#l00199">NL3D::CPSShockWave::getMaxNumFaces()</a>, <a class="el" href="a06277.html#l00537">NL3D::CPSRibbonLookAt::getMaxNumFaces()</a>, <a class="el" href="a06273.html#l00688">NL3D::CPSRibbon::getMaxNumFaces()</a>, <a class="el" href="a06262.html#l00219">NL3D::CPSQuad::getMaxNumFaces()</a>, <a class="el" href="a06250.html#l00954">NL3D::CPSConstraintMesh::getMaxNumFaces()</a>, <a class="el" href="a06235.html#l00245">NL3D::CPSFanLight::getMaxNumFaces()</a>, <a class="el" href="a06226.html#l00226">NL3D::CPSDot::getMaxNumFaces()</a>, <a class="el" href="a06142.html#l01797">NL3D::CParticleSystem::getMaxNumParticles()</a>, <a class="el" href="a06275.html#l00550">NL3D::CPSRibbonBase::motionTypeChanged()</a>, <a class="el" href="a06246.html#l00852">newElement()</a>, <a class="el" href="a06244.html#l00303">NL3D::CPSLight::setAttenEndScheme()</a>, <a class="el" href="a06244.html#l00284">NL3D::CPSLight::setAttenStartScheme()</a>, <a class="el" href="a06244.html#l00264">NL3D::CPSLight::setColorScheme()</a>, <a class="el" href="a06281.html#l00216">NL3D::CPSSound::setGainScheme()</a>, <a class="el" href="a06229.html#l00439">NL3D::CPSEmitter::setGenNbScheme()</a>, <a class="el" href="a06250.html#l01089">NL3D::CPSConstraintMesh::setMorphScheme()</a>, <a class="el" href="a06235.html#l00422">NL3D::CPSFanLight::setNbFans()</a>, <a class="el" href="a06279.html#l00218">NL3D::CPSShockWave::setNbSegs()</a>, <a class="el" href="a06229.html#l00416">NL3D::CPSEmitter::setPeriodScheme()</a>, <a class="el" href="a06281.html#l00235">NL3D::CPSSound::setPitchScheme()</a>, <a class="el" href="a06279.html#l00230">NL3D::CPSShockWave::setRadiusCut()</a>, <a class="el" href="a06275.html#l00118">NL3D::CPSRibbonBase::setTailNbSeg()</a>, <a class="el" href="a06279.html#l00435">NL3D::CPSShockWave::updateMatAndVbForColor()</a>, <a class="el" href="a06229.html#l02059">NL3D::CPSEmitter::updateMaxCountVect()</a>, and <a class="el" href="a06250.html#l00295">NL3D::CPSMesh::updatePos()</a>.
+<p>
+<div class="fragment"><pre>00370 {
+00371 <span class="keywordflow">return</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp14">_MaxSize</a>;
+00372 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda35" doxytag="NL3D::CPSLocated::getName" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::string NL3D::CPSLocated::getName </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get the located bindable name (edition purpose)
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00495">495</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+<div class="fragment"><pre>00495 { <span class="keywordflow">return</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp15">_Name</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda36" doxytag="NL3D::CPSLocated::getNbBoundObjects" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> NL3D::CPSLocated::getNbBoundObjects </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+count the number of bound objects
+<p>
+Definition at line <a class="el" href="a06247.html#l00194">194</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06247.html#l00604">_LocatedBoundCont</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a06142.html#l01718">NL3D::CParticleSystem::activateEmitters()</a>, <a class="el" href="a06142.html#l01462">NL3D::CParticleSystem::canFinish()</a>, <a class="el" href="a06229.html#l02117">NL3D::CPSEmitter::checkLoop()</a>, <a class="el" href="a06142.html#l01556">NL3D::CParticleSystem::evalDuration()</a>, <a class="el" href="a06142.html#l01821">NL3D::CParticleSystem::getCurrNumParticles()</a>, <a class="el" href="a06142.html#l01797">NL3D::CParticleSystem::getMaxNumParticles()</a>, <a class="el" href="a06142.html#l01845">NL3D::CParticleSystem::getTargeters()</a>, <a class="el" href="a06142.html#l01738">NL3D::CParticleSystem::hasActiveEmitters()</a>, <a class="el" href="a06142.html#l01761">NL3D::CParticleSystem::hasEmittersTemplates()</a>, <a class="el" href="a06142.html#l01016">NL3D::CParticleSystem::hasLightableObjects()</a>, <a class="el" href="a06142.html#l01494">NL3D::CParticleSystem::hasLoop()</a>, <a class="el" href="a06142.html#l00972">NL3D::CParticleSystem::hasOpaqueObjects()</a>, <a class="el" href="a06142.html#l00994">NL3D::CParticleSystem::hasTransparentObjects()</a>, <a class="el" href="a06142.html#l00172">NL3D::CParticleSystem::reactivateSound()</a>, and <a class="el" href="a06142.html#l00152">NL3D::CParticleSystem::stopSound()</a>.
+<p>
+<div class="fragment"><pre>00194 { <span class="keywordflow">return</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.size(); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda37" doxytag="NL3D::CPSLocated::getNewElementIndex" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> NL3D::CPSLocated::getNewElementIndex </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get the index of the new element that is created Valid only after the newElement method (overridable) of a LocatedBindable is called : you get the index of the located being generated, if you need its pos, speed, or mass.
+<p>
+Definition at line <a class="el" href="a06247.html#l00266">266</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a06275.html#l00499">NL3D::CPSRibbonBase::newElement()</a>, <a class="el" href="a06250.html#l01855">NL3D::CPSConstraintMesh::newElement()</a>, and <a class="el" href="a06231.html#l00368">NL3D::CPSFace::newElement()</a>.
+<p>
+<div class="fragment"><pre>00266 { <span class="keywordflow">return</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp23">_Size</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda38" doxytag="NL3D::CPSLocated::getOwner" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a03041.html">CParticleSystem</a>* NL3D::CParticleSystemProcess::getOwner </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+retrieve the particle system that owns this process (const version)
+<p>
+
+<p>
+Definition at line <a class="el" href="a06151.html#l00114">114</a> of file <a class="el" href="a06151.html">particle_system_process.h</a>.
+<p>
+<div class="fragment"><pre>00114 { <span class="keywordflow">return</span> <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a> ; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda39" doxytag="NL3D::CPSLocated::getOwner" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03041.html">CParticleSystem</a>* NL3D::CParticleSystemProcess::getOwner </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Retrieve the particle system that owns this process.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06151.html#l00111">111</a> of file <a class="el" href="a06151.html">particle_system_process.h</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l02202">NL3D::CPSTargetLocatedBindable::attachTarget()</a>, <a class="el" href="a06229.html#l02117">NL3D::CPSEmitter::checkLoop()</a>, <a class="el" href="a06257.html#l00082">NL3D::CPSParticle::computeSrcStep()</a>, <a class="el" href="a06250.html#l00260">NL3D::CPSMesh::deleteElement()</a>, <a class="el" href="a06246.html#l02038">NL3D::CPSLocatedBindable::displayIcon2d()</a>, <a class="el" href="a06283.html#l00242">NL3D::CPSTailDot::displayRibbons()</a>, <a class="el" href="a06277.html#l00319">NL3D::CPSRibbonLookAt::displayRibbons()</a>, <a class="el" href="a06273.html#l00471">NL3D::CPSRibbon::displayRibbons()</a>, <a class="el" href="a06279.html#l00286">NL3D::CPSShockWave::draw()</a>, <a class="el" href="a06226.html#l00122">NL3D::CPSDot::draw()</a>, <a class="el" href="a06250.html#l00521">NL3D::CPSConstraintMeshHelper::drawMeshs()</a>, <a class="el" href="a06250.html#l00793">NL3D::CPSConstraintMeshHelper::drawPrerotatedMeshs()</a>, <a class="el" href="a06246.html#l01975">NL3D::CPSLocatedBindable::finalize()</a>, <a class="el" href="a06229.html#l00901">NL3D::GenEmitterPositions()</a>, <a class="el" href="a06229.html#l00951">NL3D::GenEmitterPositionsWithLOD()</a>, <a class="el" href="a06246.html#l02116">NL3D::CPSLocatedBindable::getInvertedSysMat()</a>, <a class="el" href="a06246.html#l02134">NL3D::CPSLocatedBindable::getInvertedViewMat()</a>, <a class="el" href="a06246.html#l02108">NL3D::CPSLocatedBindable::getSysMat()</a>, <a class="el" href="a06246.html#l02125">NL3D::CPSLocatedBindable::getViewMat()</a>, <a class="el" href="a06250.html#l01855">NL3D::CPSConstraintMesh::newElement()</a>, <a class="el" href="a06250.html#l00225">NL3D::CPSMesh::newElement()</a>, <a class="el" href="a06229.html#l00665">NL3D::CPSEmitter::processRegularEmission()</a>, <a class="el" href="a06229.html#l01000">NL3D::CPSEmitter::processRegularEmissionConsistent()</a>, <a class="el" href="a06229.html#l01426">NL3D::CPSEmitter::processRegularEmissionConsistentWithNoLOD()</a>, <a class="el" href="a06229.html#l00500">NL3D::CPSEmitter::processRegularEmissionWithNoLOD()</a>, <a class="el" href="a06142.html#l01081">NL3D::CParticleSystem::registerLocatedBindableExternID()</a>, <a class="el" href="a06229.html#l00326">NL3D::CPSEmitter::setEmissionType()</a>, <a class="el" href="a06229.html#l02080">NL3D::CPSEmitter::setEmitDelay()</a>, <a class="el" href="a06229.html#l00361">NL3D::CPSEmitter::setEmittedType()</a>, <a class="el" href="a06246.html#l02149">NL3D::CPSLocatedBindable::setExternID()</a>, <a class="el" href="a06229.html#l02090">NL3D::CPSEmitter::setMaxEmissionCount()</a>, <a class="el" href="a06246.html#l01948">NL3D::CPSLocatedBindable::setOwner()</a>, <a class="el" href="a06229.html#l00401">NL3D::CPSEmitter::setPeriod()</a>, <a class="el" href="a06229.html#l00416">NL3D::CPSEmitter::setPeriodScheme()</a>, <a class="el" href="a06283.html#l00508">NL3D::CPSTailDot::setupGlobalColor()</a>, <a class="el" href="a06235.html#l00286">NL3D::CPSFanLight::setupMaterial()</a>, <a class="el" href="a06273.html#l01026">NL3D::CPSRibbon::setupTexturedGlobalColor()</a>, <a class="el" href="a06273.html#l00984">NL3D::CPSRibbon::setupUntexturedGlobalColor()</a>, <a class="el" href="a06287.html#l01375">NL3D::CPSZoneRectangle::show()</a>, <a class="el" href="a06287.html#l01160">NL3D::CPSZoneCylinder::show()</a>, <a class="el" href="a06287.html#l00625">NL3D::CPSZoneDisc::show()</a>, <a class="el" href="a06287.html#l00448">NL3D::CPSZoneSphere::show()</a>, <a class="el" href="a06287.html#l00140">NL3D::CPSZonePlane::show()</a>, <a class="el" href="a06244.html#l00363">NL3D::CPSLight::show()</a>, <a class="el" href="a06239.html#l00900">NL3D::CPSCylindricVortex::show()</a>, <a class="el" href="a06239.html#l00295">NL3D::CPSDirectionnalForce::show()</a>, <a class="el" href="a06229.html#l02491">NL3D::CPSSphericalEmitter::showTool()</a>, <a class="el" href="a06229.html#l02391">NL3D::CPSEmitterRectangle::showTool()</a>, <a class="el" href="a06229.html#l00447">NL3D::CPSEmitter::showTool()</a>, <a class="el" href="a06283.html#l00165">NL3D::CPSTailDot::step()</a>, <a class="el" href="a06277.html#l00119">NL3D::CPSRibbonLookAt::step()</a>, <a class="el" href="a06273.html#l00266">NL3D::CPSRibbon::step()</a>, <a class="el" href="a06244.html#l00146">NL3D::CPSLight::step()</a>, <a class="el" href="a06229.html#l01755">NL3D::CPSEmitter::step()</a>, <a class="el" href="a06275.html#l00626">NL3D::CPSRibbonBase::systemDateChanged()</a>, <a class="el" href="a06142.html#l01096">NL3D::CParticleSystem::unregisterLocatedBindableExternID()</a>, <a class="el" href="a06250.html#l01134">NL3D::CPSConstraintMesh::update()</a>, <a class="el" href="a06275.html#l00139">NL3D::CPSRibbonBase::updateGlobals()</a>, <a class="el" href="a06275.html#l00610">NL3D::CPSRibbonBase::updateLOD()</a>, <a class="el" href="a06262.html#l00520">NL3D::CPSQuad::updateMatBeforeRendering()</a>, <a class="el" href="a06283.html#l00443">NL3D::CPSTailDot::updateMaterial()</a>, <a class="el" href="a06250.html#l00295">NL3D::CPSMesh::updatePos()</a>, <a class="el" href="a06229.html#l02618">NL3D::CPSEmitter::updatePSRefCountForUserMatrixUsage()</a>, <a class="el" href="a06273.html#l00890">NL3D::CPSRibbon::updateTexturedMaterial()</a>, <a class="el" href="a06273.html#l00824">NL3D::CPSRibbon::updateUntexturedMaterial()</a>, <a class="el" href="a06262.html#l00386">NL3D::CPSQuad::updateVbColNUVForRender()</a>, <a class="el" href="a06244.html#l00050">NL3D::CPSLight::~CPSLight()</a>, <a class="el" href="a06246.html#l01984">NL3D::CPSLocatedBindable::~CPSLocatedBindable()</a>, and <a class="el" href="a06250.html#l00434">NL3D::CPSMesh::~CPSMesh()</a>.
+<p>
+<div class="fragment"><pre>00111 { <span class="keywordflow">return</span> <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a> ; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda40" doxytag="NL3D::CPSLocated::getParametricInfos" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03135.html">TPSAttribParametricInfo</a>&amp; NL3D::CPSLocated::getParametricInfos </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+PRIVATE USE : access to parametric infos.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00772">772</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06247.html#l00650">_PInfo</a>, and <a class="el" href="a06247.html#l00645">TPSAttribParametricInfo</a>.
+<p>
+Referenced by <a class="el" href="a06229.html#l00182">NL3D::CompensateEmission()</a>.
+<p>
+<div class="fragment"><pre>00772 { <span class="keywordflow">return</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedo0">_PInfo</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda41" doxytag="NL3D::CPSLocated::getPos" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a03135.html">TPSAttribVector</a>&amp; NL3D::CPSLocated::getPos </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get Pos attrib const ref
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00336">336</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06213.html#l00568">NL3D::TPSAttribVector</a>.
+<p>
+<div class="fragment"><pre>00336 { <span class="keywordflow">return</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp21">_Pos</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda42" doxytag="NL3D::CPSLocated::getPos" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03135.html">TPSAttribVector</a>&amp; NL3D::CPSLocated::getPos </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get Pos attrib ref
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00334">334</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06213.html#l00568">NL3D::TPSAttribVector</a>.
+<p>
+Referenced by <a class="el" href="a06287.html#l00112">NL3D::CPSZonePlane::buildBasis()</a>, <a class="el" href="a06229.html#l00182">NL3D::CompensateEmission()</a>, <a class="el" href="a06246.html#l02038">NL3D::CPSLocatedBindable::displayIcon2d()</a>, <a class="el" href="a06279.html#l00286">NL3D::CPSShockWave::draw()</a>, <a class="el" href="a06250.html#l01631">NL3D::CPSConstraintMesh::draw()</a>, <a class="el" href="a06235.html#l00335">NL3D::CPSFanLight::draw()</a>, <a class="el" href="a06233.html#l00838">NL3D::CPSFaceLookAt::draw()</a>, <a class="el" href="a06226.html#l00122">NL3D::CPSDot::draw()</a>, <a class="el" href="a06229.html#l00901">NL3D::GenEmitterPositions()</a>, <a class="el" href="a06229.html#l00951">NL3D::GenEmitterPositionsWithLOD()</a>, <a class="el" href="a06219.html#l01172">NL3D::CPSAttribMakerT&lt; T, F &gt;::get()</a>, <a class="el" href="a06287.html#l01419">NL3D::CPSZoneRectangle::getMatrix()</a>, <a class="el" href="a06287.html#l01212">NL3D::CPSZoneCylinder::getMatrix()</a>, <a class="el" href="a06287.html#l00668">NL3D::CPSZoneDisc::getMatrix()</a>, <a class="el" href="a06287.html#l00477">NL3D::CPSZoneSphere::getMatrix()</a>, <a class="el" href="a06239.html#l00933">NL3D::CPSCylindricVortex::getMatrix()</a>, <a class="el" href="a06229.html#l02520">NL3D::CPSSphericalEmitter::getMatrix()</a>, <a class="el" href="a06229.html#l02331">NL3D::CPSEmitterRectangle::getMatrix()</a>, <a class="el" href="a06219.html#l00596">NL3D::CPSAttribMakerT&lt; uint32, CPSValueBlendFunc&lt; uint32 &gt; &gt;::make()</a>, <a class="el" href="a06219.html#l00790">NL3D::CPSAttribMakerT&lt; uint32, CPSValueBlendFunc&lt; uint32 &gt; &gt;::make4()</a>, <a class="el" href="a06219.html#l00978">NL3D::CPSAttribMakerT&lt; uint32, CPSValueBlendFunc&lt; uint32 &gt; &gt;::makeN()</a>, <a class="el" href="a06281.html#l00355">NL3D::CPSSound::newElement()</a>, <a class="el" href="a06275.html#l00499">NL3D::CPSRibbonBase::newElement()</a>, <a class="el" href="a06239.html#l00824">NL3D::CPSCylindricVortex::performDynamic()</a>, <a class="el" href="a06239.html#l00755">NL3D::CPSSpring::performDynamic()</a>, <a class="el" href="a06239.html#l00683">NL3D::CPSCentralGravity::performDynamic()</a>, <a class="el" href="a06287.html#l01275">NL3D::CPSZoneRectangle::performMotion()</a>, <a class="el" href="a06287.html#l00946">NL3D::CPSZoneCylinder::performMotion()</a>, <a class="el" href="a06287.html#l00533">NL3D::CPSZoneDisc::performMotion()</a>, <a class="el" href="a06287.html#l00329">NL3D::CPSZoneSphere::performMotion()</a>, <a class="el" href="a06287.html#l00215">NL3D::CPSZonePlane::performMotion()</a>, <a class="el" href="a06229.html#l00119">NL3D::CPSEmitter::processEmit()</a>, <a class="el" href="a06275.html#l00538">NL3D::CPSRibbonBase::resetFromOwner()</a>, <a class="el" href="a06287.html#l01409">NL3D::CPSZoneRectangle::setMatrix()</a>, <a class="el" href="a06287.html#l01198">NL3D::CPSZoneCylinder::setMatrix()</a>, <a class="el" href="a06287.html#l00659">NL3D::CPSZoneDisc::setMatrix()</a>, <a class="el" href="a06287.html#l00467">NL3D::CPSZoneSphere::setMatrix()</a>, <a class="el" href="a06287.html#l00288">NL3D::CPSZonePlane::setMatrix()</a>, <a class="el" href="a06239.html#l00926">NL3D::CPSCylindricVortex::setMatrix()</a>, <a class="el" href="a06229.html#l02511">NL3D::CPSSphericalEmitter::setMatrix()</a>, <a class="el" href="a06229.html#l02321">NL3D::CPSEmitterRectangle::setMatrix()</a>, <a class="el" href="a06287.html#l01375">NL3D::CPSZoneRectangle::show()</a>, <a class="el" href="a06287.html#l01160">NL3D::CPSZoneCylinder::show()</a>, <a class="el" href="a06287.html#l00625">NL3D::CPSZoneDisc::show()</a>, <a class="el" href="a06287.html#l00448">NL3D::CPSZoneSphere::show()</a>, <a class="el" href="a06287.html#l00140">NL3D::CPSZonePlane::show()</a>, <a class="el" href="a06244.html#l00363">NL3D::CPSLight::show()</a>, <a class="el" href="a06239.html#l00900">NL3D::CPSCylindricVortex::show()</a>, <a class="el" href="a06239.html#l00413">NL3D::CPSGravity::show()</a>, <a class="el" href="a06239.html#l00295">NL3D::CPSDirectionnalForce::show()</a>, <a class="el" href="a06229.html#l02491">NL3D::CPSSphericalEmitter::showTool()</a>, <a class="el" href="a06229.html#l02391">NL3D::CPSEmitterRectangle::showTool()</a>, <a class="el" href="a06229.html#l00447">NL3D::CPSEmitter::showTool()</a>, <a class="el" href="a06281.html#l00109">NL3D::CPSSound::step()</a>, <a class="el" href="a06244.html#l00146">NL3D::CPSLight::step()</a>, <a class="el" href="a06231.html#l00212">NL3D::CPSFace::step()</a>, <a class="el" href="a06275.html#l00139">NL3D::CPSRibbonBase::updateGlobals()</a>, and <a class="el" href="a06250.html#l00295">NL3D::CPSMesh::updatePos()</a>.
+<p>
+<div class="fragment"><pre>00334 { <span class="keywordflow">return</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp21">_Pos</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda43" doxytag="NL3D::CPSLocated::getScene" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03348.html">CScene</a> * NL3D::CPSLocated::getScene </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l00492">492</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, <a class="el" href="a06143.html#l00158">NL3D::CParticleSystem::getScene()</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l00260">NL3D::CPSMesh::deleteElement()</a>, <a class="el" href="a06244.html#l00323">NL3D::CPSLight::deleteElement()</a>, <a class="el" href="a06250.html#l00225">NL3D::CPSMesh::newElement()</a>, <a class="el" href="a06250.html#l00210">NL3D::CPSMesh::releaseAllRef()</a>, <a class="el" href="a06244.html#l00347">NL3D::CPSLight::releaseAllRef()</a>, <a class="el" href="a06250.html#l01134">NL3D::CPSConstraintMesh::update()</a>, <a class="el" href="a06250.html#l00295">NL3D::CPSMesh::updatePos()</a>, and <a class="el" href="a06250.html#l00434">NL3D::CPSMesh::~CPSMesh()</a>.
+<p>
+<div class="fragment"><pre>00493 {
+00494 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+00495 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00496 <span class="keywordflow">return</span> <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getScene();
+00497 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda44" doxytag="NL3D::CPSLocated::getSize" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> NL3D::CPSLocated::getSize </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get the current number of instance in this located container
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00361">361</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a06257.html#l00082">NL3D::CPSParticle::computeSrcStep()</a>, <a class="el" href="a06275.html#l00509">NL3D::CPSRibbonBase::deleteElement()</a>, <a class="el" href="a06250.html#l01874">NL3D::CPSConstraintMesh::deleteElement()</a>, <a class="el" href="a06246.html#l01051">deleteElement()</a>, <a class="el" href="a06231.html#l00380">NL3D::CPSFace::deleteElement()</a>, <a class="el" href="a06246.html#l02038">NL3D::CPSLocatedBindable::displayIcon2d()</a>, <a class="el" href="a06279.html#l00286">NL3D::CPSShockWave::draw()</a>, <a class="el" href="a06235.html#l00335">NL3D::CPSFanLight::draw()</a>, <a class="el" href="a06233.html#l00838">NL3D::CPSFaceLookAt::draw()</a>, <a class="el" href="a06226.html#l00122">NL3D::CPSDot::draw()</a>, <a class="el" href="a06275.html#l00489">NL3D::CPSRibbonBase::dupRibbon()</a>, <a class="el" href="a06144.html#l00208">NL3D::CParticleSystemInstanceUser::emit()</a>, <a class="el" href="a06142.html#l01556">NL3D::CParticleSystem::evalDuration()</a>, <a class="el" href="a06142.html#l01821">NL3D::CParticleSystem::getCurrNumParticles()</a>, <a class="el" href="a06230.html#l00070">NL3D::CPSEmitter::hasEmitters()</a>, <a class="el" href="a06258.html#l00069">NL3D::CPSParticle::hasParticles()</a>, <a class="el" href="a06142.html#l01784">NL3D::CParticleSystem::matchArraySize()</a>, <a class="el" href="a06240.html#l00325">NL3D::CIsotropicForceT&lt; T &gt;::performDynamic()</a>, <a class="el" href="a06239.html#l01317">NL3D::CPSBrownianForce::performDynamic()</a>, <a class="el" href="a06239.html#l00983">NL3D::CPSMagneticForce::performDynamic()</a>, <a class="el" href="a06239.html#l00824">NL3D::CPSCylindricVortex::performDynamic()</a>, <a class="el" href="a06239.html#l00755">NL3D::CPSSpring::performDynamic()</a>, <a class="el" href="a06239.html#l00683">NL3D::CPSCentralGravity::performDynamic()</a>, <a class="el" href="a06239.html#l00380">NL3D::CPSGravity::performDynamic()</a>, <a class="el" href="a06239.html#l00247">NL3D::CPSDirectionnalForce::performDynamic()</a>, <a class="el" href="a06229.html#l00665">NL3D::CPSEmitter::processRegularEmission()</a>, <a class="el" href="a06229.html#l01000">NL3D::CPSEmitter::processRegularEmissionConsistent()</a>, <a class="el" href="a06229.html#l01426">NL3D::CPSEmitter::processRegularEmissionConsistentWithNoLOD()</a>, <a class="el" href="a06229.html#l00500">NL3D::CPSEmitter::processRegularEmissionWithNoLOD()</a>, <a class="el" href="a06144.html#l00236">NL3D::CParticleSystemInstanceUser::removeByID()</a>, <a class="el" href="a06250.html#l01889">NL3D::CPSConstraintMesh::resize()</a>, <a class="el" href="a06229.html#l01895">NL3D::CPSEmitter::resize()</a>, <a class="el" href="a06244.html#l00303">NL3D::CPSLight::setAttenEndScheme()</a>, <a class="el" href="a06244.html#l00284">NL3D::CPSLight::setAttenStartScheme()</a>, <a class="el" href="a06244.html#l00264">NL3D::CPSLight::setColorScheme()</a>, <a class="el" href="a06281.html#l00216">NL3D::CPSSound::setGainScheme()</a>, <a class="el" href="a06229.html#l00439">NL3D::CPSEmitter::setGenNbScheme()</a>, <a class="el" href="a06250.html#l01089">NL3D::CPSConstraintMesh::setMorphScheme()</a>, <a class="el" href="a06246.html#l01948">NL3D::CPSLocatedBindable::setOwner()</a>, <a class="el" href="a06229.html#l00416">NL3D::CPSEmitter::setPeriodScheme()</a>, <a class="el" href="a06281.html#l00235">NL3D::CPSSound::setPitchScheme()</a>, <a class="el" href="a06279.html#l00240">NL3D::CPSShockWave::setUFactor()</a>, <a class="el" href="a06287.html#l01375">NL3D::CPSZoneRectangle::show()</a>, <a class="el" href="a06239.html#l00900">NL3D::CPSCylindricVortex::show()</a>, <a class="el" href="a06239.html#l00295">NL3D::CPSDirectionnalForce::show()</a>, <a class="el" href="a06229.html#l02391">NL3D::CPSEmitterRectangle::showTool()</a>, <a class="el" href="a06229.html#l00447">NL3D::CPSEmitter::showTool()</a>, <a class="el" href="a06281.html#l00109">NL3D::CPSSound::step()</a>, <a class="el" href="a06231.html#l00212">NL3D::CPSFace::step()</a>, <a class="el" href="a06229.html#l01755">NL3D::CPSEmitter::step()</a>, <a class="el" href="a06275.html#l00139">NL3D::CPSRibbonBase::updateGlobals()</a>, <a class="el" href="a06229.html#l02059">NL3D::CPSEmitter::updateMaxCountVect()</a>, and <a class="el" href="a06250.html#l00295">NL3D::CPSMesh::updatePos()</a>.
+<p>
+<div class="fragment"><pre>00362 {
+00363 <span class="keywordflow">return</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp23">_Size</a>;
+00364 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda45" doxytag="NL3D::CPSLocated::getSpeed" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a03135.html">TPSAttribVector</a>&amp; NL3D::CPSLocated::getSpeed </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get Speed attrib const ref
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00341">341</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06213.html#l00568">NL3D::TPSAttribVector</a>.
+<p>
+<div class="fragment"><pre>00341 { <span class="keywordflow">return</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp24">_Speed</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda46" doxytag="NL3D::CPSLocated::getSpeed" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03135.html">TPSAttribVector</a>&amp; NL3D::CPSLocated::getSpeed </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get Speed attrib ref
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00339">339</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06213.html#l00568">NL3D::TPSAttribVector</a>.
+<p>
+Referenced by <a class="el" href="a06229.html#l00182">NL3D::CompensateEmission()</a>, <a class="el" href="a06233.html#l00838">NL3D::CPSFaceLookAt::draw()</a>, <a class="el" href="a06229.html#l00901">NL3D::GenEmitterPositions()</a>, <a class="el" href="a06229.html#l00951">NL3D::GenEmitterPositionsWithLOD()</a>, <a class="el" href="a06260.html#l00043">NL3D::CPSPlaneBasisFollowSpeed::get()</a>, <a class="el" href="a06219.html#l01172">NL3D::CPSAttribMakerT&lt; T, F &gt;::get()</a>, <a class="el" href="a06260.html#l00049">NL3D::CPSPlaneBasisFollowSpeed::make()</a>, <a class="el" href="a06219.html#l00596">NL3D::CPSAttribMakerT&lt; uint32, CPSValueBlendFunc&lt; uint32 &gt; &gt;::make()</a>, <a class="el" href="a06260.html#l00182">NL3D::CPSPlaneBasisFollowSpeed::make4()</a>, <a class="el" href="a06219.html#l00790">NL3D::CPSAttribMakerT&lt; uint32, CPSValueBlendFunc&lt; uint32 &gt; &gt;::make4()</a>, <a class="el" href="a06260.html#l00229">NL3D::CPSPlaneBasisFollowSpeed::makeN()</a>, <a class="el" href="a06219.html#l00978">NL3D::CPSAttribMakerT&lt; uint32, CPSValueBlendFunc&lt; uint32 &gt; &gt;::makeN()</a>, <a class="el" href="a06281.html#l00355">NL3D::CPSSound::newElement()</a>, <a class="el" href="a06229.html#l00119">NL3D::CPSEmitter::processEmit()</a>, <a class="el" href="a06229.html#l00247">NL3D::CPSEmitter::processEmitConsistent()</a>, and <a class="el" href="a06281.html#l00109">NL3D::CPSSound::step()</a>.
+<p>
+<div class="fragment"><pre>00339 { <span class="keywordflow">return</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp24">_Speed</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda47" doxytag="NL3D::CPSLocated::getTime" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a03135.html">TPSAttribTime</a>&amp; NL3D::CPSLocated::getTime </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get Time attrib const ref
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00346">346</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06213.html#l00573">NL3D::TPSAttribTime</a>.
+<p>
+<div class="fragment"><pre>00346 { <span class="keywordflow">return</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp25">_Time</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda48" doxytag="NL3D::CPSLocated::getTime" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03135.html">TPSAttribTime</a>&amp; NL3D::CPSLocated::getTime </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get Time attrib ref
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00344">344</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06213.html#l00573">NL3D::TPSAttribTime</a>.
+<p>
+Referenced by <a class="el" href="a06229.html#l00182">NL3D::CompensateEmission()</a>, <a class="el" href="a06235.html#l00335">NL3D::CPSFanLight::draw()</a>, <a class="el" href="a06262.html#l00339">NL3D::FillQuadCoordsLocalTime()</a>, <a class="el" href="a06219.html#l01172">NL3D::CPSAttribMakerT&lt; T, F &gt;::get()</a>, <a class="el" href="a06219.html#l00596">NL3D::CPSAttribMakerT&lt; uint32, CPSValueBlendFunc&lt; uint32 &gt; &gt;::make()</a>, <a class="el" href="a06219.html#l00790">NL3D::CPSAttribMakerT&lt; uint32, CPSValueBlendFunc&lt; uint32 &gt; &gt;::make4()</a>, and <a class="el" href="a06219.html#l00978">NL3D::CPSAttribMakerT&lt; uint32, CPSValueBlendFunc&lt; uint32 &gt; &gt;::makeN()</a>.
+<p>
+<div class="fragment"><pre>00344 { <span class="keywordflow">return</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp25">_Time</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda49" doxytag="NL3D::CPSLocated::getTimeIncrement" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a03135.html">TPSAttribTime</a>&amp; NL3D::CPSLocated::getTimeIncrement </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get TotalTime attrib const ref
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00351">351</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06247.html#l00624">_TimeIncrement</a>, and <a class="el" href="a06213.html#l00573">NL3D::TPSAttribTime</a>.
+<p>
+<div class="fragment"><pre>00351 { <span class="keywordflow">return</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp26">_TimeIncrement</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda50" doxytag="NL3D::CPSLocated::getTimeIncrement" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03135.html">TPSAttribTime</a>&amp; NL3D::CPSLocated::getTimeIncrement </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get TotalTime attrib ref
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00349">349</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06247.html#l00624">_TimeIncrement</a>, and <a class="el" href="a06213.html#l00573">NL3D::TPSAttribTime</a>.
+<p>
+Referenced by <a class="el" href="a06229.html#l00182">NL3D::CompensateEmission()</a>.
+<p>
+<div class="fragment"><pre>00349 { <span class="keywordflow">return</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp26">_TimeIncrement</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda51" doxytag="NL3D::CPSLocated::getTriggerEmitterID" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> NL3D::CPSLocated::getTriggerEmitterID </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get the ID for the emitter to be triggered on death.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00565">565</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06247.html#l00738">_TriggerID</a>, <a class="el" href="a06247.html#l00737">_TriggerOnDeath</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00566 {
+00567 <a class="code" href="a04199.html#a6">nlassert</a>(_TriggerOnDeath);
+00568 <span class="keywordflow">return</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp27">_TriggerID</a>;
+00569 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda52" doxytag="NL3D::CPSLocated::getUserMatrixUsageCount" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> NL3D::CPSLocated::getUserMatrixUsageCount </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+
+<p>
+Reimplemented from <a class="el" href="a03054.html#NL3D_1_1CParticleSystemProcessa6">NL3D::CParticleSystemProcess</a>.
+<p>
+Definition at line <a class="el" href="a06246.html#l02284">2284</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00604">_LocatedBoundCont</a>, <a class="el" href="a05646.html#l00240">count</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>02285 {
+02286 <a class="code" href="a04558.html#a15">uint</a> <a class="code" href="a04223.html#a577">count</a> = 0;
+02287 <span class="keywordflow">for</span>(TLocatedBoundCont::const_iterator it = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.begin(); it != <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.end(); ++it)
+02288 {
+02289 <a class="code" href="a04223.html#a577">count</a> += (*it)-&gt;getUserMatrixUsageCount();
+02290 }
+02291 <span class="keywordflow">return</span> <a class="code" href="a04223.html#a577">count</a> + CParticleSystemProcess::getUserMatrixUsageCount();
+02292 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda53" doxytag="NL3D::CPSLocated::getUserParam" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float NL3D::CPSLocated::getUserParam </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>numParam</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l00484">484</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, <a class="el" href="a06143.html#l00346">NL3D::CParticleSystem::getUserParam()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06219.html#l01172">NL3D::CPSAttribMakerT&lt; T, F &gt;::get()</a>, <a class="el" href="a06219.html#l00596">NL3D::CPSAttribMakerT&lt; uint32, CPSValueBlendFunc&lt; uint32 &gt; &gt;::make()</a>, <a class="el" href="a06219.html#l00790">NL3D::CPSAttribMakerT&lt; uint32, CPSValueBlendFunc&lt; uint32 &gt; &gt;::make4()</a>, and <a class="el" href="a06219.html#l00978">NL3D::CPSAttribMakerT&lt; uint32, CPSValueBlendFunc&lt; uint32 &gt; &gt;::makeN()</a>.
+<p>
+<div class="fragment"><pre>00485 {
+00486 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+00487 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00488 <span class="keywordflow">return</span> <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getUserParam(numParam);
+00489 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda54" doxytag="NL3D::CPSLocated::getWorldToLocalMatrix" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a02851.html">NLMISC::CMatrix</a> &amp; NL3D::CPSLocated::getWorldToLocalMatrix </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l00108">108</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06143.html#l00190">NL3D::CParticleSystem::getInvertedSysMat()</a>, <a class="el" href="a06143.html#l00207">NL3D::CParticleSystem::getInvertedUserMatrix()</a>, <a class="el" href="a06151.html#l00143">NL3D::CParticleSystemProcess::getMatrixMode()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05363.html#a557a218">NL3D::PSFXWorldMatrix</a>, <a class="el" href="a05363.html#a557a219">NL3D::PSIdentityMatrix</a>, and <a class="el" href="a05363.html#a557a220">NL3D::PSUserMatrix</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l00612">computeI()</a>, <a class="el" href="a06246.html#l00643">computeJ()</a>, and <a class="el" href="a06246.html#l00674">computeK()</a>.
+<p>
+<div class="fragment"><pre>00109 {
+00110 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+00111 <span class="keywordflow">switch</span>(<a class="code" href="a03054.html#NL3D_1_1CPSLocateda33">getMatrixMode</a>())
+00112 {
+00113 <span class="keywordflow">case</span> <a class="code" href="a05363.html#a557a218">PSFXWorldMatrix</a>: <span class="keywordflow">return</span> <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getInvertedSysMat();
+00114 <span class="keywordflow">case</span> <a class="code" href="a05363.html#a557a219">PSIdentityMatrix</a>: <span class="keywordflow">return</span> <a class="code" href="a02851.html#NLMISC_1_1CMatrixs0">NLMISC::CMatrix::Identity</a>;
+00115 <span class="keywordflow">case</span> <a class="code" href="a05363.html#a557a220">PSUserMatrix</a>: <span class="keywordflow">return</span> <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getInvertedUserMatrix();
+00116 <span class="keywordflow">default</span>:
+00117 <a class="code" href="a04199.html#a6">nlassert</a>(0);
+00118 }
+00119 <a class="code" href="a04199.html#a6">nlassert</a>(0);
+00120 <span class="keywordflow">return</span> <a class="code" href="a02851.html#NLMISC_1_1CMatrixs0">NLMISC::CMatrix::Identity</a>;
+00121 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda55" doxytag="NL3D::CPSLocated::hasCollisionInfos" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CPSLocated::hasCollisionInfos </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+test wether this located has collision infos
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00435">435</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06247.html#l00657">_CollisionInfo</a>.
+<p>
+Referenced by <a class="el" href="a06229.html#l00182">NL3D::CompensateEmission()</a>.
+<p>
+<div class="fragment"><pre>00435 { <span class="keywordflow">return</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp0">_CollisionInfo</a> != NULL; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda56" doxytag="NL3D::CPSLocated::hasEmitters" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CPSLocated::hasEmitters </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+tells wether there are alive emitters / particles in the system
+<p>
+
+<p>
+Reimplemented from <a class="el" href="a03054.html#NL3D_1_1CParticleSystemProcessa7">NL3D::CParticleSystemProcess</a>.
+<p>
+Definition at line <a class="el" href="a06246.html#l00463">463</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00604">_LocatedBoundCont</a>, <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, and <a class="el" href="a06247.html#l00807">NL3D::PSEmitter</a>.
+<p>
+<div class="fragment"><pre>00464 {
+00465 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00466 <span class="keywordflow">for</span> (TLocatedBoundCont::const_iterator it = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.begin(); it != <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.end(); ++it)
+00467 {
+00468 <span class="keywordflow">if</span> ((*it)-&gt;getType() == <a class="code" href="a05363.html#a256">PSEmitter</a> &amp;&amp; (*it)-&gt;hasEmitters()) <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00469 }
+00470 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00471 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00472 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda57" doxytag="NL3D::CPSLocated::hasLODDegradation" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CPSLocated::hasLODDegradation </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Test whether LOD degradation was activated <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a03214.html#NL3D_1_1CPSLocateda13">forceLODDegradation()</a></dd></dl>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00514">514</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06247.html#l00726">_LODDegradation</a>.
+<p>
+<div class="fragment"><pre>00514 { <span class="keywordflow">return</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp10">_LODDegradation</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda58" doxytag="NL3D::CPSLocated::hasParticles" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CPSLocated::hasParticles </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+tells wether there are alive entities / particles in the system
+<p>
+
+<p>
+Reimplemented from <a class="el" href="a03054.html#NL3D_1_1CParticleSystemProcessa8">NL3D::CParticleSystemProcess</a>.
+<p>
+Definition at line <a class="el" href="a06246.html#l00450">450</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00604">_LocatedBoundCont</a>, <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, and <a class="el" href="a06247.html#l00806">NL3D::PSParticle</a>.
+<p>
+Referenced by <a class="el" href="a06142.html#l00300">NL3D::CParticleSystem::hasTemporaryParticles()</a>.
+<p>
+<div class="fragment"><pre>00451 {
+00452 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00453 <span class="keywordflow">for</span> (TLocatedBoundCont::const_iterator it = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.begin(); it != <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.end(); ++it)
+00454 {
+00455 <span class="keywordflow">if</span> ((*it)-&gt;getType() == <a class="code" href="a05363.html#a255">PSParticle</a> &amp;&amp; (*it)-&gt;hasParticles()) <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00456 }
+00457 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00458 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00459 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda59" doxytag="NL3D::CPSLocated::incrementNbDrawnParticles" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::incrementNbDrawnParticles </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>num</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+Shorcut to increase the particle counter (number of particle drawn, for benchmark purpose ) should be called only by bound object that display particles
+<p>
+Definition at line <a class="el" href="a06246.html#l00500">500</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, <a class="el" href="a05646.html#l01124">num</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06283.html#l00242">NL3D::CPSTailDot::displayRibbons()</a>, <a class="el" href="a06277.html#l00319">NL3D::CPSRibbonLookAt::displayRibbons()</a>, <a class="el" href="a06273.html#l00471">NL3D::CPSRibbon::displayRibbons()</a>, <a class="el" href="a06250.html#l01631">NL3D::CPSConstraintMesh::draw()</a>, <a class="el" href="a06226.html#l00122">NL3D::CPSDot::draw()</a>, <a class="el" href="a06231.html#l00055">NL3D::CPSFaceHelper::drawFaces()</a>, <a class="el" href="a06235.html#l00072">NL3D::CPSFanLightHelper::drawFanLight()</a>, <a class="el" href="a06233.html#l00379">NL3D::CPSFaceLookAtHelper::drawLookAt()</a>, <a class="el" href="a06233.html#l00089">NL3D::CPSFaceLookAtHelper::drawLookAtAlignOnMotion()</a>, and <a class="el" href="a06250.html#l00295">NL3D::CPSMesh::updatePos()</a>.
+<p>
+<div class="fragment"><pre>00501 {
+00502 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00503 CParticleSystem::NbParticlesDrawn += <a class="code" href="a04223.html#a653">num</a>; <span class="comment">// for benchmark purpose </span>
+00504 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda60" doxytag="NL3D::CPSLocated::integrableForceBasisChanged" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::integrableForceBasisChanged </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a05363.html#a557">TPSMatrixMode</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>basis</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l01885">1885</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00733">_NumIntegrableForceWithDifferentBasis</a>, <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, <a class="el" href="a06151.html#l00143">NL3D::CParticleSystemProcess::getMatrixMode()</a>, and <a class="el" href="a06246.html#l00364">releaseParametricInfos()</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l00401">setMatrixMode()</a>.
+<p>
+<div class="fragment"><pre>01886 {
+01887 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+01888 <span class="keywordflow">if</span> (<a class="code" href="a03054.html#NL3D_1_1CPSLocateda33">getMatrixMode</a>() != matrixMode)
+01889 {
+01890 ++<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp18">_NumIntegrableForceWithDifferentBasis</a>;
+01891 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedb4">releaseParametricInfos</a>();
+01892 }
+01893 <span class="keywordflow">else</span>
+01894 {
+01895 --<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp18">_NumIntegrableForceWithDifferentBasis</a>;
+01896 }
+01897 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+01898 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda61" doxytag="NL3D::CPSLocated::integrateSingle" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::integrateSingle </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname" nowrap> <em>startDate</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>deltaT</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>numStep</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>indexInLocated</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a03128.html">NLMISC::CVector</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>destPos</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>posStride</em> = sizeof(<a class="el" href="a03128.html">NLMISC::CVector</a>)</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+Compute the trajectory of the given located. NB : only works with object that have parametric trajectories
+<p>
+Definition at line <a class="el" href="a06246.html#l00256">256</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00736">_IntegrableForces</a>, <a class="el" href="a06247.html#l00741">_ParametricMotion</a>, <a class="el" href="a06247.html#l00650">_PInfo</a>, <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, <a class="el" href="a06247.html#l00641">NL3D::CPSLocated::CParametricInfo::Date</a>, <a class="el" href="a06252.html#l00061">NL3D::FillBufUsingSubdiv()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06247.html#l00639">NL3D::CPSLocated::CParametricInfo::Pos</a>, <a class="el" href="a06247.html#l00640">NL3D::CPSLocated::CParametricInfo::Speed</a>, <a class="el" href="a05646.html#l00244">stride</a>, <a class="el" href="a06246.html#l00376">supportParametricMotion()</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05981.html#l00100">uint32</a>, <a class="el" href="a05981.html#l00096">uint8</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::x</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::y</a>, and <a class="el" href="a06673.html#l00051">NLMISC::CVector::z</a>.
+<p>
+Referenced by <a class="el" href="a06283.html#l00242">NL3D::CPSTailDot::displayRibbons()</a>, <a class="el" href="a06277.html#l00319">NL3D::CPSRibbonLookAt::displayRibbons()</a>, <a class="el" href="a06273.html#l00471">NL3D::CPSRibbon::displayRibbons()</a>, <a class="el" href="a06229.html#l00901">NL3D::GenEmitterPositions()</a>, and <a class="el" href="a06229.html#l00951">NL3D::GenEmitterPositionsWithLOD()</a>.
+<p>
+<div class="fragment"><pre>00260 {
+00261 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00262 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a03214.html#NL3D_1_1CPSLocateda94">supportParametricMotion</a>() &amp;&amp; _ParametricMotion);
+00263 <span class="keywordflow">if</span> (<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp5">_IntegrableForces</a>.size() != 0)
+00264 {
+00265 <span class="keywordtype">bool</span> accumulate = <span class="keyword">false</span>;
+00266 <span class="keywordflow">for</span> (TForceVect::iterator it = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp5">_IntegrableForces</a>.begin(); it != <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp5">_IntegrableForces</a>.end(); ++it)
+00267 {
+00268 <a class="code" href="a04199.html#a6">nlassert</a>((*it)-&gt;isIntegrable());
+00269 (*it)-&gt;integrateSingle(startDate, deltaT, numStep, <span class="keyword">this</span>, indexInLocated, destPos, accumulate, stride);
+00270 accumulate = <span class="keyword">true</span>;
+00271 }
+00272 }
+00273 <span class="keywordflow">else</span> <span class="comment">// no forces applied, just deduce position from date, initial pos and speed</span>
+00274 {
+00275 <span class="preprocessor"> #ifdef NL_DEBUG</span>
+00276 <span class="preprocessor"></span> <a class="code" href="a03128.html">NLMISC::CVector</a> *endPos = (<a class="code" href="a03128.html">NLMISC::CVector</a> *) ( (<a class="code" href="a04558.html#a7">uint8</a> *) destPos + <a class="code" href="a04223.html#a582">stride</a> * numStep);
+00277 <span class="preprocessor"> #endif</span>
+00278 <span class="preprocessor"></span> <span class="keyword">const</span> CPSLocated::CParametricInfo &amp;pi = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedo0">_PInfo</a>[indexInLocated];
+00279 destPos = <a class="code" href="a05363.html#a500">FillBufUsingSubdiv</a>(pi.Pos, pi.Date, startDate, deltaT, numStep, destPos, stride);
+00280 <span class="keywordflow">if</span> (numStep != 0)
+00281 {
+00282 <span class="keywordtype">float</span> currDate = startDate - pi.Date;
+00283 <a class="code" href="a04199.html#a6">nlassert</a>(currDate &gt;= 0);
+00284 <span class="keywordflow">do</span>
+00285 {
+00286 <span class="preprocessor"> #ifdef NL_DEBUG</span>
+00287 <span class="preprocessor"></span> <a class="code" href="a04199.html#a6">nlassert</a>(destPos &lt; endPos);
+00288 <span class="preprocessor"> #endif </span>
+00289 <span class="preprocessor"></span> destPos-&gt;<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a> = pi.Pos.x + currDate * pi.Speed.x;
+00290 destPos-&gt;<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a> = pi.Pos.y + currDate * pi.Speed.y;
+00291 destPos-&gt;<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a> = pi.Pos.z + currDate * pi.Speed.z;
+00292 currDate += deltaT;
+00293 destPos = (<a class="code" href="a03128.html">NLMISC::CVector</a> *) ( (<a class="code" href="a04558.html#a7">uint8</a> *) destPos + <a class="code" href="a04223.html#a582">stride</a>);
+00294 }
+00295 <span class="keywordflow">while</span> (--numStep);
+00296 }
+00297 }
+00298 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00299 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda62" doxytag="NL3D::CPSLocated::isBound" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CPSLocated::isBound </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a02691.html">CPSLocatedBindable</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>lb</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l01914">1914</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00604">_LocatedBoundCont</a>, and <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>.
+<p>
+<div class="fragment"><pre>01915 {
+01916 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+01917 TLocatedBoundCont::const_iterator it = std::find(<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.begin(), <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.end(), lb);
+01918 <span class="keywordflow">return</span> it != <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.end();
+01919 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+01920 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda63" doxytag="NL3D::CPSLocated::isLocated" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual bool NL3D::CPSLocated::isLocated </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Reimplemented from <a class="el" href="a03054.html#NL3D_1_1CParticleSystemProcessa9">NL3D::CParticleSystemProcess</a>.
+<p>
+Definition at line <a class="el" href="a06247.html#l00148">148</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+<div class="fragment"><pre>00148 { <span class="keywordflow">return</span> <span class="keyword">true</span>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda64" doxytag="NL3D::CPSLocated::isParametricMotionEnabled" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CPSLocated::isParametricMotionEnabled </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+test wether parametric motion is enabled
+<p>
+
+<p>
+Reimplemented from <a class="el" href="a03054.html#NL3D_1_1CParticleSystemProcessa10">NL3D::CParticleSystemProcess</a>.
+<p>
+Definition at line <a class="el" href="a06247.html#l00535">535</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06247.html#l00741">_ParametricMotion</a>.
+<p>
+Referenced by <a class="el" href="a06229.html#l00182">NL3D::CompensateEmission()</a>, <a class="el" href="a06229.html#l00901">NL3D::GenEmitterPositions()</a>, and <a class="el" href="a06229.html#l00951">NL3D::GenEmitterPositionsWithLOD()</a>.
+<p>
+<div class="fragment"><pre>00535 { <span class="keywordflow">return</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp20">_ParametricMotion</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda65" doxytag="NL3D::CPSLocated::isTriggerOnDeathEnabled" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CPSLocated::isTriggerOnDeathEnabled </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Test wether a trigger on death has been enabled.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00555">555</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06247.html#l00737">_TriggerOnDeath</a>.
+<p>
+<div class="fragment"><pre>00555 { <span class="keywordflow">return</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp28">_TriggerOnDeath</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda66" doxytag="NL3D::CPSLocated::newElement" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a10">sint32</a> NL3D::CPSLocated::newElement </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">NLMISC::CVector</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>pos</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a03128.html">NLMISC::CVector</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>speed</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a03214.html">CPSLocated</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>emitterLocated</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>indexInEmitter</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a05363.html#a557">TPSMatrixMode</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>speedCoordSystem</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a05363.html#a366">TAnimationTime</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>ellapsedTime</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+Generate one more instance in a located. The coordinate are given in the chosen basis for the located. If the emitterLocated ptr is not null, then the coordinate are taken from the emitterLocated basis and are expressed in this located basis. other attributes are generated according to other properties of this class Will succeed only if it hasn't reach the max number of allowed instances return will be -1 if call failed or an index to the created object. Index is only valid after creation. Any processing pass on the system will make it invalid. It can be used with any attribute modification method of located and located bindable <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>indexInEmitter</em>&nbsp;</td><td>The index of the emitter (in the emitterLocated object) </td></tr>
+ <tr><td valign=top><em>basisConversionForSpeed</em>&nbsp;</td><td>: if false, the speed vector is taken as if even if emitter and emittee basis are differents. </td></tr>
+ <tr><td valign=top><em>ellapsedTime</em>&nbsp;</td><td></td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l00852">852</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00657">_CollisionInfo</a>, <a class="el" href="a06247.html#l00667">_InitialLife</a>, <a class="el" href="a06247.html#l00672">_InitialMass</a>, <a class="el" href="a06247.html#l00620">_InvMass</a>, <a class="el" href="a06247.html#l00668">_LifeScheme</a>, <a class="el" href="a06247.html#l00604">_LocatedBoundCont</a>, <a class="el" href="a06247.html#l00673">_MassScheme</a>, <a class="el" href="a06247.html#l00741">_ParametricMotion</a>, <a class="el" href="a06247.html#l00650">_PInfo</a>, <a class="el" href="a06247.html#l00624">_TimeIncrement</a>, <a class="el" href="a06247.html#l00707">_UpdateLock</a>, <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, <a class="el" href="a03136.html#NL3D_1_1CPSAttribMakerz714_1">NL3D::CPSAttribMaker&lt; float &gt;::get()</a>, <a class="el" href="a06143.html#l01016">NL3D::CParticleSystem::getAutoCountFlag()</a>, <a class="el" href="a06246.html#l00570">getConversionMatrix()</a>, <a class="el" href="a06143.html#l00190">NL3D::CParticleSystem::getInvertedSysMat()</a>, <a class="el" href="a06143.html#l00207">NL3D::CParticleSystem::getInvertedUserMatrix()</a>, <a class="el" href="a06151.html#l00143">NL3D::CParticleSystemProcess::getMatrixMode()</a>, <a class="el" href="a06247.html#l00369">getMaxSize()</a>, <a class="el" href="a06143.html#l00184">NL3D::CParticleSystem::getSysMat()</a>, <a class="el" href="a06143.html#l00311">NL3D::CParticleSystem::getSystemDate()</a>, <a class="el" href="a06143.html#l00197">NL3D::CParticleSystem::getUserMatrix()</a>, <a class="el" href="a03135.html#NL3D_1_1CPSAttribz710_1">NL3D::CPSAttrib&lt; CParametricInfo &gt;::insert()</a>, <a class="el" href="a03135.html#NL3D_1_1CPSAttribz710_1">NL3D::CPSAttrib&lt; float &gt;::insert()</a>, <a class="el" href="a06213.html#l00413">NL3D::CPSAttrib&lt; T &gt;::insert()</a>, <a class="el" href="a06142.html#l01337">NL3D::CParticleSystem::interpolateFXPosDelta()</a>, <a class="el" href="a06142.html#l01344">NL3D::CParticleSystem::interpolateUserPosDelta()</a>, <a class="el" href="a05972.html#l01244">NLMISC::CMatrix::mulVector()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06246.html#l01028">postNewElement()</a>, <a class="el" href="a05363.html#a557a218">NL3D::PSFXWorldMatrix</a>, <a class="el" href="a05363.html#a557a219">NL3D::PSIdentityMatrix</a>, <a class="el" href="a05363.html#a557a220">NL3D::PSUserMatrix</a>, <a class="el" href="a06246.html#l01117">resize()</a>, <a class="el" href="a05981.html#l00099">sint32</a>, <a class="el" href="a05454.html#l00044">NL3D::TAnimationTime</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a06229.html#l00119">NL3D::CPSEmitter::processEmit()</a>, <a class="el" href="a06229.html#l00247">NL3D::CPSEmitter::processEmitConsistent()</a>, and <a class="el" href="a06246.html#l01703">updateNewElementRequestStack()</a>.
+<p>
+<div class="fragment"><pre>00853 {
+00854 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00855 <span class="keywordflow">if</span> (<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp29">_UpdateLock</a>)
+00856 {
+00857 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedb3">postNewElement</a>(pos, speed);
+00858 <span class="keywordflow">return</span> -1;
+00859 }
+00860
+00861
+00862 <a class="code" href="a04558.html#a10">sint32</a> creationIndex;
+00863
+00864 <span class="comment">// get the convertion matrix from the emitter basis to the emittee basis</span>
+00865 <span class="comment">// if the emitter is null, we assume that the coordinate are given in the chosen basis for this particle type</span>
+00866
+00867 <span class="keywordflow">if</span> (<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp14">_MaxSize</a> == <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp23">_Size</a>)
+00868 {
+00869 <span class="keywordflow">if</span> (<a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a> &amp;&amp; <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getAutoCountFlag() &amp;&amp; <a class="code" href="a03214.html#NL3D_1_1CPSLocateda34">getMaxSize</a>() &lt; ((1 &lt;&lt; 16) - 1) )
+00870 {
+00871 <span class="comment">// we are probably in edition mode -&gt; auto-count mode helps to compute ideal particle array size</span>
+00872 <span class="comment">// but at the expense of costly allocations</span>
+00873 <a class="code" href="a04558.html#a15">uint</a> maxSize = <a class="code" href="a03214.html#NL3D_1_1CPSLocateda34">getMaxSize</a>();
+00874 <a class="code" href="a03214.html#NL3D_1_1CPSLocateda79">resize</a>(maxSize == 0 ? 1 : NLMISC::raiseToNextPowerOf2(maxSize) - 1); <span class="comment">// force a reserve with next power of 2 (no important in edition mode)</span>
+00875 <a class="code" href="a03214.html#NL3D_1_1CPSLocateda79">resize</a>(maxSize + 1);
+00876 }
+00877 <span class="keywordflow">else</span>
+00878 {
+00879 <span class="keywordflow">return</span> -1;
+00880 }
+00881 }
+00882 <span class="keywordflow">if</span> (<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp0">_CollisionInfo</a>)
+00883 {
+00884 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp0">_CollisionInfo</a>-&gt;insert();
+00885 }
+00886
+00887 <span class="comment">// During creation, we interpolate the position of the system (by using the ellapsed time) if particle are created in world basis and if the emitter is in local basis.</span>
+00888 <span class="comment">// Example a fireball FX let particles in world basis, but the fireball is moving. If we dont interpolate position between 2 frames, emission will appear to be "sporadic".</span>
+00889 <span class="comment">// For now, we manage the local to world case. The world to local is possible, but not very useful </span>
+00890 <span class="keywordflow">switch</span>(emitter ? emitter-&gt;getMatrixMode() : this-&gt;<a class="code" href="a03054.html#NL3D_1_1CPSLocateda33">getMatrixMode</a>())
+00891 {
+00892 <span class="keywordflow">case</span> <a class="code" href="a05363.html#a557a218">PSFXWorldMatrix</a>:
+00893 <span class="keywordflow">switch</span>(this-&gt;<a class="code" href="a03054.html#NL3D_1_1CPSLocateda33">getMatrixMode</a>())
+00894 {
+00895 <span class="keywordflow">case</span> <a class="code" href="a05363.html#a557a218">PSFXWorldMatrix</a>:
+00896 {
+00897 creationIndex =<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp21">_Pos</a>.insert(pos);
+00898 }
+00899 <span class="keywordflow">break</span>;
+00900 <span class="keywordflow">case</span> <a class="code" href="a05363.html#a557a219">PSIdentityMatrix</a>:
+00901 {
+00902 CVector fxPosDelta;
+00903 <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;interpolateFXPosDelta(fxPosDelta, ellapsedTime);
+00904 creationIndex =<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp21">_Pos</a>.insert(<a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getSysMat() * pos + fxPosDelta);
+00905 }
+00906 <span class="keywordflow">break</span>;
+00907 <span class="keywordflow">case</span> <a class="code" href="a05363.html#a557a220">PSUserMatrix</a>:
+00908 {
+00909 CVector fxPosDelta;
+00910 <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;interpolateFXPosDelta(fxPosDelta, ellapsedTime);
+00911 CVector userMatrixPosDelta;
+00912 <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;interpolateUserPosDelta(userMatrixPosDelta, ellapsedTime);
+00913 creationIndex =<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp21">_Pos</a>.insert(<a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getInvertedUserMatrix() * (<a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getSysMat() * pos + fxPosDelta - userMatrixPosDelta));
+00914 }
+00915 <span class="keywordflow">break</span>;
+00916 <span class="keywordflow">default</span>:
+00917 <a class="code" href="a04199.html#a6">nlassert</a>(0);
+00918 }
+00919 <span class="keywordflow">break</span>;
+00920 <span class="keywordflow">case</span> <a class="code" href="a05363.html#a557a219">PSIdentityMatrix</a>:
+00921 <span class="keywordflow">switch</span>(this-&gt;<a class="code" href="a03054.html#NL3D_1_1CPSLocateda33">getMatrixMode</a>())
+00922 {
+00923 <span class="keywordflow">case</span> <a class="code" href="a05363.html#a557a218">PSFXWorldMatrix</a>:
+00924 {
+00925 CVector fxPosDelta;
+00926 <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;interpolateFXPosDelta(fxPosDelta, ellapsedTime);
+00927 creationIndex =<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp21">_Pos</a>.insert(<a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getInvertedSysMat() * (pos - fxPosDelta));
+00928 }
+00929 <span class="keywordflow">break</span>;
+00930 <span class="keywordflow">case</span> <a class="code" href="a05363.html#a557a219">PSIdentityMatrix</a>:
+00931 {
+00932 creationIndex =<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp21">_Pos</a>.insert(pos);
+00933 }
+00934 <span class="keywordflow">break</span>;
+00935 <span class="keywordflow">case</span> <a class="code" href="a05363.html#a557a220">PSUserMatrix</a>:
+00936 {
+00937 CVector userMatrixPosDelta;
+00938 <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;interpolateUserPosDelta(userMatrixPosDelta, ellapsedTime);
+00939 creationIndex =<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp21">_Pos</a>.insert(<a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getInvertedUserMatrix() * (pos - userMatrixPosDelta));
+00940 }
+00941 <span class="keywordflow">break</span>;
+00942 <span class="keywordflow">default</span>:
+00943 <a class="code" href="a04199.html#a6">nlassert</a>(0);
+00944 }
+00945 <span class="keywordflow">break</span>;
+00946 <span class="keywordflow">case</span> <a class="code" href="a05363.html#a557a220">PSUserMatrix</a>:
+00947 <span class="keywordflow">switch</span>(this-&gt;<a class="code" href="a03054.html#NL3D_1_1CPSLocateda33">getMatrixMode</a>())
+00948 {
+00949 <span class="keywordflow">case</span> <a class="code" href="a05363.html#a557a218">PSFXWorldMatrix</a>:
+00950 {
+00951 CVector fxPosDelta;
+00952 <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;interpolateFXPosDelta(fxPosDelta, ellapsedTime);
+00953 CVector userMatrixPosDelta;
+00954 <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;interpolateUserPosDelta(userMatrixPosDelta, ellapsedTime);
+00955 creationIndex =<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp21">_Pos</a>.insert(<a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getInvertedSysMat() * (<a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getUserMatrix() * pos + userMatrixPosDelta- fxPosDelta));
+00956 }
+00957 <span class="keywordflow">break</span>;
+00958 <span class="keywordflow">case</span> <a class="code" href="a05363.html#a557a219">PSIdentityMatrix</a>:
+00959 {
+00960 CVector userMatrixPosDelta;
+00961 <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;interpolateUserPosDelta(userMatrixPosDelta, ellapsedTime);
+00962 creationIndex =<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp21">_Pos</a>.insert(<a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getUserMatrix() * pos + userMatrixPosDelta);
+00963 }
+00964 <span class="keywordflow">break</span>;
+00965 <span class="keywordflow">case</span> <a class="code" href="a05363.html#a557a220">PSUserMatrix</a>:
+00966 {
+00967 creationIndex =<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp21">_Pos</a>.insert(pos);
+00968 }
+00969 <span class="keywordflow">break</span>;
+00970 <span class="keywordflow">default</span>:
+00971 <a class="code" href="a04199.html#a6">nlassert</a>(0);
+00972 }
+00973 <span class="keywordflow">break</span>;
+00974 <span class="keywordflow">default</span>:
+00975 <a class="code" href="a04199.html#a6">nlassert</a>(0);
+00976 }
+00977
+00978
+00979 <a class="code" href="a04199.html#a6">nlassert</a>(creationIndex != -1); <span class="comment">// all attributs must contains the same number of elements </span>
+00980
+00981 <span class="keywordflow">if</span> (speedCoordSystem == this-&gt;<a class="code" href="a03054.html#NL3D_1_1CPSLocateda33">getMatrixMode</a>()) <span class="comment">// is speed vector expressed in the good basis ?</span>
+00982 {
+00983 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp24">_Speed</a>.insert(speed);
+00984 }
+00985 <span class="keywordflow">else</span>
+00986 {
+00987 <span class="comment">// must do conversion of speed</span>
+00988 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+00989 <span class="keyword">const</span> <a class="code" href="a02851.html">NLMISC::CMatrix</a> &amp;convMat = <a class="code" href="a03214.html#NL3D_1_1CPSLocatede1">getConversionMatrix</a>(*_Owner, this-&gt;getMatrixMode(), speedCoordSystem);
+00990 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp24">_Speed</a>.insert(convMat.<a class="code" href="a02851.html#NLMISC_1_1CMatrixz1968_1">mulVector</a>(speed));
+00991 }
+00992
+00993 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp6">_InvMass</a>.insert(1.f / ((_MassScheme &amp;&amp; emitter) ? <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp11">_MassScheme</a>-&gt;get(emitter, indexInEmitter) : <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp4">_InitialMass</a> ) );
+00994 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp25">_Time</a>.insert(0.0f);
+00995 <span class="keyword">const</span> <span class="keywordtype">float</span> lifeTime = (<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp8">_LifeScheme</a> &amp;&amp; emitter) ? <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp8">_LifeScheme</a>-&gt;get(emitter, indexInEmitter) : <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp3">_InitialLife</a> ;
+00996 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp26">_TimeIncrement</a>.insert( lifeTime ? 1.f / lifeTime : 10E6f);
+00997
+00998 <span class="comment">// test wether parametric motion is used, and generate the infos that are needed then</span>
+00999 <span class="keywordflow">if</span> (<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp20">_ParametricMotion</a>)
+01000 {
+01001 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedo0">_PInfo</a>.insert( CParametricInfo(_Pos[creationIndex], _Speed[creationIndex], <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getSystemDate() ) );
+01002 }
+01003
+01004
+01006 <span class="comment">// generate datas for all bound objects //</span>
+01008 <span class="comment"></span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp29">_UpdateLock</a> = <span class="keyword">true</span>;
+01009
+01010
+01011 <span class="keywordflow">for</span> (TLocatedBoundCont::iterator it = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.begin(); it != <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.end(); ++it)
+01012 {
+01013 (*it)-&gt;newElement(emitter, indexInEmitter);
+01014 }
+01015
+01016
+01017 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp29">_UpdateLock</a> = <span class="keyword">false</span>;
+01018 ++<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp23">_Size</a>; <span class="comment">// if this is modified, you must also modify the getNewElementIndex in this class</span>
+01019 <span class="comment">// because that method give the index of the element being created for overrider of the newElement method</span>
+01020 <span class="comment">// of the CPSLocatedClass (which is called just above)</span>
+01021
+01022
+01023 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+01024 <span class="keywordflow">return</span> creationIndex;
+01025 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda67" doxytag="NL3D::CPSLocated::NLMISC_DECLARE_CLASS" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NL3D::CPSLocated::NLMISC_DECLARE_CLASS </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03214.html">CPSLocated</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda68" doxytag="NL3D::CPSLocated::notifyMaxNumFacesChanged" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::notifyMaxNumFacesChanged </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+nlassertex(maxNumFaces &lt; ((1 &lt;&lt; 16) - 1), ("%s", (*it)-&gt;<a class="el" href="a02540.html#NL3D_1_1ITrackKeyFramer_3_01CKeyVector_01_4a6">getClassName()</a>.c_str()));
+<p>
+Definition at line <a class="el" href="a06246.html#l00422">422</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00604">_LocatedBoundCont</a>, <a class="el" href="a06247.html#l00592">_MaxNumFaces</a>, <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, <a class="el" href="a06247.html#l00806">NL3D::PSParticle</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l00751">bind()</a>, <a class="el" href="a06258.html#l00151">NL3D::CPSParticle::notifyOwnerMaxNumFacesChanged()</a>, and <a class="el" href="a06246.html#l01117">resize()</a>.
+<p>
+<div class="fragment"><pre>00423 {
+00424 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00425 <span class="keywordflow">if</span> (!<a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>) <span class="keywordflow">return</span>;
+00426
+00427 <span class="comment">// we examine wether we have particle attached to us, and ask for the max number of faces they may want</span>
+00428 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp13">_MaxNumFaces</a> = 0;
+00429 <span class="keywordflow">for</span> (TLocatedBoundCont::const_iterator it = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.begin(); it != <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.end(); ++it)
+00430 {
+00431 <span class="keywordflow">if</span> ((*it)-&gt;getType() == <a class="code" href="a05363.html#a255">PSParticle</a>)
+00432 {
+00433 <a class="code" href="a04558.html#a15">uint</a> maxNumFaces = ((CPSParticle *) (*it))-&gt;getMaxNumFaces();
+00435 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp13">_MaxNumFaces</a> += maxNumFaces;
+00436 }
+00437 }
+00438 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00439 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedb2" doxytag="NL3D::CPSLocated::notifyMotionTypeChanged" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::notifyMotionTypeChanged </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l00244">244</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00604">_LocatedBoundCont</a>, <a class="el" href="a06247.html#l00741">_ParametricMotion</a>, and <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l00341">allocateParametricInfos()</a>, and <a class="el" href="a06246.html#l00364">releaseParametricInfos()</a>.
+<p>
+<div class="fragment"><pre>00245 {
+00246 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00247 <span class="keywordflow">for</span> (TLocatedBoundCont::const_iterator it = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.begin(); it != <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.end(); ++it)
+00248 {
+00249 (*it)-&gt;motionTypeChanged(_ParametricMotion);
+00250 }
+00251 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00252 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda69" doxytag="NL3D::CPSLocated::performParametricMotion" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::performParametricMotion </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a05363.html#a366">TAnimationTime</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>date</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a05363.html#a366">TAnimationTime</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>ellapsedTime</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a05363.html#a366">TAnimationTime</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>realEllapsedTime</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+
+<p>
+Reimplemented from <a class="el" href="a03054.html#NL3D_1_1CParticleSystemProcessa11">NL3D::CParticleSystemProcess</a>.
+<p>
+Definition at line <a class="el" href="a06246.html#l00302">302</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00736">_IntegrableForces</a>, <a class="el" href="a06247.html#l00741">_ParametricMotion</a>, <a class="el" href="a06247.html#l00650">_PInfo</a>, <a class="el" href="a06213.html#l00353">NL3D::CPSAttrib&lt; T &gt;::begin()</a>, <a class="el" href="a06213.html#l00353">NL3D::CPSAttrib&lt; CParametricInfo &gt;::begin()</a>, <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, <a class="el" href="a06213.html#l00356">NL3D::CPSAttrib&lt; CParametricInfo &gt;::end()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06246.html#l00376">supportParametricMotion()</a>, and <a class="el" href="a05454.html#l00044">NL3D::TAnimationTime</a>.
+<p>
+<div class="fragment"><pre>00303 {
+00304 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00305 <span class="keywordflow">if</span> (!<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp23">_Size</a>) <span class="keywordflow">return</span>;
+00306 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a03214.html#NL3D_1_1CPSLocateda94">supportParametricMotion</a>() &amp;&amp; _ParametricMotion);
+00307
+00308 <span class="keywordflow">if</span> (<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp5">_IntegrableForces</a>.size() != 0)
+00309 {
+00310 <span class="keywordtype">bool</span> accumulate = <span class="keyword">false</span>;
+00311 <span class="keywordflow">for</span> (TForceVect::iterator it = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp5">_IntegrableForces</a>.begin(); it != <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp5">_IntegrableForces</a>.end(); ++it)
+00312 {
+00313 <a class="code" href="a04199.html#a6">nlassert</a>((*it)-&gt;isIntegrable());
+00314 (*it)-&gt;integrate(date, <span class="keyword">this</span>, 0, _Size, &amp;_Pos[0], &amp;_Speed[0], accumulate);
+00315 accumulate = <span class="keyword">true</span>;
+00316 }
+00317 }
+00318 <span class="keywordflow">else</span>
+00319 {
+00320 CPSLocated::TPSAttribParametricInfo::const_iterator it = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedo0">_PInfo</a>.begin(),
+00321 endIt = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedo0">_PInfo</a>.end();
+00322 TPSAttribVector::iterator posIt = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp21">_Pos</a>.begin();
+00323 <span class="keywordtype">float</span> deltaT;
+00324 <span class="keywordflow">do</span>
+00325 {
+00326 deltaT = date - it-&gt;Date;
+00327 posIt-&gt;x = it-&gt;Pos.x + deltaT * it-&gt;Speed.x;
+00328 posIt-&gt;y = it-&gt;Pos.y + deltaT * it-&gt;Speed.y;
+00329 posIt-&gt;z = it-&gt;Pos.z + deltaT * it-&gt;Speed.z;
+00330 ++posIt;
+00331 ++it;
+00332 }
+00333 <span class="keywordflow">while</span> (it != endIt);
+00334 }
+00335 <span class="comment">//step(PSEmit, ellapsedTime, realEllapsedTime); </span>
+00336 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00337 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedb3" doxytag="NL3D::CPSLocated::postNewElement" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::postNewElement </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">NLMISC::CVector</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>pos</em> = <a class="el" href="a03128.html#NLMISC_1_1CVectors3">NLMISC::CVector::Null</a>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a03128.html">NLMISC::CVector</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>speed</em> = <a class="el" href="a03128.html#NLMISC_1_1CVectors3">NLMISC::CVector::Null</a></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+Post a request for the generation of a new located. it is called by newElement when _UpdateLock is set (when called during newElement or deleteElement)
+<p>
+Definition at line <a class="el" href="a06246.html#l01028">1028</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00693">_RequestStack</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l00852">newElement()</a>.
+<p>
+<div class="fragment"><pre>01029 {
+01030 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp22">_RequestStack</a>.push(CPostNewElementRequestInfo(pos, speed));
+01031 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda70" doxytag="NL3D::CPSLocated::querryMaxWantedNumFaces" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> NL3D::CPSLocated::querryMaxWantedNumFaces </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+
+<p>
+Implements <a class="el" href="a03054.html#NL3D_1_1CParticleSystemProcessa12">NL3D::CParticleSystemProcess</a>.
+<p>
+Definition at line <a class="el" href="a06246.html#l00442">442</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00592">_MaxNumFaces</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>00443 {
+00444 <span class="keywordflow">return</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp13">_MaxNumFaces</a>;
+00445 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda71" doxytag="NL3D::CPSLocated::queryCollisionInfo" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::queryCollisionInfo </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+call this if you need collision infos. The collide info attribute is not included by default to save memory. The first call will create the attribute, and others will add references. You can then access the infos by calling getCollisioInfo You must call releaseCollideInfo after use.
+<p>
+Definition at line <a class="el" href="a06246.html#l01783">1783</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00657">_CollisionInfo</a>, <a class="el" href="a06247.html#l00662">_CollisionInfoNbRef</a>, <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, <a class="el" href="a06213.html#l00413">NL3D::CPSAttrib&lt; T &gt;::insert()</a>, <a class="el" href="a06213.html#l00404">NL3D::CPSAttrib&lt; T &gt;::resize()</a>, <a class="el" href="a06247.html#l00114">NL3D::TPSAttribCollisionInfo</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06287.html#l00073">NL3D::CPSZone::attachTarget()</a>.
+<p>
+<div class="fragment"><pre>01784 {
+01785 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+01786 <span class="keywordflow">if</span> (<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp1">_CollisionInfoNbRef</a>)
+01787 {
+01788 ++ <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp1">_CollisionInfoNbRef</a>;
+01789 }
+01790 <span class="keywordflow">else</span>
+01791 {
+01792 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp0">_CollisionInfo</a> = <span class="keyword">new</span> <a class="code" href="a05363.html#a253">TPSAttribCollisionInfo</a>;
+01793 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp1">_CollisionInfoNbRef</a> = 1;
+01794 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp0">_CollisionInfo</a>-&gt;resize(_MaxSize);
+01795
+01796 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a15">uint</a> k = 0; k &lt; <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp23">_Size</a>; ++k)
+01797 {
+01798 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp0">_CollisionInfo</a>-&gt;insert();
+01799 }
+01800 }
+01801 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+01802 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda72" doxytag="NL3D::CPSLocated::registerDtorObserver" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::registerDtorObserver </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02691.html">CPSLocatedBindable</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>observer</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+Register a dtor observer; (that derives from <a class="el" href="a02691.html">CPSLocatedBindable</a>) Each observer will be called when this object dtor is called (call of method notifyTargetRemoved() ) This allow for objects that hold this as a target to know when it is suppressed (example : collision objects hold located as targets) When an observer is detroyed, it MUST call unregisterDtorObserver, The same observer can only register once, otherwise, an assertion occurs
+<p>
+Definition at line <a class="el" href="a06246.html#l00824">824</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00723">_DtorObserversVect</a>, <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l02202">NL3D::CPSTargetLocatedBindable::attachTarget()</a>, and <a class="el" href="a06229.html#l00361">NL3D::CPSEmitter::setEmittedType()</a>.
+<p>
+<div class="fragment"><pre>00825 {
+00826 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00827 <span class="comment">// check wether the observer wasn't registered twice</span>
+00828 <a class="code" href="a04199.html#a6">nlassert</a>(std::find(<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp2">_DtorObserversVect</a>.begin(), <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp2">_DtorObserversVect</a>.end(), anObserver) == <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp2">_DtorObserversVect</a>.end());
+00829 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp2">_DtorObserversVect</a>.push_back(anObserver);
+00830 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00831 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda73" doxytag="NL3D::CPSLocated::registerIntegrableForce" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::registerIntegrableForce </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02690.html">CPSForce</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>f</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l01836">1836</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00736">_IntegrableForces</a>, <a class="el" href="a06247.html#l00733">_NumIntegrableForceWithDifferentBasis</a>, <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, <a class="el" href="a06151.html#l00143">NL3D::CParticleSystemProcess::getMatrixMode()</a>, <a class="el" href="a06247.html#l00942">NL3D::CPSLocatedBindable::getOwner()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a06246.html#l00364">releaseParametricInfos()</a>.
+<p>
+Referenced by <a class="el" href="a06239.html#l00094">NL3D::CPSForce::attachTarget()</a>.
+<p>
+<div class="fragment"><pre>01837 {
+01838 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+01839 <a class="code" href="a04199.html#a6">nlassert</a>(std::find(<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp5">_IntegrableForces</a>.begin(), <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp5">_IntegrableForces</a>.end(), f) == <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp5">_IntegrableForces</a>.end()); <span class="comment">// force registered twice</span>
+01840 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp5">_IntegrableForces</a>.push_back(f);
+01841 <span class="keywordflow">if</span> (<a class="code" href="a03054.html#NL3D_1_1CPSLocateda33">getMatrixMode</a>() != f-&gt;getOwner()-&gt;getMatrixMode())
+01842 {
+01843 ++<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp18">_NumIntegrableForceWithDifferentBasis</a>;
+01844 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedb4">releaseParametricInfos</a>();
+01845 }
+01846 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+01847 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda74" doxytag="NL3D::CPSLocated::releaseAllRef" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::releaseAllRef </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+From <a class="el" href="a03054.html">CParticleSystemProcess</a>. Release any reference this located may have to other process of the system For example, this is used when detaching a process of a system.
+<p>
+Implements <a class="el" href="a03054.html#NL3D_1_1CParticleSystemProcessa13">NL3D::CParticleSystemProcess</a>.
+<p>
+Definition at line <a class="el" href="a06246.html#l00212">212</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00657">_CollisionInfo</a>, <a class="el" href="a06247.html#l00662">_CollisionInfoNbRef</a>, <a class="el" href="a06247.html#l00723">_DtorObserversVect</a>, <a class="el" href="a06247.html#l00736">_IntegrableForces</a>, <a class="el" href="a06247.html#l00604">_LocatedBoundCont</a>, <a class="el" href="a06247.html#l00731">_NonIntegrableForceNbRefs</a>, <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a06247.html#l00722">TDtorObserversVect</a>.
+<p>
+<div class="fragment"><pre>00213 {
+00214 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00215 <span class="comment">// located bindables</span>
+00216 {
+00217 <span class="keywordflow">for</span>(TLocatedBoundCont::iterator it = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.begin(); it != <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.end(); ++it)
+00218 {
+00219 (*it)-&gt;releaseAllRef();
+00220 }
+00221 }
+00222
+00223 <span class="comment">// we must do a copy, because the subsequent call can modify this vector</span>
+00224 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedx0">TDtorObserversVect</a> copyVect(<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp2">_DtorObserversVect</a>.begin(), <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp2">_DtorObserversVect</a>.end());
+00225 <span class="comment">// call all the dtor observers</span>
+00226 <span class="keywordflow">for</span> (TDtorObserversVect::iterator it = copyVect.begin(); it != copyVect.end(); ++it)
+00227 {
+00228 (*it)-&gt;notifyTargetRemoved(<span class="keyword">this</span>);
+00229 }
+00230 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp2">_DtorObserversVect</a>.clear();
+00231
+00232 <a class="code" href="a04199.html#a6">nlassert</a>(_CollisionInfoNbRef == 0); <span class="comment">//If this is not = 0, then someone didnt call releaseCollisionInfo</span>
+00233 <span class="comment">// If this happen, you can register with the registerDTorObserver</span>
+00234 <span class="comment">// (observer pattern)</span>
+00235 <span class="comment">// and override notifyTargetRemove to call releaseCollisionInfo</span>
+00236 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp5">_IntegrableForces</a>.size() == 0);
+00237 <a class="code" href="a04199.html#a6">nlassert</a>(_NonIntegrableForceNbRefs == 0);
+00238 <a class="code" href="a04199.html#a6">nlassert</a>(!_CollisionInfo);
+00239 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00240 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda75" doxytag="NL3D::CPSLocated::releaseCollisionInfo" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::releaseCollisionInfo </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l01805">1805</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00657">_CollisionInfo</a>, <a class="el" href="a06247.html#l00662">_CollisionInfoNbRef</a>, <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+Referenced by <a class="el" href="a06287.html#l00086">NL3D::CPSZone::releaseTargetRsc()</a>.
+<p>
+<div class="fragment"><pre>01806 {
+01807 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+01808 <a class="code" href="a04199.html#a6">nlassert</a>(_CollisionInfoNbRef); <span class="comment">// check whether queryCollisionInfo was called</span>
+01809 <span class="comment">// so the number of refs must not = 0 </span>
+01810 --<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp1">_CollisionInfoNbRef</a>;
+01811 <span class="keywordflow">if</span> (<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp1">_CollisionInfoNbRef</a> == 0)
+01812 {
+01813 <span class="keyword">delete</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp0">_CollisionInfo</a>;
+01814 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp0">_CollisionInfo</a> = NULL;
+01815 }
+01816 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+01817 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda76" doxytag="NL3D::CPSLocated::releaseNonIntegrableForceRef" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::releaseNonIntegrableForceRef </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l01875">1875</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00731">_NonIntegrableForceNbRefs</a>, <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+Referenced by <a class="el" href="a06287.html#l00086">NL3D::CPSZone::releaseTargetRsc()</a>, and <a class="el" href="a06239.html#l00109">NL3D::CPSForce::releaseTargetRsc()</a>.
+<p>
+<div class="fragment"><pre>01876 {
+01877 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+01878 <a class="code" href="a04199.html#a6">nlassert</a>(_NonIntegrableForceNbRefs != 0);
+01879 --<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp17">_NonIntegrableForceNbRefs</a>;
+01880 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+01881 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedb4" doxytag="NL3D::CPSLocated::releaseParametricInfos" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::releaseParametricInfos </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+release paametric infos
+<p>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l00364">364</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00741">_ParametricMotion</a>, <a class="el" href="a06247.html#l00650">_PInfo</a>, <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, <a class="el" href="a05587.html#l00141">NLMISC::contReset()</a>, and <a class="el" href="a06246.html#l00244">notifyMotionTypeChanged()</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l01866">addNonIntegrableForceRef()</a>, <a class="el" href="a06246.html#l00385">enableParametricMotion()</a>, <a class="el" href="a06246.html#l01885">integrableForceBasisChanged()</a>, and <a class="el" href="a06246.html#l01836">registerIntegrableForce()</a>.
+<p>
+<div class="fragment"><pre>00365 {
+00366 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00367 <span class="keywordflow">if</span> (!<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp20">_ParametricMotion</a>) <span class="keywordflow">return</span>;
+00368 <a class="code" href="a05378.html#a381">NLMISC::contReset</a>(_PInfo);
+00369 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp20">_ParametricMotion</a> = <span class="keyword">false</span>;
+00370 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedb2">notifyMotionTypeChanged</a>();
+00371 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00372 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda77" doxytag="NL3D::CPSLocated::releaseRefTo" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::releaseRefTo </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03054.html">CParticleSystemProcess</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>other</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+From <a class="el" href="a03054.html">CParticleSystemProcess</a>. Release any reference this located may have on the given process. For example, this is used when detaching a located of a system.
+<p>
+Implements <a class="el" href="a03054.html#NL3D_1_1CParticleSystemProcessa14">NL3D::CParticleSystemProcess</a>.
+<p>
+Definition at line <a class="el" href="a06246.html#l00185">185</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00723">_DtorObserversVect</a>, <a class="el" href="a06247.html#l00604">_LocatedBoundCont</a>, <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, and <a class="el" href="a06246.html#l01996">NL3D::CPSLocatedBindable::notifyTargetRemoved()</a>.
+<p>
+<div class="fragment"><pre>00186 {
+00187 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00188 <span class="comment">// located bindables</span>
+00189 {
+00190 <span class="keywordflow">for</span>(TLocatedBoundCont::iterator it = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.begin(); it != <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.end(); ++it)
+00191 {
+00192 (*it)-&gt;releaseRefTo(other);
+00193 }
+00194 }
+00195 <span class="comment">// dtor observers</span>
+00196 {
+00197
+00198 <span class="keywordflow">for</span>(TDtorObserversVect::iterator it = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp2">_DtorObserversVect</a>.begin(); it != <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp2">_DtorObserversVect</a>.end(); ++it)
+00199 {
+00200 <span class="keywordflow">if</span> ((*it)-&gt;getOwner() == other)
+00201 {
+00202 CPSLocatedBindable *refMaker = *it;
+00203 refMaker-&gt;notifyTargetRemoved(<span class="keyword">this</span>);
+00204 <span class="keywordflow">break</span>;
+00205 }
+00206 }
+00207 }
+00208 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00209 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda78" doxytag="NL3D::CPSLocated::remove" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::remove </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a02691.html">CPSLocatedBindable</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>lb</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+remove a bound object from the located if the object doesnt exist -&gt; nlassert it is deleted
+<p>
+Definition at line <a class="el" href="a06246.html#l00808">808</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00604">_LocatedBoundCont</a>, <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a06142.html#l01521">NL3D::CParticleSystem::systemDurationChanged()</a>.
+<p>
+<div class="fragment"><pre>00809 {
+00810 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00811 TLocatedBoundCont::iterator it = std::find(<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.begin(), <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.end(), p);
+00812 <a class="code" href="a04199.html#a6">nlassert</a>(it != <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.end());
+00813 (*it)-&gt;finalize();
+00814 <span class="keyword">delete</span> *it;
+00815 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.erase(it);
+00816 <span class="keywordflow">if</span> (<a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>)
+00817 {
+00818 <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;systemDurationChanged();
+00819 }
+00820 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00821 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedb5" doxytag="NL3D::CPSLocated::resetCollisionInfo" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::resetCollisionInfo </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l01821">1821</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00657">_CollisionInfo</a>, <a class="el" href="a06213.html#l00353">NL3D::CPSAttrib&lt; T &gt;::begin()</a>, <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, <a class="el" href="a06213.html#l00356">NL3D::CPSAttrib&lt; T &gt;::end()</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+<div class="fragment"><pre>01822 {
+01823 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+01824 <a class="code" href="a04199.html#a6">nlassert</a>(_CollisionInfo);
+01825
+01826 TPSAttribCollisionInfo::iterator it = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp0">_CollisionInfo</a>-&gt;begin(), endIt = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp0">_CollisionInfo</a>-&gt;end();
+01827
+01828 <span class="keywordflow">for</span> (; it != endIt; ++it)
+01829 {
+01830 it-&gt;reset();
+01831 }
+01832 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+01833 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda79" doxytag="NL3D::CPSLocated::resize" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::resize </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>newSize</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Resize the located container, in order to accept more instances
+<p>
+Definition at line <a class="el" href="a06246.html#l01117">1117</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00657">_CollisionInfo</a>, <a class="el" href="a06247.html#l00620">_InvMass</a>, <a class="el" href="a06247.html#l00604">_LocatedBoundCont</a>, <a class="el" href="a06247.html#l00741">_ParametricMotion</a>, <a class="el" href="a06247.html#l00650">_PInfo</a>, <a class="el" href="a06247.html#l00624">_TimeIncrement</a>, <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, <a class="el" href="a06246.html#l01051">deleteElement()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06246.html#l00422">notifyMaxNumFacesChanged()</a>, <a class="el" href="a03135.html#NL3D_1_1CPSAttribz704_2">NL3D::CPSAttrib&lt; CParametricInfo &gt;::resize()</a>, <a class="el" href="a06213.html#l00404">NL3D::CPSAttrib&lt; T &gt;::resize()</a>, <a class="el" href="a03135.html#NL3D_1_1CPSAttribz704_2">NL3D::CPSAttrib&lt; float &gt;::resize()</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a06142.html#l01784">NL3D::CParticleSystem::matchArraySize()</a>, and <a class="el" href="a06246.html#l00852">newElement()</a>.
+<p>
+<div class="fragment"><pre>01118 {
+01119 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+01120 <a class="code" href="a04199.html#a6">nlassert</a>(newSize &lt; (1 &lt;&lt; 16));
+01121 <span class="keywordflow">if</span> (newSize &lt; <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp23">_Size</a>)
+01122 {
+01123 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a11">uint32</a> k = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp23">_Size</a> - 1; k &gt;= newSize; --k)
+01124 {
+01125 <a class="code" href="a03214.html#NL3D_1_1CPSLocateda8">deleteElement</a>(k);
+01126
+01127 <span class="keywordflow">if</span> (k == 0) <span class="keywordflow">break</span>; <span class="comment">// we're dealing with unsigned quantities</span>
+01128 }
+01129 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp23">_Size</a> = newSize;
+01130 }
+01131
+01132
+01133 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp14">_MaxSize</a> = newSize;
+01134 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp6">_InvMass</a>.resize(newSize);
+01135 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp21">_Pos</a>.resize(newSize);
+01136 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp24">_Speed</a>.resize(newSize);
+01137 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp25">_Time</a>.resize(newSize);
+01138 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp26">_TimeIncrement</a>.resize(newSize);
+01139
+01140 <span class="keywordflow">if</span> (<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp20">_ParametricMotion</a>)
+01141 {
+01142 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedo0">_PInfo</a>.resize(newSize);
+01143 }
+01144
+01145 <span class="keywordflow">if</span> (<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp0">_CollisionInfo</a>)
+01146 {
+01147 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp0">_CollisionInfo</a>-&gt;resize(newSize);
+01148 }
+01149
+01150
+01151
+01152 <span class="comment">// resize attributes for all bound objects</span>
+01153 <span class="keywordflow">for</span> (TLocatedBoundCont::iterator it = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.begin(); it != <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.end(); ++it)
+01154 {
+01155 (*it)-&gt;resize(newSize);
+01156 }
+01157
+01158
+01160 <a class="code" href="a03214.html#NL3D_1_1CPSLocateda68">notifyMaxNumFacesChanged</a>();
+01161 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+01162 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda80" doxytag="NL3D::CPSLocated::serial" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::serial </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02270.html">NLMISC::IStream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>f</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> throw (<a class="el" href="a03781.html">NLMISC::EStream</a>)<code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+
+<p>
+Reimplemented from <a class="el" href="a03054.html#NL3D_1_1CParticleSystemProcessz628_1">NL3D::CParticleSystemProcess</a>.
+<p>
+Definition at line <a class="el" href="a06246.html#l01165">1165</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, <a class="el" href="a05646.html#l00235">len</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a05981.html#l00099">sint32</a>, <a class="el" href="a05646.html#l00645">size</a>, <a class="el" href="a05646.html#l00985">t</a>, <a class="el" href="a06247.html#l00690">TNewElementRequestStack</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>01166 {
+01167 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+01168
+01169 <span class="comment">// version 4 to version 5 : bugfix with reading of collisions</span>
+01170 <a class="code" href="a04558.html#a14">sint</a> ver = f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_8">serialVersion</a>(6);
+01171 CParticleSystemProcess::serial(f);
+01172
+01173 <span class="keywordflow">if</span> (f.<a class="code" href="a02270.html#NLMISC_1_1IStreama0">isReading</a>() &amp;&amp; !CParticleSystem::getSerializeIdentifierFlag())
+01174 {
+01175 <span class="comment">// just skip the name</span>
+01176 <a class="code" href="a04558.html#a10">sint32</a> <a class="code" href="a04223.html#a571">len</a>;
+01177 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(len);
+01178 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2036_3">seek</a>(len, NLMISC::IStream::current);
+01179 }
+01180 <span class="keywordflow">else</span>
+01181 {
+01182 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_Name);
+01183 }
+01184
+01185 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_InvMass);
+01186 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_Pos);
+01187 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_Speed);
+01188 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_Time);
+01189 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_TimeIncrement);
+01190
+01191 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_Size);
+01192 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_MaxSize);
+01193
+01194 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_LastForever);
+01195
+01196 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_7">serialPtr</a>(_CollisionInfo);
+01197 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_CollisionInfoNbRef);
+01198
+01199 <span class="keywordflow">if</span> (<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp0">_CollisionInfo</a>)
+01200 {
+01201 <span class="keywordflow">if</span> (ver &lt;= 5) <span class="comment">// should be corrected with version 5</span>
+01202 {
+01203 <span class="keywordflow">if</span> (f.<a class="code" href="a02270.html#NLMISC_1_1IStreama0">isReading</a>())
+01204 {
+01205 <span class="comment">// apparently, with a previous version, collision haven't been saved properly in a few case, so reset them when they are loaded</span>
+01206 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp0">_CollisionInfo</a>-&gt;resize(<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp21">_Pos</a>.getMaxSize());
+01207 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp0">_CollisionInfo</a>-&gt;clear();
+01208 CPSCollisionInfo nullCollision;
+01209 <a class="code" href="a04558.html#a15">uint</a> numInstances = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp21">_Pos</a>.getSize();
+01210 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a15">uint</a> k = 0; k &lt; numInstances; ++k)
+01211 {
+01212 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp0">_CollisionInfo</a>-&gt;insert(nullCollision);
+01213 }
+01214 }
+01215 }
+01216 }
+01217
+01218 <span class="comment">//CHECK_PS_INTEGRITY </span>
+01219
+01220
+01221 <span class="keywordflow">if</span> (f.<a class="code" href="a02270.html#NLMISC_1_1IStreama0">isReading</a>())
+01222 {
+01223 <span class="keyword">delete</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp8">_LifeScheme</a>;
+01224 <span class="keyword">delete</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp11">_MassScheme</a>;
+01225
+01226 <span class="keywordtype">bool</span> useScheme;
+01227 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(useScheme);
+01228 <span class="keywordflow">if</span> (useScheme)
+01229 {
+01230 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_6">serialPolyPtr</a>(_LifeScheme);
+01231 }
+01232 <span class="keywordflow">else</span>
+01233 {
+01234 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_InitialLife);
+01235 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp8">_LifeScheme</a> = NULL;
+01236 }
+01237
+01238 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(useScheme);
+01239 <span class="keywordflow">if</span> (useScheme)
+01240 {
+01241 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_6">serialPolyPtr</a>(_MassScheme);
+01242 }
+01243 <span class="keywordflow">else</span>
+01244 {
+01245 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_InitialMass);
+01246 <a class="code" href="a04199.html#a6">nlassert</a>(_InitialMass &gt; 0);
+01247 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp11">_MassScheme</a> = NULL;
+01248 }
+01249 }
+01250 <span class="keywordflow">else</span>
+01251 {
+01252 <span class="keywordtype">bool</span> bFalse = <span class="keyword">false</span>, bTrue = <span class="keyword">true</span>;
+01253 <span class="keywordflow">if</span> (<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp8">_LifeScheme</a>)
+01254 {
+01255 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(bTrue);
+01256 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_6">serialPolyPtr</a>(_LifeScheme);
+01257 }
+01258 <span class="keywordflow">else</span>
+01259 {
+01260 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(bFalse);
+01261 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_InitialLife);
+01262 }
+01263 <span class="keywordflow">if</span> (<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp11">_MassScheme</a>)
+01264 {
+01265 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(bTrue);
+01266 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_6">serialPolyPtr</a>(_MassScheme);
+01267 }
+01268 <span class="keywordflow">else</span>
+01269 {
+01270 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(bFalse);
+01271 <a class="code" href="a04199.html#a6">nlassert</a>(_InitialMass &gt; 0);
+01272 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_InitialMass);
+01273 }
+01274 }
+01275
+01276
+01277 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_NbFramesToSkip);
+01278
+01279 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_5">serialContPolyPtr</a>(_DtorObserversVect);
+01280
+01281 <span class="keywordflow">if</span> (f.<a class="code" href="a02270.html#NLMISC_1_1IStreama0">isReading</a>())
+01282 {
+01283 <span class="keywordflow">while</span>(!<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp22">_RequestStack</a>.empty())
+01284 {
+01285 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp22">_RequestStack</a>.pop();
+01286 }
+01287 <a class="code" href="a04558.html#a11">uint32</a> <a class="code" href="a04223.html#a587">size</a>;
+01288 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(size);
+01289 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a11">uint32</a> k = 0; k &lt; <a class="code" href="a04223.html#a587">size</a>; ++k)
+01290 {
+01291 TNewElementRequestStack::value_type <a class="code" href="a04223.html#a627">t</a>;
+01292 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(t);
+01293 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp22">_RequestStack</a>.push(t);
+01294 }
+01295 }
+01296 <span class="keywordflow">else</span>
+01297 {
+01298 <span class="comment">// when writing the stack, we must make a copy because we can't access elements by their index</span>
+01299 <span class="comment">// so the stack must be destroyed</span>
+01300 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedx3">TNewElementRequestStack</a> r2;
+01301 <a class="code" href="a04558.html#a11">uint32</a> <a class="code" href="a04223.html#a587">size</a> = (<a class="code" href="a04558.html#a11">uint32</a>) <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp22">_RequestStack</a>.size();
+01302 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(size);
+01303
+01304 <span class="keywordflow">while</span>(!<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp22">_RequestStack</a>.empty())
+01305 {
+01306 r2.push(<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp22">_RequestStack</a>.top());
+01307 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp22">_RequestStack</a>.pop();
+01308 }
+01309 <span class="comment">// now rebuild the stack while serializing it;</span>
+01310 <span class="keywordflow">while</span> (!r2.empty())
+01311 {
+01312 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(r2.top());
+01313 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp22">_RequestStack</a>.push(r2.top());
+01314 r2.pop();
+01315 }
+01316
+01317 }
+01318
+01319
+01320
+01321
+01322 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_UpdateLock);
+01323
+01324 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_5">serialContPolyPtr</a>(_LocatedBoundCont);
+01325
+01326 <span class="keywordflow">if</span> (ver &gt; 1)
+01327 {
+01328 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_LODDegradation);
+01329 }
+01330
+01331 <span class="keywordflow">if</span> (ver &gt; 2)
+01332 {
+01333 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_ParametricMotion);
+01334 }
+01335
+01336 <span class="keywordflow">if</span> (f.<a class="code" href="a02270.html#NLMISC_1_1IStreama0">isReading</a>())
+01337 {
+01338 <span class="comment">// evaluate our max number of faces</span>
+01339 <a class="code" href="a03214.html#NL3D_1_1CPSLocateda68">notifyMaxNumFacesChanged</a>();
+01340
+01341 <span class="keywordflow">if</span> (<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp20">_ParametricMotion</a>)
+01342 {
+01343 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedb0">allocateParametricInfos</a>();
+01344 }
+01345 }
+01346
+01347 <span class="keywordflow">if</span> (ver &gt; 3)
+01348 {
+01349 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_TriggerOnDeath, _TriggerID);
+01350 }
+01351 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+01352 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda81" doxytag="NL3D::CPSLocated::setFrameRate" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::setFrameRate </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>nbFramesToSkip</em> = 0 </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+set the Refresh Rate of this located. Default is motion every frame (frameToSkip = 0) The drawing process will still occur every frame anyway... It's a speed / quality tradeof
+<p>
+Definition at line <a class="el" href="a06247.html#l00379">379</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06247.html#l00597">_NbFramesToSkip</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00379 { <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp16">_NbFramesToSkip</a> = nbFramesToSkip; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda82" doxytag="NL3D::CPSLocated::setInitialLife" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::setInitialLife </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a05363.html#a366">TAnimationTime</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>lifeTime</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+Set the duration of locateds. Any previous call to <a class="el" href="a03214.html#NL3D_1_1CPSLocateda84">setLastForever()</a> is discarded Any previous scheme for lifetime is dicarded
+<p>
+Reset all particles current date to 0. This is needed because we do not check if particle life is over when the date of the system has not gone beyond the life duration of particles
+<p>
+Definition at line <a class="el" href="a06246.html#l00507">507</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00667">_InitialLife</a>, <a class="el" href="a06247.html#l00615">_LastForever</a>, <a class="el" href="a06247.html#l00668">_LifeScheme</a>, <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, <a class="el" href="a06142.html#l01521">NL3D::CParticleSystem::systemDurationChanged()</a>, <a class="el" href="a05454.html#l00044">NL3D::TAnimationTime</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>00508 {
+00509 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00510 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp7">_LastForever</a> = <span class="keyword">false</span>;
+00511 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp3">_InitialLife</a> = lifeTime;
+00512 <span class="keyword">delete</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp8">_LifeScheme</a>;
+00513 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp8">_LifeScheme</a> = NULL;
+00514
+00518 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> k = 0; k &lt; <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp23">_Size</a>; ++k)
+00519 {
+00520 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp25">_Time</a>[k] = 0.f;
+00521 }
+00522 <span class="comment">//</span>
+00523 <span class="keywordflow">if</span> (<a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>)
+00524 {
+00525 <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;systemDurationChanged();
+00526 }
+00527 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00528 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda83" doxytag="NL3D::CPSLocated::setInitialMass" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::setInitialMass </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>mass</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+Set the mass of locateds. Any previous scheme for Mass is dicarded
+<p>
+Definition at line <a class="el" href="a06246.html#l00548">548</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00672">_InitialMass</a>, <a class="el" href="a06247.html#l00673">_MassScheme</a>, and <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>.
+<p>
+<div class="fragment"><pre>00549 {
+00550 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00551 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp4">_InitialMass</a> = mass;
+00552 <span class="keyword">delete</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp11">_MassScheme</a>;
+00553 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp11">_MassScheme</a> = NULL;
+00554 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00555 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda84" doxytag="NL3D::CPSLocated::setLastForever" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CPSLocated::setLastForever </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+set immortality for located <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a03214.html#NL3D_1_1CPSLocateda82">setInitialLife</a> </dd></dl>
+<dl compact><dt><b>Returns:</b></dt><dd>true if the operation could be performed. It can fail when this cause the system the system to last forever, which is incompatible with the 'BypassMaxNumIntegrationSteps' in <a class="el" href="a03041.html">CParticleSystem</a></dd></dl>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l00153">153</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00615">_LastForever</a>, <a class="el" href="a06142.html#l01462">NL3D::CParticleSystem::canFinish()</a>, <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, <a class="el" href="a06143.html#l00538">NL3D::CParticleSystem::getBypassMaxNumIntegrationSteps()</a>, and <a class="el" href="a05622.html#l00135">nlwarning</a>.
+<p>
+<div class="fragment"><pre>00154 {
+00155 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00156 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp7">_LastForever</a> = <span class="keyword">true</span>;
+00157 <span class="keywordflow">if</span> (<a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a> &amp;&amp; <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getBypassMaxNumIntegrationSteps())
+00158 {
+00159 <span class="comment">// Should test that the system is still valid.</span>
+00160 <span class="keywordflow">if</span> (!<a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;canFinish())
+00161 {
+00162 _LastForever = <span class="keyword">false</span>;
+00163 <a class="code" href="a04199.html#a2">nlwarning</a>(<span class="stringliteral">"&lt;CPSLocated::setLastForever&gt; Can't set flag : this causes the system to last forever, and it has been flagged with 'BypassMaxNumIntegrationSteps'. Flag is not set"</span>);
+00164 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00165 }
+00166 }
+00167 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00168 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00169 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda85" doxytag="NL3D::CPSLocated::setLifeScheme" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::setLifeScheme </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03136.html">CPSAttribMaker</a>&lt; float &gt; *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>scheme</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+Set a scheme (allocated by new, released by that object) that generate the duration of locateds. Such a scheme can't own its memory. Any previous call to <a class="el" href="a03214.html#NL3D_1_1CPSLocateda84">setLastForever()</a> is discarded Any previous scheme for lifetime is discarded
+<p>
+Definition at line <a class="el" href="a06246.html#l00531">531</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00615">_LastForever</a>, <a class="el" href="a06247.html#l00668">_LifeScheme</a>, <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, <a class="el" href="a06214.html#l00282">NL3D::CPSAttribMaker&lt; T &gt;::hasMemory()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a06142.html#l01521">NL3D::CParticleSystem::systemDurationChanged()</a>.
+<p>
+<div class="fragment"><pre>00532 {
+00533 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00534 <a class="code" href="a04199.html#a6">nlassert</a>(scheme);
+00535 <a class="code" href="a04199.html#a6">nlassert</a>(!scheme-&gt;hasMemory()); <span class="comment">// scheme with memory is invalid there !!</span>
+00536 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp7">_LastForever</a> = <span class="keyword">false</span>;
+00537 <span class="keyword">delete</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp8">_LifeScheme</a>;
+00538 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp8">_LifeScheme</a> = scheme;
+00539 <span class="comment">//</span>
+00540 <span class="keywordflow">if</span> (<a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>)
+00541 {
+00542 <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;systemDurationChanged();
+00543 }
+00544 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00545 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda86" doxytag="NL3D::CPSLocated::setMassScheme" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::setMassScheme </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03136.html">CPSAttribMaker</a>&lt; float &gt; *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>scheme</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+Set a scheme (allocated by new, released by that object) that generate the mass of locateds. Such a scheme can't own its memory. Any previous scheme for Mass is discarded
+<p>
+Definition at line <a class="el" href="a06246.html#l00558">558</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00673">_MassScheme</a>, <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, <a class="el" href="a06214.html#l00282">NL3D::CPSAttribMaker&lt; T &gt;::hasMemory()</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+<div class="fragment"><pre>00559 {
+00560 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00561 <a class="code" href="a04199.html#a6">nlassert</a>(scheme);
+00562 <a class="code" href="a04199.html#a6">nlassert</a>(!scheme-&gt;hasMemory()); <span class="comment">// scheme with memory is invalid there !!</span>
+00563 <span class="keyword">delete</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp11">_MassScheme</a>;
+00564 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp11">_MassScheme</a> = scheme;
+00565 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00566 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda87" doxytag="NL3D::CPSLocated::setMatrixMode" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::setMatrixMode </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a05363.html#a557">TPSMatrixMode</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>matrixMode</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+
+<p>
+Reimplemented from <a class="el" href="a03054.html#NL3D_1_1CParticleSystemProcessa15">NL3D::CParticleSystemProcess</a>.
+<p>
+Definition at line <a class="el" href="a06246.html#l00401">401</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00736">_IntegrableForces</a>, <a class="el" href="a06247.html#l00604">_LocatedBoundCont</a>, <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, <a class="el" href="a06151.html#l00143">NL3D::CParticleSystemProcess::getMatrixMode()</a>, and <a class="el" href="a06246.html#l01885">integrableForceBasisChanged()</a>.
+<p>
+<div class="fragment"><pre>00402 {
+00403 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00404 <span class="keywordflow">if</span> (matrixMode != <a class="code" href="a03054.html#NL3D_1_1CPSLocateda33">getMatrixMode</a>())
+00405 {
+00406 <span class="keywordflow">for</span> (TLocatedBoundCont::const_iterator it = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.begin(); it != <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.end(); ++it)
+00407 {
+00408 (*it)-&gt;basisChanged(matrixMode);
+00409 }
+00410
+00411 CParticleSystemProcess::setMatrixMode(matrixMode);
+00412
+00413 <span class="keywordflow">for</span> (TForceVect::iterator fIt = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp5">_IntegrableForces</a>.begin(); fIt != <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp5">_IntegrableForces</a>.end(); ++fIt)
+00414 {
+00415 <a class="code" href="a03214.html#NL3D_1_1CPSLocateda60">integrableForceBasisChanged</a>( (*fIt)-&gt;getOwner()-&gt;getMatrixMode() );
+00416 }
+00417 }
+00418 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00419 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda88" doxytag="NL3D::CPSLocated::setName" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::setName </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>name</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+set the located bindable name (edition purpose)
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00492">492</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+<div class="fragment"><pre>00492 { <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp15">_Name</a> = name; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda89" doxytag="NL3D::CPSLocated::setOwner" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CParticleSystemProcess::setOwner </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03041.html">CParticleSystem</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>ps</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set the process owner. Called by the particle system during attachment.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06150.html#l00038">38</a> of file <a class="el" href="a06150.html">particle_system_process.cpp</a>.
+<p>
+References <a class="el" href="a06142.html#l01894">NL3D::CParticleSystem::addRefForUserSysCoordInfo()</a>, <a class="el" href="a06150.html#l00052">NL3D::CParticleSystemProcess::getUserMatrixUsageCount()</a>, <a class="el" href="a03054.html#NL3D_1_1CParticleSystemProcessa13">NL3D::CParticleSystemProcess::releaseAllRef()</a>, and <a class="el" href="a06142.html#l01907">NL3D::CParticleSystem::releaseRefForUserSysCoordInfo()</a>.
+<p>
+Referenced by <a class="el" href="a06142.html#l00864">NL3D::CParticleSystem::attach()</a>, <a class="el" href="a06142.html#l01267">NL3D::CParticleSystem::detach()</a>, and <a class="el" href="a06142.html#l00886">NL3D::CParticleSystem::remove()</a>.
+<p>
+<div class="fragment"><pre>00039 {
+00040 <span class="keywordflow">if</span> (ps == <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>) <span class="keywordflow">return</span>;
+00041 <span class="keywordflow">if</span> (ps == NULL)
+00042 {
+00043 <a class="code" href="a03214.html#NL3D_1_1CPSLocateda74">releaseAllRef</a>();
+00044 }
+00045 <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;releaseRefForUserSysCoordInfo(<a class="code" href="a03214.html#NL3D_1_1CPSLocateda52">getUserMatrixUsageCount</a>());
+00046 <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a> = ps;
+00047 <span class="keywordflow">if</span> (<a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>) <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;addRefForUserSysCoordInfo(<a class="code" href="a03214.html#NL3D_1_1CPSLocateda52">getUserMatrixUsageCount</a>());
+00048 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda90" doxytag="NL3D::CPSLocated::setTriggerEmitterID" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::setTriggerEmitterID </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>id</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set an ID for the emitter to be triggered on death.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00558">558</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06247.html#l00738">_TriggerID</a>, <a class="el" href="a06247.html#l00737">_TriggerOnDeath</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00559 {
+00560 <a class="code" href="a04199.html#a6">nlassert</a>(_TriggerOnDeath);
+00561 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp27">_TriggerID</a> = <span class="keywordtype">id</span>;
+00562 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda91" doxytag="NL3D::CPSLocated::setupDriverModelMatrix" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::setupDriverModelMatrix </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Setup the driver model matrix. It is set accrodingly to the basis of the located.
+<p>
+Setup the driver model matrix. It is set accordingly to the basis used for rendering
+<p>
+Definition at line <a class="el" href="a06246.html#l01775">1775</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, <a class="el" href="a06246.html#l00705">getDriver()</a>, <a class="el" href="a06246.html#l00092">getLocalToWorldMatrix()</a>, and <a class="el" href="a02434.html#NL3D_1_1IDrivera68">NL3D::IDriver::setupModelMatrix()</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l02142">NL3D::CPSLocatedBindable::setupDriverModelMatrix()</a>.
+<p>
+<div class="fragment"><pre>01776 {
+01777 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+01778 <a class="code" href="a03214.html#NL3D_1_1CPSLocateda19">getDriver</a>()-&gt;setupModelMatrix(<a class="code" href="a03214.html#NL3D_1_1CPSLocateda29">getLocalToWorldMatrix</a>());
+01779 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+01780 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda92" doxytag="NL3D::CPSLocated::setZBias" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::setZBias </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+
+<p>
+Implements <a class="el" href="a03054.html#NL3D_1_1CParticleSystemProcessa17">NL3D::CParticleSystemProcess</a>.
+<p>
+Definition at line <a class="el" href="a06246.html#l02304">2304</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00604">_LocatedBoundCont</a>, and <a class="el" href="a05646.html#l01132">value</a>.
+<p>
+<div class="fragment"><pre>02305 {
+02306 <span class="keywordflow">for</span>(TLocatedBoundCont::const_iterator it = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.begin(); it != <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.end(); ++it)
+02307 {
+02308 (*it)-&gt;setZBias(value);
+02309 }
+02310 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda93" doxytag="NL3D::CPSLocated::step" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::step </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a05363.html#a556">TPSProcessPass</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>pass</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a05363.html#a366">TAnimationTime</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>ellapsedTime</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a05363.html#a366">TAnimationTime</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>realEt</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+process the system
+<p>
+Implements <a class="el" href="a03054.html#NL3D_1_1CParticleSystemProcessa18">NL3D::CParticleSystemProcess</a>.
+<p>
+Definition at line <a class="el" href="a06246.html#l01466">1466</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00657">_CollisionInfo</a>, <a class="el" href="a06247.html#l00604">_LocatedBoundCont</a>, <a class="el" href="a06247.html#l00726">_LODDegradation</a>, <a class="el" href="a06247.html#l00597">_NbFramesToSkip</a>, <a class="el" href="a06213.html#l00353">NL3D::CPSAttrib&lt; T &gt;::begin()</a>, <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, <a class="el" href="a06246.html#l01051">deleteElement()</a>, <a class="el" href="a06143.html#l00320">NL3D::CParticleSystem::getDate()</a>, <a class="el" href="a06142.html#l01073">NL3D::CParticleSystem::getLOD()</a>, <a class="el" href="a06143.html#l00596">NL3D::CParticleSystem::getOneMinusCurrentLODRatio()</a>, <a class="el" href="a06246.html#l01356">NL3D::IntegrateSpeed()</a>, <a class="el" href="a06149.html#l00390">MINI_TIMER</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05363.html#a558a260">NL3D::PSLod1n2</a>, <a class="el" href="a05363.html#a556a214">NL3D::PSMotion</a>, <a class="el" href="a06148.html#l00101">NL3D::PSMotion1</a>, <a class="el" href="a06148.html#l00102">NL3D::PSMotion2</a>, <a class="el" href="a06148.html#l00103">NL3D::PSMotion3</a>, <a class="el" href="a06148.html#l00104">NL3D::PSMotion4</a>, <a class="el" href="a05454.html#l00044">NL3D::TAnimationTime</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05981.html#l00100">uint32</a>, <a class="el" href="a06246.html#l01703">updateNewElementRequestStack()</a>, and <a class="el" href="a05646.html#l00236">x</a>.
+<p>
+<div class="fragment"><pre>01467 {
+01468 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+01469 <span class="keywordflow">if</span> (!<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp23">_Size</a>) <span class="keywordflow">return</span>;
+01470
+01471
+01472 <span class="keywordflow">if</span> (pass == <a class="code" href="a05363.html#a556a214">PSMotion</a>)
+01473 {
+01474
+01475 {
+01476 <a class="code" href="a04726.html#a0">MINI_TIMER</a>(PSMotion1)
+01477 <span class="comment">// check wether we must perform LOD degradation</span>
+01478 <span class="keywordflow">if</span> (<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp10">_LODDegradation</a>)
+01479 {
+01480 <span class="keywordflow">if</span> (ellapsedTime &gt; 0)
+01481 {
+01482 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+01483 <span class="comment">// compute the number of particles to show</span>
+01484 <span class="keyword">const</span> <a class="code" href="a04558.html#a15">uint</a> maxToHave = (<a class="code" href="a04558.html#a15">uint</a>) (<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp14">_MaxSize</a> * <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getOneMinusCurrentLODRatio());
+01485 <span class="keywordflow">if</span> (<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp23">_Size</a> &gt; maxToHave) <span class="comment">// too much instances ?</span>
+01486 {
+01487 <span class="comment">// choose a random element to start at, and a random step</span>
+01488 <span class="comment">// this will avoid a pulse effect when the system is far away</span>
+01489
+01490 <a class="code" href="a04558.html#a15">uint</a> pos = maxToHave ? rand() % maxToHave : 0;
+01491 <a class="code" href="a04558.html#a15">uint</a> <a class="code" href="a03214.html#NL3D_1_1CPSLocateda93">step</a> = maxToHave ? rand() % maxToHave : 0;
+01492
+01493 <span class="keywordflow">do</span>
+01494 {
+01495 <a class="code" href="a03214.html#NL3D_1_1CPSLocateda8">deleteElement</a>(pos);
+01496 pos += step;
+01497 <span class="keywordflow">if</span> (pos &gt;= maxToHave) pos -= maxToHave;
+01498 }
+01499 <span class="keywordflow">while</span> (<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp23">_Size</a> !=maxToHave);
+01500 }
+01501 }
+01502 }
+01503 }
+01504
+01505
+01506 <span class="comment">// check if we must skip frames</span>
+01507 <span class="keywordflow">if</span> (!<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp16">_NbFramesToSkip</a> || !( (<a class="code" href="a04558.html#a11">uint32</a>) <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getDate() % (<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp16">_NbFramesToSkip</a> + 1)))
+01508 {
+01509
+01510 {
+01511 <a class="code" href="a04726.html#a0">MINI_TIMER</a>(PSMotion2)
+01512 <span class="comment">// update the located creation requests that may have been posted</span>
+01513 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedb6">updateNewElementRequestStack</a>();
+01514 }
+01515
+01516 <span class="comment">// there are 2 integration steps : with and without collisions</span>
+01517
+01518 <span class="keywordflow">if</span> (!<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp0">_CollisionInfo</a>) <span class="comment">// no collisionner are used</span>
+01519 {
+01520 {
+01521 <a class="code" href="a04726.html#a0">MINI_TIMER</a>(PSMotion3)
+01522 <span class="keywordflow">if</span> (<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp23">_Size</a> != 0) <span class="comment">// avoid referencing _Pos[0] if there's no size, causes STL vectors to assert...</span>
+01523 <a class="code" href="a05363.html#a490">IntegrateSpeed</a>(_Size * 3, &amp;_Pos[0].<a class="code" href="a04223.html#a572">x</a>, &amp;_Speed[0].x, ellapsedTime);
+01524 }
+01525 }
+01526 <span class="keywordflow">else</span>
+01527 {
+01528 {
+01529 <a class="code" href="a04726.html#a0">MINI_TIMER</a>(PSMotion4)
+01530 <span class="comment">// integration with collisions</span>
+01531 <a class="code" href="a04199.html#a6">nlassert</a>(_CollisionInfo);
+01532 TPSAttribCollisionInfo::iterator itc = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp0">_CollisionInfo</a>-&gt;begin();
+01533 TPSAttribVector::iterator itSpeed = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp24">_Speed</a>.begin();
+01534 TPSAttribVector::iterator itPos = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp21">_Pos</a>.begin();
+01535
+01536 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> k = 0; k &lt; <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp23">_Size</a>;)
+01537 {
+01538 <span class="keywordflow">if</span> (itc-&gt;dist != -1)
+01539 {
+01540 (*itPos) = itc-&gt;newPos;
+01541 (*itSpeed) = itc-&gt;newSpeed;
+01542 <span class="comment">// notify each located bindable that a bounce occured ...</span>
+01543 <span class="keywordflow">for</span> (TLocatedBoundCont::iterator it = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.begin(); it != <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.end(); ++it)
+01544 {
+01545 (*it)-&gt;bounceOccured(k);
+01546 }
+01547 <span class="keywordflow">switch</span>(itc-&gt;collisionZone-&gt;getCollisionBehaviour())
+01548 {
+01549 <span class="keywordflow">case</span> CPSZone::bounce:
+01550 itc-&gt;reset();
+01551 ++k, ++itPos, ++itSpeed, ++itc;
+01552 <span class="keywordflow">break</span>;
+01553 <span class="keywordflow">case</span> CPSZone::destroy:
+01554 <a class="code" href="a03214.html#NL3D_1_1CPSLocateda8">deleteElement</a>(k);
+01555 <span class="keywordflow">break</span>;
+01556 }
+01557 }
+01558 <span class="keywordflow">else</span>
+01559 {
+01560 (*itPos) += ellapsedTime * (*itSpeed) * itc-&gt;TimeSliceRatio;
+01561 itc-&gt;reset();
+01562 ++k, ++itPos, ++itSpeed, ++itc;
+01563 }
+01564 }
+01565
+01566
+01567 <span class="comment">// reset collision info for the next time =&gt; done during the traversal</span>
+01569 <span class="comment"></span> }
+01570 }
+01571 }
+01572 <span class="keywordflow">else</span>
+01573 {
+01574 <span class="keywordflow">return</span>; <span class="comment">// we skip the frame...</span>
+01575 }
+01576 }
+01577
+01578 <span class="keywordflow">if</span> (pass != <a class="code" href="a05363.html#a556a214">PSMotion</a>)
+01579 {
+01580 {
+01581 <span class="comment">/*</span>
+01582 <span class="comment"> uint64 *target;</span>
+01583 <span class="comment"> switch(pass)</span>
+01584 <span class="comment"> {</span>
+01585 <span class="comment"> case PSEmit: target = &amp;PSStatEmit; break;</span>
+01586 <span class="comment"> case PSCollision: target = &amp;PSStatCollision; break;</span>
+01587 <span class="comment"> default:</span>
+01588 <span class="comment"> target = &amp;PSStatRender;</span>
+01589 <span class="comment"> break;</span>
+01590 <span class="comment"> }</span>
+01591 <span class="comment"> MINI_TIMER(*target)</span>
+01592 <span class="comment"> */</span>
+01593 <span class="comment">// apply the pass to all bound objects</span>
+01594 <span class="keywordflow">for</span> (TLocatedBoundCont::iterator it = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.begin(); it != <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.end(); ++it)
+01595 {
+01596 <span class="keywordflow">if</span> ((*it)-&gt;isActive())
+01597 {
+01598 <span class="keywordflow">if</span> ((*it)-&gt;getLOD() == <a class="code" href="a05363.html#a558a260">PSLod1n2</a> || <a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getLOD() == (*it)-&gt;getLOD()) <span class="comment">// has this object the right LOD ?</span>
+01599 {
+01600 (*it)-&gt;step(pass, ellapsedTime, realEt);
+01601 }
+01602 }
+01603 }
+01604 }
+01605 }
+01606 <span class="keywordflow">else</span>
+01607 {
+01608 <span class="keywordflow">for</span> (TLocatedBoundCont::iterator it = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.begin(); it != <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.end(); ++it)
+01609 {
+01610 <span class="keywordflow">if</span> ((*it)-&gt;isActive())
+01611 {
+01612 (*it)-&gt;step(pass, ellapsedTime, realEt);
+01613 }
+01614 }
+01615
+01616 }
+01617 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+01618 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda94" doxytag="NL3D::CPSLocated::supportParametricMotion" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CPSLocated::supportParametricMotion </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Test wether this located support parametric motion.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l00376">376</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00731">_NonIntegrableForceNbRefs</a>, and <a class="el" href="a06247.html#l00733">_NumIntegrableForceWithDifferentBasis</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l00341">allocateParametricInfos()</a>, <a class="el" href="a06246.html#l00385">enableParametricMotion()</a>, <a class="el" href="a06246.html#l00256">integrateSingle()</a>, and <a class="el" href="a06246.html#l00302">performParametricMotion()</a>.
+<p>
+<div class="fragment"><pre>00377 {
+00378 <span class="keywordflow">return</span> <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp17">_NonIntegrableForceNbRefs</a> == 0 &amp;&amp; <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp18">_NumIntegrableForceWithDifferentBasis</a> == 0;
+00379 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda95" doxytag="NL3D::CPSLocated::systemDateChanged" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::systemDateChanged </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+
+<p>
+Reimplemented from <a class="el" href="a03054.html#NL3D_1_1CParticleSystemProcessa19">NL3D::CParticleSystemProcess</a>.
+<p>
+Definition at line <a class="el" href="a06246.html#l00173">173</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00604">_LocatedBoundCont</a>, and <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>.
+<p>
+<div class="fragment"><pre>00174 {
+00175 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00176 <span class="keywordflow">for</span>(TLocatedBoundCont::iterator it = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.begin(); it != <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.end(); ++it)
+00177 {
+00178 (*it)-&gt;systemDateChanged();
+00179 }
+00180 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00181 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda96" doxytag="NL3D::CPSLocated::unbind" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02691.html">CPSLocatedBindable</a> * NL3D::CPSLocated::unbind </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>index</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+Detach a bindable object from this located. Ownership is transferred to the caller Any reference the object may have in the system is lost (targets..) After that is may be inserted an other system.
+<p>
+Definition at line <a class="el" href="a06246.html#l01902">1902</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00604">_LocatedBoundCont</a>, <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, <a class="el" href="a05646.html#l00225">index</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06246.html#l01948">NL3D::CPSLocatedBindable::setOwner()</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l00751">bind()</a>.
+<p>
+<div class="fragment"><pre>01903 {
+01904 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+01905 <a class="code" href="a04199.html#a6">nlassert</a>(index &lt; <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>.size());
+01906 CPSLocatedBindable *lb = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp9">_LocatedBoundCont</a>[<a class="code" href="a04223.html#a566">index</a>];
+01907 lb-&gt;setOwner(NULL);
+01908 _LocatedBoundCont.erase(_LocatedBoundCont.begin() + <a class="code" href="a04223.html#a566">index</a>);
+01909 <span class="keywordflow">return</span> lb;
+01910 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+01911 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda97" doxytag="NL3D::CPSLocated::unregisterDtorObserver" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::unregisterDtorObserver </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02691.html">CPSLocatedBindable</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>anObserver</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+remove a dtor observer (not present -&gt; nlassert) see register dtor observer
+<p>
+Definition at line <a class="el" href="a06246.html#l00834">834</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00723">_DtorObserversVect</a>, <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l01996">NL3D::CPSLocatedBindable::notifyTargetRemoved()</a>, <a class="el" href="a06229.html#l00361">NL3D::CPSEmitter::setEmittedType()</a>, and <a class="el" href="a06229.html#l00084">NL3D::CPSEmitter::~CPSEmitter()</a>.
+<p>
+<div class="fragment"><pre>00835 {
+00836 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00837 <span class="comment">// check that it was registered</span>
+00838 TDtorObserversVect::iterator it = std::find(<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp2">_DtorObserversVect</a>.begin(), <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp2">_DtorObserversVect</a>.end(), anObserver);
+00839 <a class="code" href="a04199.html#a6">nlassert</a>(it != <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp2">_DtorObserversVect</a>.end());
+00840 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp2">_DtorObserversVect</a>.erase(it);
+00841 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+00842 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda98" doxytag="NL3D::CPSLocated::unregisterIntegrableForce" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::unregisterIntegrableForce </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02690.html">CPSForce</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>f</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l01851">1851</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00736">_IntegrableForces</a>, <a class="el" href="a06247.html#l00733">_NumIntegrableForceWithDifferentBasis</a>, <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, <a class="el" href="a06151.html#l00143">NL3D::CParticleSystemProcess::getMatrixMode()</a>, <a class="el" href="a06247.html#l00942">NL3D::CPSLocatedBindable::getOwner()</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+Referenced by <a class="el" href="a06239.html#l00109">NL3D::CPSForce::releaseTargetRsc()</a>.
+<p>
+<div class="fragment"><pre>01852 {
+01853 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+01854 <a class="code" href="a04199.html#a6">nlassert</a>(f-&gt;getOwner()); <span class="comment">// f must be attached to a located</span>
+01855 CPSVector&lt;CPSForce *&gt;::V::iterator it = std::find(<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp5">_IntegrableForces</a>.begin(), <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp5">_IntegrableForces</a>.end(), f);
+01856 <a class="code" href="a04199.html#a6">nlassert</a>(it != <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp5">_IntegrableForces</a>.end() );
+01857 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp5">_IntegrableForces</a>.erase(it);
+01858 <span class="keywordflow">if</span> (<a class="code" href="a03054.html#NL3D_1_1CPSLocateda33">getMatrixMode</a>() != f-&gt;getOwner()-&gt;getMatrixMode())
+01859 {
+01860 --<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp18">_NumIntegrableForceWithDifferentBasis</a>;
+01861 }
+01862 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+01863 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocateda99" doxytag="NL3D::CPSLocated::updateLife" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::updateLife </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a05363.html#a366">TAnimationTime</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>ellapsedTime</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+all particles have the same lifetime
+<p>
+Implements <a class="el" href="a03054.html#NL3D_1_1CParticleSystemProcessa20">NL3D::CParticleSystemProcess</a>.
+<p>
+Definition at line <a class="el" href="a06246.html#l01621">1621</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00667">_InitialLife</a>, <a class="el" href="a06247.html#l00615">_LastForever</a>, <a class="el" href="a06247.html#l00668">_LifeScheme</a>, <a class="el" href="a06247.html#l00624">_TimeIncrement</a>, <a class="el" href="a06213.html#l00353">NL3D::CPSAttrib&lt; T &gt;::begin()</a>, <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, <a class="el" href="a06246.html#l01051">deleteElement()</a>, <a class="el" href="a06213.html#l00356">NL3D::CPSAttrib&lt; T &gt;::end()</a>, <a class="el" href="a06143.html#l00311">NL3D::CParticleSystem::getSystemDate()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05646.html#l00645">size</a>, <a class="el" href="a05454.html#l00044">NL3D::TAnimationTime</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>01622 {
+01623 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+01624 <span class="keywordflow">if</span> (!<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp23">_Size</a>) <span class="keywordflow">return</span>;
+01625 <span class="keywordflow">if</span> (! <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp7">_LastForever</a>)
+01626 {
+01627 <span class="keywordflow">if</span> (<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp8">_LifeScheme</a> != NULL)
+01628 {
+01629 TPSAttribTime::iterator itTime = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp25">_Time</a>.begin(), itTimeInc = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp26">_TimeIncrement</a>.begin();
+01630 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a11">uint32</a> k = 0; k &lt; <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp23">_Size</a>;)
+01631 {
+01632 *itTime += ellapsedTime * *itTimeInc;
+01633 <span class="keywordflow">if</span> (*itTime &gt;= 1.0f)
+01634 {
+01635 <a class="code" href="a03214.html#NL3D_1_1CPSLocateda8">deleteElement</a>(k);
+01636 }
+01637 <span class="keywordflow">else</span>
+01638 {
+01639 ++k;
+01640 ++itTime;
+01641 ++itTimeInc;
+01642 }
+01643 }
+01644 }
+01645 <span class="keywordflow">else</span>
+01646 {
+01647 <span class="keywordflow">if</span> (<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp3">_InitialLife</a> != 0)
+01648 {
+01649 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+01650 <span class="keywordtype">float</span> timeInc = ellapsedTime * 1.f / <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp3">_InitialLife</a>;
+01651 <span class="keywordflow">if</span> (<a class="code" href="a03054.html#NL3D_1_1CPSLocatedp19">_Owner</a>-&gt;getSystemDate() &gt;= (<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp3">_InitialLife</a> - ellapsedTime))
+01652 {
+01653 TPSAttribTime::iterator itTime = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp25">_Time</a>.begin();
+01654 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a11">uint32</a> k = 0; k &lt; <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp23">_Size</a>;)
+01655 {
+01656 *itTime += timeInc;
+01657 <span class="keywordflow">if</span> (*itTime &gt;= 1.0f)
+01658 {
+01659 <a class="code" href="a03214.html#NL3D_1_1CPSLocateda8">deleteElement</a>(k);
+01660 }
+01661 <span class="keywordflow">else</span>
+01662 {
+01663 ++k;
+01664 ++itTime;
+01665 }
+01666 }
+01667 }
+01668 <span class="keywordflow">else</span>
+01669 {
+01670 TPSAttribTime::iterator itTime = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp25">_Time</a>.begin(), itEndTime = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp25">_Time</a>.end();
+01671 <span class="keywordflow">do</span>
+01672 {
+01673 *itTime += timeInc;
+01674 ++itTime;
+01675 }
+01676 <span class="keywordflow">while</span> (itTime != itEndTime);
+01677 }
+01678 }
+01679 <span class="keywordflow">else</span>
+01680 {
+01681 <a class="code" href="a04558.html#a15">uint</a> <a class="code" href="a04223.html#a587">size</a> = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp23">_Size</a>;
+01682 <span class="keywordflow">do</span>
+01683 {
+01684 <a class="code" href="a03214.html#NL3D_1_1CPSLocateda8">deleteElement</a>(0);
+01685 }
+01686 <span class="keywordflow">while</span> (--<a class="code" href="a04223.html#a587">size</a>);
+01687 }
+01688 }
+01689 }
+01690 <span class="keywordflow">else</span>
+01691 {
+01692 <span class="comment">// the time attribute gives the life in seconds</span>
+01693 TPSAttribTime::iterator itTime = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp25">_Time</a>.begin(), endItTime = <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp25">_Time</a>.end();
+01694 <span class="keywordflow">for</span> (; itTime != endItTime; ++itTime)
+01695 {
+01696 *itTime += ellapsedTime;
+01697 }
+01698 }
+01699 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+01700 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedb6" doxytag="NL3D::CPSLocated::updateNewElementRequestStack" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocated::updateNewElementRequestStack </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l01703">1703</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00693">_RequestStack</a>, <a class="el" href="a06246.html#l00056">CHECK_PS_INTEGRITY</a>, <a class="el" href="a06246.html#l00852">newElement()</a>, and <a class="el" href="a05363.html#a557a218">NL3D::PSFXWorldMatrix</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l01466">step()</a>.
+<p>
+<div class="fragment"><pre>01704 {
+01705 <span class="comment">// TODO : update / remove this</span>
+01706 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+01707 <span class="keywordflow">while</span> (!<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp22">_RequestStack</a>.empty())
+01708 {
+01709 <a class="code" href="a03214.html#NL3D_1_1CPSLocateda66">newElement</a>(<a class="code" href="a03214.html#NL3D_1_1CPSLocatedp22">_RequestStack</a>.top()._Pos, <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp22">_RequestStack</a>.top()._Speed, NULL, 0, <a class="code" href="a05363.html#a557a218">PSFXWorldMatrix</a>, 0.f);
+01710 <a class="code" href="a03214.html#NL3D_1_1CPSLocatedp22">_RequestStack</a>.pop();
+01711 }
+01712 <a class="code" href="a04823.html#a0">CHECK_PS_INTEGRITY</a>
+01713 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Friends And Related Function Documentation</h2>
+<a class="anchor" name="NL3D_1_1CPSLocatedn0" doxytag="NL3D::CPSLocated::CPSForce" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> friend class <a class="el" href="a02690.html">CPSForce</a><code> [friend]</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="a06247.html#l00588">588</a> of file <a class="el" href="a06247.html">ps_located.h</a>. </td>
+ </tr>
+</table>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="NL3D_1_1CPSLocatedp0" doxytag="NL3D::CPSLocated::_CollisionInfo" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03135.html">TPSAttribCollisionInfo</a>* <a class="el" href="a03214.html#NL3D_1_1CPSLocatedp0">NL3D::CPSLocated::_CollisionInfo</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used to solve collision detection it is not always instanciated
+<p>
+Definition at line <a class="el" href="a06247.html#l00657">657</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l00133">checkIntegrity()</a>, <a class="el" href="a06247.html#l00784">collisionUpdate()</a>, <a class="el" href="a06246.html#l01051">deleteElement()</a>, <a class="el" href="a06247.html#l00438">getCollisionInfo()</a>, <a class="el" href="a06247.html#l00435">hasCollisionInfos()</a>, <a class="el" href="a06246.html#l00852">newElement()</a>, <a class="el" href="a06246.html#l01783">queryCollisionInfo()</a>, <a class="el" href="a06246.html#l00212">releaseAllRef()</a>, <a class="el" href="a06246.html#l01805">releaseCollisionInfo()</a>, <a class="el" href="a06246.html#l01821">resetCollisionInfo()</a>, <a class="el" href="a06246.html#l01117">resize()</a>, <a class="el" href="a06246.html#l01466">step()</a>, and <a class="el" href="a06246.html#l00715">~CPSLocated()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedp1" doxytag="NL3D::CPSLocated::_CollisionInfoNbRef" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a03214.html#NL3D_1_1CPSLocatedp1">NL3D::CPSLocated::_CollisionInfoNbRef</a><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="a06247.html#l00662">662</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l01783">queryCollisionInfo()</a>, <a class="el" href="a06246.html#l00212">releaseAllRef()</a>, <a class="el" href="a06246.html#l01805">releaseCollisionInfo()</a>, and <a class="el" href="a06246.html#l00715">~CPSLocated()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedp2" doxytag="NL3D::CPSLocated::_DtorObserversVect" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03254.html">TDtorObserversVect</a> <a class="el" href="a03214.html#NL3D_1_1CPSLocatedp2">NL3D::CPSLocated::_DtorObserversVect</a><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="a06247.html#l00723">723</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l00824">registerDtorObserver()</a>, <a class="el" href="a06246.html#l00212">releaseAllRef()</a>, <a class="el" href="a06246.html#l00185">releaseRefTo()</a>, <a class="el" href="a06246.html#l00834">unregisterDtorObserver()</a>, and <a class="el" href="a06246.html#l00715">~CPSLocated()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedp3" doxytag="NL3D::CPSLocated::_InitialLife" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float <a class="el" href="a03214.html#NL3D_1_1CPSLocatedp3">NL3D::CPSLocated::_InitialLife</a><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="a06247.html#l00667">667</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l00125">evalMaxDuration()</a>, <a class="el" href="a06247.html#l00292">getInitialLife()</a>, <a class="el" href="a06246.html#l00852">newElement()</a>, <a class="el" href="a06246.html#l00507">setInitialLife()</a>, and <a class="el" href="a06246.html#l01621">updateLife()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedp4" doxytag="NL3D::CPSLocated::_InitialMass" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float <a class="el" href="a03214.html#NL3D_1_1CPSLocatedp4">NL3D::CPSLocated::_InitialMass</a><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="a06247.html#l00672">672</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+Referenced by <a class="el" href="a06247.html#l00311">getInitialMass()</a>, <a class="el" href="a06246.html#l00852">newElement()</a>, and <a class="el" href="a06246.html#l00548">setInitialMass()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedp5" doxytag="NL3D::CPSLocated::_IntegrableForces" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03254.html">TForceVect</a> <a class="el" href="a03214.html#NL3D_1_1CPSLocatedp5">NL3D::CPSLocated::_IntegrableForces</a><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="a06247.html#l00736">736</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l00256">integrateSingle()</a>, <a class="el" href="a06246.html#l00302">performParametricMotion()</a>, <a class="el" href="a06246.html#l01836">registerIntegrableForce()</a>, <a class="el" href="a06246.html#l00212">releaseAllRef()</a>, <a class="el" href="a06246.html#l00401">setMatrixMode()</a>, <a class="el" href="a06246.html#l01851">unregisterIntegrableForce()</a>, and <a class="el" href="a06246.html#l00715">~CPSLocated()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedp6" doxytag="NL3D::CPSLocated::_InvMass" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03135.html">TPSAttribFloat</a> <a class="el" href="a03214.html#NL3D_1_1CPSLocatedp6">NL3D::CPSLocated::_InvMass</a><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="a06247.html#l00620">620</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l00133">checkIntegrity()</a>, <a class="el" href="a06246.html#l01051">deleteElement()</a>, <a class="el" href="a06247.html#l00329">getInvMass()</a>, <a class="el" href="a06246.html#l00852">newElement()</a>, and <a class="el" href="a06246.html#l01117">resize()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedp7" doxytag="NL3D::CPSLocated::_LastForever" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool <a class="el" href="a03214.html#NL3D_1_1CPSLocatedp7">NL3D::CPSLocated::_LastForever</a><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="a06247.html#l00615">615</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l00125">evalMaxDuration()</a>, <a class="el" href="a06247.html#l00326">getLastForever()</a>, <a class="el" href="a06246.html#l00507">setInitialLife()</a>, <a class="el" href="a06246.html#l00153">setLastForever()</a>, <a class="el" href="a06246.html#l00531">setLifeScheme()</a>, and <a class="el" href="a06246.html#l01621">updateLife()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedp8" doxytag="NL3D::CPSLocated::_LifeScheme" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03136.html">CPSAttribMaker</a>&lt;float&gt;* <a class="el" href="a03214.html#NL3D_1_1CPSLocatedp8">NL3D::CPSLocated::_LifeScheme</a><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="a06247.html#l00668">668</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l00125">evalMaxDuration()</a>, <a class="el" href="a06247.html#l00295">getLifeScheme()</a>, <a class="el" href="a06246.html#l00852">newElement()</a>, <a class="el" href="a06246.html#l00507">setInitialLife()</a>, <a class="el" href="a06246.html#l00531">setLifeScheme()</a>, <a class="el" href="a06246.html#l01621">updateLife()</a>, and <a class="el" href="a06246.html#l00715">~CPSLocated()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedp9" doxytag="NL3D::CPSLocated::_LocatedBoundCont" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03254.html">TLocatedBoundCont</a> <a class="el" href="a03214.html#NL3D_1_1CPSLocatedp9">NL3D::CPSLocated::_LocatedBoundCont</a><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="a06247.html#l00604">604</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l00751">bind()</a>, <a class="el" href="a06246.html#l01716">computeBBox()</a>, <a class="el" href="a06246.html#l01051">deleteElement()</a>, <a class="el" href="a06246.html#l02295">enumTexs()</a>, <a class="el" href="a06247.html#l00199">getBoundObject()</a>, <a class="el" href="a06246.html#l01923">getIndexOf()</a>, <a class="el" href="a06247.html#l00194">getNbBoundObjects()</a>, <a class="el" href="a06246.html#l02284">getUserMatrixUsageCount()</a>, <a class="el" href="a06246.html#l00463">hasEmitters()</a>, <a class="el" href="a06246.html#l00450">hasParticles()</a>, <a class="el" href="a06246.html#l01914">isBound()</a>, <a class="el" href="a06246.html#l00852">newElement()</a>, <a class="el" href="a06246.html#l00422">notifyMaxNumFacesChanged()</a>, <a class="el" href="a06246.html#l00244">notifyMotionTypeChanged()</a>, <a class="el" href="a06246.html#l00212">releaseAllRef()</a>, <a class="el" href="a06246.html#l00185">releaseRefTo()</a>, <a class="el" href="a06246.html#l00808">remove()</a>, <a class="el" href="a06246.html#l01117">resize()</a>, <a class="el" href="a06246.html#l00401">setMatrixMode()</a>, <a class="el" href="a06246.html#l02304">setZBias()</a>, <a class="el" href="a06246.html#l01466">step()</a>, <a class="el" href="a06246.html#l00173">systemDateChanged()</a>, <a class="el" href="a06246.html#l01902">unbind()</a>, and <a class="el" href="a06246.html#l00715">~CPSLocated()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedp10" doxytag="NL3D::CPSLocated::_LODDegradation" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool <a class="el" href="a03214.html#NL3D_1_1CPSLocatedp10">NL3D::CPSLocated::_LODDegradation</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+true when LOD degradation apply to this located
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00726">726</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+Referenced by <a class="el" href="a06247.html#l00509">forceLODDegradation()</a>, <a class="el" href="a06247.html#l00514">hasLODDegradation()</a>, and <a class="el" href="a06246.html#l01466">step()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedp11" doxytag="NL3D::CPSLocated::_MassScheme" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03136.html">CPSAttribMaker</a>&lt;float&gt;* <a class="el" href="a03214.html#NL3D_1_1CPSLocatedp11">NL3D::CPSLocated::_MassScheme</a><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="a06247.html#l00673">673</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+Referenced by <a class="el" href="a06247.html#l00314">getMassScheme()</a>, <a class="el" href="a06246.html#l00852">newElement()</a>, <a class="el" href="a06246.html#l00548">setInitialMass()</a>, <a class="el" href="a06246.html#l00558">setMassScheme()</a>, and <a class="el" href="a06246.html#l00715">~CPSLocated()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedp12" doxytag="NL3D::CPSLocated::_MatrixMode" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a05363.html#a557">TPSMatrixMode</a> <a class="el" href="a03054.html#NL3D_1_1CPSLocatedp12">NL3D::CParticleSystemProcess::_MatrixMode</a><code> [protected, inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06151.html#l00193">193</a> of file <a class="el" href="a06151.html">particle_system_process.h</a>.
+<p>
+Referenced by <a class="el" href="a06151.html#l00081">NL3D::CParticleSystemProcess::CParticleSystemProcess()</a>, <a class="el" href="a06151.html#l00143">NL3D::CParticleSystemProcess::getMatrixMode()</a>, <a class="el" href="a06150.html#l00052">NL3D::CParticleSystemProcess::getUserMatrixUsageCount()</a>, and <a class="el" href="a06150.html#l00058">NL3D::CParticleSystemProcess::setMatrixMode()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedp13" doxytag="NL3D::CPSLocated::_MaxNumFaces" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a03214.html#NL3D_1_1CPSLocatedp13">NL3D::CPSLocated::_MaxNumFaces</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+cache the max number of faces this located may want
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00592">592</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l00422">notifyMaxNumFacesChanged()</a>, and <a class="el" href="a06246.html#l00442">querryMaxWantedNumFaces()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedp14" doxytag="NL3D::CPSLocated::_MaxSize" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a03214.html#NL3D_1_1CPSLocatedp14">NL3D::CPSLocated::_MaxSize</a><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="a06247.html#l00607">607</a> of file <a class="el" href="a06247.html">ps_located.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedp15" doxytag="NL3D::CPSLocated::_Name" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::string <a class="el" href="a03214.html#NL3D_1_1CPSLocatedp15">NL3D::CPSLocated::_Name</a><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="a06247.html#l00594">594</a> of file <a class="el" href="a06247.html">ps_located.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedp16" doxytag="NL3D::CPSLocated::_NbFramesToSkip" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a03214.html#NL3D_1_1CPSLocatedp16">NL3D::CPSLocated::_NbFramesToSkip</a><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="a06247.html#l00597">597</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+Referenced by <a class="el" href="a06247.html#l00382">getFrameRate()</a>, <a class="el" href="a06247.html#l00379">setFrameRate()</a>, and <a class="el" href="a06246.html#l01466">step()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedp17" doxytag="NL3D::CPSLocated::_NonIntegrableForceNbRefs" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a9">uint16</a> <a class="el" href="a03214.html#NL3D_1_1CPSLocatedp17">NL3D::CPSLocated::_NonIntegrableForceNbRefs</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+number of force, and zones etc. that are not integrable over time. If this is not 0, then the trajectory cannot be computed at any time. A force that is integrable must be in the same basis than the located.
+<p>
+Definition at line <a class="el" href="a06247.html#l00731">731</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l01866">addNonIntegrableForceRef()</a>, <a class="el" href="a06246.html#l00212">releaseAllRef()</a>, <a class="el" href="a06246.html#l01875">releaseNonIntegrableForceRef()</a>, <a class="el" href="a06246.html#l00376">supportParametricMotion()</a>, and <a class="el" href="a06246.html#l00715">~CPSLocated()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedp18" doxytag="NL3D::CPSLocated::_NumIntegrableForceWithDifferentBasis" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a9">uint16</a> <a class="el" href="a03214.html#NL3D_1_1CPSLocatedp18">NL3D::CPSLocated::_NumIntegrableForceWithDifferentBasis</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+number of forces that apply on that located that have the same basis that this one (required for parametric animation)
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00733">733</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l01885">integrableForceBasisChanged()</a>, <a class="el" href="a06246.html#l01836">registerIntegrableForce()</a>, <a class="el" href="a06246.html#l00376">supportParametricMotion()</a>, and <a class="el" href="a06246.html#l01851">unregisterIntegrableForce()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedp19" doxytag="NL3D::CPSLocated::_Owner" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03041.html">CParticleSystem</a>* <a class="el" href="a03054.html#NL3D_1_1CPSLocatedp19">NL3D::CParticleSystemProcess::_Owner</a><code> [protected, inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06151.html#l00190">190</a> of file <a class="el" href="a06151.html">particle_system_process.h</a>.
+<p>
+Referenced by <a class="el" href="a06247.html#l01133">getConversionMatrix()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedp20" doxytag="NL3D::CPSLocated::_ParametricMotion" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool <a class="el" href="a03214.html#NL3D_1_1CPSLocatedp20">NL3D::CPSLocated::_ParametricMotion</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+When set to true, this tells the system to use parametric motion. Only parametric forces must have been applied.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00741">741</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l00341">allocateParametricInfos()</a>, <a class="el" href="a06246.html#l00751">bind()</a>, <a class="el" href="a06246.html#l01051">deleteElement()</a>, <a class="el" href="a06246.html#l00256">integrateSingle()</a>, <a class="el" href="a06247.html#l00535">isParametricMotionEnabled()</a>, <a class="el" href="a06246.html#l00852">newElement()</a>, <a class="el" href="a06246.html#l00244">notifyMotionTypeChanged()</a>, <a class="el" href="a06246.html#l00302">performParametricMotion()</a>, <a class="el" href="a06246.html#l00364">releaseParametricInfos()</a>, and <a class="el" href="a06246.html#l01117">resize()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedo0" doxytag="NL3D::CPSLocated::_PInfo" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03135.html">CPSAttrib</a>&lt;<a class="el" href="a03215.html">CParametricInfo</a>&gt; <a class="el" href="a03214.html#NL3D_1_1CPSLocatedo0">NL3D::CPSLocated::_PInfo</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+WARNING : private use by forces only. this vector is only used if parametric motion is achievable and enabled, because of the extra storage space
+<p>
+Definition at line <a class="el" href="a06247.html#l00650">650</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l00341">allocateParametricInfos()</a>, <a class="el" href="a06246.html#l01051">deleteElement()</a>, <a class="el" href="a06247.html#l00772">getParametricInfos()</a>, <a class="el" href="a06246.html#l00256">integrateSingle()</a>, <a class="el" href="a06246.html#l00852">newElement()</a>, <a class="el" href="a06246.html#l00302">performParametricMotion()</a>, <a class="el" href="a06246.html#l00364">releaseParametricInfos()</a>, and <a class="el" href="a06246.html#l01117">resize()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedp21" doxytag="NL3D::CPSLocated::_Pos" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03135.html">TPSAttribVector</a> <a class="el" href="a03214.html#NL3D_1_1CPSLocatedp21">NL3D::CPSLocated::_Pos</a><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="a06247.html#l00621">621</a> of file <a class="el" href="a06247.html">ps_located.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedp22" doxytag="NL3D::CPSLocated::_RequestStack" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03214.html#NL3D_1_1CPSLocatedx3">TNewElementRequestStack</a> <a class="el" href="a03214.html#NL3D_1_1CPSLocatedp22">NL3D::CPSLocated::_RequestStack</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+this stack is used after each update to generate located
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00693">693</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l01028">postNewElement()</a>, and <a class="el" href="a06246.html#l01703">updateNewElementRequestStack()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedp23" doxytag="NL3D::CPSLocated::_Size" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a03214.html#NL3D_1_1CPSLocatedp23">NL3D::CPSLocated::_Size</a><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="a06247.html#l00611">611</a> of file <a class="el" href="a06247.html">ps_located.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedp24" doxytag="NL3D::CPSLocated::_Speed" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03135.html">TPSAttribVector</a> <a class="el" href="a03214.html#NL3D_1_1CPSLocatedp24">NL3D::CPSLocated::_Speed</a><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="a06247.html#l00622">622</a> of file <a class="el" href="a06247.html">ps_located.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedp25" doxytag="NL3D::CPSLocated::_Time" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03135.html">TPSAttribTime</a> <a class="el" href="a03214.html#NL3D_1_1CPSLocatedp25">NL3D::CPSLocated::_Time</a><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="a06247.html#l00623">623</a> of file <a class="el" href="a06247.html">ps_located.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedp26" doxytag="NL3D::CPSLocated::_TimeIncrement" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03135.html">TPSAttribTime</a> <a class="el" href="a03214.html#NL3D_1_1CPSLocatedp26">NL3D::CPSLocated::_TimeIncrement</a><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="a06247.html#l00624">624</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l00133">checkIntegrity()</a>, <a class="el" href="a06246.html#l01051">deleteElement()</a>, <a class="el" href="a06247.html#l00349">getTimeIncrement()</a>, <a class="el" href="a06246.html#l00852">newElement()</a>, <a class="el" href="a06246.html#l01117">resize()</a>, and <a class="el" href="a06246.html#l01621">updateLife()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedp27" doxytag="NL3D::CPSLocated::_TriggerID" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a03214.html#NL3D_1_1CPSLocatedp27">NL3D::CPSLocated::_TriggerID</a><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="a06247.html#l00738">738</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l01051">deleteElement()</a>, <a class="el" href="a06247.html#l00565">getTriggerEmitterID()</a>, and <a class="el" href="a06247.html#l00558">setTriggerEmitterID()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedp28" doxytag="NL3D::CPSLocated::_TriggerOnDeath" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool <a class="el" href="a03214.html#NL3D_1_1CPSLocatedp28">NL3D::CPSLocated::_TriggerOnDeath</a><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="a06247.html#l00737">737</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l01051">deleteElement()</a>, <a class="el" href="a06247.html#l00552">enableTriggerOnDeath()</a>, <a class="el" href="a06247.html#l00565">getTriggerEmitterID()</a>, <a class="el" href="a06247.html#l00555">isTriggerOnDeathEnabled()</a>, and <a class="el" href="a06247.html#l00558">setTriggerEmitterID()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSLocatedp29" doxytag="NL3D::CPSLocated::_UpdateLock" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool <a class="el" href="a03214.html#NL3D_1_1CPSLocatedp29">NL3D::CPSLocated::_UpdateLock</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+this is used to tell wether a newElement or a deleteElement if being performed During these method, creation should use postNewElement to generate new elements Because of the data structures (each located bindable are updated one after each other) inconsistency can happen, when a located generated another located of the same type when he's deleted.
+<p>
+Definition at line <a class="el" href="a06247.html#l00707">707</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l01051">deleteElement()</a>, and <a class="el" href="a06246.html#l00852">newElement()</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a06247.html">ps_located.h</a><li><a class="el" href="a06246.html">ps_located.cpp</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 07:17:07 2004 for NeL by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
+</a>1.3.6 </small></address>
+</body>
+</html>