aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/a03227.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/doxygen/nel/a03227.html')
-rw-r--r--docs/doxygen/nel/a03227.html5272
1 files changed, 5272 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a03227.html b/docs/doxygen/nel/a03227.html
new file mode 100644
index 00000000..70d41e3d
--- /dev/null
+++ b/docs/doxygen/nel/a03227.html
@@ -0,0 +1,5272 @@
+<!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::CPSRibbonBase 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::CPSRibbonBase Class Reference</h1><code>#include &lt;<a class="el" href="a06276.html">ps_ribbon_base.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for NL3D::CPSRibbonBase:
+<p><center><img src="a03227.png" usemap="#NL3D::CPSRibbonBase_map" border="0" alt=""></center>
+<map name="NL3D::CPSRibbonBase_map">
+<area href="a03162.html" alt="NL3D::CPSParticle" shape="rect" coords="89,168,258,192">
+<area href="a03229.html" alt="NL3D::CPSTailParticle" shape="rect" coords="268,168,437,192">
+<area href="a02691.html" alt="NL3D::CPSLocatedBindable" shape="rect" coords="89,112,258,136">
+<area href="a02867.html" alt="NLMISC::IStreamable" shape="rect" coords="89,56,258,80">
+<area href="a02540.html" alt="NLMISC::IClassable" shape="rect" coords="89,0,258,24">
+<area href="a03226.html" alt="NL3D::CPSRibbon" shape="rect" coords="0,280,169,304">
+<area href="a03230.html" alt="NL3D::CPSRibbonLookAt" shape="rect" coords="179,280,348,304">
+<area href="a03240.html" alt="NL3D::CPSTailDot" shape="rect" coords="358,280,527,304">
+</map>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Base class for ribbons. If can be used to compute ribbons trajectory. It can perform lagrange or linear interpolation. to get the ribbon shape. It can also be used to have fixed size ribbons. NB : Ribbons that don't herit from this are deprecated but may be kept for compatibility. <dl compact><dt><b>Author:</b></dt><dd>Nicolas Vizerie <p>
+Nevrax France </dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>2002 </dd></dl>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06276.html#l00045">45</a> of file <a class="el" href="a06276.html">ps_ribbon_base.h</a>.<table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03227.html#NL3D_1_1CPSTailDotw10">TInterpolationMode</a> { <a class="el" href="a03227.html#NL3D_1_1CPSTailDotw10NL3D_1_1CPSTailDotw6">Linear</a> = 0,
+<a class="el" href="a03227.html#NL3D_1_1CPSTailDotw10NL3D_1_1CPSTailDotw4">Hermitte</a>,
+<a class="el" href="a03227.html#NL3D_1_1CPSTailDotw10NL3D_1_1CPSTailDotw5">InterpModeLast</a>
+ }</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03227.html#NL3D_1_1CPSTailDotw11">TRibbonMode</a> { <a class="el" href="a03227.html#NL3D_1_1CPSTailDotw11NL3D_1_1CPSTailDotw12">VariableSize</a> = 0,
+<a class="el" href="a03227.html#NL3D_1_1CPSTailDotw11NL3D_1_1CPSTailDotw3">FixedSize</a>,
+<a class="el" href="a03227.html#NL3D_1_1CPSTailDotw11NL3D_1_1CPSTailDotw8">RibbonModeLast</a>
+ }</td></tr>
+
+<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea1">basisChanged</a> (<a class="el" href="a05363.html#a557">TPSMatrixMode</a> systemBasis)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea2">completeBBox</a> (<a class="el" href="a02156.html">NLMISC::CAABBox</a> &amp;box) const </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="a02691.html#NL3D_1_1CPSZoneSpherea3">computeI</a> (void) const </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="a02691.html#NL3D_1_1CPSZoneSpherea4">computeJ</a> (void) const </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="a02691.html#NL3D_1_1CPSZoneSpherea5">computeK</a> (void) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03162.html#NL3D_1_1CPSTailDota5">disableAutoLOD</a> (bool disable=true)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Force the Auto-LOD to be disbaled. When set to false, the default behaviour set in the system is used. <a href="#NL3D_1_1CPSTailDota5"></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="a02691.html#NL3D_1_1CPSZoneSpherea8">doesProduceBBox</a> (void) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03162.html#NL3D_1_1CPSTailDota7">draw</a> (bool opaque)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">derivers draw the particles here <a href="#NL3D_1_1CPSTailDota7"></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="a03162.html#NL3D_1_1CPSTailDota8">enableGlobalColorLighting</a> (bool enabled)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea9">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="memItemLeft" nowrap align=right valign=top>virtual std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02540.html#NL3D_1_1ITrackKeyFramer_3_01CKeyVector_01_4a6">getClassName</a> ()=0</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03229.html#NL3D_1_1CPSTailParticlea0">getColorFading</a> (void) const=0</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">test wether color fading is activated <a href="#NL3D_1_1CPSTailParticlea0"></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="a02691.html#NL3D_1_1CPSZoneSpherea14">getDriver</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">shortcut to get an instance of the driver <a href="#NL3D_1_1CPSZoneSpherea14"></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="a02691.html#NL3D_1_1CPSZoneSpherea15">getExternID</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the extern ID of this located bindable <a href="#NL3D_1_1CPSZoneSpherea15"></a><br><br></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="a02691.html#NL3D_1_1CPSZoneSpherea16">getFontGenerator</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shortcut to get the font generator if one was set (const version). <a href="#NL3D_1_1CPSZoneSpherea16"></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="a02691.html#NL3D_1_1CPSZoneSpherea17">getFontGenerator</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shortcut to get the font generator if one was set. <a href="#NL3D_1_1CPSZoneSpherea17"></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="a02691.html#NL3D_1_1CPSZoneSpherea18">getFontManager</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shortcut to get the font manager if one was set (const version). <a href="#NL3D_1_1CPSZoneSpherea18"></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="a02691.html#NL3D_1_1CPSZoneSpherea19">getFontManager</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSZoneSpherea19"></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="a02691.html#NL3D_1_1CPSZoneSpherea20">getInvertedSysMat</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">shortcut to get the inverted matrix of the system <a href="#NL3D_1_1CPSZoneSpherea20"></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="a02691.html#NL3D_1_1CPSZoneSpherea21">getInvertedViewMat</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">shortcut to get the inverted view matrix <a href="#NL3D_1_1CPSZoneSpherea21"></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="a02691.html#NL3D_1_1CPSZoneSpherea22">getLocalToWorldMatrix</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shortcut to get the local to world matrix. <a href="#NL3D_1_1CPSZoneSpherea22"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a05363.html#a558">TPSLod</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea23">getLOD</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the valid lods for that object <a href="#NL3D_1_1CPSZoneSpherea23"></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="a03227.html#NL3D_1_1CPSTailDota28">getLODDegradation</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03162.html#NL3D_1_1CPSRibbonBasea23">getMaxNumFaces</a> (void) const=0</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return the max number of faces needed for display. This is needed for LOD balancing <a href="#NL3D_1_1CPSRibbonBasea23"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea25">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_1CPSZoneSpherea25"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03214.html">CPSLocated</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea28">getOwner</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the located that owns this bindable (const version) <a href="#NL3D_1_1CPSZoneSpherea28"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03214.html">CPSLocated</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea29">getOwner</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the located that owns this bindable <a href="#NL3D_1_1CPSZoneSpherea29"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03162.html#NL3D_1_1CPSTailDota33">getPriority</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return priority <a href="#NL3D_1_1CPSTailDota33"></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="a02691.html#NL3D_1_1CPSZoneSpherea32">getSysMat</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSZoneSpherea32"></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="a03162.html#NL3D_1_1CPSTailDota35">getType</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return this bindable type <a href="#NL3D_1_1CPSTailDota35"></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="a02691.html#NL3D_1_1CPSZoneSpherea36">getUserMatrixUsageCount</a> () const </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="a02691.html#NL3D_1_1CPSZoneSpherea37">getViewMat</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">shortcut to get the view matrix <a href="#NL3D_1_1CPSZoneSpherea37"></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="a02691.html#NL3D_1_1CPSZoneSpherea38">hasEmitters</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">tells wether there are alive emitters <a href="#NL3D_1_1CPSZoneSpherea38"></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="a03162.html#NL3D_1_1CPSRibbonBasea33">hasLightableFaces</a> ()=0</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03162.html#NL3D_1_1CPSRibbonBasea34">hasOpaqueFaces</a> (void)=0</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return true if there are Opaque faces in the object <a href="#NL3D_1_1CPSRibbonBasea34"></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="a03162.html#NL3D_1_1CPSTailDota41">hasParticles</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return true if this located bindable derived class holds alive particles <a href="#NL3D_1_1CPSTailDota41"></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="a03162.html#NL3D_1_1CPSRibbonBasea36">hasTransparentFaces</a> (void)=0</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return true if there are transparent faces in the object <a href="#NL3D_1_1CPSRibbonBasea36"></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="a02691.html#NL3D_1_1CPSZoneSpherea40">isActive</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="a03162.html#NL3D_1_1CPSTailDota44">isAutoLODDisabled</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test wether Auto-LOD is disabled. <a href="#NL3D_1_1CPSTailDota44"></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="a03229.html#NL3D_1_1CPSTailParticlea2">isInSystemBasis</a> (void) const=0</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return true if the tails are in the system basis <a href="#NL3D_1_1CPSTailParticlea2"></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="a02691.html#NL3D_1_1CPSTailDota46">notifyTargetRemoved</a> (<a class="el" href="a03214.html">CPSLocated</a> *ptr)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSTailDota46"></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="a02691.html#NL3D_1_1CPSTailDota47">releaseAllRef</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSTailDota47"></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="a02691.html#NL3D_1_1CPSTailDota48">releaseRefTo</a> (const <a class="el" href="a03054.html">CParticleSystemProcess</a> *other)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea49">setActive</a> (bool active)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Activate / Deactivate this object. When not active, the owning system won't try to call the 'step' method. <a href="#NL3D_1_1CPSZoneSpherea49"></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="a03229.html#NL3D_1_1CPSTailParticlea3">setColorFading</a> (bool onOff=true)=0</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea52">setExternID</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">*************************************************************************************** <a href="#NL3D_1_1CPSZoneSpherea52"></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="a02691.html#NL3D_1_1CPSZoneSpherea53">setLOD</a> (<a class="el" href="a05363.html#a558">TPSLod</a> lod)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03227.html#NL3D_1_1CPSTailDota57">setLODDegradation</a> (float percent)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea55">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_1CPSZoneSpherea55"></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="a03229.html#NL3D_1_1CPSTailParticlea4">setSystemBasis</a> (bool yes)=0</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea59">setupDriverModelMatrix</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">shortcut to setup the model matrix (system basis or world basis) <a href="#NL3D_1_1CPSZoneSpherea59"></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="a03162.html#NL3D_1_1CPSRibbonBasea51">setZBias</a> (float <a class="el" href="a04223.html#a658">value</a>)=0</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03162.html#NL3D_1_1CPSTailDota61">showTool</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">draw the particles for edition mode. The default behaviour just draw a wireframe model <a href="#NL3D_1_1CPSTailDota61"></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="a03162.html#NL3D_1_1CPSShockWavea100">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="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03162.html#NL3D_1_1CPSRibbonBasea54">supportGlobalColorLighting</a> () const=0</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03162.html#NL3D_1_1CPSTailDota64">usesGlobalColorLighting</a> ()</td></tr>
+
+<tr><td colspan="2"><div class="groupHeader">Object</div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03227.html#NL3D_1_1CPSRibbonBasez753_0">CPSRibbonBase</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03227.html#NL3D_1_1CPSRibbonBasez753_1">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">serialisation. Derivers must override this, and call their parent version <a href="#NL3D_1_1CPSRibbonBasez753_1"></a><br><br></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; float &gt;::<a class="el" href="a03254.html">V</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03227.html#NL3D_1_1CPSTailDotx0">TFloatVect</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="a03128.html">NLMISC::CVector</a> <br>
+&gt;::<a class="el" href="a03254.html">V</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03227.html#NL3D_1_1CPSTailDotx1">TPosVect</a></td></tr>
+
+<tr><td colspan=2><br><h2>Protected Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSphereb0">bounceOccured</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>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03227.html#NL3D_1_1CPSTailDotb1">computeRibbon</a> (<a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a566">index</a>, <a class="el" href="a03128.html">NLMISC::CVector</a> *dest, <a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a582">stride</a>=sizeof(<a class="el" href="a03128.html">NLMISC::CVector</a>))</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03162.html#NL3D_1_1CPSTailDotb2">computeSrcStep</a> (<a class="el" href="a04558.html#a11">uint32</a> &amp;step, <a class="el" href="a04558.html#a15">uint</a> &amp;numToProcess)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03227.html#NL3D_1_1CPSRibbonBaseb3">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">inherited from <a class="el" href="a02691.html">CPSLocatedBindable</a> <a href="#NL3D_1_1CPSRibbonBaseb3"></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="a02691.html#NL3D_1_1CPSZoneSphereb3">displayIcon2d</a> (const <a class="el" href="a03128.html">NLMISC::CVector</a> tab[], <a class="el" href="a04558.html#a15">uint</a> nbSegs, float scale)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSZoneSphereb3"></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="a03227.html#NL3D_1_1CPSTailDotb7">getRibbonIndex</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03254.html">TFloatVect</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03227.html#NL3D_1_1CPSTailDotb8">getSamplingDate</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="a03227.html#NL3D_1_1CPSTailDotb10">initDateVect</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03227.html#NL3D_1_1CPSTailDotb11">motionTypeChanged</a> (bool parametric)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">called when the motion type has changed, this allow us to draw smoother ribbons when parametric anim is used <a href="#NL3D_1_1CPSTailDotb11"></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="a03227.html#NL3D_1_1CPSRibbonBaseb9">newElement</a> (<a class="el" href="a03214.html">CPSLocated</a> *emitterLocated, <a class="el" href="a04558.html#a11">uint32</a> emitterIndex)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">inherited from <a class="el" href="a02691.html">CPSLocatedBindable</a> <a href="#NL3D_1_1CPSRibbonBaseb9"></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="a03162.html#NL3D_1_1CPSTailDotb14">notifyOwnerMaxNumFacesChanged</a> (void) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03227.html#NL3D_1_1CPSTailDotb15">resetFromOwner</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03227.html#NL3D_1_1CPSRibbonBaseb12">resize</a> (<a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a04223.html#a587">size</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">inherited from <a class="el" href="a02691.html">CPSLocatedBindable</a> <a href="#NL3D_1_1CPSRibbonBaseb12"></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="a02691.html#NL3D_1_1CPSZoneSphereb7">setOwner</a> (<a class="el" href="a03214.html">CPSLocated</a> *psl)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSZoneSphereb7"></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="a03227.html#NL3D_1_1CPSTailDotb19">updateGlobals</a> (float realET)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called each time the time of the system change in order to update the ribbons positions. <a href="#NL3D_1_1CPSTailDotb19"></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="a03227.html#NL3D_1_1CPSTailDotb20">updateLOD</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">must be called for the lod to apply (updates UsedNbSegs) <a href="#NL3D_1_1CPSTailDotb20"></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>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherep0">_Active</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="a02691.html#NL3D_1_1CPSZoneSpherep3">_ExternID</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a05363.html#a558">TPSLod</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherep4">_LOD</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">tells when this object must be dealt with <a href="#NL3D_1_1CPSZoneSpherep4"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherep5">_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="a03227.html#NL3D_1_1CPSTailDotp7">_NbSegs</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03214.html">CPSLocated</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_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="a03227.html#NL3D_1_1CPSTailDotp9">_Parametric</a></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="a03227.html#NL3D_1_1CPSTailDotp10">_SegDuration</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="a03227.html#NL3D_1_1CPSTailDotp11">_UsedNbSegs</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">value to use after lod computation <a href="#NL3D_1_1CPSTailDotp11"></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="a03227.html#NL3D_1_1CPSTailDotp12">_UsedSegDuration</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03227.html#NL3D_1_1CPSTailDotp13">_UsedSegLength</a></td></tr>
+
+<tr><td colspan=2><br><h2>Private 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="a03227.html#NL3D_1_1CPSRibbonBased0">computeHermitteCstSizeRibbon</a> (<a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a566">index</a>, <a class="el" href="a03128.html">NLMISC::CVector</a> *dest, <a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a582">stride</a>=sizeof(<a class="el" href="a03128.html">NLMISC::CVector</a>))</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03227.html#NL3D_1_1CPSRibbonBased1">computeHermitteRibbon</a> (<a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a566">index</a>, <a class="el" href="a03128.html">NLMISC::CVector</a> *dest, <a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a582">stride</a>=sizeof(<a class="el" href="a03128.html">NLMISC::CVector</a>))</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute the ribbon points using hermitte splines between each sampling point. <a href="#NL3D_1_1CPSRibbonBased1"></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="a03227.html#NL3D_1_1CPSRibbonBased2">computeLinearCstSizeRibbon</a> (<a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a566">index</a>, <a class="el" href="a03128.html">NLMISC::CVector</a> *dest, <a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a582">stride</a>=sizeof(<a class="el" href="a03128.html">NLMISC::CVector</a>))</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The same as compute linear ribbon but try to make its length constant. <a href="#NL3D_1_1CPSRibbonBased2"></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="a03227.html#NL3D_1_1CPSRibbonBased3">computeLinearRibbon</a> (<a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a566">index</a>, <a class="el" href="a03128.html">NLMISC::CVector</a> *dest, <a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a582">stride</a>=sizeof(<a class="el" href="a03128.html">NLMISC::CVector</a>))</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute the ribbon points using linear interpolation between each sampling point. <a href="#NL3D_1_1CPSRibbonBased3"></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="a03227.html#NL3D_1_1CPSRibbonBased4">dupRibbon</a> (<a class="el" href="a04558.html#a15">uint</a> dest, <a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a652">src</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">copy datas from one ribbon to another <a href="#NL3D_1_1CPSRibbonBased4"></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="a03227.html#NL3D_1_1CPSRibbonBased5">resetSingleRibbon</a> (<a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a566">index</a>, const <a class="el" href="a03128.html">NLMISC::CVector</a> &amp;pos)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03227.html#NL3D_1_1CPSRibbonBased6">systemDateChanged</a> ()</td></tr>
+
+<tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03227.html#NL3D_1_1CPSTailDotw10">TInterpolationMode</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03227.html#NL3D_1_1CPSRibbonBaser0">_InterpolationMode</a></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="a03227.html#NL3D_1_1CPSRibbonBaser1">_LastUpdateDate</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03227.html#NL3D_1_1CPSRibbonBaser2">_LODDegradation</a></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="a03227.html#NL3D_1_1CPSRibbonBaser3">_RibbonIndex</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03227.html#NL3D_1_1CPSRibbonBaser4">_RibbonLength</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03227.html#NL3D_1_1CPSTailDotw11">TRibbonMode</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03227.html#NL3D_1_1CPSRibbonBaser5">_RibbonMode</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03254.html">TPosVect</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03227.html#NL3D_1_1CPSRibbonBaser6">_Ribbons</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03254.html">TFloatVect</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03227.html#NL3D_1_1CPSRibbonBaser7">_SamplingDate</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03227.html#NL3D_1_1CPSRibbonBaser8">_SegLength</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="a02691.html#NL3D_1_1CPSZoneSpheren0">CPSLocated</a></td></tr>
+
+</table>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="NL3D_1_1CPSTailDotx0" doxytag="NL3D::CPSRibbonBase::TFloatVect" ></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;float&gt;::<a class="el" href="a03254.html">V</a> <a class="el" href="a03254.html">NL3D::CPSRibbonBase::TFloatVect</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="a06276.html#l00099">99</a> of file <a class="el" href="a06276.html">ps_ribbon_base.h</a>.
+<p>
+Referenced by <a class="el" href="a06276.html#l00133">getSamplingDate()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotx1" doxytag="NL3D::CPSRibbonBase::TPosVect" ></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="a03128.html">NLMISC::CVector</a>&gt;::<a class="el" href="a03254.html">V</a> <a class="el" href="a03254.html">NL3D::CPSRibbonBase::TPosVect</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="a06276.html#l00098">98</a> of file <a class="el" href="a06276.html">ps_ribbon_base.h</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Enumeration Documentation</h2>
+<a class="anchor" name="NL3D_1_1CPSTailDotw10" doxytag="NL3D::CPSRibbonBase::TInterpolationMode" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> enum <a class="el" href="a03227.html#NL3D_1_1CPSTailDotw10">NL3D::CPSRibbonBase::TInterpolationMode</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<dl compact><dt><b>Enumeration values: </b></dt><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CPSTailDotw10NL3D_1_1CPSTailDotw6" doxytag="Linear" ></a>Linear</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CPSTailDotw10NL3D_1_1CPSTailDotw4" doxytag="Hermitte" ></a>Hermitte</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CPSTailDotw10NL3D_1_1CPSTailDotw5" doxytag="InterpModeLast" ></a>InterpModeLast</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a06276.html#l00049">49</a> of file <a class="el" href="a06276.html">ps_ribbon_base.h</a>.
+<p>
+Referenced by <a class="el" href="a06276.html#l00064">getInterpolationMode()</a>.
+<p>
+<div class="fragment"><pre>00049 { <a class="code" href="a03227.html#NL3D_1_1CPSTailDotw10NL3D_1_1CPSTailDotw6">Linear</a> = 0, <a class="code" href="a03227.html#NL3D_1_1CPSTailDotw10NL3D_1_1CPSTailDotw4">Hermitte</a>, <a class="code" href="a03227.html#NL3D_1_1CPSTailDotw10NL3D_1_1CPSTailDotw5">InterpModeLast</a> };
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotw11" doxytag="NL3D::CPSRibbonBase::TRibbonMode" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> enum <a class="el" href="a03227.html#NL3D_1_1CPSTailDotw11">NL3D::CPSRibbonBase::TRibbonMode</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<dl compact><dt><b>Enumeration values: </b></dt><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CPSTailDotw11NL3D_1_1CPSTailDotw12" doxytag="VariableSize" ></a>VariableSize</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CPSTailDotw11NL3D_1_1CPSTailDotw3" doxytag="FixedSize" ></a>FixedSize</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CPSTailDotw11NL3D_1_1CPSTailDotw8" doxytag="RibbonModeLast" ></a>RibbonModeLast</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a06276.html#l00048">48</a> of file <a class="el" href="a06276.html">ps_ribbon_base.h</a>.
+<p>
+Referenced by <a class="el" href="a06276.html#l00062">getRibbonMode()</a>.
+<p>
+<div class="fragment"><pre>00048 { <a class="code" href="a03227.html#NL3D_1_1CPSTailDotw11NL3D_1_1CPSTailDotw12">VariableSize</a> = 0, <a class="code" href="a03227.html#NL3D_1_1CPSTailDotw11NL3D_1_1CPSTailDotw3">FixedSize</a>, <a class="code" href="a03227.html#NL3D_1_1CPSTailDotw11NL3D_1_1CPSTailDotw8">RibbonModeLast</a> };
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="NL3D_1_1CPSRibbonBasez753_0" doxytag="NL3D::CPSRibbonBase::CPSRibbonBase" ></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::CPSRibbonBase::CPSRibbonBase </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>
+Definition at line <a class="el" href="a06275.html#l00079">79</a> of file <a class="el" href="a06275.html">ps_ribbon_base.cpp</a>.
+<p>
+References <a class="el" href="a06275.html#l00568">initDateVect()</a>.
+<p>
+<div class="fragment"><pre>00079 : <a class="code" href="a03227.html#NL3D_1_1CPSTailDotp7">_NbSegs</a>(8),
+00080 <a class="code" href="a03227.html#NL3D_1_1CPSTailDotp10">_SegDuration</a>(0.02f),
+00081 <a class="code" href="a03227.html#NL3D_1_1CPSTailDotp9">_Parametric</a>(<span class="keyword">false</span>),
+00082 <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser3">_RibbonIndex</a>(0),
+00083 <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser1">_LastUpdateDate</a>(0),
+00084 <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser5">_RibbonMode</a>(VariableSize),
+00085 <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser0">_InterpolationMode</a>(Hermitte),
+00086 <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser4">_RibbonLength</a>(1),
+00087 <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser8">_SegLength</a>(_RibbonLength / _NbSegs),
+00088 <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser2">_LODDegradation</a>(1)
+00089
+00090 {
+00091 <a class="code" href="a03227.html#NL3D_1_1CPSTailDotb10">initDateVect</a>();
+00092 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea1" doxytag="NL3D::CPSRibbonBase::basisChanged" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void NL3D::CPSLocatedBindable::basisChanged </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>systemBasis</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called when the basis of the owner changed. the default behaviour does nothing <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>newBasis</em>&nbsp;</td><td>: True if in the system basis, false for the world basis.</td></tr>
+ </table>
+</dl>
+
+<p>
+Reimplemented in <a class="el" href="a02690.html#NL3D_1_1CPSTurbulb0">NL3D::CPSForce</a>.
+<p>
+Definition at line <a class="el" href="a06247.html#l00968">968</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+<div class="fragment"><pre>00968 {}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSphereb0" doxytag="NL3D::CPSRibbonBase::bounceOccured" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void NL3D::CPSLocatedBindable::bounceOccured </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, protected, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+a bounce occured, so some action could be done. The default behaviour does nothing <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>index</em>&nbsp;</td><td>the index of the element that bounced</td></tr>
+ </table>
+</dl>
+
+<p>
+Reimplemented in <a class="el" href="a03179.html#NL3D_1_1CPSSphericalEmitterb0">NL3D::CPSEmitter</a>.
+<p>
+Definition at line <a class="el" href="a06247.html#l01011">1011</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00225">index</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>01011 {}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea2" doxytag="NL3D::CPSRibbonBase::completeBBox" ></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::CPSLocatedBindable::completeBBox </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>box</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a03194.html#NL3D_1_1CPSFanLighta1">NL3D::CPSFanLight</a>, <a class="el" href="a03187.html#NL3D_1_1CPSQuadb2">NL3D::CPSQuad</a>, and <a class="el" href="a03233.html#NL3D_1_1CPSShockWavea1">NL3D::CPSShockWave</a>.
+<p>
+Definition at line <a class="el" href="a06247.html#l00884">884</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+<div class="fragment"><pre>00884 { <span class="keywordflow">return</span> <span class="keyword">false</span> ;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonBased0" doxytag="NL3D::CPSRibbonBase::computeHermitteCstSizeRibbon" ></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::CPSRibbonBase::computeHermitteCstSizeRibbon </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="mdname" nowrap> <em>index</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>dest</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>stride</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"><code> [private]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Compute the ribbon points using hermitte splines between each sampling point, and make a rough approximation to get a constant lenght
+<p>
+Our goal here is to match the length of the ribbon, But if it isn't moving fast enough, we must truncate it Having a constant speed over a hermite curve is expensive, so we make a (very) rough approximation...
+<p>
+Definition at line <a class="el" href="a06275.html#l00382">382</a> of file <a class="el" href="a06275.html">ps_ribbon_base.cpp</a>.
+<p>
+References <a class="el" href="a06276.html#l00101">_NbSegs</a>, <a class="el" href="a06276.html#l00103">_Parametric</a>, <a class="el" href="a06276.html#l00143">_RibbonIndex</a>, <a class="el" href="a06276.html#l00146">_Ribbons</a>, <a class="el" href="a06276.html#l00136">_UsedNbSegs</a>, <a class="el" href="a06276.html#l00138">_UsedSegLength</a>, <a class="el" href="a06275.html#l00040">NL3D::BuildHermiteVector()</a>, <a class="el" href="a06275.html#l00075">NL3D::EndRibbonStorage</a>, <a class="el" href="a05646.html#l00225">index</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05646.html#l00244">stride</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00096">uint8</a>.
+<p>
+Referenced by <a class="el" href="a06275.html#l00455">computeRibbon()</a>.
+<p>
+<div class="fragment"><pre>00383 {
+00384 <a class="code" href="a04199.html#a6">nlassert</a>(!_Parametric);
+00385 <a class="code" href="a03128.html">NLMISC::CVector</a> *startIt = &amp;<a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser6">_Ribbons</a>[(<a class="code" href="a03227.html#NL3D_1_1CPSTailDotp7">_NbSegs</a> + 1 + <a class="code" href="a05363.html#a267">EndRibbonStorage</a>) * <a class="code" href="a04223.html#a566">index</a>];
+00386 <a class="code" href="a03128.html">NLMISC::CVector</a> *endIt = startIt + (<a class="code" href="a03227.html#NL3D_1_1CPSTailDotp7">_NbSegs</a> + 1 + <a class="code" href="a05363.html#a267">EndRibbonStorage</a>);
+00387 <a class="code" href="a03128.html">NLMISC::CVector</a> *currIt = startIt + <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser3">_RibbonIndex</a>;
+00388 <a class="code" href="a03128.html">NLMISC::CVector</a> *firstIt = currIt;
+00389 <a class="code" href="a03128.html">NLMISC::CVector</a> *nextIt = currIt + 1;
+00390 <span class="keywordflow">if</span> (nextIt == endIt) nextIt = startIt;
+00391 <a class="code" href="a03128.html">NLMISC::CVector</a> *nextNextIt = nextIt + 1;
+00392 <span class="keywordflow">if</span> (nextNextIt == endIt) nextNextIt = startIt;
+00393
+00394 <a class="code" href="a03128.html">NLMISC::CVector</a> t0 = (*nextIt - *currIt);
+00395 <a class="code" href="a03128.html">NLMISC::CVector</a> t1 = 0.5f * (*nextNextIt - *currIt);
+00396
+00397 <a class="code" href="a04558.html#a15">uint</a> leftToDo = <a class="code" href="a03227.html#NL3D_1_1CPSTailDotp11">_UsedNbSegs</a> + 1;
+00398
+00399 <span class="keywordtype">float</span> lambda = 0.f;
+00400 <span class="keywordtype">float</span> lambdaStep = 1.f;
+00401
+00402
+00405 <span class="keywordflow">for</span> (;;)
+00406 {
+00408 <span class="keyword">const</span> <span class="keywordtype">float</span> sampleLength = (*nextIt - *currIt).norm();
+00409 <span class="keywordflow">if</span> (sampleLength &gt; 10E-6f)
+00410 {
+00412 <span class="keywordtype">float</span> newLambdaStep = <a class="code" href="a03227.html#NL3D_1_1CPSTailDotp13">_UsedSegLength</a> / sampleLength;
+00413 <span class="comment">// readapt lambda</span>
+00414 lambda *= newLambdaStep / lambdaStep;
+00415 lambdaStep = newLambdaStep;
+00416
+00417 <span class="keywordflow">for</span>(;;)
+00418 {
+00419 <span class="keywordflow">if</span> (lambda &gt;= 1.f) <span class="keywordflow">break</span>;
+00421 <a class="code" href="a05363.html#a514">BuildHermiteVector</a>(*currIt, *nextIt, t0, t1, *dest, lambda);
+00422 dest = (<a class="code" href="a03128.html">NLMISC::CVector</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) dest + <a class="code" href="a04223.html#a582">stride</a>);
+00423 -- leftToDo;
+00424 <span class="keywordflow">if</span> (!leftToDo) <span class="keywordflow">return</span>;
+00425 lambda += lambdaStep;
+00426 }
+00427 lambda -= 1.f;
+00428 }
+00429
+00431 currIt = nextIt;
+00432 nextIt = nextNextIt;
+00433 ++nextNextIt;
+00434 <span class="keywordflow">if</span> (nextNextIt == endIt) nextNextIt = startIt;
+00435 <span class="keywordflow">if</span> (nextNextIt == firstIt)
+00436 {
+00437 <span class="comment">// The length of the sampling curve is too short</span>
+00438 <span class="comment">// must truncate the ribbon.</span>
+00439 <a class="code" href="a03128.html">NLMISC::CVector</a> &amp;toDup = *nextIt;
+00440 <span class="keywordflow">while</span> (leftToDo --)
+00441 {
+00442 *dest = toDup;
+00443 dest = (<a class="code" href="a03128.html">NLMISC::CVector</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) dest + <a class="code" href="a04223.html#a582">stride</a>);
+00444 }
+00445 <span class="keywordflow">return</span>;
+00446 }
+00448 t0 = t1;
+00449 t1 = 0.5f * (*nextNextIt - *currIt);
+00450 }
+00451 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonBased1" doxytag="NL3D::CPSRibbonBase::computeHermitteRibbon" ></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::CPSRibbonBase::computeHermitteRibbon </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="mdname" nowrap> <em>index</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>dest</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>stride</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"><code> [private]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Compute the ribbon points using hermitte splines between each sampling point.
+<p>
+compute a location
+<p>
+Definition at line <a class="el" href="a06275.html#l00175">175</a> of file <a class="el" href="a06275.html">ps_ribbon_base.cpp</a>.
+<p>
+References <a class="el" href="a06276.html#l00101">_NbSegs</a>, <a class="el" href="a06276.html#l00103">_Parametric</a>, <a class="el" href="a06276.html#l00143">_RibbonIndex</a>, <a class="el" href="a06276.html#l00146">_Ribbons</a>, <a class="el" href="a06276.html#l00142">_SamplingDate</a>, <a class="el" href="a06276.html#l00136">_UsedNbSegs</a>, <a class="el" href="a06276.html#l00137">_UsedSegDuration</a>, <a class="el" href="a06275.html#l00040">NL3D::BuildHermiteVector()</a>, <a class="el" href="a06275.html#l00075">NL3D::EndRibbonStorage</a>, <a class="el" href="a05646.html#l00225">index</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05646.html#l00244">stride</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00096">uint8</a>.
+<p>
+Referenced by <a class="el" href="a06275.html#l00455">computeRibbon()</a>.
+<p>
+<div class="fragment"><pre>00176 {
+00177 <a class="code" href="a04199.html#a6">nlassert</a>(!_Parametric);
+00178 <a class="code" href="a03128.html">NLMISC::CVector</a> *startIt = &amp;<a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser6">_Ribbons</a>[(<a class="code" href="a03227.html#NL3D_1_1CPSTailDotp7">_NbSegs</a> + 1 + <a class="code" href="a05363.html#a267">EndRibbonStorage</a>) * <a class="code" href="a04223.html#a566">index</a>];
+00179 <a class="code" href="a03128.html">NLMISC::CVector</a> *endIt = startIt + (<a class="code" href="a03227.html#NL3D_1_1CPSTailDotp7">_NbSegs</a> + 1 + <a class="code" href="a05363.html#a267">EndRibbonStorage</a>);
+00180 <a class="code" href="a03128.html">NLMISC::CVector</a> *currIt = startIt + <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser3">_RibbonIndex</a>;
+00181 <span class="keyword">const</span> <a class="code" href="a03128.html">NLMISC::CVector</a> *firstIt = currIt;
+00182 <a class="code" href="a03128.html">NLMISC::CVector</a> *nextIt = currIt + 1;
+00183 <span class="keywordflow">if</span> (nextIt == endIt) nextIt = startIt;
+00184 <a class="code" href="a03128.html">NLMISC::CVector</a> *nextNextIt = nextIt + 1;
+00185 <span class="keywordflow">if</span> (nextNextIt == endIt) nextNextIt = startIt;
+00186 <span class="keywordtype">float</span> *date = &amp;<a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser7">_SamplingDate</a>[0];
+00187
+00188 <a class="code" href="a03128.html">NLMISC::CVector</a> t0 = (*nextIt - *currIt);
+00189 <a class="code" href="a03128.html">NLMISC::CVector</a> t1 = 0.5f * (*nextNextIt - *currIt);
+00190
+00191 <a class="code" href="a04558.html#a15">uint</a> leftToDo = <a class="code" href="a03227.html#NL3D_1_1CPSTailDotp11">_UsedNbSegs</a> + 1;
+00192
+00193 <span class="keywordtype">float</span> lambda = 0.f;
+00194 <span class="keywordtype">float</span> lambdaStep = 1.f;
+00195
+00196
+00197 <span class="keywordflow">for</span> (;;)
+00198 {
+00199 <span class="keywordtype">float</span> dt = date[0] - date[1];
+00200
+00201 <span class="keywordflow">if</span> (dt &lt; 10E-6f) <span class="comment">// we reached the start of ribbon</span>
+00202 {
+00203
+00204 <span class="keywordflow">do</span>
+00205 {
+00206 *dest = *currIt;
+00207 dest = (<a class="code" href="a03128.html">NLMISC::CVector</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) dest + <a class="code" href="a04223.html#a582">stride</a>);
+00208 }
+00209 <span class="keywordflow">while</span> (--leftToDo);
+00210 <span class="keywordflow">return</span>;
+00211 }
+00212
+00213 <span class="keywordtype">float</span> newLambdaStep = <a class="code" href="a03227.html#NL3D_1_1CPSTailDotp12">_UsedSegDuration</a> / dt;
+00214 <span class="comment">// readapt lambda</span>
+00215 lambda *= newLambdaStep / lambdaStep;
+00216 lambdaStep = newLambdaStep;
+00217 <span class="keywordflow">for</span>(;;)
+00218 {
+00219 <span class="keywordflow">if</span> (lambda &gt;= 1.f) <span class="keywordflow">break</span>;
+00221 <a class="code" href="a05363.html#a514">BuildHermiteVector</a>(*currIt, *nextIt, t0, t1, *dest, lambda);
+00222 dest = (<a class="code" href="a03128.html">NLMISC::CVector</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) dest + <a class="code" href="a04223.html#a582">stride</a>);
+00223 -- leftToDo;
+00224 <span class="keywordflow">if</span> (!leftToDo) <span class="keywordflow">return</span>;
+00225 lambda += lambdaStep;
+00226 }
+00227
+00228 ++date;
+00229 lambda -= 1.f;
+00230
+00231 <span class="comment">// Start new segment and compute new tangents</span>
+00232 t0 = t1;
+00233 currIt = nextIt;
+00234 nextIt = nextNextIt;
+00235 ++nextNextIt;
+00236 <span class="keywordflow">if</span> (nextNextIt == endIt) nextNextIt = startIt;
+00237 <span class="keywordflow">if</span> (nextNextIt == firstIt)
+00238 {
+00239 t1 = *nextIt - *currIt;
+00240 }
+00241 <span class="keywordflow">else</span>
+00242 {
+00243 t1 = 0.5f * (*nextNextIt - *currIt);
+00244 }
+00245 }
+00246 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea3" doxytag="NL3D::CPSRibbonBase::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::CPSLocatedBindable::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<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<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="a06247.html#l00931">931</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06246.html#l00612">NL3D::CPSLocated::computeI()</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l02038">NL3D::CPSLocatedBindable::displayIcon2d()</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>, <a class="el" href="a06239.html#l00413">NL3D::CPSGravity::show()</a>, and <a class="el" href="a06229.html#l00447">NL3D::CPSEmitter::showTool()</a>.
+<p>
+<div class="fragment"><pre>00931 { <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;computeI(); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea4" doxytag="NL3D::CPSRibbonBase::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::CPSLocatedBindable::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<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<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="a06247.html#l00936">936</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06246.html#l00643">NL3D::CPSLocated::computeJ()</a>.
+<p>
+Referenced by <a class="el" href="a06233.html#l00379">NL3D::CPSFaceLookAtHelper::drawLookAt()</a>.
+<p>
+<div class="fragment"><pre>00936 { <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;computeJ(); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea5" doxytag="NL3D::CPSRibbonBase::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::CPSLocatedBindable::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<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<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="a06247.html#l00940">940</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06246.html#l00674">NL3D::CPSLocated::computeK()</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l02038">NL3D::CPSLocatedBindable::displayIcon2d()</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="a06229.html#l00447">NL3D::CPSEmitter::showTool()</a>.
+<p>
+<div class="fragment"><pre>00940 { <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;computeK(); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonBased2" doxytag="NL3D::CPSRibbonBase::computeLinearCstSizeRibbon" ></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::CPSRibbonBase::computeLinearCstSizeRibbon </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="mdname" nowrap> <em>index</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>dest</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>stride</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"><code> [private]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The same as compute linear ribbon but try to make its length constant.
+<p>
+Our goal here is to match the length of the ribbon, But if it isn't moving fast enough, we must truncate it<p>
+compute length between the 2 sampling points<p>
+compute lambda so that it match the length needed for each segment<p>
+compute a location<p>
+go to next sampling pos
+<p>
+Definition at line <a class="el" href="a06275.html#l00315">315</a> of file <a class="el" href="a06275.html">ps_ribbon_base.cpp</a>.
+<p>
+References <a class="el" href="a06276.html#l00101">_NbSegs</a>, <a class="el" href="a06276.html#l00103">_Parametric</a>, <a class="el" href="a06276.html#l00143">_RibbonIndex</a>, <a class="el" href="a06276.html#l00146">_Ribbons</a>, <a class="el" href="a06276.html#l00136">_UsedNbSegs</a>, <a class="el" href="a06276.html#l00138">_UsedSegLength</a>, <a class="el" href="a06275.html#l00062">NL3D::BuildLinearVector()</a>, <a class="el" href="a06275.html#l00075">NL3D::EndRibbonStorage</a>, <a class="el" href="a05646.html#l00225">index</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05646.html#l00244">stride</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00096">uint8</a>.
+<p>
+Referenced by <a class="el" href="a06275.html#l00455">computeRibbon()</a>.
+<p>
+<div class="fragment"><pre>00316 {
+00317 <a class="code" href="a04199.html#a6">nlassert</a>(!_Parametric);
+00318 CVector *startIt = &amp;<a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser6">_Ribbons</a>[(<a class="code" href="a03227.html#NL3D_1_1CPSTailDotp7">_NbSegs</a> + 1 + <a class="code" href="a05363.html#a267">EndRibbonStorage</a>) * <a class="code" href="a04223.html#a566">index</a>];
+00319 <a class="code" href="a03128.html">NLMISC::CVector</a> *endIt = startIt + (<a class="code" href="a03227.html#NL3D_1_1CPSTailDotp7">_NbSegs</a> + 1 + <a class="code" href="a05363.html#a267">EndRibbonStorage</a>);
+00320 <a class="code" href="a03128.html">NLMISC::CVector</a> *currIt = startIt + <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser3">_RibbonIndex</a>;
+00321 <a class="code" href="a03128.html">NLMISC::CVector</a> *firstIt = currIt;
+00322 <a class="code" href="a03128.html">NLMISC::CVector</a> *nextIt = currIt + 1;
+00323 <span class="keywordflow">if</span> (nextIt == endIt) nextIt = startIt;
+00324 <a class="code" href="a03128.html">NLMISC::CVector</a> *nextNextIt = nextIt + 1;
+00325 <span class="keywordflow">if</span> (nextNextIt == endIt) nextNextIt = startIt;
+00326
+00327 <a class="code" href="a04558.html#a15">uint</a> leftToDo = <a class="code" href="a03227.html#NL3D_1_1CPSTailDotp11">_UsedNbSegs</a> + 1;
+00328
+00329 <span class="keywordtype">float</span> lambda = 0.f;
+00330 <span class="keywordtype">float</span> lambdaStep = 1.f;
+00331
+00332
+00334 <span class="keywordflow">for</span> (;;)
+00335 {
+00337 <span class="keyword">const</span> <span class="keywordtype">float</span> sampleLength = (*nextIt - *currIt).norm();
+00338 <span class="keywordflow">if</span> (sampleLength &gt; 10E-6f)
+00339 {
+00341 <span class="keywordtype">float</span> newLambdaStep = <a class="code" href="a03227.html#NL3D_1_1CPSTailDotp13">_UsedSegLength</a> / sampleLength;
+00342 <span class="comment">// readapt lambda</span>
+00343 lambda *= newLambdaStep / lambdaStep;
+00344 lambdaStep = newLambdaStep;
+00345
+00346 <span class="keywordtype">float</span> oneMinusLambda = 1.f - lambda;
+00347 <span class="keywordflow">for</span>(;;)
+00348 {
+00349 <span class="keywordflow">if</span> (lambda &gt;= 1.f) <span class="keywordflow">break</span>;
+00351 <a class="code" href="a05363.html#a515">BuildLinearVector</a>(*currIt, *nextIt, *dest, lambda, oneMinusLambda);
+00352 dest = (<a class="code" href="a03128.html">NLMISC::CVector</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) dest + <a class="code" href="a04223.html#a582">stride</a>);
+00353 -- leftToDo;
+00354 <span class="keywordflow">if</span> (!leftToDo) <span class="keywordflow">return</span>;
+00355 lambda += lambdaStep;
+00356 oneMinusLambda -= lambdaStep;
+00357 }
+00358 lambda -= 1.f;
+00359 }
+00360
+00362 currIt = nextIt;
+00363 nextIt = nextNextIt;
+00364 ++nextNextIt;
+00365 <span class="keywordflow">if</span> (nextNextIt == endIt) nextNextIt = startIt;
+00366 <span class="keywordflow">if</span> (nextNextIt == firstIt)
+00367 {
+00368 <span class="comment">// The length of the sampling curve is too short</span>
+00369 <span class="comment">// must truncate the ribbon.</span>
+00370 <a class="code" href="a03128.html">NLMISC::CVector</a> &amp;toDup = *nextIt;
+00371 <span class="keywordflow">while</span> (leftToDo --)
+00372 {
+00373 *dest = toDup;
+00374 dest = (<a class="code" href="a03128.html">NLMISC::CVector</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) dest + <a class="code" href="a04223.html#a582">stride</a>);
+00375 }
+00376 <span class="keywordflow">return</span>;
+00377 }
+00378 }
+00379 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonBased3" doxytag="NL3D::CPSRibbonBase::computeLinearRibbon" ></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::CPSRibbonBase::computeLinearRibbon </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="mdname" nowrap> <em>index</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>dest</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>stride</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"><code> [private]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Compute the ribbon points using linear interpolation between each sampling point.
+<p>
+well we could avoid code duplication with computeHermitteRibbon, but this is simply easier than using templates for now...<p>
+compute a location
+<p>
+Definition at line <a class="el" href="a06275.html#l00249">249</a> of file <a class="el" href="a06275.html">ps_ribbon_base.cpp</a>.
+<p>
+References <a class="el" href="a06276.html#l00101">_NbSegs</a>, <a class="el" href="a06276.html#l00103">_Parametric</a>, <a class="el" href="a06276.html#l00143">_RibbonIndex</a>, <a class="el" href="a06276.html#l00146">_Ribbons</a>, <a class="el" href="a06276.html#l00142">_SamplingDate</a>, <a class="el" href="a06276.html#l00136">_UsedNbSegs</a>, <a class="el" href="a06276.html#l00137">_UsedSegDuration</a>, <a class="el" href="a06275.html#l00062">NL3D::BuildLinearVector()</a>, <a class="el" href="a06275.html#l00075">NL3D::EndRibbonStorage</a>, <a class="el" href="a05646.html#l00225">index</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05646.html#l00244">stride</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00096">uint8</a>.
+<p>
+Referenced by <a class="el" href="a06275.html#l00455">computeRibbon()</a>.
+<p>
+<div class="fragment"><pre>00250 {
+00252 <a class="code" href="a04199.html#a6">nlassert</a>(!_Parametric);
+00253 <a class="code" href="a03128.html">NLMISC::CVector</a> *startIt = &amp;<a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser6">_Ribbons</a>[(<a class="code" href="a03227.html#NL3D_1_1CPSTailDotp7">_NbSegs</a> + 1 + <a class="code" href="a05363.html#a267">EndRibbonStorage</a>) * <a class="code" href="a04223.html#a566">index</a>];
+00254 <a class="code" href="a03128.html">NLMISC::CVector</a> *endIt = startIt + (<a class="code" href="a03227.html#NL3D_1_1CPSTailDotp7">_NbSegs</a> + 1 + <a class="code" href="a05363.html#a267">EndRibbonStorage</a>);
+00255 <a class="code" href="a03128.html">NLMISC::CVector</a> *currIt = startIt + <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser3">_RibbonIndex</a>;
+00256 <a class="code" href="a03128.html">NLMISC::CVector</a> *nextIt = currIt + 1;
+00257 <span class="keywordflow">if</span> (nextIt == endIt) nextIt = startIt;
+00258 <a class="code" href="a03128.html">NLMISC::CVector</a> *nextNextIt = nextIt + 1;
+00259 <span class="keywordflow">if</span> (nextNextIt == endIt) nextNextIt = startIt;
+00260 <span class="keywordtype">float</span> *date = &amp;<a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser7">_SamplingDate</a>[0];
+00261
+00262 <a class="code" href="a04558.html#a15">uint</a> leftToDo = <a class="code" href="a03227.html#NL3D_1_1CPSTailDotp11">_UsedNbSegs</a> + 1;
+00263
+00264 <span class="keywordtype">float</span> lambda = 0.f;
+00265 <span class="keywordtype">float</span> lambdaStep = 1.f;
+00266
+00267 <span class="keywordflow">for</span> (;;)
+00268 {
+00269 <span class="keywordtype">float</span> dt = date[0] - date[1];
+00270
+00271 <span class="keywordflow">if</span> (dt &lt; 10E-6f) <span class="comment">// we reached the start of ribbon</span>
+00272 {
+00273 <span class="keywordflow">do</span>
+00274 {
+00275 *dest = *currIt;
+00276 dest = (<a class="code" href="a03128.html">NLMISC::CVector</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) dest + <a class="code" href="a04223.html#a582">stride</a>);
+00277 }
+00278 <span class="keywordflow">while</span> (--leftToDo);
+00279 <span class="keywordflow">return</span>;
+00280 }
+00281
+00282
+00283 <span class="keywordtype">float</span> newLambdaStep = <a class="code" href="a03227.html#NL3D_1_1CPSTailDotp12">_UsedSegDuration</a> / dt;
+00284 <span class="comment">// readapt lambda</span>
+00285 lambda *= newLambdaStep / lambdaStep;
+00286 lambdaStep = newLambdaStep;
+00287
+00288 <span class="keywordtype">float</span> oneMinusLambda = 1.f - lambda;
+00289 <span class="keywordflow">for</span>(;;)
+00290 {
+00291 <span class="keywordflow">if</span> (lambda &gt;= 1.f) <span class="keywordflow">break</span>;
+00293 <a class="code" href="a05363.html#a515">BuildLinearVector</a>(*currIt, *nextIt, *dest, lambda, oneMinusLambda);
+00294 dest = (<a class="code" href="a03128.html">NLMISC::CVector</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) dest + <a class="code" href="a04223.html#a582">stride</a>);
+00295 -- leftToDo;
+00296 <span class="keywordflow">if</span> (!leftToDo) <span class="keywordflow">return</span>;
+00297 lambda += lambdaStep;
+00298 oneMinusLambda -= lambdaStep;
+00299 }
+00300
+00301 ++date;
+00302 lambda -= 1.f;
+00303
+00304 currIt = nextIt;
+00305 nextIt = nextNextIt;
+00306 ++nextNextIt;
+00307 <span class="keywordflow">if</span> (nextNextIt == endIt) nextNextIt = startIt;
+00308
+00309 }
+00310 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotb1" doxytag="NL3D::CPSRibbonBase::computeRibbon" ></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::CPSRibbonBase::computeRibbon </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="mdname" nowrap> <em>index</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>dest</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>stride</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"><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get position of the i-th ribbon and store them in a table of vector. It uses the interpolation setting of this object. The dest tab must have at least nbSegs + 1 entries.
+<p>
+Definition at line <a class="el" href="a06275.html#l00455">455</a> of file <a class="el" href="a06275.html">ps_ribbon_base.cpp</a>.
+<p>
+References <a class="el" href="a06276.html#l00149">_InterpolationMode</a>, <a class="el" href="a06276.html#l00148">_RibbonMode</a>, <a class="el" href="a06275.html#l00382">computeHermitteCstSizeRibbon()</a>, <a class="el" href="a06275.html#l00175">computeHermitteRibbon()</a>, <a class="el" href="a06275.html#l00315">computeLinearCstSizeRibbon()</a>, <a class="el" href="a06275.html#l00249">computeLinearRibbon()</a>, <a class="el" href="a03227.html#NL3D_1_1CPSTailDotw10NL3D_1_1CPSTailDotw4">Hermitte</a>, <a class="el" href="a05646.html#l00225">index</a>, <a class="el" href="a03227.html#NL3D_1_1CPSTailDotw10NL3D_1_1CPSTailDotw6">Linear</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05646.html#l00244">stride</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a03227.html#NL3D_1_1CPSTailDotw11NL3D_1_1CPSTailDotw12">VariableSize</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>, and <a class="el" href="a06273.html#l00471">NL3D::CPSRibbon::displayRibbons()</a>.
+<p>
+<div class="fragment"><pre>00456 {
+00457 <span class="keywordflow">switch</span> (<a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser0">_InterpolationMode</a>)
+00458 {
+00459 <span class="keywordflow">case</span> <a class="code" href="a03227.html#NL3D_1_1CPSTailDotw10NL3D_1_1CPSTailDotw6">Linear</a>:
+00460 <span class="keywordflow">if</span> (<a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser5">_RibbonMode</a> == <a class="code" href="a03227.html#NL3D_1_1CPSTailDotw11NL3D_1_1CPSTailDotw12">VariableSize</a>)
+00461 {
+00462 <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBased3">computeLinearRibbon</a>(index, dest, stride);
+00463 }
+00464 <span class="keywordflow">else</span>
+00465 {
+00466 <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBased2">computeLinearCstSizeRibbon</a>(index, dest, stride);
+00467 }
+00468 <span class="keywordflow">break</span>;
+00469 <span class="keywordflow">case</span> <a class="code" href="a03227.html#NL3D_1_1CPSTailDotw10NL3D_1_1CPSTailDotw4">Hermitte</a>:
+00470 <span class="keywordflow">if</span> (<a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser5">_RibbonMode</a> == <a class="code" href="a03227.html#NL3D_1_1CPSTailDotw11NL3D_1_1CPSTailDotw12">VariableSize</a>)
+00471 {
+00472 <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBased1">computeHermitteRibbon</a>(index, dest, stride);
+00473
+00474 }
+00475 <span class="keywordflow">else</span>
+00476 {
+00477 <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBased0">computeHermitteCstSizeRibbon</a>(index, dest, stride);
+00478 }
+00479 <span class="keywordflow">break</span>;
+00480 <span class="keywordflow">default</span>:
+00481 <a class="code" href="a04199.html#a6">nlassert</a>(0);
+00482 <span class="keywordflow">break</span>;
+00483 }
+00484
+00485 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotb2" doxytag="NL3D::CPSRibbonBase::computeSrcStep" ></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::CPSParticle::computeSrcStep </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>step</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> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>numToProcess</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [protected, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+System may have hand-tuned LOD, or auto LOD. This compute the number of particles that must really be displayed, and the src step that allow to go through the whole collection. The step in the source is in a fixed point 16:16 format
+<p>
+Definition at line <a class="el" href="a06257.html#l00082">82</a> of file <a class="el" href="a06257.html">ps_particle_basic.cpp</a>.
+<p>
+References <a class="el" href="a06258.html#l00183">NL3D::CPSParticle::_DisableAutoLOD</a>, <a class="el" href="a05587.html#l00115">NLMISC::clamp()</a>, <a class="el" href="a06143.html#l00631">NL3D::CParticleSystem::getAutoLODDegradationExponent()</a>, <a class="el" href="a06143.html#l00638">NL3D::CParticleSystem::getAutoLODMode()</a>, <a class="el" href="a06143.html#l00630">NL3D::CParticleSystem::getAutoLODStartDistPercent()</a>, <a class="el" href="a06143.html#l00596">NL3D::CParticleSystem::getOneMinusCurrentLODRatio()</a>, <a class="el" href="a06151.html#l00111">NL3D::CParticleSystemProcess::getOwner()</a>, <a class="el" href="a06247.html#l00361">NL3D::CPSLocated::getSize()</a>, <a class="el" href="a06143.html#l00606">NL3D::CParticleSystem::isAutoLODEnabled()</a>, <a class="el" href="a06143.html#l00135">NL3D::CParticleSystem::isSharingEnabled()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05646.html#l00993">r</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="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="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>, and <a class="el" href="a06231.html#l00212">NL3D::CPSFace::step()</a>.
+<p>
+<div class="fragment"><pre>00083 {
+00084 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner &amp;&amp; <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner());
+00085 <span class="keyword">const</span> CParticleSystem &amp;ps = *(<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner());
+00086 <span class="keywordflow">if</span> (_DisableAutoLOD || !ps.isAutoLODEnabled() || !ps.isSharingEnabled() || <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getSize() == 0) <span class="comment">// Should Auto-LOD be used ?</span>
+00087 {
+00088 step = (1 &lt;&lt; 16);
+00089 numToProcess = <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getSize();
+00090 }
+00091 <span class="keywordflow">else</span>
+00092 {
+00093 <span class="keywordtype">float</span> oneMinusLODRatio = ps.getOneMinusCurrentLODRatio();
+00094 <span class="keywordtype">float</span> LODRatio = 1.f - oneMinusLODRatio;
+00095 <span class="keywordflow">if</span> (LODRatio &gt; ps.getAutoLODStartDistPercent())
+00096 {
+00097 <span class="keywordtype">float</span> factor = (LODRatio - 1.f) / (ps.getAutoLODStartDistPercent() - 1.f);
+00098 <a class="code" href="a05378.html#a374">NLMISC::clamp</a>(factor, 0.f, 1.f);
+00099 <span class="keywordtype">float</span> <a class="code" href="a04223.html#a628">r</a> = factor;
+00100 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> k = 1; k &lt; ps.getAutoLODDegradationExponent(); ++k)
+00101 {
+00102 <a class="code" href="a04223.html#a628">r</a> *= factor;
+00103 }
+00104 numToProcess = (<a class="code" href="a04558.html#a15">uint</a>) (<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getSize() * <a class="code" href="a04223.html#a628">r</a>);
+00105 <span class="keywordflow">if</span> (numToProcess &lt; 1) { numToProcess = 1; }
+00106
+00107 step = ps.getAutoLODMode() ? <span class="comment">// skip or limit number, depending on the mode</span>
+00108 (<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getSize() &lt;&lt; 16) / numToProcess : <span class="comment">// skip particles</span>
+00109 (1 &lt;&lt; 16); <span class="comment">// just display less particles</span>
+00110 }
+00111 <span class="keywordflow">else</span>
+00112 {
+00113 step = (1 &lt;&lt; 16);
+00114 numToProcess = <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getSize();
+00115 }
+00116 }
+00117
+00118 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonBaseb3" doxytag="NL3D::CPSRibbonBase::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::CPSRibbonBase::deleteElement </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>index</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+inherited from <a class="el" href="a02691.html">CPSLocatedBindable</a>
+<p>
+
+<p>
+Implements <a class="el" href="a03162.html#NL3D_1_1CPSParticleb2">NL3D::CPSParticle</a>.
+<p>
+Reimplemented in <a class="el" href="a03226.html#NL3D_1_1CPSRibbonb4">NL3D::CPSRibbon</a>, <a class="el" href="a03230.html#NL3D_1_1CPSRibbonLookAtb4">NL3D::CPSRibbonLookAt</a>, and <a class="el" href="a03240.html#NL3D_1_1CPSTailDotb4">NL3D::CPSTailDot</a>.
+<p>
+Definition at line <a class="el" href="a06275.html#l00509">509</a> of file <a class="el" href="a06275.html">ps_ribbon_base.cpp</a>.
+<p>
+References <a class="el" href="a06276.html#l00103">_Parametric</a>, <a class="el" href="a06275.html#l00489">dupRibbon()</a>, <a class="el" href="a06247.html#l00361">NL3D::CPSLocated::getSize()</a>, <a class="el" href="a05646.html#l00225">index</a>, <a class="el" href="a05646.html#l00645">size</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00510 {
+00511 <span class="keywordflow">if</span> (<a class="code" href="a03227.html#NL3D_1_1CPSTailDotp9">_Parametric</a>) <span class="keywordflow">return</span>;
+00512 <span class="keyword">const</span> <a class="code" href="a04558.html#a11">uint32</a> <a class="code" href="a04223.html#a587">size</a> = <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getSize();
+00513 <span class="keywordflow">if</span>(<a class="code" href="a04223.html#a566">index</a> == (<a class="code" href="a04223.html#a587">size</a> - 1)) <span class="keywordflow">return</span>; <span class="comment">// was the last element, no permutation needed.</span>
+00514 <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBased4">dupRibbon</a>(index, size - 1);
+00515 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota5" doxytag="NL3D::CPSRibbonBase::disableAutoLOD" ></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::CPSParticle::disableAutoLOD </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>disable</em> = true </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>
+Force the Auto-LOD to be disbaled. When set to false, the default behaviour set in the system is used.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06258.html#l00137">137</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a06258.html#l00183">NL3D::CPSParticle::_DisableAutoLOD</a>.
+<p>
+<div class="fragment"><pre>00137 { _DisableAutoLOD = disable; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSphereb3" doxytag="NL3D::CPSRibbonBase::displayIcon2d" ></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::CPSLocatedBindable::displayIcon2d </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">NLMISC::CVector</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>tab</em>[], </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>nbSegs</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>scale</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [protected, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+show an drawing to represent the object, and in red if it is selected <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>tab</em>&nbsp;</td><td>: a table of 2 * nbSeg vector. only the x and y coordinates are used </td></tr>
+ <tr><td valign=top><em>nbSeg</em>&nbsp;</td><td>: the number of segment </td></tr>
+ <tr><td valign=top><em>scale</em>&nbsp;</td><td>: the scale to use for drawing</td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l02038">2038</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00931">NL3D::CPSLocatedBindable::computeI()</a>, <a class="el" href="a06247.html#l00940">NL3D::CPSLocatedBindable::computeK()</a>, <a class="el" href="a06143.html#l00411">NL3D::CParticleSystem::getCurrentEditedElement()</a>, <a class="el" href="a06247.html#l00890">NL3D::CPSLocatedBindable::getDriver()</a>, <a class="el" href="a06151.html#l00111">NL3D::CParticleSystemProcess::getOwner()</a>, <a class="el" href="a06247.html#l00334">NL3D::CPSLocated::getPos()</a>, <a class="el" href="a06247.html#l00361">NL3D::CPSLocated::getSize()</a>, <a class="el" href="a05646.html#l00225">index</a>, <a class="el" href="a05641.html#l00064">NL3D::CMaterial::setBlend()</a>, <a class="el" href="a05641.html#l00091">NL3D::CMaterial::setBlendFunc()</a>, <a class="el" href="a05641.html#l00118">NL3D::CMaterial::setColor()</a>, <a class="el" href="a05641.html#l00127">NL3D::CMaterial::setLighting()</a>, <a class="el" href="a06246.html#l02142">NL3D::CPSLocatedBindable::setupDriverModelMatrix()</a>, <a class="el" href="a05641.html#l00099">NL3D::CMaterial::setZFunc()</a>, <a class="el" href="a05641.html#l00105">NL3D::CMaterial::setZWrite()</a>, <a class="el" href="a05646.html#l00645">size</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05981.html#l00100">uint32</a>, <a class="el" href="a05910.html#l00048">NLMISC::CLine::V0</a>, <a class="el" href="a05910.html#l00048">NLMISC::CLine::V1</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::x</a>, and <a class="el" href="a06673.html#l00051">NLMISC::CVector::y</a>.
+<p>
+Referenced by <a class="el" href="a06239.html#l00795">NL3D::CPSSpring::show()</a>, <a class="el" href="a06239.html#l00724">NL3D::CPSCentralGravity::show()</a>, and <a class="el" href="a06257.html#l00055">NL3D::CPSParticle::showTool()</a>.
+<p>
+<div class="fragment"><pre>02039 {
+02040 <a class="code" href="a04558.html#a11">uint32</a> <a class="code" href="a04223.html#a587">size</a> = <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getSize();
+02041 <span class="keywordflow">if</span> (!<a class="code" href="a04223.html#a587">size</a>) <span class="keywordflow">return</span>;
+02042 <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherea59">setupDriverModelMatrix</a>();
+02043
+02044 <span class="keyword">const</span> CVector I = <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherea3">computeI</a>();
+02045 <span class="keyword">const</span> CVector K = <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherea5">computeK</a>();
+02046
+02047 <span class="keyword">static</span> std::vector&lt;NLMISC::CLine&gt; lines;
+02048
+02049 lines.clear();
+02050
+02051 <span class="comment">// ugly slow code, but not for runtime</span>
+02052 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> k = 0; k &lt; <a class="code" href="a04223.html#a587">size</a>; ++k)
+02053 {
+02054 <span class="comment">// center of the current particle</span>
+02055 <span class="keyword">const</span> CVector p = <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getPos()[k];
+02056
+02057
+02058
+02059 <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; nbSegs; ++<a class="code" href="a05373.html#a2">l</a>)
+02060 {
+02061 <a class="code" href="a02759.html">NLMISC::CLine</a> li;
+02062 li.<a class="code" href="a02759.html#NLMISC_1_1CLineUVo2">V0</a> = p + scale * (tab[<a class="code" href="a05373.html#a2">l</a> &lt;&lt; 1].<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a> * I + tab[<a class="code" href="a05373.html#a2">l</a> &lt;&lt; 1].y * K);
+02063 li.<a class="code" href="a02759.html#NLMISC_1_1CLineUVo3">V1</a> = p + scale * (tab[(<a class="code" href="a05373.html#a2">l</a> &lt;&lt; 1) + 1].x * I + tab[(<a class="code" href="a05373.html#a2">l</a> &lt;&lt; 1) + 1].y * K);
+02064 lines.push_back(li);
+02065 }
+02066
+02067 CMaterial mat;
+02068
+02069 mat.setBlendFunc(CMaterial::one, CMaterial::one);
+02070 mat.setZWrite(<span class="keyword">false</span>);
+02071 mat.setLighting(<span class="keyword">false</span>);
+02072 mat.setBlend(<span class="keyword">true</span>);
+02073 mat.setZFunc(CMaterial::less);
+02074
+02075
+02076
+02077 <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpheren0">CPSLocated</a> *loc;
+02078 <a class="code" href="a04558.html#a11">uint32</a> <a class="code" href="a04223.html#a566">index</a>;
+02079 <a class="code" href="a02691.html#NL3D_1_1CPSLocatedBindablez743_0">CPSLocatedBindable</a> *lb;
+02080 <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner()-&gt;getCurrentEditedElement(loc, index, lb);
+02081
+02082 mat.setColor((lb == NULL || <span class="keyword">this</span> == lb) &amp;&amp; loc == _Owner &amp;&amp; index == k ? CRGBA::Red : <a class="code" href="a03337.html">CRGBA</a>(127, 127, 127));
+02083
+02084
+02085 CDRU::drawLinesUnlit(lines, mat, *<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherea14">getDriver</a>() );
+02086 }
+02087
+02088 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea8" doxytag="NL3D::CPSRibbonBase::doesProduceBBox" ></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::CPSLocatedBindable::doesProduceBBox </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a02690.html#NL3D_1_1CPSTurbula7">NL3D::CPSForce</a>.
+<p>
+Definition at line <a class="el" href="a06247.html#l00888">888</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+<div class="fragment"><pre>00888 { <span class="keywordflow">return</span> <span class="keyword">true</span>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota7" doxytag="NL3D::CPSRibbonBase::draw" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void NL3D::CPSParticle::draw </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>opaque</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+derivers draw the particles here
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a03177.html#NL3D_1_1CPSDotb5">NL3D::CPSDot</a>, <a class="el" href="a03191.html#NL3D_1_1CPSFaceLookAtb10">NL3D::CPSFaceLookAt</a>, <a class="el" href="a03194.html#NL3D_1_1CPSFanLightd0">NL3D::CPSFanLight</a>, and <a class="el" href="a03233.html#NL3D_1_1CPSShockWaved0">NL3D::CPSShockWave</a>.
+<p>
+Definition at line <a class="el" href="a06258.html#l00110">110</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+Referenced by <a class="el" href="a06258.html#l00074">NL3D::CPSParticle::step()</a>.
+<p>
+<div class="fragment"><pre>00110 {}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonBased4" doxytag="NL3D::CPSRibbonBase::dupRibbon" ></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::CPSRibbonBase::dupRibbon </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="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="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>src</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [private]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+copy datas from one ribbon to another
+<p>
+
+<p>
+Definition at line <a class="el" href="a06275.html#l00489">489</a> of file <a class="el" href="a06275.html">ps_ribbon_base.cpp</a>.
+<p>
+References <a class="el" href="a06276.html#l00101">_NbSegs</a>, <a class="el" href="a06276.html#l00103">_Parametric</a>, <a class="el" href="a06276.html#l00146">_Ribbons</a>, <a class="el" href="a06275.html#l00075">NL3D::EndRibbonStorage</a>, <a class="el" href="a06247.html#l00361">NL3D::CPSLocated::getSize()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05646.html#l00645">size</a>, <a class="el" href="a05646.html#l01124">src</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06275.html#l00509">deleteElement()</a>.
+<p>
+<div class="fragment"><pre>00490 {
+00491 <a class="code" href="a04199.html#a6">nlassert</a>(!_Parametric);
+00492 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+00493 <span class="keyword">const</span> <a class="code" href="a04558.html#a15">uint</a> <a class="code" href="a04223.html#a587">size</a> = <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getSize();
+00494 <a class="code" href="a04199.html#a6">nlassert</a>(dest &lt; size &amp;&amp; src &lt; size);
+00495 ::memcpy(&amp;<a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser6">_Ribbons</a>[dest * (<a class="code" href="a03227.html#NL3D_1_1CPSTailDotp7">_NbSegs</a> + <a class="code" href="a05363.html#a267">EndRibbonStorage</a> + 1)], &amp;<a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser6">_Ribbons</a>[<a class="code" href="a04223.html#a652">src</a> * (<a class="code" href="a03227.html#NL3D_1_1CPSTailDotp7">_NbSegs</a> + <a class="code" href="a05363.html#a267">EndRibbonStorage</a> + 1)], <span class="keyword">sizeof</span>(<a class="code" href="a03128.html">NLMISC::CVector</a>) * (<a class="code" href="a03227.html#NL3D_1_1CPSTailDotp7">_NbSegs</a> + 1 + <a class="code" href="a05363.html#a267">EndRibbonStorage</a>));
+00496 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota8" doxytag="NL3D::CPSRibbonBase::enableGlobalColorLighting" ></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::CPSParticle::enableGlobalColorLighting </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>enabled</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06258.html#l00105">105</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a06258.html#l00184">NL3D::CPSParticle::_UsesGlobalColorLighting</a>.
+<p>
+<div class="fragment"><pre>00105 { _UsesGlobalColorLighting = enabled; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea9" doxytag="NL3D::CPSRibbonBase::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"> virtual void NL3D::CPSLocatedBindable::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> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a03194.html#NL3D_1_1CPSFanLighta9">NL3D::CPSFanLight</a>, <a class="el" href="a03187.html#NL3D_1_1CPSQuada13">NL3D::CPSQuad</a>, <a class="el" href="a03226.html#NL3D_1_1CPSRibbona10">NL3D::CPSRibbon</a>, <a class="el" href="a03230.html#NL3D_1_1CPSRibbonLookAta10">NL3D::CPSRibbonLookAt</a>, and <a class="el" href="a03233.html#NL3D_1_1CPSShockWavea11">NL3D::CPSShockWave</a>.
+<p>
+Definition at line <a class="el" href="a06247.html#l00977">977</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+<div class="fragment"><pre>00977 {}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotz743_0" doxytag="NL3D::CPSRibbonBase::finalize" ></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::CPSLocatedBindable::finalize </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, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+this should be called before to delete any bindable inserted in a system, but this is done by the system, so you should never need calling it. This has been introduced because calls in dtor are not polymorphic to derived class (which are already destroyed anyway), and some infos are needed in some dtor. The default behaviour does nothing
+<p>
+Reimplemented in <a class="el" href="a02689.html#NL3D_1_1CPSZoneSpherea10">NL3D::CPSTargetLocatedBindable</a>.
+<p>
+Definition at line <a class="el" href="a06246.html#l01975">1975</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06151.html#l00111">NL3D::CParticleSystemProcess::getOwner()</a>, <a class="el" href="a06247.html#l00974">NL3D::CPSLocatedBindable::getUserMatrixUsageCount()</a>, and <a class="el" href="a06142.html#l01907">NL3D::CParticleSystem::releaseRefForUserSysCoordInfo()</a>.
+<p>
+<div class="fragment"><pre>01976 {
+01977 <span class="keywordflow">if</span> (<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a> &amp;&amp; <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner())
+01978 {
+01979 <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner()-&gt;releaseRefForUserSysCoordInfo(<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherea36">getUserMatrixUsageCount</a>());
+01980 }
+01981 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1ITrackKeyFramer_3_01CKeyVector_01_4a6" doxytag="NL3D::CPSRibbonBase::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_1CPSTailParticlea0" doxytag="NL3D::CPSRibbonBase::getColorFading" ></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::CPSTailParticle::getColorFading </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> [pure virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+test wether color fading is activated
+<p>
+
+<p>
+Implemented in <a class="el" href="a03226.html#NL3D_1_1CPSRibbonz749_0">NL3D::CPSRibbon</a>, <a class="el" href="a03230.html#NL3D_1_1CPSRibbonLookAtz758_0">NL3D::CPSRibbonLookAt</a>, and <a class="el" href="a03240.html#NL3D_1_1CPSTailDotz764_0">NL3D::CPSTailDot</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea14" doxytag="NL3D::CPSRibbonBase::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::CPSLocatedBindable::getDriver </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>
+shortcut to get an instance of the driver
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00890">890</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06246.html#l00705">NL3D::CPSLocated::getDriver()</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+Referenced by <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="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>, <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="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>, and <a class="el" href="a06229.html#l00447">NL3D::CPSEmitter::showTool()</a>.
+<p>
+<div class="fragment"><pre>00891 {
+00892 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+00893 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getDriver());
+00894 <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getDriver();
+00895 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea15" doxytag="NL3D::CPSRibbonBase::getExternID" ></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::CPSLocatedBindable::getExternID </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>
+get the extern ID of this located bindable
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00964">964</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06247.html#l01027">NL3D::CPSLocatedBindable::_ExternID</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l00751">NL3D::CPSLocated::bind()</a>, and <a class="el" href="a06142.html#l01096">NL3D::CParticleSystem::unregisterLocatedBindableExternID()</a>.
+<p>
+<div class="fragment"><pre>00964 { <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep3">_ExternID</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea16" doxytag="NL3D::CPSRibbonBase::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::CPSLocatedBindable::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> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Shortcut to get the font generator if one was set (const version).
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00904">904</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06150.html#l00071">NL3D::CParticleSystemProcess::getFontGenerator()</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+<div class="fragment"><pre>00905 {
+00906 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+00907 <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getFontGenerator();
+00908 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea17" doxytag="NL3D::CPSRibbonBase::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::CPSLocatedBindable::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> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Shortcut to get the font generator if one was set.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00897">897</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06150.html#l00071">NL3D::CParticleSystemProcess::getFontGenerator()</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+Referenced by <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#l00140">NL3D::CPSZonePlane::show()</a>, <a class="el" href="a06239.html#l00900">NL3D::CPSCylindricVortex::show()</a>, <a class="el" href="a06239.html#l00413">NL3D::CPSGravity::show()</a>, and <a class="el" href="a06229.html#l02391">NL3D::CPSEmitterRectangle::showTool()</a>.
+<p>
+<div class="fragment"><pre>00898 {
+00899 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+00900 <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getFontGenerator();
+00901 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea18" doxytag="NL3D::CPSRibbonBase::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::CPSLocatedBindable::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 the font manager if one was set (const version).
+<p>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l02099">2099</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06150.html#l00085">NL3D::CParticleSystemProcess::getFontManager()</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+<div class="fragment"><pre>02100 {
+02101 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+02102 <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getFontManager();
+02103 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea19" doxytag="NL3D::CPSRibbonBase::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::CPSLocatedBindable::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>
+***************************************************************************************
+<p>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l02091">2091</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06150.html#l00085">NL3D::CParticleSystemProcess::getFontManager()</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+Referenced by <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#l00140">NL3D::CPSZonePlane::show()</a>, <a class="el" href="a06239.html#l00900">NL3D::CPSCylindricVortex::show()</a>, <a class="el" href="a06239.html#l00413">NL3D::CPSGravity::show()</a>, and <a class="el" href="a06229.html#l02391">NL3D::CPSEmitterRectangle::showTool()</a>.
+<p>
+<div class="fragment"><pre>02092 {
+02093 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+02094 <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getFontManager();
+02095 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotz754_0" doxytag="NL3D::CPSRibbonBase::getInterpolationMode" ></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="a03227.html#NL3D_1_1CPSTailDotw10">TInterpolationMode</a> NL3D::CPSRibbonBase::getInterpolationMode </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06276.html#l00064">64</a> of file <a class="el" href="a06276.html">ps_ribbon_base.h</a>.
+<p>
+References <a class="el" href="a06276.html#l00149">_InterpolationMode</a>, and <a class="el" href="a06276.html#l00049">TInterpolationMode</a>.
+<p>
+<div class="fragment"><pre>00064 { <span class="keywordflow">return</span> <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser0">_InterpolationMode</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea20" doxytag="NL3D::CPSRibbonBase::getInvertedSysMat" ></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::CPSLocatedBindable::getInvertedSysMat </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 the inverted matrix of the system
+<p>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l02116">2116</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="a06151.html#l00111">NL3D::CParticleSystemProcess::getOwner()</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+<div class="fragment"><pre>02117 {
+02118 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+02119 <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner()-&gt;getInvertedSysMat();
+02120
+02121 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea21" doxytag="NL3D::CPSRibbonBase::getInvertedViewMat" ></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::CPSLocatedBindable::getInvertedViewMat </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 the inverted view matrix
+<p>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l02134">2134</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06143.html#l00223">NL3D::CParticleSystem::getInvertedViewMat()</a>, <a class="el" href="a06151.html#l00111">NL3D::CParticleSystemProcess::getOwner()</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+<div class="fragment"><pre>02135 {
+02136 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+02137 <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner()-&gt;getInvertedViewMat();
+02138 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea22" doxytag="NL3D::CPSRibbonBase::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::CPSLocatedBindable::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<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Shortcut to get the local to world matrix.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l01144">1144</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06246.html#l00092">NL3D::CPSLocated::getLocalToWorldMatrix()</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+Referenced by <a class="el" href="a06277.html#l00319">NL3D::CPSRibbonLookAt::displayRibbons()</a>, <a class="el" href="a06281.html#l00355">NL3D::CPSSound::newElement()</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#l00140">NL3D::CPSZonePlane::show()</a>, <a class="el" href="a06244.html#l00363">NL3D::CPSLight::show()</a>, <a class="el" href="a06239.html#l00413">NL3D::CPSGravity::show()</a>, <a class="el" href="a06229.html#l02391">NL3D::CPSEmitterRectangle::showTool()</a>, <a class="el" href="a06244.html#l00146">NL3D::CPSLight::step()</a>, and <a class="el" href="a06250.html#l00295">NL3D::CPSMesh::updatePos()</a>.
+<p>
+<div class="fragment"><pre>01145 {
+01146 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+01147 <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getLocalToWorldMatrix();
+01148 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea23" doxytag="NL3D::CPSRibbonBase::getLOD" ></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#a558">TPSLod</a> NL3D::CPSLocatedBindable::getLOD </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>
+get the valid lods for that object
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00954">954</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06247.html#l01029">NL3D::CPSLocatedBindable::_LOD</a>, and <a class="el" href="a06248.html#l00036">NL3D::TPSLod</a>.
+<p>
+<div class="fragment"><pre>00954 { <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep4">_LOD</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota28" doxytag="NL3D::CPSRibbonBase::getLODDegradation" ></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::CPSRibbonBase::getLODDegradation </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06276.html#l00095">95</a> of file <a class="el" href="a06276.html">ps_ribbon_base.h</a>.
+<p>
+<div class="fragment"><pre>00095 { <span class="keywordflow">return</span> <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser2">_LODDegradation</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonBasea23" doxytag="NL3D::CPSRibbonBase::getMaxNumFaces" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="a04558.html#a11">uint32</a> NL3D::CPSParticle::getMaxNumFaces </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> [pure virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+return the max number of faces needed for display. This is needed for LOD balancing
+<p>
+
+<p>
+Implemented in <a class="el" href="a03177.html#NL3D_1_1CPSDota28">NL3D::CPSDot</a>, <a class="el" href="a03194.html#NL3D_1_1CPSFanLighta30">NL3D::CPSFanLight</a>, <a class="el" href="a03218.html#NL3D_1_1CPSMesha25">NL3D::CPSMesh</a>, <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesha29">NL3D::CPSConstraintMesh</a>, <a class="el" href="a03187.html#NL3D_1_1CPSQuada35">NL3D::CPSQuad</a>, <a class="el" href="a03226.html#NL3D_1_1CPSRibbona29">NL3D::CPSRibbon</a>, <a class="el" href="a03230.html#NL3D_1_1CPSRibbonLookAta29">NL3D::CPSRibbonLookAt</a>, <a class="el" href="a03233.html#NL3D_1_1CPSShockWavea32">NL3D::CPSShockWave</a>, and <a class="el" href="a03240.html#NL3D_1_1CPSTailDota29">NL3D::CPSTailDot</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea25" doxytag="NL3D::CPSRibbonBase::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::CPSLocatedBindable::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, inherited]</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#l00948">948</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+<div class="fragment"><pre>00948 { <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep5">_Name</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea28" doxytag="NL3D::CPSRibbonBase::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="a03214.html">CPSLocated</a>* NL3D::CPSLocatedBindable::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>
+get the located that owns this bindable (const version)
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00944">944</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+<div class="fragment"><pre>00944 { <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea29" doxytag="NL3D::CPSRibbonBase::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="a03214.html">CPSLocated</a>* NL3D::CPSLocatedBindable::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>
+get the located that owns this bindable
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00942">942</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l01051">NL3D::CPSLocated::deleteElement()</a>, <a class="el" href="a06144.html#l00208">NL3D::CParticleSystemInstanceUser::emit()</a>, <a class="el" href="a06234.html#l00122">NL3D::CPSFaceLookAt::CSecondSize::getSizeOwner()</a>, <a class="el" href="a06281.html#l00355">NL3D::CPSSound::newElement()</a>, <a class="el" href="a06246.html#l01836">NL3D::CPSLocated::registerIntegrableForce()</a>, <a class="el" href="a06142.html#l01081">NL3D::CParticleSystem::registerLocatedBindableExternID()</a>, <a class="el" href="a06144.html#l00236">NL3D::CParticleSystemInstanceUser::removeByID()</a>, <a class="el" href="a06281.html#l00415">NL3D::CPSSound::resize()</a>, <a class="el" href="a06244.html#l00337">NL3D::CPSLight::resize()</a>, <a class="el" href="a06281.html#l00109">NL3D::CPSSound::step()</a>, <a class="el" href="a06246.html#l01851">NL3D::CPSLocated::unregisterIntegrableForce()</a>, and <a class="el" href="a06142.html#l01096">NL3D::CParticleSystem::unregisterLocatedBindableExternID()</a>.
+<p>
+<div class="fragment"><pre>00942 { <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota33" doxytag="NL3D::CPSRibbonBase::getPriority" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="a04558.html#a11">uint32</a> NL3D::CPSParticle::getPriority </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+return priority
+<p>
+
+<p>
+Implements <a class="el" href="a02691.html#NL3D_1_1CPSTargetLocatedBindablea25">NL3D::CPSLocatedBindable</a>.
+<p>
+Definition at line <a class="el" href="a06258.html#l00066">66</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00066 { <span class="keywordflow">return</span> 1000; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotb7" doxytag="NL3D::CPSRibbonBase::getRibbonIndex" ></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::CPSRibbonBase::getRibbonIndex </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, protected]</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="a06276.html#l00131">131</a> of file <a class="el" href="a06276.html">ps_ribbon_base.h</a>.
+<p>
+References <a class="el" href="a06276.html#l00143">_RibbonIndex</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00131 { <span class="keywordflow">return</span> <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser3">_RibbonIndex</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotz755_0" doxytag="NL3D::CPSRibbonBase::getRibbonLength" ></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::CPSRibbonBase::getRibbonLength </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06276.html#l00084">84</a> of file <a class="el" href="a06276.html">ps_ribbon_base.h</a>.
+<p>
+References <a class="el" href="a06276.html#l00150">_RibbonLength</a>.
+<p>
+<div class="fragment"><pre>00084 { <span class="keywordflow">return</span> <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser4">_RibbonLength</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotz754_1" doxytag="NL3D::CPSRibbonBase::getRibbonMode" ></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="a03227.html#NL3D_1_1CPSTailDotw11">TRibbonMode</a> NL3D::CPSRibbonBase::getRibbonMode </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06276.html#l00062">62</a> of file <a class="el" href="a06276.html">ps_ribbon_base.h</a>.
+<p>
+References <a class="el" href="a06276.html#l00148">_RibbonMode</a>, and <a class="el" href="a06276.html#l00048">TRibbonMode</a>.
+<p>
+<div class="fragment"><pre>00062 { <span class="keywordflow">return</span> <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser5">_RibbonMode</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotb8" doxytag="NL3D::CPSRibbonBase::getSamplingDate" ></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="a03254.html">TFloatVect</a>&amp; NL3D::CPSRibbonBase::getSamplingDate </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, protected]</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="a06276.html#l00133">133</a> of file <a class="el" href="a06276.html">ps_ribbon_base.h</a>.
+<p>
+References <a class="el" href="a06276.html#l00142">_SamplingDate</a>, and <a class="el" href="a06276.html#l00099">TFloatVect</a>.
+<p>
+<div class="fragment"><pre>00133 { <span class="keywordflow">return</span> <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser7">_SamplingDate</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotz755_1" doxytag="NL3D::CPSRibbonBase::getSegDuration" ></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::CPSRibbonBase::getSegDuration </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="a06276.html#l00077">77</a> of file <a class="el" href="a06276.html">ps_ribbon_base.h</a>.
+<p>
+References <a class="el" href="a06276.html#l00102">_SegDuration</a>, and <a class="el" href="a05454.html#l00044">NL3D::TAnimationTime</a>.
+<p>
+<div class="fragment"><pre>00077 { <span class="keywordflow">return</span> <a class="code" href="a03227.html#NL3D_1_1CPSTailDotp10">_SegDuration</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea32" doxytag="NL3D::CPSRibbonBase::getSysMat" ></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::CPSLocatedBindable::getSysMat </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>
+***************************************************************************************
+<p>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l02108">2108</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06151.html#l00111">NL3D::CParticleSystemProcess::getOwner()</a>, <a class="el" href="a06143.html#l00184">NL3D::CParticleSystem::getSysMat()</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+<div class="fragment"><pre>02109 {
+02110 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+02111 <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner()-&gt;getSysMat();
+02112 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotz755_2" doxytag="NL3D::CPSRibbonBase::getTailNbSeg" ></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::CPSRibbonBase::getTailNbSeg </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>
+get the number of segments used with this particle
+<p>
+
+<p>
+Implements <a class="el" href="a03229.html#NL3D_1_1CPSTailParticlea1">NL3D::CPSTailParticle</a>.
+<p>
+Definition at line <a class="el" href="a06276.html#l00072">72</a> of file <a class="el" href="a06276.html">ps_ribbon_base.h</a>.
+<p>
+References <a class="el" href="a06276.html#l00101">_NbSegs</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00072 { <span class="keywordflow">return</span> <a class="code" href="a03227.html#NL3D_1_1CPSTailDotp7">_NbSegs</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota35" doxytag="NL3D::CPSRibbonBase::getType" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> NL3D::CPSParticle::getType </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+return this bindable type
+<p>
+
+<p>
+Implements <a class="el" href="a02691.html#NL3D_1_1CPSTargetLocatedBindablea29">NL3D::CPSLocatedBindable</a>.
+<p>
+Definition at line <a class="el" href="a06258.html#l00063">63</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a06247.html#l00806">NL3D::PSParticle</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00063 { <span class="keywordflow">return</span> <a class="code" href="a05363.html#a255">PSParticle</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea36" doxytag="NL3D::CPSRibbonBase::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"> virtual bool NL3D::CPSLocatedBindable::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> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a03179.html#NL3D_1_1CPSSphericalEmittera46">NL3D::CPSEmitter</a>.
+<p>
+Definition at line <a class="el" href="a06247.html#l00974">974</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l01975">NL3D::CPSLocatedBindable::finalize()</a>, and <a class="el" href="a06246.html#l01948">NL3D::CPSLocatedBindable::setOwner()</a>.
+<p>
+<div class="fragment"><pre>00974 { <span class="keywordflow">return</span> 0; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea37" doxytag="NL3D::CPSRibbonBase::getViewMat" ></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::CPSLocatedBindable::getViewMat </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 the view matrix
+<p>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l02125">2125</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06151.html#l00111">NL3D::CParticleSystemProcess::getOwner()</a>, <a class="el" href="a06143.html#l00220">NL3D::CParticleSystem::getViewMat()</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+Referenced by <a class="el" href="a06277.html#l00319">NL3D::CPSRibbonLookAt::displayRibbons()</a>, and <a class="el" href="a06233.html#l00379">NL3D::CPSFaceLookAtHelper::drawLookAt()</a>.
+<p>
+<div class="fragment"><pre>02126 {
+02127 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+02128 <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner()-&gt;getViewMat();
+02129 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea38" doxytag="NL3D::CPSRibbonBase::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"> virtual bool NL3D::CPSLocatedBindable::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> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+tells wether there are alive emitters
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00958">958</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+<div class="fragment"><pre>00958 { <span class="keywordflow">return</span> <span class="keyword">false</span>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonBasea33" doxytag="NL3D::CPSRibbonBase::hasLightableFaces" ></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::CPSParticle::hasLightableFaces </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>
+Returns true if there are lightable faces in the object
+<p>
+Implemented in <a class="el" href="a03177.html#NL3D_1_1CPSDota38">NL3D::CPSDot</a>, <a class="el" href="a03186.html#NL3D_1_1CPSFacea67">NL3D::CPSFace</a>, <a class="el" href="a03191.html#NL3D_1_1CPSFaceLookAta71">NL3D::CPSFaceLookAt</a>, <a class="el" href="a03194.html#NL3D_1_1CPSFanLighta49">NL3D::CPSFanLight</a>, <a class="el" href="a03218.html#NL3D_1_1CPSMesha42">NL3D::CPSMesh</a>, <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesha53">NL3D::CPSConstraintMesh</a>, <a class="el" href="a03226.html#NL3D_1_1CPSRibbona48">NL3D::CPSRibbon</a>, <a class="el" href="a03230.html#NL3D_1_1CPSRibbonLookAta42">NL3D::CPSRibbonLookAt</a>, <a class="el" href="a03233.html#NL3D_1_1CPSShockWavea58">NL3D::CPSShockWave</a>, and <a class="el" href="a03240.html#NL3D_1_1CPSTailDota39">NL3D::CPSTailDot</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonBasea34" doxytag="NL3D::CPSRibbonBase::hasOpaqueFaces" ></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::CPSParticle::hasOpaqueFaces </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> [pure virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+return true if there are Opaque faces in the object
+<p>
+
+<p>
+Implemented in <a class="el" href="a03177.html#NL3D_1_1CPSDota39">NL3D::CPSDot</a>, <a class="el" href="a03194.html#NL3D_1_1CPSFanLighta50">NL3D::CPSFanLight</a>, <a class="el" href="a03218.html#NL3D_1_1CPSMesha43">NL3D::CPSMesh</a>, <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesha54">NL3D::CPSConstraintMesh</a>, <a class="el" href="a03187.html#NL3D_1_1CPSQuada63">NL3D::CPSQuad</a>, <a class="el" href="a03226.html#NL3D_1_1CPSRibbona49">NL3D::CPSRibbon</a>, <a class="el" href="a03230.html#NL3D_1_1CPSRibbonLookAta43">NL3D::CPSRibbonLookAt</a>, <a class="el" href="a03233.html#NL3D_1_1CPSShockWavea59">NL3D::CPSShockWave</a>, and <a class="el" href="a03240.html#NL3D_1_1CPSTailDota40">NL3D::CPSTailDot</a>.
+<p>
+Referenced by <a class="el" href="a06258.html#l00074">NL3D::CPSParticle::step()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota41" doxytag="NL3D::CPSRibbonBase::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"> virtual bool NL3D::CPSParticle::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> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+return true if this located bindable derived class holds alive particles
+<p>
+
+<p>
+Reimplemented from <a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea39">NL3D::CPSLocatedBindable</a>.
+<p>
+Definition at line <a class="el" href="a06258.html#l00069">69</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a06247.html#l00361">NL3D::CPSLocated::getSize()</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+<div class="fragment"><pre>00069 { <a class="code" href="a04199.html#a6">nlassert</a>(_Owner); <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getSize() != 0; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonBasea36" doxytag="NL3D::CPSRibbonBase::hasTransparentFaces" ></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::CPSParticle::hasTransparentFaces </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> [pure virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+return true if there are transparent faces in the object
+<p>
+
+<p>
+Implemented in <a class="el" href="a03177.html#NL3D_1_1CPSDota41">NL3D::CPSDot</a>, <a class="el" href="a03194.html#NL3D_1_1CPSFanLighta52">NL3D::CPSFanLight</a>, <a class="el" href="a03218.html#NL3D_1_1CPSMesha45">NL3D::CPSMesh</a>, <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesha56">NL3D::CPSConstraintMesh</a>, <a class="el" href="a03187.html#NL3D_1_1CPSQuada65">NL3D::CPSQuad</a>, <a class="el" href="a03226.html#NL3D_1_1CPSRibbona51">NL3D::CPSRibbon</a>, <a class="el" href="a03230.html#NL3D_1_1CPSRibbonLookAta45">NL3D::CPSRibbonLookAt</a>, <a class="el" href="a03233.html#NL3D_1_1CPSShockWavea61">NL3D::CPSShockWave</a>, and <a class="el" href="a03240.html#NL3D_1_1CPSTailDota42">NL3D::CPSTailDot</a>.
+<p>
+Referenced by <a class="el" href="a06258.html#l00074">NL3D::CPSParticle::step()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotb10" doxytag="NL3D::CPSRibbonBase::initDateVect" ></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::CPSRibbonBase::initDateVect </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> [protected]</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="a06275.html#l00568">568</a> of file <a class="el" href="a06275.html">ps_ribbon_base.cpp</a>.
+<p>
+References <a class="el" href="a06276.html#l00101">_NbSegs</a>, <a class="el" href="a06276.html#l00142">_SamplingDate</a>, and <a class="el" href="a06275.html#l00075">NL3D::EndRibbonStorage</a>.
+<p>
+Referenced by <a class="el" href="a06275.html#l00079">CPSRibbonBase()</a>, <a class="el" href="a06275.html#l00550">motionTypeChanged()</a>, and <a class="el" href="a06275.html#l00118">setTailNbSeg()</a>.
+<p>
+<div class="fragment"><pre>00569 {
+00570 <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser7">_SamplingDate</a>.resize( _NbSegs + 1 + EndRibbonStorage);
+00571 std::fill(<a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser7">_SamplingDate</a>.begin(), <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser7">_SamplingDate</a>.begin() + (<a class="code" href="a03227.html#NL3D_1_1CPSTailDotp7">_NbSegs</a> + 1 + <a class="code" href="a05363.html#a267">EndRibbonStorage</a>), 0.f);
+00572 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea40" doxytag="NL3D::CPSRibbonBase::isActive" ></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::CPSLocatedBindable::isActive </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="a06247.html#l00844">844</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06247.html#l01033">NL3D::CPSLocatedBindable::_Active</a>.
+<p>
+Referenced by <a class="el" href="a06142.html#l01738">NL3D::CParticleSystem::hasActiveEmitters()</a>.
+<p>
+<div class="fragment"><pre>00844 { <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep0">_Active</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota44" doxytag="NL3D::CPSRibbonBase::isAutoLODDisabled" ></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::CPSParticle::isAutoLODDisabled </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>
+Test wether Auto-LOD is disabled.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06258.html#l00140">140</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a06258.html#l00183">NL3D::CPSParticle::_DisableAutoLOD</a>.
+<p>
+<div class="fragment"><pre>00140 { <span class="keywordflow">return</span> _DisableAutoLOD; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailParticlea2" doxytag="NL3D::CPSRibbonBase::isInSystemBasis" ></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::CPSTailParticle::isInSystemBasis </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> [pure virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+return true if the tails are in the system basis
+<p>
+
+<p>
+Implemented in <a class="el" href="a03226.html#NL3D_1_1CPSRibbonz749_1">NL3D::CPSRibbon</a>, <a class="el" href="a03230.html#NL3D_1_1CPSRibbonLookAtz758_1">NL3D::CPSRibbonLookAt</a>, and <a class="el" href="a03240.html#NL3D_1_1CPSTailDotz764_1">NL3D::CPSTailDot</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotb11" doxytag="NL3D::CPSRibbonBase::motionTypeChanged" ></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::CPSRibbonBase::motionTypeChanged </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>parametric</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+called when the motion type has changed, this allow us to draw smoother ribbons when parametric anim is used
+<p>
+
+<p>
+Reimplemented from <a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea41">NL3D::CPSLocatedBindable</a>.
+<p>
+Definition at line <a class="el" href="a06275.html#l00550">550</a> of file <a class="el" href="a06275.html">ps_ribbon_base.cpp</a>.
+<p>
+References <a class="el" href="a06276.html#l00103">_Parametric</a>, <a class="el" href="a06276.html#l00146">_Ribbons</a>, <a class="el" href="a05587.html#l00141">NLMISC::contReset()</a>, <a class="el" href="a06247.html#l00369">NL3D::CPSLocated::getMaxSize()</a>, <a class="el" href="a06275.html#l00568">initDateVect()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06275.html#l00538">resetFromOwner()</a>, and <a class="el" href="a06275.html#l00518">resize()</a>.
+<p>
+<div class="fragment"><pre>00551 {
+00552 <a class="code" href="a03227.html#NL3D_1_1CPSTailDotp9">_Parametric</a> = parametric;
+00553 <span class="keywordflow">if</span> (parametric)
+00554 {
+00555 <a class="code" href="a05378.html#a381">NLMISC::contReset</a>(_Ribbons); <span class="comment">// kill the vector </span>
+00556 }
+00557 <span class="keywordflow">else</span>
+00558 {
+00559 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+00560 <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaseb12">resize</a>(<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getMaxSize());
+00561 <a class="code" href="a03227.html#NL3D_1_1CPSTailDotb10">initDateVect</a>();
+00562 <a class="code" href="a03227.html#NL3D_1_1CPSTailDotb15">resetFromOwner</a>();
+00563 }
+00564 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonBaseb9" doxytag="NL3D::CPSRibbonBase::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"> void NL3D::CPSRibbonBase::newElement </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03214.html">CPSLocated</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>emitterLocated</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>emitterIndex</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+inherited from <a class="el" href="a02691.html">CPSLocatedBindable</a>
+<p>
+dump the same pos for all pos of the ribbon
+<p>
+Implements <a class="el" href="a03162.html#NL3D_1_1CPSParticleb4">NL3D::CPSParticle</a>.
+<p>
+Reimplemented in <a class="el" href="a03226.html#NL3D_1_1CPSRibbonb14">NL3D::CPSRibbon</a>, <a class="el" href="a03230.html#NL3D_1_1CPSRibbonLookAtb14">NL3D::CPSRibbonLookAt</a>, and <a class="el" href="a03240.html#NL3D_1_1CPSTailDotb13">NL3D::CPSTailDot</a>.
+<p>
+Definition at line <a class="el" href="a06275.html#l00499">499</a> of file <a class="el" href="a06275.html">ps_ribbon_base.cpp</a>.
+<p>
+References <a class="el" href="a06276.html#l00103">_Parametric</a>, <a class="el" href="a06247.html#l00266">NL3D::CPSLocated::getNewElementIndex()</a>, <a class="el" href="a06247.html#l00334">NL3D::CPSLocated::getPos()</a>, <a class="el" href="a05646.html#l00225">index</a>, <a class="el" href="a06275.html#l00528">resetSingleRibbon()</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>00500 {
+00501 <span class="keywordflow">if</span> (<a class="code" href="a03227.html#NL3D_1_1CPSTailDotp9">_Parametric</a>) <span class="keywordflow">return</span>;
+00503 <span class="keyword">const</span> <a class="code" href="a04558.html#a15">uint</a> <a class="code" href="a04223.html#a566">index</a> = <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getNewElementIndex();
+00504 <span class="keyword">const</span> <a class="code" href="a03128.html">NLMISC::CVector</a> &amp;pos = <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getPos()[<a class="code" href="a04223.html#a566">index</a>]; <span class="comment">// get the pos of the new element;</span>
+00505 <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBased5">resetSingleRibbon</a>(index, pos);
+00506 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotb14" doxytag="NL3D::CPSRibbonBase::notifyOwnerMaxNumFacesChanged" ></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::CPSParticle::notifyOwnerMaxNumFacesChanged </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, protected, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Shortcut to notify that the max number of faces has changed This must be called when a geometric property of the particle has been modified This needn't to be called during <a class="el" href="a03162.html#NL3D_1_1CPSParticleb6">CPSParticle::resize</a> overrides
+<p>
+Definition at line <a class="el" href="a06258.html#l00151">151</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a06246.html#l00422">NL3D::CPSLocated::notifyMaxNumFacesChanged()</a>.
+<p>
+Referenced by <a class="el" href="a06235.html#l00422">NL3D::CPSFanLight::setNbFans()</a>, <a class="el" href="a06279.html#l00218">NL3D::CPSShockWave::setNbSegs()</a>, and <a class="el" href="a06250.html#l01134">NL3D::CPSConstraintMesh::update()</a>.
+<p>
+<div class="fragment"><pre>00152 {
+00153 <span class="keywordflow">if</span> (<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>)
+00154 {
+00155 <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;notifyMaxNumFacesChanged();
+00156 }
+00157 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota46" doxytag="NL3D::CPSRibbonBase::notifyTargetRemoved" ></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::CPSLocatedBindable::notifyTargetRemoved </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> <em>ptr</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+Can be used by located bindable that have located as targets (emitter, collision zone, forces) to be notified that one of their target has been removed. To do this : The object that focus the target must call registerDTorObserver on the target, with himself as a parameter When the target is removed, this target will call this method for all registered <a class="el" href="a03214.html">CPSLocated</a> The default behaviour remove this object as an observer<p>
+<dl compact><dt><b>See also:</b></dt><dd>CPSLocated::registerDTorObserver()</dd></dl>
+
+<p>
+Reimplemented in <a class="el" href="a03179.html#NL3D_1_1CPSSphericalEmittera55">NL3D::CPSEmitter</a>, and <a class="el" href="a02689.html#NL3D_1_1CPSZoneSphereb5">NL3D::CPSTargetLocatedBindable</a>.
+<p>
+Definition at line <a class="el" href="a06246.html#l01996">1996</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06246.html#l00834">NL3D::CPSLocated::unregisterDtorObserver()</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l00185">NL3D::CPSLocated::releaseRefTo()</a>.
+<p>
+<div class="fragment"><pre>01997 {
+01998 ptr-&gt;unregisterDtorObserver(<span class="keyword">this</span>);
+01999 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota47" doxytag="NL3D::CPSRibbonBase::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::CPSLocatedBindable::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, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+Release any reference this obj may have to other process of the system For example, this is used when detaching a located bindable from a system.
+<p>
+Reimplemented in <a class="el" href="a03179.html#NL3D_1_1CPSSphericalEmittera57">NL3D::CPSEmitter</a>, <a class="el" href="a03213.html#NL3D_1_1CPSLightb4">NL3D::CPSLight</a>, <a class="el" href="a02689.html#NL3D_1_1CPSZoneSpherea45">NL3D::CPSTargetLocatedBindable</a>, and <a class="el" href="a03218.html#NL3D_1_1CPSMeshb15">NL3D::CPSMesh</a>.
+<p>
+Definition at line <a class="el" href="a06246.html#l02170">2170</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l01948">NL3D::CPSLocatedBindable::setOwner()</a>.
+<p>
+<div class="fragment"><pre>02171 {
+02172 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota48" doxytag="NL3D::CPSRibbonBase::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"> virtual void NL3D::CPSLocatedBindable::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> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Release any reference this obj may have on the given process. For example, this is used when detaching a located bindable from a system.
+<p>
+Reimplemented in <a class="el" href="a03179.html#NL3D_1_1CPSSphericalEmittera58">NL3D::CPSEmitter</a>, and <a class="el" href="a02689.html#NL3D_1_1CPSZoneSpherea46">NL3D::CPSTargetLocatedBindable</a>.
+<p>
+Definition at line <a class="el" href="a06247.html#l00871">871</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+<div class="fragment"><pre>00871 {}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotb15" doxytag="NL3D::CPSRibbonBase::resetFromOwner" ></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::CPSRibbonBase::resetFromOwner </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> [protected]</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="a06275.html#l00538">538</a> of file <a class="el" href="a06275.html">ps_ribbon_base.cpp</a>.
+<p>
+References <a class="el" href="a06276.html#l00103">_Parametric</a>, <a class="el" href="a06213.html#l00353">NL3D::CPSAttrib&lt; T &gt;::begin()</a>, <a class="el" href="a06213.html#l00356">NL3D::CPSAttrib&lt; T &gt;::end()</a>, <a class="el" href="a06247.html#l00334">NL3D::CPSLocated::getPos()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06275.html#l00528">resetSingleRibbon()</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06275.html#l00550">motionTypeChanged()</a>, and <a class="el" href="a06275.html#l00518">resize()</a>.
+<p>
+<div class="fragment"><pre>00539 {
+00540 <a class="code" href="a04199.html#a6">nlassert</a>(!_Parametric);
+00541 TPSAttribVector::iterator posIt = <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getPos().begin();
+00542 TPSAttribVector::iterator endPosIt = <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getPos().end();
+00543 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> k = 0; posIt != endPosIt; ++posIt, ++k)
+00544 {
+00545 <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBased5">resetSingleRibbon</a>(k, *posIt);
+00546 }
+00547 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonBased5" doxytag="NL3D::CPSRibbonBase::resetSingleRibbon" ></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::CPSRibbonBase::resetSingleRibbon </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="mdname" nowrap> <em>index</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>pos</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [private]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06275.html#l00528">528</a> of file <a class="el" href="a06275.html">ps_ribbon_base.cpp</a>.
+<p>
+References <a class="el" href="a06276.html#l00101">_NbSegs</a>, <a class="el" href="a06276.html#l00103">_Parametric</a>, <a class="el" href="a06276.html#l00146">_Ribbons</a>, <a class="el" href="a06275.html#l00075">NL3D::EndRibbonStorage</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#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06275.html#l00499">newElement()</a>, and <a class="el" href="a06275.html#l00538">resetFromOwner()</a>.
+<p>
+<div class="fragment"><pre>00529 {
+00530 <a class="code" href="a04199.html#a6">nlassert</a>(!_Parametric);
+00531 <a class="code" href="a03128.html">NLMISC::CVector</a> *it = &amp;<a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser6">_Ribbons</a>[(<a class="code" href="a04223.html#a566">index</a> * (<a class="code" href="a03227.html#NL3D_1_1CPSTailDotp7">_NbSegs</a> + 1 + <a class="code" href="a05363.html#a267">EndRibbonStorage</a>))];
+00532 std::fill(it, it + (_NbSegs + 1 + EndRibbonStorage), pos);
+00533 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonBaseb12" doxytag="NL3D::CPSRibbonBase::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::CPSRibbonBase::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>size</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+inherited from <a class="el" href="a02691.html">CPSLocatedBindable</a>
+<p>
+
+<p>
+Implements <a class="el" href="a03162.html#NL3D_1_1CPSParticleb6">NL3D::CPSParticle</a>.
+<p>
+Reimplemented in <a class="el" href="a03226.html#NL3D_1_1CPSRibbonb18">NL3D::CPSRibbon</a>, <a class="el" href="a03230.html#NL3D_1_1CPSRibbonLookAtb18">NL3D::CPSRibbonLookAt</a>, and <a class="el" href="a03240.html#NL3D_1_1CPSTailDotb16">NL3D::CPSTailDot</a>.
+<p>
+Definition at line <a class="el" href="a06275.html#l00518">518</a> of file <a class="el" href="a06275.html">ps_ribbon_base.cpp</a>.
+<p>
+References <a class="el" href="a06276.html#l00101">_NbSegs</a>, <a class="el" href="a06276.html#l00103">_Parametric</a>, <a class="el" href="a06276.html#l00146">_Ribbons</a>, <a class="el" href="a06275.html#l00075">NL3D::EndRibbonStorage</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06275.html#l00538">resetFromOwner()</a>, <a class="el" href="a05646.html#l00645">size</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a06275.html#l00550">motionTypeChanged()</a>, and <a class="el" href="a06275.html#l00118">setTailNbSeg()</a>.
+<p>
+<div class="fragment"><pre>00519 {
+00520 <a class="code" href="a04199.html#a6">nlassert</a>(size &lt; (1 &lt;&lt; 16));
+00521 <span class="keywordflow">if</span> (<a class="code" href="a03227.html#NL3D_1_1CPSTailDotp9">_Parametric</a>) <span class="keywordflow">return</span>;
+00522 <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser6">_Ribbons</a>.resize(size * (_NbSegs + 1 + EndRibbonStorage));
+00523 <a class="code" href="a03227.html#NL3D_1_1CPSTailDotb15">resetFromOwner</a>();
+00524 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonBasez753_1" doxytag="NL3D::CPSRibbonBase::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::CPSRibbonBase::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>
+serialisation. Derivers must override this, and call their parent version
+<p>
+
+<p>
+Reimplemented from <a class="el" href="a03162.html#NL3D_1_1CPSParticlea42">NL3D::CPSParticle</a>.
+<p>
+Reimplemented in <a class="el" href="a03226.html#NL3D_1_1CPSRibbonz748_2">NL3D::CPSRibbon</a>, <a class="el" href="a03230.html#NL3D_1_1CPSRibbonLookAtz756_2">NL3D::CPSRibbonLookAt</a>, and <a class="el" href="a03240.html#NL3D_1_1CPSTailDotz763_2">NL3D::CPSTailDot</a>.
+<p>
+Definition at line <a class="el" href="a06275.html#l00576">576</a> of file <a class="el" href="a06275.html">ps_ribbon_base.cpp</a>.
+<p>
+References <a class="el" href="a05981.html#l00104">sint</a>.
+<p>
+<div class="fragment"><pre>00577 {
+00578 CPSParticle::serial(f);
+00579 <a class="code" href="a04558.html#a14">sint</a> ver = f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_8">serialVersion</a>(1);
+00580 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama7">serialEnum</a>(_RibbonMode);
+00581 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama7">serialEnum</a>(_InterpolationMode);
+00582 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_NbSegs, _SegDuration);
+00583 <span class="keywordflow">if</span> (<a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser5">_RibbonMode</a> == <a class="code" href="a03227.html#NL3D_1_1CPSTailDotw11NL3D_1_1CPSTailDotw3">FixedSize</a>)
+00584 {
+00585 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_RibbonLength);
+00586 <span class="keywordflow">if</span> (f.<a class="code" href="a02270.html#NLMISC_1_1IStreama0">isReading</a>())
+00587 {
+00588 <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser8">_SegLength</a> = <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser4">_RibbonLength</a> / <a class="code" href="a03227.html#NL3D_1_1CPSTailDotp7">_NbSegs</a>;
+00589 }
+00590 }
+00591
+00592 <span class="keywordflow">if</span> (f.<a class="code" href="a02270.html#NLMISC_1_1IStreama0">isReading</a>())
+00593 {
+00594 <span class="keywordflow">if</span> (<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>)
+00595 {
+00596 <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaseb12">resize</a>(<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getMaxSize());
+00597 <a class="code" href="a03227.html#NL3D_1_1CPSTailDotb10">initDateVect</a>();
+00598 <a class="code" href="a03227.html#NL3D_1_1CPSTailDotb15">resetFromOwner</a>();
+00599 }
+00600 }
+00601
+00602 <span class="keywordflow">if</span> (ver &gt;= 1)
+00603 {
+00604 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_LODDegradation);
+00605 }
+00606 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea49" doxytag="NL3D::CPSRibbonBase::setActive" ></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::CPSLocatedBindable::setActive </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>active</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Activate / Deactivate this object. When not active, the owning system won't try to call the 'step' method.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00843">843</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06247.html#l01033">NL3D::CPSLocatedBindable::_Active</a>.
+<p>
+Referenced by <a class="el" href="a06142.html#l01718">NL3D::CParticleSystem::activateEmitters()</a>, and <a class="el" href="a06144.html#l00320">NL3D::CParticleSystemInstanceUser::setActive()</a>.
+<p>
+<div class="fragment"><pre>00843 { <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep0">_Active</a> = active; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailParticlea3" doxytag="NL3D::CPSRibbonBase::setColorFading" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void NL3D::CPSTailParticle::setColorFading </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>onOff</em> = true </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>
+(de)activate color fading when its done, colors fades to black along the tail
+<p>
+Implemented in <a class="el" href="a03226.html#NL3D_1_1CPSRibbonz749_2">NL3D::CPSRibbon</a>, <a class="el" href="a03230.html#NL3D_1_1CPSRibbonLookAtz758_2">NL3D::CPSRibbonLookAt</a>, and <a class="el" href="a03240.html#NL3D_1_1CPSTailDotz764_2">NL3D::CPSTailDot</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea52" doxytag="NL3D::CPSRibbonBase::setExternID" ></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::CPSLocatedBindable::setExternID </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> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+set the extern ID of this located bindable. 0 means no extern access. The map of ID-locatedBindable. Is in th particle system, so this located bindable must have been attached to a particle system, otherwise an assertion is raised
+<p>
+Definition at line <a class="el" href="a06246.html#l02149">2149</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l01027">NL3D::CPSLocatedBindable::_ExternID</a>, <a class="el" href="a06151.html#l00111">NL3D::CParticleSystemProcess::getOwner()</a>, <a class="el" href="a06142.html#l01081">NL3D::CParticleSystem::registerLocatedBindableExternID()</a>, <a class="el" href="a05981.html#l00100">uint32</a>, and <a class="el" href="a06142.html#l01096">NL3D::CParticleSystem::unregisterLocatedBindableExternID()</a>.
+<p>
+<div class="fragment"><pre>02150 {
+02151 <span class="keywordflow">if</span> (<span class="keywordtype">id</span> == <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep3">_ExternID</a>) <span class="keywordflow">return</span>;
+02152 CParticleSystem *ps = NULL;
+02153 <span class="keywordflow">if</span> (<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a> &amp;&amp; <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner())
+02154 {
+02155 ps = <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner();
+02156 }
+02157 <span class="keywordflow">if</span> (ps)
+02158 {
+02159 ps-&gt;unregisterLocatedBindableExternID(<span class="keyword">this</span>);
+02160 <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep3">_ExternID</a> = 0;
+02161 }
+02162 <span class="keywordflow">if</span> (<span class="keywordtype">id</span> != 0)
+02163 {
+02164 <span class="keywordflow">if</span> (ps) ps-&gt;registerLocatedBindableExternID(<span class="keywordtype">id</span>, <span class="keyword">this</span>);
+02165 <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep3">_ExternID</a> = <span class="keywordtype">id</span>;
+02166 }
+02167 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotz754_2" doxytag="NL3D::CPSRibbonBase::setInterpolationMode" ></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::CPSRibbonBase::setInterpolationMode </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03227.html#NL3D_1_1CPSTailDotw10">TInterpolationMode</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>mode</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>
+Definition at line <a class="el" href="a06275.html#l00111">111</a> of file <a class="el" href="a06275.html">ps_ribbon_base.cpp</a>.
+<p>
+References <a class="el" href="a06276.html#l00149">_InterpolationMode</a>, <a class="el" href="a03227.html#NL3D_1_1CPSTailDotw10NL3D_1_1CPSTailDotw5">InterpModeLast</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+Referenced by <a class="el" href="a06273.html#l00233">NL3D::CPSRibbon::CPSRibbon()</a>, and <a class="el" href="a06283.html#l00066">NL3D::CPSTailDot::CPSTailDot()</a>.
+<p>
+<div class="fragment"><pre>00112 {
+00113 <a class="code" href="a04199.html#a6">nlassert</a>(mode &lt; InterpModeLast);
+00114 <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser0">_InterpolationMode</a> = mode;
+00115 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea53" doxytag="NL3D::CPSRibbonBase::setLOD" ></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::CPSLocatedBindable::setLOD </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a05363.html#a558">TPSLod</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>lod</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+set the LODs that apply to that object (warning : it is based on the position of the system, and don't act on a per instance basis ...) To have per instance precision, you must use an attribute maker that has LOD as its input
+<p>
+Definition at line <a class="el" href="a06247.html#l00952">952</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06247.html#l01029">NL3D::CPSLocatedBindable::_LOD</a>.
+<p>
+<div class="fragment"><pre>00952 { <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep4">_LOD</a> = lod; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota57" doxytag="NL3D::CPSRibbonBase::setLODDegradation" ></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::CPSRibbonBase::setLODDegradation </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>percent</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>
+Allow degradation of ribbons with distance of the system (may not be suited when theit paths have wicked angles) <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>percent</em>&nbsp;</td><td>1 mean no degradation, 0 mean nothing will be draw when the system is at its max dist. 1 is the default</td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a06276.html#l00090">90</a> of file <a class="el" href="a06276.html">ps_ribbon_base.h</a>.
+<p>
+References <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+<div class="fragment"><pre>00091 {
+00092 <a class="code" href="a04199.html#a6">nlassert</a>(percent &gt;= 0 &amp;&amp; percent &lt;= 1);
+00093 <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser2">_LODDegradation</a> = percent;
+00094 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea55" doxytag="NL3D::CPSRibbonBase::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::CPSLocatedBindable::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, inherited]</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#l00946">946</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+<div class="fragment"><pre>00946 { <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep5">_Name</a> = name; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSphereb7" doxytag="NL3D::CPSRibbonBase::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::CPSLocatedBindable::setOwner </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> <em>psl</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a03179.html#NL3D_1_1CPSSphericalEmittera76">NL3D::CPSEmitter</a>.
+<p>
+Definition at line <a class="el" href="a06246.html#l01948">1948</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06142.html#l01894">NL3D::CParticleSystem::addRefForUserSysCoordInfo()</a>, <a class="el" href="a02691.html#NL3D_1_1CPSZoneb1">NL3D::CPSLocatedBindable::deleteElement()</a>, <a class="el" href="a06151.html#l00111">NL3D::CParticleSystemProcess::getOwner()</a>, <a class="el" href="a06247.html#l00361">NL3D::CPSLocated::getSize()</a>, <a class="el" href="a06247.html#l00974">NL3D::CPSLocatedBindable::getUserMatrixUsageCount()</a>, <a class="el" href="a06246.html#l02170">NL3D::CPSLocatedBindable::releaseAllRef()</a>, <a class="el" href="a06142.html#l01907">NL3D::CParticleSystem::releaseRefForUserSysCoordInfo()</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l00751">NL3D::CPSLocated::bind()</a>, and <a class="el" href="a06246.html#l01902">NL3D::CPSLocated::unbind()</a>.
+<p>
+<div class="fragment"><pre>01949 {
+01950 <span class="keywordflow">if</span> (psl == <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>) <span class="keywordflow">return</span>;
+01951 <span class="keywordflow">if</span> (psl == NULL)
+01952 {
+01953 <a class="code" href="a02691.html#NL3D_1_1CPSTailDota47">releaseAllRef</a>();
+01954 <span class="keywordflow">if</span> (<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>)
+01955 {
+01956 <span class="comment">// empty this located bindable. Need to be empty if it must be rebound to another located.</span>
+01957 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> k = 0; k &lt; <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getSize(); ++k)
+01958 {
+01959 <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaseb3">deleteElement</a>(0);
+01960 }
+01961 }
+01962 }
+01963 <span class="keywordflow">if</span> (<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a> &amp;&amp; <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner())
+01964 {
+01965 <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner()-&gt;releaseRefForUserSysCoordInfo(<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherea36">getUserMatrixUsageCount</a>());
+01966 }
+01967 <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a> = psl;
+01968 <span class="keywordflow">if</span> (<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a> &amp;&amp; <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner())
+01969 {
+01970 <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner()-&gt;addRefForUserSysCoordInfo(<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherea36">getUserMatrixUsageCount</a>());
+01971 }
+01972 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotz755_3" doxytag="NL3D::CPSRibbonBase::setRibbonLength" ></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::CPSRibbonBase::setRibbonLength </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>length</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>
+The the length in meter of the ribbon. This is used only if the ribbon mode is set to FixedSize. These kind of ribbon are usually slower than variable size ribbons. The default is one metter.
+<p>
+Definition at line <a class="el" href="a06275.html#l00095">95</a> of file <a class="el" href="a06275.html">ps_ribbon_base.cpp</a>.
+<p>
+References <a class="el" href="a06276.html#l00101">_NbSegs</a>, <a class="el" href="a06276.html#l00150">_RibbonLength</a>, <a class="el" href="a06276.html#l00151">_SegLength</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+<div class="fragment"><pre>00096 {
+00097 <a class="code" href="a04199.html#a6">nlassert</a>(length &gt; 0.f);
+00098 <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser4">_RibbonLength</a> = length;
+00099 <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser8">_SegLength</a> = length / <a class="code" href="a03227.html#NL3D_1_1CPSTailDotp7">_NbSegs</a>;
+00100 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotz754_3" doxytag="NL3D::CPSRibbonBase::setRibbonMode" ></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::CPSRibbonBase::setRibbonMode </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03227.html#NL3D_1_1CPSTailDotw11">TRibbonMode</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>mode</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>
+NB : a fixed size isn't applied with parametric motion.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06275.html#l00103">103</a> of file <a class="el" href="a06275.html">ps_ribbon_base.cpp</a>.
+<p>
+References <a class="el" href="a06276.html#l00148">_RibbonMode</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a03227.html#NL3D_1_1CPSTailDotw11NL3D_1_1CPSTailDotw8">RibbonModeLast</a>.
+<p>
+<div class="fragment"><pre>00104 {
+00105 <a class="code" href="a04199.html#a6">nlassert</a>(mode &lt; RibbonModeLast);
+00106 <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser5">_RibbonMode</a> = mode;
+00107 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotz755_4" doxytag="NL3D::CPSRibbonBase::setSegDuration" ></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::CPSRibbonBase::setSegDuration </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></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set how many seconds need a seg to be traversed. Long times will create longer ribbons. Default is 0.02. It gives the sampling rate for each type of ribbon
+<p>
+Definition at line <a class="el" href="a06275.html#l00132">132</a> of file <a class="el" href="a06275.html">ps_ribbon_base.cpp</a>.
+<p>
+References <a class="el" href="a06276.html#l00102">_SegDuration</a>, and <a class="el" href="a05454.html#l00044">NL3D::TAnimationTime</a>.
+<p>
+Referenced by <a class="el" href="a06273.html#l00233">NL3D::CPSRibbon::CPSRibbon()</a>, and <a class="el" href="a06283.html#l00066">NL3D::CPSTailDot::CPSTailDot()</a>.
+<p>
+<div class="fragment"><pre>00133 {
+00134 <a class="code" href="a03227.html#NL3D_1_1CPSTailDotp10">_SegDuration</a> = ellapsedTime;
+00135
+00136 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailParticlea4" doxytag="NL3D::CPSRibbonBase::setSystemBasis" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void NL3D::CPSTailParticle::setSystemBasis </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>yes</em> </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>
+tells in which basis is the tail It requires one transform per particle if it is not the same as the located that hold that particle The default is false. With that you can control if a rotation of the system will rotate the tail
+<p>
+Implemented in <a class="el" href="a03226.html#NL3D_1_1CPSRibbonz749_3">NL3D::CPSRibbon</a>, <a class="el" href="a03230.html#NL3D_1_1CPSRibbonLookAtz758_3">NL3D::CPSRibbonLookAt</a>, and <a class="el" href="a03240.html#NL3D_1_1CPSTailDotz764_3">NL3D::CPSTailDot</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotz755_5" doxytag="NL3D::CPSRibbonBase::setTailNbSeg" ></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::CPSRibbonBase::setTailNbSeg </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>nbSegs</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>
+set the number of segments used with this particle. In this case, it can't be lower than 2
+<p>
+
+<p>
+Implements <a class="el" href="a03229.html#NL3D_1_1CPSTailParticlea5">NL3D::CPSTailParticle</a>.
+<p>
+Definition at line <a class="el" href="a06275.html#l00118">118</a> of file <a class="el" href="a06275.html">ps_ribbon_base.cpp</a>.
+<p>
+References <a class="el" href="a06276.html#l00101">_NbSegs</a>, <a class="el" href="a06276.html#l00143">_RibbonIndex</a>, <a class="el" href="a06247.html#l00369">NL3D::CPSLocated::getMaxSize()</a>, <a class="el" href="a06275.html#l00568">initDateVect()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06275.html#l00518">resize()</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00119 {
+00120 <a class="code" href="a04199.html#a6">nlassert</a>(nbSegs &gt;= 1);
+00121 <a class="code" href="a03227.html#NL3D_1_1CPSTailDotp7">_NbSegs</a> = nbSegs;
+00122 <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser3">_RibbonIndex</a> = 0;
+00123 <span class="keywordflow">if</span> (<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>)
+00124 {
+00125 <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaseb12">resize</a>(<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getMaxSize());
+00126 }
+00127 <a class="code" href="a03227.html#NL3D_1_1CPSTailDotb10">initDateVect</a>();
+00128 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea59" doxytag="NL3D::CPSRibbonBase::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::CPSLocatedBindable::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><code> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+shortcut to setup the model matrix (system basis or world basis)
+<p>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l02142">2142</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a06246.html#l01775">NL3D::CPSLocated::setupDriverModelMatrix()</a>.
+<p>
+Referenced by <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="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>, <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="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="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>, and <a class="el" href="a06229.html#l00447">NL3D::CPSEmitter::showTool()</a>.
+<p>
+<div class="fragment"><pre>02143 {
+02144 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+02145 <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;setupDriverModelMatrix();
+02146 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonBasea51" doxytag="NL3D::CPSRibbonBase::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"> virtual void NL3D::CPSParticle::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> [pure virtual, inherited]</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="a02691.html#NL3D_1_1CPSZoneSpherea60">NL3D::CPSLocatedBindable</a>.
+<p>
+Implemented in <a class="el" href="a03177.html#NL3D_1_1CPSDota61">NL3D::CPSDot</a>, <a class="el" href="a03194.html#NL3D_1_1CPSFanLighta82">NL3D::CPSFanLight</a>, <a class="el" href="a03218.html#NL3D_1_1CPSMesha69">NL3D::CPSMesh</a>, <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesha88">NL3D::CPSConstraintMesh</a>, <a class="el" href="a03187.html#NL3D_1_1CPSQuada104">NL3D::CPSQuad</a>, <a class="el" href="a03226.html#NL3D_1_1CPSRibbona75">NL3D::CPSRibbon</a>, <a class="el" href="a03230.html#NL3D_1_1CPSRibbonLookAta66">NL3D::CPSRibbonLookAt</a>, <a class="el" href="a03233.html#NL3D_1_1CPSShockWavea98">NL3D::CPSShockWave</a>, and <a class="el" href="a03240.html#NL3D_1_1CPSTailDota60">NL3D::CPSTailDot</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota61" doxytag="NL3D::CPSRibbonBase::showTool" ></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::CPSParticle::showTool </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, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+draw the particles for edition mode. The default behaviour just draw a wireframe model
+<p>
+
+<p>
+Definition at line <a class="el" href="a06257.html#l00055">55</a> of file <a class="el" href="a06257.html">ps_particle_basic.cpp</a>.
+<p>
+References <a class="el" href="a06246.html#l02038">NL3D::CPSLocatedBindable::displayIcon2d()</a>, <a class="el" href="a06152.html#l00060">PARTICLES_CHECK_MEM</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06258.html#l00074">NL3D::CPSParticle::step()</a>, <a class="el" href="a06250.html#l01614">NL3D::CPSConstraintMesh::step()</a>, <a class="el" href="a06250.html#l00280">NL3D::CPSMesh::step()</a>, and <a class="el" href="a06231.html#l00212">NL3D::CPSFace::step()</a>.
+<p>
+<div class="fragment"><pre>00056 {
+00057 <a class="code" href="a04729.html#a0">PARTICLES_CHECK_MEM</a>;
+00058
+00059 CVector I = CVector::I;
+00060 CVector J = CVector::J;
+00061
+00062 <span class="keyword">const</span> CVector tab[] = { 2 * J, I + J
+00063 , I + J, 2 * I + J
+00064 , 2 * I + J, I
+00065 , I, 2 * I - J
+00066 , 2 * I - J, - .5f * J
+00067 , - .5f * J, -2 * I - J
+00068 , -2 * I - J, - I
+00069 , - I, -2 * I + J
+00070 , -2 * I + J, - I + J
+00071 , - I + J, 2 * J
+00072 };
+00073 <span class="keyword">const</span> <a class="code" href="a04558.html#a15">uint</a> tabSize = <span class="keyword">sizeof</span>(tab) / (2 * <span class="keyword">sizeof</span>(CVector));
+00074
+00075 <span class="keyword">const</span> <span class="keywordtype">float</span> sSize = 0.1f;
+00076 <a class="code" href="a02691.html#NL3D_1_1CPSZoneSphereb3">displayIcon2d</a>(tab, tabSize, sSize);
+00077
+00078 <a class="code" href="a04729.html#a0">PARTICLES_CHECK_MEM</a>;
+00079 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSShockWavea100" doxytag="NL3D::CPSRibbonBase::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"> virtual void NL3D::CPSParticle::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> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+process one pass for the particles. The default behaviour shows the particles
+<p>
+Implements <a class="el" href="a02691.html#NL3D_1_1CPSTargetLocatedBindablea46">NL3D::CPSLocatedBindable</a>.
+<p>
+Reimplemented in <a class="el" href="a03186.html#NL3D_1_1CPSFaceb34">NL3D::CPSFace</a>, <a class="el" href="a03218.html#NL3D_1_1CPSMeshb21">NL3D::CPSMesh</a>, <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshb31">NL3D::CPSConstraintMesh</a>, <a class="el" href="a03226.html#NL3D_1_1CPSRibbona77">NL3D::CPSRibbon</a>, <a class="el" href="a03230.html#NL3D_1_1CPSRibbonLookAta68">NL3D::CPSRibbonLookAt</a>, and <a class="el" href="a03240.html#NL3D_1_1CPSTailDota62">NL3D::CPSTailDot</a>.
+<p>
+Definition at line <a class="el" href="a06258.html#l00074">74</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a06258.html#l00110">NL3D::CPSParticle::draw()</a>, <a class="el" href="a03162.html#NL3D_1_1CPSRibbonBasea34">NL3D::CPSParticle::hasOpaqueFaces()</a>, <a class="el" href="a03162.html#NL3D_1_1CPSRibbonBasea36">NL3D::CPSParticle::hasTransparentFaces()</a>, <a class="el" href="a05363.html#a556a216">NL3D::PSBlendRender</a>, <a class="el" href="a05363.html#a556a215">NL3D::PSSolidRender</a>, <a class="el" href="a05363.html#a556a217">NL3D::PSToolRender</a>, <a class="el" href="a06257.html#l00055">NL3D::CPSParticle::showTool()</a>, and <a class="el" href="a05454.html#l00044">NL3D::TAnimationTime</a>.
+<p>
+<div class="fragment"><pre>00075 {
+00076 <span class="keywordflow">if</span> (
+00077 (pass == <a class="code" href="a05363.html#a556a216">PSBlendRender</a> &amp;&amp; <a class="code" href="a03162.html#NL3D_1_1CPSRibbonBasea36">hasTransparentFaces</a>())
+00078 || (pass == <a class="code" href="a05363.html#a556a215">PSSolidRender</a> &amp;&amp; <a class="code" href="a03162.html#NL3D_1_1CPSRibbonBasea34">hasOpaqueFaces</a>())
+00079 )
+00080 {
+00081 <a class="code" href="a03162.html#NL3D_1_1CPSTailDota7">draw</a>(pass == PSSolidRender);
+00082 }
+00083 <span class="keywordflow">else</span>
+00084 <span class="keywordflow">if</span> (pass == <a class="code" href="a05363.html#a556a217">PSToolRender</a>) <span class="comment">// edition mode only</span>
+00085 {
+00086 <a class="code" href="a03162.html#NL3D_1_1CPSTailDota61">showTool</a>();
+00087 }
+00088 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonBasea54" doxytag="NL3D::CPSRibbonBase::supportGlobalColorLighting" ></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::CPSParticle::supportGlobalColorLighting </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> [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="a03177.html#NL3D_1_1CPSDota64">NL3D::CPSDot</a>, <a class="el" href="a03194.html#NL3D_1_1CPSFanLighta85">NL3D::CPSFanLight</a>, <a class="el" href="a03218.html#NL3D_1_1CPSMesha71">NL3D::CPSMesh</a>, <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesha90">NL3D::CPSConstraintMesh</a>, <a class="el" href="a03187.html#NL3D_1_1CPSQuada107">NL3D::CPSQuad</a>, <a class="el" href="a03226.html#NL3D_1_1CPSRibbona78">NL3D::CPSRibbon</a>, <a class="el" href="a03230.html#NL3D_1_1CPSRibbonLookAta69">NL3D::CPSRibbonLookAt</a>, <a class="el" href="a03233.html#NL3D_1_1CPSShockWavea101">NL3D::CPSShockWave</a>, and <a class="el" href="a03240.html#NL3D_1_1CPSTailDota63">NL3D::CPSTailDot</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonBased6" doxytag="NL3D::CPSRibbonBase::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::CPSRibbonBase::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> [private, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+PRIVATE USE : called by the system when its date has been manually changed. This his usually for object that expect time to be always increasing, so that they can reset their datas
+<p>
+Reimplemented from <a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea65">NL3D::CPSLocatedBindable</a>.
+<p>
+Definition at line <a class="el" href="a06275.html#l00626">626</a> of file <a class="el" href="a06275.html">ps_ribbon_base.cpp</a>.
+<p>
+References <a class="el" href="a06276.html#l00142">_SamplingDate</a>, <a class="el" href="a06151.html#l00111">NL3D::CParticleSystemProcess::getOwner()</a>, <a class="el" href="a06143.html#l00311">NL3D::CParticleSystem::getSystemDate()</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+<div class="fragment"><pre>00627 {
+00628 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner());
+00629 <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner()-&gt;getSystemDate();
+00630 <span class="keywordtype">float</span> date = <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner()-&gt;getSystemDate();
+00631 std::fill(<a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser7">_SamplingDate</a>.begin(), <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser7">_SamplingDate</a>.end(), date);
+00632 <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser1">_LastUpdateDate</a> = date;
+00633 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotb19" doxytag="NL3D::CPSRibbonBase::updateGlobals" ></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::CPSRibbonBase::updateGlobals </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>realET</em> </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>
+Called each time the time of the system change in order to update the ribbons positions.
+<p>
+decal date<p>
+save current date<p>
+updating ribbons positions
+<p>
+Definition at line <a class="el" href="a06275.html#l00139">139</a> of file <a class="el" href="a06275.html">ps_ribbon_base.cpp</a>.
+<p>
+References <a class="el" href="a06276.html#l00101">_NbSegs</a>, <a class="el" href="a06276.html#l00103">_Parametric</a>, <a class="el" href="a06276.html#l00143">_RibbonIndex</a>, <a class="el" href="a06276.html#l00146">_Ribbons</a>, <a class="el" href="a06276.html#l00142">_SamplingDate</a>, <a class="el" href="a06276.html#l00102">_SegDuration</a>, <a class="el" href="a06213.html#l00353">NL3D::CPSAttrib&lt; T &gt;::begin()</a>, <a class="el" href="a06275.html#l00075">NL3D::EndRibbonStorage</a>, <a class="el" href="a06151.html#l00111">NL3D::CParticleSystemProcess::getOwner()</a>, <a class="el" href="a06247.html#l00334">NL3D::CPSLocated::getPos()</a>, <a class="el" href="a06247.html#l00361">NL3D::CPSLocated::getSize()</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>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06283.html#l00165">NL3D::CPSTailDot::step()</a>, <a class="el" href="a06277.html#l00119">NL3D::CPSRibbonLookAt::step()</a>, and <a class="el" href="a06273.html#l00266">NL3D::CPSRibbon::step()</a>.
+<p>
+<div class="fragment"><pre>00140 {
+00141 <a class="code" href="a04199.html#a6">nlassert</a>(!_Parametric);
+00142 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+00143 <span class="keyword">const</span> <a class="code" href="a04558.html#a15">uint</a> <a class="code" href="a04223.html#a587">size</a> = <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getSize();
+00144 <span class="keywordflow">if</span> (!<a class="code" href="a04223.html#a587">size</a>) <span class="keywordflow">return</span>;
+00145 <span class="keyword">const</span> <a class="code" href="a05363.html#a366">TAnimationTime</a> currDate = <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner()-&gt;getSystemDate() + realET;
+00146 <span class="keywordflow">if</span> (currDate - <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser1">_LastUpdateDate</a> &gt;= <a class="code" href="a03227.html#NL3D_1_1CPSTailDotp10">_SegDuration</a>)
+00147 {
+00148 <span class="keywordflow">if</span> (<a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser3">_RibbonIndex</a> == 0) <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser3">_RibbonIndex</a> = <a class="code" href="a03227.html#NL3D_1_1CPSTailDotp7">_NbSegs</a> + <a class="code" href="a05363.html#a267">EndRibbonStorage</a>;
+00149 <span class="keywordflow">else</span> --<a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser3">_RibbonIndex</a>;
+00150
+00152 ::memmove(&amp;<a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser7">_SamplingDate</a>[1], &amp;_SamplingDate[0], <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>) * (<a class="code" href="a03227.html#NL3D_1_1CPSTailDotp7">_NbSegs</a> + <a class="code" href="a05363.html#a267">EndRibbonStorage</a>));
+00153 <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser1">_LastUpdateDate</a> = currDate;
+00154 }
+00155
+00157 <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser7">_SamplingDate</a>[0] = currDate;
+00158
+00160 TPSAttribVector::iterator posIt = <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getPos().begin();
+00161 <a class="code" href="a03128.html">NLMISC::CVector</a> *currIt = &amp;<a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser6">_Ribbons</a>[<a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser3">_RibbonIndex</a>];
+00162 <a class="code" href="a04558.html#a15">uint</a> k = <a class="code" href="a04223.html#a587">size</a>;
+00163 <span class="keywordflow">for</span> (;;)
+00164 {
+00165 *currIt = *posIt;
+00166 --k;
+00167 <span class="keywordflow">if</span> (!k) <span class="keywordflow">break</span>;
+00168 ++posIt;
+00169 currIt += (<a class="code" href="a03227.html#NL3D_1_1CPSTailDotp7">_NbSegs</a> + 1 + <a class="code" href="a05363.html#a267">EndRibbonStorage</a>);
+00170 }
+00171 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotb20" doxytag="NL3D::CPSRibbonBase::updateLOD" ></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::CPSRibbonBase::updateLOD </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> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+must be called for the lod to apply (updates UsedNbSegs)
+<p>
+
+<p>
+Definition at line <a class="el" href="a06275.html#l00610">610</a> of file <a class="el" href="a06275.html">ps_ribbon_base.cpp</a>.
+<p>
+References <a class="el" href="a06276.html#l00101">_NbSegs</a>, <a class="el" href="a06276.html#l00102">_SegDuration</a>, <a class="el" href="a06276.html#l00151">_SegLength</a>, <a class="el" href="a06276.html#l00136">_UsedNbSegs</a>, <a class="el" href="a06276.html#l00137">_UsedSegDuration</a>, <a class="el" href="a06276.html#l00138">_UsedSegLength</a>, <a class="el" href="a05587.html#l00115">NLMISC::clamp()</a>, <a class="el" href="a06143.html#l00596">NL3D::CParticleSystem::getOneMinusCurrentLODRatio()</a>, <a class="el" href="a06151.html#l00111">NL3D::CParticleSystemProcess::getOwner()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>00611 {
+00612 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+00613 <span class="keywordtype">float</span> ratio = <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner()-&gt;getOneMinusCurrentLODRatio();
+00614 <span class="keywordtype">float</span> squaredRatio = ratio * ratio;
+00615 <span class="keywordtype">float</span> lodRatio = <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser2">_LODDegradation</a> + (1.f - <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser2">_LODDegradation</a> ) * squaredRatio * squaredRatio * squaredRatio;
+00616
+00617 <a class="code" href="a03227.html#NL3D_1_1CPSTailDotp11">_UsedNbSegs</a> = (<a class="code" href="a04558.html#a15">uint</a>) (<a class="code" href="a03227.html#NL3D_1_1CPSTailDotp7">_NbSegs</a> * lodRatio);
+00618 <a class="code" href="a05378.html#a374">NLMISC::clamp</a>(_UsedNbSegs, 0u, _NbSegs);
+00619 <span class="keyword">const</span> <span class="keywordtype">float</span> epsilon = 10E-4f;
+00620 <a class="code" href="a03227.html#NL3D_1_1CPSTailDotp12">_UsedSegDuration</a> = <a class="code" href="a03227.html#NL3D_1_1CPSTailDotp10">_SegDuration</a> / std::max(epsilon, lodRatio);
+00621 <a class="code" href="a03227.html#NL3D_1_1CPSTailDotp13">_UsedSegLength</a> = <a class="code" href="a03227.html#NL3D_1_1CPSRibbonBaser8">_SegLength</a> / std::max(epsilon, lodRatio);
+00622
+00623 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota64" doxytag="NL3D::CPSRibbonBase::usesGlobalColorLighting" ></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::CPSParticle::usesGlobalColorLighting </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, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns true if the object can use global lighting color. (example : 'lookat' particle do not have normals, so they use global lighting color instead
+<p>
+Definition at line <a class="el" href="a06258.html#l00103">103</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a06258.html#l00184">NL3D::CPSParticle::_UsesGlobalColorLighting</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="a06279.html#l00286">NL3D::CPSShockWave::draw()</a>, <a class="el" href="a06226.html#l00122">NL3D::CPSDot::draw()</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="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="a06262.html#l00520">NL3D::CPSQuad::updateMatBeforeRendering()</a>, <a class="el" href="a06283.html#l00443">NL3D::CPSTailDot::updateMaterial()</a>, <a class="el" href="a06273.html#l00890">NL3D::CPSRibbon::updateTexturedMaterial()</a>, and <a class="el" href="a06273.html#l00824">NL3D::CPSRibbon::updateUntexturedMaterial()</a>.
+<p>
+<div class="fragment"><pre>00103 { <span class="keywordflow">return</span> _UsesGlobalColorLighting; }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Friends And Related Function Documentation</h2>
+<a class="anchor" name="NL3D_1_1CPSZoneSpheren0" doxytag="NL3D::CPSRibbonBase::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"> friend class <a class="el" href="a03214.html">CPSLocated</a><code> [friend, inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a02690.html#NL3D_1_1CPSTurbuln1">NL3D::CPSForce</a>.
+<p>
+Definition at line <a class="el" href="a06247.html#l00986">986</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_1CPSZoneSpherep0" doxytag="NL3D::CPSRibbonBase::_Active" ></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="a02691.html#NL3D_1_1CPSZoneSpherep0">NL3D::CPSLocatedBindable::_Active</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="a06247.html#l01033">1033</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+Referenced by <a class="el" href="a06247.html#l00844">NL3D::CPSLocatedBindable::isActive()</a>, and <a class="el" href="a06247.html#l00843">NL3D::CPSLocatedBindable::setActive()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherep3" doxytag="NL3D::CPSRibbonBase::_ExternID" ></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="a02691.html#NL3D_1_1CPSZoneSpherep3">NL3D::CPSLocatedBindable::_ExternID</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="a06247.html#l01027">1027</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+Referenced by <a class="el" href="a06247.html#l00964">NL3D::CPSLocatedBindable::getExternID()</a>, <a class="el" href="a06246.html#l02149">NL3D::CPSLocatedBindable::setExternID()</a>, and <a class="el" href="a06246.html#l01984">NL3D::CPSLocatedBindable::~CPSLocatedBindable()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonBaser0" doxytag="NL3D::CPSRibbonBase::_InterpolationMode" ></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="a03227.html#NL3D_1_1CPSTailDotw10">TInterpolationMode</a> <a class="el" href="a03227.html#NL3D_1_1CPSRibbonBaser0">NL3D::CPSRibbonBase::_InterpolationMode</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06276.html#l00149">149</a> of file <a class="el" href="a06276.html">ps_ribbon_base.h</a>.
+<p>
+Referenced by <a class="el" href="a06275.html#l00455">computeRibbon()</a>, <a class="el" href="a06276.html#l00064">getInterpolationMode()</a>, and <a class="el" href="a06275.html#l00111">setInterpolationMode()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonBaser1" doxytag="NL3D::CPSRibbonBase::_LastUpdateDate" ></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> <a class="el" href="a03227.html#NL3D_1_1CPSRibbonBaser1">NL3D::CPSRibbonBase::_LastUpdateDate</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06276.html#l00147">147</a> of file <a class="el" href="a06276.html">ps_ribbon_base.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherep4" doxytag="NL3D::CPSRibbonBase::_LOD" ></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#a558">TPSLod</a> <a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherep4">NL3D::CPSLocatedBindable::_LOD</a><code> [protected, inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+tells when this object must be dealt with
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l01029">1029</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+Referenced by <a class="el" href="a06247.html#l00954">NL3D::CPSLocatedBindable::getLOD()</a>, and <a class="el" href="a06247.html#l00952">NL3D::CPSLocatedBindable::setLOD()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonBaser2" doxytag="NL3D::CPSRibbonBase::_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"> float <a class="el" href="a03227.html#NL3D_1_1CPSRibbonBaser2">NL3D::CPSRibbonBase::_LODDegradation</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06276.html#l00152">152</a> of file <a class="el" href="a06276.html">ps_ribbon_base.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherep5" doxytag="NL3D::CPSRibbonBase::_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="a02691.html#NL3D_1_1CPSZoneSpherep5">NL3D::CPSLocatedBindable::_Name</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="a06247.html#l01031">1031</a> of file <a class="el" href="a06247.html">ps_located.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotp7" doxytag="NL3D::CPSRibbonBase::_NbSegs" ></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="a03227.html#NL3D_1_1CPSTailDotp7">NL3D::CPSRibbonBase::_NbSegs</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="a06276.html#l00101">101</a> of file <a class="el" href="a06276.html">ps_ribbon_base.h</a>.
+<p>
+Referenced by <a class="el" href="a06275.html#l00382">computeHermitteCstSizeRibbon()</a>, <a class="el" href="a06275.html#l00175">computeHermitteRibbon()</a>, <a class="el" href="a06275.html#l00315">computeLinearCstSizeRibbon()</a>, <a class="el" href="a06275.html#l00249">computeLinearRibbon()</a>, <a class="el" href="a06275.html#l00489">dupRibbon()</a>, <a class="el" href="a06276.html#l00072">getTailNbSeg()</a>, <a class="el" href="a06275.html#l00568">initDateVect()</a>, <a class="el" href="a06275.html#l00528">resetSingleRibbon()</a>, <a class="el" href="a06275.html#l00518">resize()</a>, <a class="el" href="a06275.html#l00095">setRibbonLength()</a>, <a class="el" href="a06275.html#l00118">setTailNbSeg()</a>, <a class="el" href="a06275.html#l00139">updateGlobals()</a>, and <a class="el" href="a06275.html#l00610">updateLOD()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherep6" doxytag="NL3D::CPSRibbonBase::_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="a03214.html">CPSLocated</a>* <a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherep6">NL3D::CPSLocatedBindable::_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="a06247.html#l01026">1026</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+Referenced by <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>, <a class="el" href="a06250.html#l00521">NL3D::CPSConstraintMeshHelper::drawMeshs()</a>, and <a class="el" href="a06250.html#l00793">NL3D::CPSConstraintMeshHelper::drawPrerotatedMeshs()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotp9" doxytag="NL3D::CPSRibbonBase::_Parametric" ></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="a03227.html#NL3D_1_1CPSTailDotp9">NL3D::CPSRibbonBase::_Parametric</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="a06276.html#l00103">103</a> of file <a class="el" href="a06276.html">ps_ribbon_base.h</a>.
+<p>
+Referenced by <a class="el" href="a06275.html#l00382">computeHermitteCstSizeRibbon()</a>, <a class="el" href="a06275.html#l00175">computeHermitteRibbon()</a>, <a class="el" href="a06275.html#l00315">computeLinearCstSizeRibbon()</a>, <a class="el" href="a06275.html#l00249">computeLinearRibbon()</a>, <a class="el" href="a06275.html#l00509">deleteElement()</a>, <a class="el" href="a06275.html#l00489">dupRibbon()</a>, <a class="el" href="a06275.html#l00550">motionTypeChanged()</a>, <a class="el" href="a06275.html#l00499">newElement()</a>, <a class="el" href="a06275.html#l00538">resetFromOwner()</a>, <a class="el" href="a06275.html#l00528">resetSingleRibbon()</a>, <a class="el" href="a06275.html#l00518">resize()</a>, and <a class="el" href="a06275.html#l00139">updateGlobals()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonBaser3" doxytag="NL3D::CPSRibbonBase::_RibbonIndex" ></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> <a class="el" href="a03227.html#NL3D_1_1CPSRibbonBaser3">NL3D::CPSRibbonBase::_RibbonIndex</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06276.html#l00143">143</a> of file <a class="el" href="a06276.html">ps_ribbon_base.h</a>.
+<p>
+Referenced by <a class="el" href="a06275.html#l00382">computeHermitteCstSizeRibbon()</a>, <a class="el" href="a06275.html#l00175">computeHermitteRibbon()</a>, <a class="el" href="a06275.html#l00315">computeLinearCstSizeRibbon()</a>, <a class="el" href="a06275.html#l00249">computeLinearRibbon()</a>, <a class="el" href="a06276.html#l00131">getRibbonIndex()</a>, <a class="el" href="a06275.html#l00118">setTailNbSeg()</a>, and <a class="el" href="a06275.html#l00139">updateGlobals()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonBaser4" doxytag="NL3D::CPSRibbonBase::_RibbonLength" ></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="a03227.html#NL3D_1_1CPSRibbonBaser4">NL3D::CPSRibbonBase::_RibbonLength</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06276.html#l00150">150</a> of file <a class="el" href="a06276.html">ps_ribbon_base.h</a>.
+<p>
+Referenced by <a class="el" href="a06276.html#l00084">getRibbonLength()</a>, and <a class="el" href="a06275.html#l00095">setRibbonLength()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonBaser5" doxytag="NL3D::CPSRibbonBase::_RibbonMode" ></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="a03227.html#NL3D_1_1CPSTailDotw11">TRibbonMode</a> <a class="el" href="a03227.html#NL3D_1_1CPSRibbonBaser5">NL3D::CPSRibbonBase::_RibbonMode</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06276.html#l00148">148</a> of file <a class="el" href="a06276.html">ps_ribbon_base.h</a>.
+<p>
+Referenced by <a class="el" href="a06275.html#l00455">computeRibbon()</a>, <a class="el" href="a06276.html#l00062">getRibbonMode()</a>, and <a class="el" href="a06275.html#l00103">setRibbonMode()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonBaser6" doxytag="NL3D::CPSRibbonBase::_Ribbons" ></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">TPosVect</a> <a class="el" href="a03227.html#NL3D_1_1CPSRibbonBaser6">NL3D::CPSRibbonBase::_Ribbons</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06276.html#l00146">146</a> of file <a class="el" href="a06276.html">ps_ribbon_base.h</a>.
+<p>
+Referenced by <a class="el" href="a06275.html#l00382">computeHermitteCstSizeRibbon()</a>, <a class="el" href="a06275.html#l00175">computeHermitteRibbon()</a>, <a class="el" href="a06275.html#l00315">computeLinearCstSizeRibbon()</a>, <a class="el" href="a06275.html#l00249">computeLinearRibbon()</a>, <a class="el" href="a06275.html#l00489">dupRibbon()</a>, <a class="el" href="a06275.html#l00550">motionTypeChanged()</a>, <a class="el" href="a06275.html#l00528">resetSingleRibbon()</a>, <a class="el" href="a06275.html#l00518">resize()</a>, and <a class="el" href="a06275.html#l00139">updateGlobals()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonBaser7" doxytag="NL3D::CPSRibbonBase::_SamplingDate" ></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">TFloatVect</a> <a class="el" href="a03227.html#NL3D_1_1CPSRibbonBaser7">NL3D::CPSRibbonBase::_SamplingDate</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06276.html#l00142">142</a> of file <a class="el" href="a06276.html">ps_ribbon_base.h</a>.
+<p>
+Referenced by <a class="el" href="a06275.html#l00175">computeHermitteRibbon()</a>, <a class="el" href="a06275.html#l00249">computeLinearRibbon()</a>, <a class="el" href="a06276.html#l00133">getSamplingDate()</a>, <a class="el" href="a06275.html#l00568">initDateVect()</a>, <a class="el" href="a06275.html#l00626">systemDateChanged()</a>, and <a class="el" href="a06275.html#l00139">updateGlobals()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotp10" doxytag="NL3D::CPSRibbonBase::_SegDuration" ></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> <a class="el" href="a03227.html#NL3D_1_1CPSTailDotp10">NL3D::CPSRibbonBase::_SegDuration</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="a06276.html#l00102">102</a> of file <a class="el" href="a06276.html">ps_ribbon_base.h</a>.
+<p>
+Referenced by <a class="el" href="a06276.html#l00077">getSegDuration()</a>, <a class="el" href="a06275.html#l00132">setSegDuration()</a>, <a class="el" href="a06275.html#l00139">updateGlobals()</a>, and <a class="el" href="a06275.html#l00610">updateLOD()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonBaser8" doxytag="NL3D::CPSRibbonBase::_SegLength" ></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="a03227.html#NL3D_1_1CPSRibbonBaser8">NL3D::CPSRibbonBase::_SegLength</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06276.html#l00151">151</a> of file <a class="el" href="a06276.html">ps_ribbon_base.h</a>.
+<p>
+Referenced by <a class="el" href="a06275.html#l00095">setRibbonLength()</a>, and <a class="el" href="a06275.html#l00610">updateLOD()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotp11" doxytag="NL3D::CPSRibbonBase::_UsedNbSegs" ></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="a03227.html#NL3D_1_1CPSTailDotp11">NL3D::CPSRibbonBase::_UsedNbSegs</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+value to use after lod computation
+<p>
+
+<p>
+Definition at line <a class="el" href="a06276.html#l00136">136</a> of file <a class="el" href="a06276.html">ps_ribbon_base.h</a>.
+<p>
+Referenced by <a class="el" href="a06275.html#l00382">computeHermitteCstSizeRibbon()</a>, <a class="el" href="a06275.html#l00175">computeHermitteRibbon()</a>, <a class="el" href="a06275.html#l00315">computeLinearCstSizeRibbon()</a>, <a class="el" href="a06275.html#l00249">computeLinearRibbon()</a>, and <a class="el" href="a06275.html#l00610">updateLOD()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotp12" doxytag="NL3D::CPSRibbonBase::_UsedSegDuration" ></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> <a class="el" href="a03227.html#NL3D_1_1CPSTailDotp12">NL3D::CPSRibbonBase::_UsedSegDuration</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="a06276.html#l00137">137</a> of file <a class="el" href="a06276.html">ps_ribbon_base.h</a>.
+<p>
+Referenced by <a class="el" href="a06275.html#l00175">computeHermitteRibbon()</a>, <a class="el" href="a06275.html#l00249">computeLinearRibbon()</a>, and <a class="el" href="a06275.html#l00610">updateLOD()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotp13" doxytag="NL3D::CPSRibbonBase::_UsedSegLength" ></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="a03227.html#NL3D_1_1CPSTailDotp13">NL3D::CPSRibbonBase::_UsedSegLength</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="a06276.html#l00138">138</a> of file <a class="el" href="a06276.html">ps_ribbon_base.h</a>.
+<p>
+Referenced by <a class="el" href="a06275.html#l00382">computeHermitteCstSizeRibbon()</a>, <a class="el" href="a06275.html#l00315">computeLinearCstSizeRibbon()</a>, and <a class="el" href="a06275.html#l00610">updateLOD()</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a06276.html">ps_ribbon_base.h</a><li><a class="el" href="a06275.html">ps_ribbon_base.cpp</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 07:23:21 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>