aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/a03226.html
diff options
context:
space:
mode:
authorneodarz <neodarz@neodarz.net>2018-08-11 20:21:34 +0200
committerneodarz <neodarz@neodarz.net>2018-08-11 20:21:34 +0200
commit0ea5fc66924303d1bf73ba283a383e2aadee02f2 (patch)
tree2568e71a7ccc44ec23b8bb3f0ff97fb6bf2ed709 /docs/doxygen/nel/a03226.html
downloadnevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.tar.xz
nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.zip
Initial commit
Diffstat (limited to 'docs/doxygen/nel/a03226.html')
-rw-r--r--docs/doxygen/nel/a03226.html8416
1 files changed, 8416 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a03226.html b/docs/doxygen/nel/a03226.html
new file mode 100644
index 00000000..8ba27e42
--- /dev/null
+++ b/docs/doxygen/nel/a03226.html
@@ -0,0 +1,8416 @@
+<!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::CPSRibbon 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::CPSRibbon Class Reference</h1><code>#include &lt;<a class="el" href="a06274.html">ps_ribbon.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for NL3D::CPSRibbon:
+<p><center><img src="a03226.png" usemap="#NL3D::CPSRibbon_map" border="0" alt=""></center>
+<map name="NL3D::CPSRibbon_map">
+<area href="a03227.html" alt="NL3D::CPSRibbonBase" shape="rect" coords="110,224,321,248">
+<area href="a03157.html" alt="NL3D::CPSColoredParticle" shape="rect" coords="331,224,542,248">
+<area href="a03164.html" alt="NL3D::CPSSizedParticle" shape="rect" coords="552,224,763,248">
+<area href="a03178.html" alt="NL3D::CPSMaterial" shape="rect" coords="773,224,984,248">
+<area href="a03242.html" alt="NL3D::CPSTexturedParticleNoAnim" shape="rect" coords="994,224,1205,248">
+<area href="a03162.html" alt="NL3D::CPSParticle" shape="rect" coords="0,168,211,192">
+<area href="a03229.html" alt="NL3D::CPSTailParticle" shape="rect" coords="221,168,432,192">
+<area href="a02691.html" alt="NL3D::CPSLocatedBindable" shape="rect" coords="0,112,211,136">
+<area href="a02867.html" alt="NLMISC::IStreamable" shape="rect" coords="0,56,211,80">
+<area href="a02540.html" alt="NLMISC::IClassable" shape="rect" coords="0,0,211,24">
+</map>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+'Ribbon' particle : a shape is extruded while it follows the particle. It replaces the old ribbon version. It has more limitations : no 2d rotations and it has no propagation of size and color. It doesn't take ha much memory, and displays better (the length is not dependent on framerate as it was the case before)
+<p>
+
+<p>
+Definition at line <a class="el" href="a06274.html#l00045">45</a> of file <a class="el" href="a06274.html">ps_ribbon.h</a>.<table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Vertex buffers &amp; their corresponding index buffers. We keep a map of pretextured vertex buffer (with or without colors).</h2></td></tr>
+<tr><td colspan=2>Vb for ribbons that have the same size are shared. <br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>typedef std::hash_map&lt; <a class="el" href="a04558.html#a15">uint</a>,<br>
+ <a class="el" href="a03228.html">CVBnPB</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbonz752_0">TVBMap</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="a03226.html#NL3D_1_1CPSRibbonz752_1">getNumRibbonsInVB</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the number of ribbons contained in a vb for a given length. (e.g the number of ribbons that can be batched) <a href="#NL3D_1_1CPSRibbonz752_1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03228.html">CVBnPB</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbonz752_2">getVBnPB</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get a vertex buffer and a primitive suited for the current ribbon <a href="#NL3D_1_1CPSRibbonz752_2"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03226.html#NL3D_1_1CPSRibbonz752_0">TVBMap</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbonz752_3">_ColoredVBMap</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03226.html#NL3D_1_1CPSRibbonz752_0">TVBMap</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbonz752_4">_FadedColoredVBMap</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03226.html#NL3D_1_1CPSRibbonz752_0">TVBMap</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbonz752_5">_FadedVBMap</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03226.html#NL3D_1_1CPSRibbonz752_0">TVBMap</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbonz752_6">_TexColoredVBMap</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03226.html#NL3D_1_1CPSRibbonz752_0">TVBMap</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbonz752_7">_TexFadedColoredVBMap</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03226.html#NL3D_1_1CPSRibbonz752_0">TVBMap</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbonz752_8">_TexFadedVBMap</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03226.html#NL3D_1_1CPSRibbonz752_0">TVBMap</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbonz752_9">_TexVBMap</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">textured ribbons <a href="#NL3D_1_1CPSRibbonz752_9"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03226.html#NL3D_1_1CPSRibbonz752_0">TVBMap</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbonz752_10">_VBMap</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">untextured ribbons <a href="#NL3D_1_1CPSRibbonz752_10"></a><br><br></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="a03178.html#NL3D_1_1CPSTailDotw9">TBlendingMode</a> { <a class="el" href="a03178.html#NL3D_1_1CPSTailDotw9NL3D_1_1CPSTailDotw0">add</a>,
+<a class="el" href="a03178.html#NL3D_1_1CPSTailDotw9NL3D_1_1CPSTailDotw7">modulate</a>,
+<a class="el" href="a03178.html#NL3D_1_1CPSTailDotw9NL3D_1_1CPSTailDotw1">alphaBlend</a>,
+<a class="el" href="a03178.html#NL3D_1_1CPSTailDotw9NL3D_1_1CPSTailDotw2">alphaTest</a>
+ }</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">this enum summarize the useful modes for blending to the framebuffer <a href="#NL3D_1_1CPSTailDotw9">More...</a><br><br></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>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03178.html#NL3D_1_1CPSTailDota9">enableZTest</a> (bool enabled)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">=================================================================================== <a href="#NL3D_1_1CPSTailDota9"></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="a03226.html#NL3D_1_1CPSRibbona10">enumTexs</a> (std::vector&lt; <a class="el" href="a03408.html">NLMISC::CSmartPtr</a>&lt; <a class="el" href="a03487.html">ITexture</a> &gt; &gt; &amp;dest, <a class="el" href="a02434.html">IDriver</a> &amp;drv)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">================================================================================================================== <a href="#NL3D_1_1CPSRibbona10"></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="a03178.html#NL3D_1_1CPSTailDota11">forceModulateConstantColor</a> (bool force, const <a class="el" href="a03337.html">NLMISC::CRGBA</a> &amp;col=<a class="el" href="a03337.html#NLMISC_1_1CRGBAs6">NLMISC::CRGBA::White</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">=================================================================================== <a href="#NL3D_1_1CPSTailDota11"></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="a03178.html#NL3D_1_1CPSTailDota12">forceTexturedMaterialStages</a> (<a class="el" href="a04558.html#a15">uint</a> numStages)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">=================================================================================== <a href="#NL3D_1_1CPSTailDota12"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03178.html#NL3D_1_1CPSTailDotw9">CPSMaterial::TBlendingMode</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03178.html#NL3D_1_1CPSTailDota13">getBlendingMode</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">=================================================================================== <a href="#NL3D_1_1CPSTailDota13"></a><br><br></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><a class="el" href="a03337.html">NLMISC::CRGBA</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03157.html#NL3D_1_1CPSTailDota15">getColor</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the color. <a href="#NL3D_1_1CPSTailDota15"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03136.html">CPSAttribMaker</a>&lt; <a class="el" href="a03337.html">CRGBA</a> &gt; *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03157.html#NL3D_1_1CPSTailDota16">getColorScheme</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the color scheme (NULL if none) const version <a href="#NL3D_1_1CPSTailDota16"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03136.html">CPSAttribMaker</a>&lt; <a class="el" href="a03337.html">CRGBA</a> &gt; *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03157.html#NL3D_1_1CPSTailDota17">getColorScheme</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the color scheme (NULL if none) <a href="#NL3D_1_1CPSTailDota17"></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="a03226.html#NL3D_1_1CPSRibbona29">getMaxNumFaces</a> (void) const </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_1CPSRibbona29"></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><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbona31">getNbVerticesInShape</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the number of vertice in the shape used for ribbons <a href="#NL3D_1_1CPSRibbona31"></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>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbona35">getShape</a> (<a class="el" href="a03128.html">NLMISC::CVector</a> *shape) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">================================================================================================================== <a href="#NL3D_1_1CPSRibbona35"></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="a03164.html#NL3D_1_1CPSSizedParticlea1">getSize</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the constant size <a href="#NL3D_1_1CPSSizedParticlea1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03136.html">CPSAttribMaker</a>&lt; float &gt; *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03164.html#NL3D_1_1CPSSizedParticlea2">getSizeScheme</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the size scheme (NULL if none) const version <a href="#NL3D_1_1CPSSizedParticlea2"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03136.html">CPSAttribMaker</a>&lt; float &gt; *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03164.html#NL3D_1_1CPSSizedParticlea3">getSizeScheme</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the size scheme (NULL if none) <a href="#NL3D_1_1CPSSizedParticlea3"></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>const <a class="el" href="a03487.html">ITexture</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbona40">getTexture</a> (void) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03487.html">ITexture</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbona41">getTexture</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the texture used <a href="#NL3D_1_1CPSRibbona41"></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>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbona43">getUFactor</a> (void) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea36">getUserMatrixUsageCount</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbona45">getVFactor</a> (void) 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="a03226.html#NL3D_1_1CPSRibbona48">hasLightableFaces</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">from <a class="el" href="a03162.html">CPSParticle</a> : return true if there are lightable faces in the object <a href="#NL3D_1_1CPSRibbona48"></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="a03226.html#NL3D_1_1CPSRibbona49">hasOpaqueFaces</a> (void)</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_1CPSRibbona49"></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="a03226.html#NL3D_1_1CPSRibbona51">hasTransparentFaces</a> (void)</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_1CPSRibbona51"></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>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03178.html#NL3D_1_1CPSTailDota45">isZTestEnabled</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">=================================================================================== <a href="#NL3D_1_1CPSTailDota45"></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="a03157.html#NL3D_1_1CPSTailDota49">serialColorScheme</a> (<a class="el" href="a02270.html">NLMISC::IStream</a> &amp;f) throw (NLMISC::EStream)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">serialization. <a href="#NL3D_1_1CPSTailDota49"></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="a03178.html#NL3D_1_1CPSTailDota50">serialMaterial</a> (<a class="el" href="a02270.html">NLMISC::IStream</a> &amp;f) throw (NLMISC::EStream)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">=================================================================================== <a href="#NL3D_1_1CPSTailDota50"></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="a03164.html#NL3D_1_1CPSSizedParticlea4">serialSizeScheme</a> (<a class="el" href="a02270.html">NLMISC::IStream</a> &amp;f) throw (NLMISC::EStream)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">serialization. We choose a different name because of multiple-inheritance <a href="#NL3D_1_1CPSSizedParticlea4"></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_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>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03178.html#NL3D_1_1CPSTailDota52">setBlendingMode</a> (<a class="el" href="a03178.html#NL3D_1_1CPSTailDotw9">CPSMaterial::TBlendingMode</a> mode)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">=================================================================================== <a href="#NL3D_1_1CPSTailDota52"></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="a03157.html#NL3D_1_1CPSTailDota53">setColor</a> (<a class="el" href="a03337.html">NLMISC::CRGBA</a> col)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a constant color for the particles. remove any previous scheme. <a href="#NL3D_1_1CPSTailDota53"></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="a03157.html#NL3D_1_1CPSTailDota54">setColorScheme</a> (<a class="el" href="a03136.html">CPSAttribMaker</a>&lt; <a class="el" href="a03337.html">CRGBA</a> &gt; *col)</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>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbona69">setShape</a> (const <a class="el" href="a03128.html">NLMISC::CVector</a> *shape, <a class="el" href="a04558.html#a11">uint32</a> nbPointsInShape)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">================================================================================================================== <a href="#NL3D_1_1CPSRibbona69"></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="a03164.html#NL3D_1_1CPSSizedParticlea5">setSize</a> (float <a class="el" href="a04223.html#a587">size</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a constant size for the particles. <a href="#NL3D_1_1CPSSizedParticlea5"></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="a03164.html#NL3D_1_1CPSSizedParticlea6">setSizeScheme</a> (<a class="el" href="a03136.html">CPSAttribMaker</a>&lt; float &gt; *<a class="el" href="a04223.html#a587">size</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbona72">setTexFactor</a> (float uFactor=1.f, float vFactor=1.f)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set texture factors. <a href="#NL3D_1_1CPSRibbona72"></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="a03226.html#NL3D_1_1CPSRibbona73">setTexture</a> (<a class="el" href="a03408.html">NLMISC::CSmartPtr</a>&lt; <a class="el" href="a03487.html">ITexture</a> &gt; tex)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set a texture <a href="#NL3D_1_1CPSRibbona73"></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_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="a03226.html#NL3D_1_1CPSRibbona75">setZBias</a> (float <a class="el" href="a04223.html#a658">value</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="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="a03226.html#NL3D_1_1CPSRibbona77">step</a> (<a class="el" href="a05363.html#a556">TPSProcessPass</a> pass, <a class="el" href="a05363.html#a366">TAnimationTime</a> ellapsedTime, <a class="el" href="a05363.html#a366">TAnimationTime</a> realEt)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">inherited from <a class="el" href="a03162.html">CPSParticle</a> <a href="#NL3D_1_1CPSRibbona77"></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="a03226.html#NL3D_1_1CPSRibbona78">supportGlobalColorLighting</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_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="a03226.html#NL3D_1_1CPSRibbonz748_0">CPSRibbon</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbonz748_1">NLMISC_DECLARE_CLASS</a> (<a class="el" href="a03226.html">CPSRibbon</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="a03226.html#NL3D_1_1CPSRibbonz748_2">serial</a> (<a class="el" href="a02270.html">NLMISC::IStream</a> &amp;f) throw (NLMISC::EStream)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">================================================================================================================== <a href="#NL3D_1_1CPSRibbonz748_2"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbonz748_3">~CPSRibbon</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">dtor <a href="#NL3D_1_1CPSRibbonz748_3"></a><br><br></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Behaviour</div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbonz749_0">getColorFading</a> (void) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbonz749_1">isInSystemBasis</a> (void) const </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_1CPSRibbonz749_1"></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="a03226.html#NL3D_1_1CPSRibbonz749_2">setColorFading</a> (bool onOff=true)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbonz749_3">setSystemBasis</a> (bool yes)</td></tr>
+
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Predefined shapes</div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03128.html">NLMISC::CVector</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbonz750_0">HeightSides</a> []</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Predefined shape : height sides. <a href="#NL3D_1_1CPSRibbonz750_0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03128.html">NLMISC::CVector</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbonz750_1">Losange</a> []</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Predefined shape : a regular losange shape. <a href="#NL3D_1_1CPSRibbonz750_1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a04558.html#a15">uint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbonz750_2">NbVerticesInHeightSide</a> = sizeof(<a class="el" href="a03226.html#NL3D_1_1CPSRibbonz750_0">CPSRibbon::HeightSides</a>) / sizeof(<a class="el" href="a03128.html">CVector</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">number of vertices in the height side (must be 8 ... :) ) <a href="#NL3D_1_1CPSRibbonz750_2"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a04558.html#a15">uint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbonz750_3">NbVerticesInLosange</a> = sizeof(<a class="el" href="a03226.html#NL3D_1_1CPSRibbonz750_1">Losange</a>) / sizeof(<a class="el" href="a03128.html">CVector</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">number of vertices in the losange <a href="#NL3D_1_1CPSRibbonz750_3"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a04558.html#a15">uint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbonz750_4">NbVerticesInPentagram</a> = sizeof(<a class="el" href="a03226.html#NL3D_1_1CPSRibbonz750_6">CPSRibbon::Pentagram</a>) / sizeof(<a class="el" href="a03128.html">CVector</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Predefined shape : height sides. <a href="#NL3D_1_1CPSRibbonz750_4"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a04558.html#a15">uint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbonz750_5">NbVerticesInTriangle</a> = sizeof(<a class="el" href="a03226.html#NL3D_1_1CPSRibbonz750_7">CPSRibbon::Triangle</a>) / sizeof(<a class="el" href="a03128.html">CVector</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Predefined shape : height sides. <a href="#NL3D_1_1CPSRibbonz750_5"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03128.html">NLMISC::CVector</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbonz750_6">Pentagram</a> []</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Predifined shape : pentagram. <a href="#NL3D_1_1CPSRibbonz750_6"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03128.html">NLMISC::CVector</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbonz750_7">Triangle</a> []</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Predifined shape : triangle. <a href="#NL3D_1_1CPSRibbonz750_7"></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>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03157.html#NL3D_1_1CPSTailDotb3">deleteColorElement</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>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbonb4">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_1CPSRibbonb4"></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="a03164.html#NL3D_1_1CPSSizedParticleb0">deleteSizeElement</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="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>virtual <a class="el" href="a03214.html">CPSLocated</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbonb7">getColorOwner</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">From <a class="el" href="a03157.html">CPSColoredParticle</a>. <a href="#NL3D_1_1CPSRibbonb7"></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="a03227.html#NL3D_1_1CPSTailDotx0">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>virtual <a class="el" href="a03214.html">CPSLocated</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbonb10">getSizeOwner</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">From <a class="el" href="a03164.html">CPSSizedParticle</a>. <a href="#NL3D_1_1CPSRibbonb10"></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_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>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03157.html#NL3D_1_1CPSTailDotb12">newColorElement</a> (<a class="el" href="a03214.html">CPSLocated</a> *emitterLocated, <a class="el" href="a04558.html#a11">uint32</a> emitterIndex)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbonb14">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_1CPSRibbonb14"></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="a03164.html#NL3D_1_1CPSSizedParticleb2">newSizeElement</a> (<a class="el" href="a03214.html">CPSLocated</a> *emitterLocated, <a class="el" href="a04558.html#a11">uint32</a> emitterIndex)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>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="a03226.html#NL3D_1_1CPSRibbonb18">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_1CPSRibbonb18"></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="a03157.html#NL3D_1_1CPSTailDotb17">resizeColor</a> (<a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a04223.html#a587">size</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03164.html#NL3D_1_1CPSSizedParticleb3">resizeSize</a> (<a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a04223.html#a587">size</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="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="a03337.html">CRGBA</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03157.html#NL3D_1_1CPSTailDotp1">_Color</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03136.html">CPSAttribMaker</a>&lt; <a class="el" href="a03337.html">CRGBA</a> &gt; *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</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><a class="el" href="a02839.html">CMaterial</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="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>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03164.html#NL3D_1_1CPSSizedParticlep0">_ParticleSize</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="a03136.html">CPSAttribMaker</a>&lt; float &gt; *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</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="a03226.html#NL3D_1_1CPSRibbond0">displayRibbons</a> (<a class="el" href="a04558.html#a11">uint32</a> nbRibbons, <a class="el" href="a04558.html#a11">uint32</a> srcStep)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">display a set of ribbons <a href="#NL3D_1_1CPSRibbond0"></a><br><br></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="a03226.html#NL3D_1_1CPSRibbond1">getNumVerticesInSlice</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the number of vertices in each slices (depends on wether the ribbon is textured or not). <a href="#NL3D_1_1CPSRibbond1"></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="a03226.html#NL3D_1_1CPSRibbond2">setupGlobalColor</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbond3">setupTexturedGlobalColor</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbond4">setupTextureMatrix</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbond5">setupUntexturedGlobalColor</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbond6">touch</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="a03226.html#NL3D_1_1CPSRibbond7">updateMatAndVbForColor</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">update the material and the vb so that they match the color scheme. Inherited from <a class="el" href="a03157.html">CPSColoredParticle</a> <a href="#NL3D_1_1CPSRibbond7"></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="a03226.html#NL3D_1_1CPSRibbond8">updateMaterial</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbond9">updateTexturedMaterial</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbond10">updateUntexturedMaterial</a> ()</td></tr>
+
+<tr><td colspan=2><br><h2>Private 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="a03226.html#NL3D_1_1CPSRibbonr0">_ColorFading</a>: 1</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbonr1">_ForceLighted</a>: 1</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbonr2">_GlobalColor</a>: 1</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbonr3">_Lighted</a>: 1</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><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="a03226.html#NL3D_1_1CPSRibbonr4">_Shape</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03408.html">CSmartPtr</a>&lt; <a class="el" href="a03487.html">ITexture</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbonr5">_Tex</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbonr6">_Touch</a>: 1</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbonr7">_UFactor</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03226.html#NL3D_1_1CPSRibbonr8">_VFactor</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::CPSRibbon::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, 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="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">NL3D::CPSRibbonBase::getSamplingDate()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotx1" doxytag="NL3D::CPSRibbon::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, 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="a06276.html#l00098">98</a> of file <a class="el" href="a06276.html">ps_ribbon_base.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonz752_0" doxytag="NL3D::CPSRibbon::TVBMap" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef std::hash_map&lt;<a class="el" href="a04558.html#a15">uint</a>, <a class="el" href="a03228.html">CVBnPB</a>&gt; <a class="el" href="a03226.html#NL3D_1_1CPSRibbonz752_0">NL3D::CPSRibbon::TVBMap</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="a06274.html#l00228">228</a> of file <a class="el" href="a06274.html">ps_ribbon.h</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Enumeration Documentation</h2>
+<a class="anchor" name="NL3D_1_1CPSTailDotw9" doxytag="NL3D::CPSRibbon::TBlendingMode" ></a><p>
+<table class="mdTable" 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="a03178.html#NL3D_1_1CPSTailDotw9">NL3D::CPSMaterial::TBlendingMode</a><code> [inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+this enum summarize the useful modes for blending to the framebuffer
+<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_1CPSTailDotw9NL3D_1_1CPSTailDotw0" doxytag="add" ></a>add</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CPSTailDotw9NL3D_1_1CPSTailDotw7" doxytag="modulate" ></a>modulate</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CPSTailDotw9NL3D_1_1CPSTailDotw1" doxytag="alphaBlend" ></a>alphaBlend</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CPSTailDotw9NL3D_1_1CPSTailDotw2" doxytag="alphaTest" ></a>alphaTest</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a06258.html#l00809">809</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+<div class="fragment"><pre>00809 { <a class="code" href="a03178.html#NL3D_1_1CPSTailDotw9NL3D_1_1CPSTailDotw0">add</a>, <a class="code" href="a03178.html#NL3D_1_1CPSTailDotw9NL3D_1_1CPSTailDotw7">modulate</a>, <a class="code" href="a03178.html#NL3D_1_1CPSTailDotw9NL3D_1_1CPSTailDotw1">alphaBlend</a>, <a class="code" href="a03178.html#NL3D_1_1CPSTailDotw9NL3D_1_1CPSTailDotw2">alphaTest</a> };
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotw10" doxytag="NL3D::CPSRibbon::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><code> [inherited]</code>
+ </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">NL3D::CPSRibbonBase::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::CPSRibbon::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><code> [inherited]</code>
+ </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">NL3D::CPSRibbonBase::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_1CPSRibbonz748_0" doxytag="NL3D::CPSRibbon::CPSRibbon" ></a><p>
+<table class="mdTable" 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::CPSRibbon::CPSRibbon </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>
+ctor. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>nbSegmentInTail</em>&nbsp;</td><td>the number of segment the ribbon has in its tail </td></tr>
+ <tr><td valign=top><em>shape</em>&nbsp;</td><td>pointer to a shape that will be extruded along the ribbon. It must have a unit size and be located in the x-y plane. This will be copied </td></tr>
+ <tr><td valign=top><em>nbPointsInShape</em>&nbsp;</td><td>: the number of points in the shape</td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a06273.html#l00233">233</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>.
+<p>
+References <a class="el" href="a06273.html#l00098">NbVerticesInTriangle</a>, <a class="el" href="a05641.html#l00071">NL3D::CMaterial::setDoubleSided()</a>, <a class="el" href="a06275.html#l00111">NL3D::CPSRibbonBase::setInterpolationMode()</a>, <a class="el" href="a06275.html#l00132">NL3D::CPSRibbonBase::setSegDuration()</a>, and <a class="el" href="a06273.html#l01129">setShape()</a>.
+<p>
+<div class="fragment"><pre>00233 : <a class="code" href="a03226.html#NL3D_1_1CPSRibbonr7">_UFactor</a>(1.f),
+00234 <a class="code" href="a03226.html#NL3D_1_1CPSRibbonr8">_VFactor</a>(1.f),
+00235 <a class="code" href="a03226.html#NL3D_1_1CPSRibbonr0">_ColorFading</a>(<span class="keyword">true</span>),
+00236 <a class="code" href="a03226.html#NL3D_1_1CPSRibbonr2">_GlobalColor</a>(<span class="keyword">false</span>),
+00237 <a class="code" href="a03226.html#NL3D_1_1CPSRibbonr6">_Touch</a>(<span class="keyword">true</span>),
+00238 <a class="code" href="a03226.html#NL3D_1_1CPSRibbonr3">_Lighted</a>(<span class="keyword">false</span>),
+00239 <a class="code" href="a03226.html#NL3D_1_1CPSRibbonr1">_ForceLighted</a>(<span class="keyword">false</span>)
+00240 {
+00241 <a class="code" href="a03227.html#NL3D_1_1CPSTailDotz754_2">setInterpolationMode</a>(Linear);
+00242 <a class="code" href="a03227.html#NL3D_1_1CPSTailDotz755_4">setSegDuration</a>(0.06f);
+00243 <span class="keywordflow">if</span> (CParticleSystem::getSerializeIdentifierFlag()) <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep5">_Name</a> = std::string(<span class="stringliteral">"Ribbon"</span>);
+00244 <a class="code" href="a03226.html#NL3D_1_1CPSRibbona69">setShape</a>(Triangle, NbVerticesInTriangle);
+00245 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.setDoubleSided(<span class="keyword">true</span>);
+00246 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonz748_3" doxytag="NL3D::CPSRibbon::~CPSRibbon" ></a><p>
+<table class="mdTable" 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::CPSRibbon::~<a class="el" href="a03226.html">CPSRibbon</a> </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+dtor
+<p>
+
+<p>
+Definition at line <a class="el" href="a06273.html#l00250">250</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>.
+<p>
+<div class="fragment"><pre>00251 {
+00252 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea1" doxytag="NL3D::CPSRibbon::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::CPSRibbon::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::CPSRibbon::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_1CPSZoneSpherea3" doxytag="NL3D::CPSRibbon::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::CPSRibbon::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::CPSRibbon::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_1CPSTailDotb1" doxytag="NL3D::CPSRibbon::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, inherited]</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">NL3D::CPSRibbonBase::_InterpolationMode</a>, <a class="el" href="a06276.html#l00148">NL3D::CPSRibbonBase::_RibbonMode</a>, <a class="el" href="a06275.html#l00382">NL3D::CPSRibbonBase::computeHermitteCstSizeRibbon()</a>, <a class="el" href="a06275.html#l00175">NL3D::CPSRibbonBase::computeHermitteRibbon()</a>, <a class="el" href="a06275.html#l00315">NL3D::CPSRibbonBase::computeLinearCstSizeRibbon()</a>, <a class="el" href="a06275.html#l00249">NL3D::CPSRibbonBase::computeLinearRibbon()</a>, <a class="el" href="a03227.html#NL3D_1_1CPSTailDotw10NL3D_1_1CPSTailDotw4">NL3D::CPSRibbonBase::Hermitte</a>, <a class="el" href="a05646.html#l00225">index</a>, <a class="el" href="a03227.html#NL3D_1_1CPSTailDotw10NL3D_1_1CPSTailDotw6">NL3D::CPSRibbonBase::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">NL3D::CPSRibbonBase::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">displayRibbons()</a>.
+<p>
+<div class="fragment"><pre>00456 {
+00457 <span class="keywordflow">switch</span> (_InterpolationMode)
+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> (_RibbonMode == <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> (_RibbonMode == <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::CPSRibbon::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">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_1CPSTailDotb3" doxytag="NL3D::CPSRibbon::deleteColorElement" ></a><p>
+<table class="mdTable" 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::CPSColoredParticle::deleteColorElement </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, 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#l00237">237</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a06214.html#l00285">NL3D::CPSAttribMaker&lt; CRGBA &gt;::deleteElement()</a>, <a class="el" href="a06214.html#l00282">NL3D::CPSAttribMaker&lt; CRGBA &gt;::hasMemory()</a>, <a class="el" href="a05646.html#l00225">index</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a06283.html#l00220">NL3D::CPSTailDot::deleteElement()</a>, <a class="el" href="a06279.html#l00460">NL3D::CPSShockWave::deleteElement()</a>, <a class="el" href="a06277.html#l00172">NL3D::CPSRibbonLookAt::deleteElement()</a>, <a class="el" href="a06273.html#l00322">deleteElement()</a>, <a class="el" href="a06263.html#l00105">NL3D::CPSQuad::deleteElement()</a>, <a class="el" href="a06250.html#l01874">NL3D::CPSConstraintMesh::deleteElement()</a>, <a class="el" href="a06235.html#l00272">NL3D::CPSFanLight::deleteElement()</a>, and <a class="el" href="a06226.html#l00239">NL3D::CPSDot::deleteElement()</a>.
+<p>
+<div class="fragment"><pre>00238 {
+00239 <span class="keywordflow">if</span> (<a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a> &amp;&amp; <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a>-&gt;hasMemory()) <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a>-&gt;deleteElement(index);
+00240 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonb4" doxytag="NL3D::CPSRibbon::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::CPSRibbon::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>
+Reimplemented from <a class="el" href="a03227.html#NL3D_1_1CPSRibbonBaseb3">NL3D::CPSRibbonBase</a>.
+<p>
+Definition at line <a class="el" href="a06273.html#l00322">322</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>.
+<p>
+References <a class="el" href="a06258.html#l00237">NL3D::CPSColoredParticle::deleteColorElement()</a>, <a class="el" href="a06258.html#l00295">NL3D::CPSSizedParticle::deleteSizeElement()</a>, <a class="el" href="a05646.html#l00225">index</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00323 {
+00324 CPSRibbonBase::deleteElement(index);
+00325 <a class="code" href="a03157.html#NL3D_1_1CPSTailDotb3">deleteColorElement</a>(index);
+00326 <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticleb0">deleteSizeElement</a>(index);
+00327 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSSizedParticleb0" doxytag="NL3D::CPSRibbon::deleteSizeElement" ></a><p>
+<table class="mdTable" 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::CPSSizedParticle::deleteSizeElement </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, 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#l00295">295</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a06258.html#l00290">NL3D::CPSSizedParticle::_SizeScheme</a>, <a class="el" href="a06214.html#l00285">NL3D::CPSAttribMaker&lt; float &gt;::deleteElement()</a>, <a class="el" href="a06214.html#l00282">NL3D::CPSAttribMaker&lt; float &gt;::hasMemory()</a>, <a class="el" href="a05646.html#l00225">index</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a06279.html#l00460">NL3D::CPSShockWave::deleteElement()</a>, <a class="el" href="a06277.html#l00172">NL3D::CPSRibbonLookAt::deleteElement()</a>, <a class="el" href="a06273.html#l00322">deleteElement()</a>, <a class="el" href="a06263.html#l00105">NL3D::CPSQuad::deleteElement()</a>, <a class="el" href="a06250.html#l01874">NL3D::CPSConstraintMesh::deleteElement()</a>, <a class="el" href="a06250.html#l00260">NL3D::CPSMesh::deleteElement()</a>, and <a class="el" href="a06235.html#l00272">NL3D::CPSFanLight::deleteElement()</a>.
+<p>
+<div class="fragment"><pre>00296 {
+00297 <span class="keywordflow">if</span> (<a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a> &amp;&amp; <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a>-&gt;hasMemory()) <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a>-&gt;deleteElement(index);
+00298 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota5" doxytag="NL3D::CPSRibbon::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::CPSRibbon::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_1CPSRibbond0" doxytag="NL3D::CPSRibbon::displayRibbons" ></a><p>
+<table class="mdTable" 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::CPSRibbon::displayRibbons </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>nbRibbons</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>srcStep</em></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>
+display a set of ribbons
+<p>
+setup sizes<p>
+compute colors
+<p>
+Definition at line <a class="el" href="a06273.html#l00471">471</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>.
+<p>
+References <a class="el" href="a06274.html#l00257">_ForceLighted</a>, <a class="el" href="a06274.html#l00256">_Lighted</a>, <a class="el" href="a02434.html#NL3D_1_1IDrivera2">NL3D::IDriver::activeVertexBuffer()</a>, <a class="el" href="a06275.html#l00455">NL3D::CPSRibbonBase::computeRibbon()</a>, <a class="el" href="a06273.html#l00436">NL3D::ComputeTexturedRibbonMesh()</a>, <a class="el" href="a06273.html#l00404">NL3D::ComputeUntexturedRibbonMesh()</a>, <a class="el" href="a06143.html#l00657">NL3D::CParticleSystem::getColorAttenuationScheme()</a>, <a class="el" href="a06711.html#l00340">NL3D::CVertexBuffer::getColorOff()</a>, <a class="el" href="a06247.html#l00890">NL3D::CPSLocatedBindable::getDriver()</a>, <a class="el" href="a06143.html#l00679">NL3D::CParticleSystem::getForceGlobalColorLightingFlag()</a>, <a class="el" href="a06273.html#l00815">getNumRibbonsInVB()</a>, <a class="el" href="a06273.html#l00256">getNumVerticesInSlice()</a>, <a class="el" href="a06151.html#l00111">NL3D::CParticleSystemProcess::getOwner()</a>, <a class="el" href="a06143.html#l00311">NL3D::CParticleSystem::getSystemDate()</a>, <a class="el" href="a06273.html#l00695">getVBnPB()</a>, <a class="el" href="a06710.html#l00438">NL3D::CVertexBuffer::getVertexCoordPointer()</a>, <a class="el" href="a06711.html#l00473">NL3D::CVertexBuffer::getVertexSize()</a>, <a class="el" href="a06246.html#l00500">NL3D::CPSLocated::incrementNbDrawnParticles()</a>, <a class="el" href="a06246.html#l00256">NL3D::CPSLocated::integrateSingle()</a>, <a class="el" href="a06143.html#l00669">NL3D::CParticleSystem::isUserColorUsed()</a>, <a class="el" href="a03136.html#NL3D_1_1CPSAttribMakerz714_2">NL3D::CPSAttribMaker&lt; float &gt;::make()</a>, <a class="el" href="a03136.html#NL3D_1_1CPSAttribMakerz714_4">NL3D::CPSAttribMaker&lt; CRGBA &gt;::makeN()</a>, <a class="el" href="a05484.html#l00038">min</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06274.html#l00225">NL3D::CPSRibbon::CVBnPB::PB</a>, <a class="el" href="a02434.html#NL3D_1_1IDrivera51">NL3D::IDriver::render()</a>, <a class="el" href="a06197.html#l00114">NL3D::CPrimitiveBlock::setNumTri()</a>, <a class="el" href="a06246.html#l02142">NL3D::CPSLocatedBindable::setupDriverModelMatrix()</a>, <a class="el" href="a06273.html#l01100">setupGlobalColor()</a>, <a class="el" href="a06274.html#l00260">touch()</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05981.html#l00100">uint32</a>, <a class="el" href="a05981.html#l00096">uint8</a>, <a class="el" href="a06273.html#l00967">updateMaterial()</a>, <a class="el" href="a06258.html#l00103">NL3D::CPSParticle::usesGlobalColorLighting()</a>, and <a class="el" href="a06274.html#l00224">NL3D::CPSRibbon::CVBnPB::VB</a>.
+<p>
+Referenced by <a class="el" href="a06273.html#l00266">step()</a>.
+<p>
+<div class="fragment"><pre>00472 {
+00473 <span class="keywordflow">if</span> (!nbRibbons) <span class="keywordflow">return</span>;
+00474 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+00475 CPSRibbonBase::updateLOD();
+00476 <span class="keywordflow">if</span> (<a class="code" href="a03227.html#NL3D_1_1CPSTailDotp11">_UsedNbSegs</a> &lt; 2) <span class="keywordflow">return</span>;
+00477 <span class="keyword">const</span> <span class="keywordtype">float</span> date = <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner()-&gt;getSystemDate();
+00478 <a class="code" href="a04558.html#a7">uint8</a> *currVert;
+00479 CVBnPB &amp;VBnPB = <a class="code" href="a03226.html#NL3D_1_1CPSRibbonz752_2">getVBnPB</a>(); <span class="comment">// get the appropriate vb (built it if needed)</span>
+00480 CVertexBuffer &amp;VB = VBnPB.VB;
+00481 CPrimitiveBlock &amp;PB = VBnPB.PB;
+00482 <span class="keyword">const</span> <a class="code" href="a04558.html#a11">uint32</a> vertexSize = VB.getVertexSize();
+00483 <a class="code" href="a04558.html#a15">uint</a> colorOffset=0;
+00484
+00485 IDriver *drv = this-&gt;<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherea14">getDriver</a>();
+00486 <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherea59">setupDriverModelMatrix</a>();
+00487 drv-&gt;activeVertexBuffer(VB);
+00488 <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;incrementNbDrawnParticles(nbRibbons); <span class="comment">// for benchmark purpose </span>
+00489 <span class="keyword">const</span> <a class="code" href="a04558.html#a15">uint</a> numRibbonBatch = <a class="code" href="a03226.html#NL3D_1_1CPSRibbonz752_1">getNumRibbonsInVB</a>(); <span class="comment">// number of ribons to process at once </span>
+00490 <span class="keywordflow">if</span> (<a class="code" href="a03227.html#NL3D_1_1CPSTailDotp11">_UsedNbSegs</a> == 0) <span class="keywordflow">return</span>;
+00492 <span class="comment">// Material setup //</span>
+00494 <span class="comment"></span> CParticleSystem &amp;ps = *(<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner());
+00495 <span class="keywordtype">bool</span> useGlobalColor = ps.getColorAttenuationScheme() != NULL || ps.isUserColorUsed();
+00496 <span class="keywordflow">if</span> (useGlobalColor != <a class="code" href="a03226.html#NL3D_1_1CPSRibbonr2">_GlobalColor</a>)
+00497 {
+00498 <a class="code" href="a03226.html#NL3D_1_1CPSRibbonr2">_GlobalColor</a> = useGlobalColor;
+00499 <a class="code" href="a03226.html#NL3D_1_1CPSRibbond6">touch</a>();
+00500 }
+00501 <span class="keywordflow">if</span> (<a class="code" href="a03162.html#NL3D_1_1CPSTailDota64">usesGlobalColorLighting</a>() != <a class="code" href="a03226.html#NL3D_1_1CPSRibbonr3">_Lighted</a>)
+00502 {
+00503 <a class="code" href="a03226.html#NL3D_1_1CPSRibbonr3">_Lighted</a> = <a class="code" href="a03162.html#NL3D_1_1CPSTailDota64">usesGlobalColorLighting</a>();
+00504 <a class="code" href="a03226.html#NL3D_1_1CPSRibbond6">touch</a>();
+00505 }
+00506 <span class="keywordflow">if</span> (ps.getForceGlobalColorLightingFlag() != <a class="code" href="a03226.html#NL3D_1_1CPSRibbonr1">_ForceLighted</a>)
+00507 {
+00508 <a class="code" href="a03226.html#NL3D_1_1CPSRibbonr1">_ForceLighted</a> = ps.getForceGlobalColorLightingFlag();
+00509 <a class="code" href="a03226.html#NL3D_1_1CPSRibbond6">touch</a>();
+00510 }
+00511 <a class="code" href="a03226.html#NL3D_1_1CPSRibbond8">updateMaterial</a>();
+00512 <a class="code" href="a03226.html#NL3D_1_1CPSRibbond2">setupGlobalColor</a>();
+00513 <span class="comment">//</span>
+00514 <span class="keywordflow">if</span> (<a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a>)
+00515 {
+00516 colorOffset = VB.getColorOff();
+00517 }
+00519 <span class="comment">// Compute ribbons //</span>
+00521 <span class="comment"></span> <span class="keyword">const</span> <a class="code" href="a04558.html#a15">uint</a> numVerticesInSlice = <a class="code" href="a03226.html#NL3D_1_1CPSRibbond1">getNumVerticesInSlice</a>();
+00522 <span class="keyword">const</span> <a class="code" href="a04558.html#a15">uint</a> numVerticesInShape = <a class="code" href="a03226.html#NL3D_1_1CPSRibbonr4">_Shape</a>.size();
+00523 <span class="comment">//</span>
+00524 <span class="keyword">static</span> std::vector&lt;float&gt; sizes;
+00525 <span class="keyword">static</span> std::vector&lt;NLMISC::CVector&gt; ribbonPos; <span class="comment">// this is where the position of each ribbon slice center i stored</span>
+00526 ribbonPos.resize(_UsedNbSegs + 1); <span class="comment">// make sure we have enough room</span>
+00527 sizes.resize(numRibbonBatch);
+00528
+00529 <span class="comment">//</span>
+00530 <a class="code" href="a04558.html#a15">uint</a> toProcess;
+00531 <a class="code" href="a04558.html#a15">uint</a> ribbonIndex = 0; <span class="comment">// index of the first ribbon in the batch being processed </span>
+00532 <a class="code" href="a04558.html#a11">uint32</a> fpRibbonIndex = 0; <span class="comment">// fixed point index in source</span>
+00533 <span class="keywordflow">do</span>
+00534 {
+00535 toProcess = <a class="code" href="a04061.html#a0">std::min</a>((<a class="code" href="a04558.html#a15">uint</a>) (nbRibbons - ribbonIndex) , numRibbonBatch);
+00536 currVert = (<a class="code" href="a04558.html#a7">uint8</a> *) VB.getVertexCoordPointer();
+00537
+00539 <span class="keyword">const</span> <span class="keywordtype">float</span> *ptCurrSize;
+00540 <a class="code" href="a04558.html#a11">uint32</a> ptCurrSizeIncrement;
+00541 <span class="keywordflow">if</span> (<a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a>)
+00542 {
+00543 ptCurrSize = (<span class="keywordtype">float</span> *) <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a>-&gt;make(this-&gt;_Owner, ribbonIndex, &amp;sizes[0], <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>), toProcess, <span class="keyword">true</span>, srcStep);
+00544 ptCurrSizeIncrement = 1;
+00545 }
+00546 <span class="keywordflow">else</span>
+00547 {
+00548 ptCurrSize = &amp;<a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep0">_ParticleSize</a>;
+00549 ptCurrSizeIncrement = 0;
+00550 }
+00551
+00553 <span class="keywordflow">if</span> (<a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a>)
+00554 {
+00555 <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a>-&gt;makeN(this-&gt;_Owner, ribbonIndex, currVert + colorOffset, vertexSize, toProcess, numVerticesInSlice * (_UsedNbSegs + 1), srcStep);
+00556 }
+00557 <a class="code" href="a04558.html#a15">uint</a> k = toProcess;
+00559 <span class="comment">// interpolate and project points the result is directly setup in the vertex buffer //</span>
+00561 <span class="comment"></span> <span class="keywordflow">if</span> (!<a class="code" href="a03227.html#NL3D_1_1CPSTailDotp9">_Parametric</a>)
+00562 {
+00564 <span class="comment">// INCREMENTAL CASE //</span>
+00566 <span class="comment"></span> <span class="keywordflow">if</span> (<a class="code" href="a03226.html#NL3D_1_1CPSRibbonr5">_Tex</a> != NULL) <span class="comment">// textured case</span>
+00567 {
+00568 <span class="keywordflow">do</span>
+00569 {
+00570 <span class="keyword">const</span> <span class="keywordtype">float</span> ribbonSizeIncrement = *ptCurrSize / (<span class="keywordtype">float</span>) <a class="code" href="a03227.html#NL3D_1_1CPSTailDotp11">_UsedNbSegs</a>;
+00571 ptCurrSize += ptCurrSizeIncrement;
+00572 <span class="comment">// the parent class has a method to get the ribbons positions</span>
+00573 <a class="code" href="a03227.html#NL3D_1_1CPSTailDotb1">computeRibbon</a>((<a class="code" href="a04558.html#a15">uint</a>) (fpRibbonIndex &gt;&gt; 16), &amp;ribbonPos[0], <span class="keyword">sizeof</span>(<a class="code" href="a03128.html">NLMISC::CVector</a>));
+00574 currVert = <a class="code" href="a05363.html#a513">ComputeTexturedRibbonMesh</a>(currVert,
+00575 vertexSize,
+00576 &amp;ribbonPos[0],
+00577 &amp;_Shape[0],
+00578 _UsedNbSegs,
+00579 numVerticesInShape,
+00580 ribbonSizeIncrement,
+00581 *ptCurrSize
+00582 );
+00583 fpRibbonIndex += srcStep;
+00584 }
+00585 <span class="keywordflow">while</span> (--k);
+00586 }
+00587 <span class="keywordflow">else</span> <span class="comment">// untextured case</span>
+00588 {
+00589 <span class="keywordflow">do</span>
+00590 {
+00591 <span class="keyword">const</span> <span class="keywordtype">float</span> ribbonSizeIncrement = *ptCurrSize / (<span class="keywordtype">float</span>) <a class="code" href="a03227.html#NL3D_1_1CPSTailDotp11">_UsedNbSegs</a>;
+00592 ptCurrSize += ptCurrSizeIncrement;
+00593 <span class="comment">// the parent class has a method to get the ribbons positions</span>
+00594 <a class="code" href="a03227.html#NL3D_1_1CPSTailDotb1">computeRibbon</a>((<a class="code" href="a04558.html#a15">uint</a>) (fpRibbonIndex &gt;&gt; 16), &amp;ribbonPos[0], <span class="keyword">sizeof</span>(<a class="code" href="a03128.html">NLMISC::CVector</a>));
+00595 currVert = <a class="code" href="a05363.html#a512">ComputeUntexturedRibbonMesh</a>(currVert,
+00596 vertexSize,
+00597 &amp;ribbonPos[0],
+00598 &amp;_Shape[0],
+00599 _UsedNbSegs,
+00600 numVerticesInShape,
+00601 ribbonSizeIncrement,
+00602 *ptCurrSize
+00603 );
+00604 fpRibbonIndex += srcStep;
+00605 }
+00606 <span class="keywordflow">while</span> (--k);
+00607 }
+00608 }
+00609 <span class="keywordflow">else</span>
+00610 {
+00612 <span class="comment">// PARAMETRIC CASE //</span>
+00614 <span class="comment"></span> <span class="keywordflow">if</span> (<a class="code" href="a03226.html#NL3D_1_1CPSRibbonr5">_Tex</a> != NULL) <span class="comment">// textured case</span>
+00615 {
+00616 <span class="keywordflow">do</span>
+00617 {
+00618 <span class="keyword">const</span> <span class="keywordtype">float</span> ribbonSizeIncrement = *ptCurrSize / (<span class="keywordtype">float</span>) <a class="code" href="a03227.html#NL3D_1_1CPSTailDotp11">_UsedNbSegs</a>;
+00619 ptCurrSize += ptCurrSizeIncrement;
+00620 <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;integrateSingle(date - _UsedSegDuration * (_UsedNbSegs + 1),
+00621 _UsedSegDuration,
+00622 _UsedNbSegs + 1,
+00623 (<a class="code" href="a04558.html#a15">uint</a>) (fpRibbonIndex &gt;&gt; 16),
+00624 &amp;ribbonPos[0]);
+00625
+00626 currVert = <a class="code" href="a05363.html#a513">ComputeTexturedRibbonMesh</a>(currVert,
+00627 vertexSize,
+00628 &amp;ribbonPos[0],
+00629 &amp;_Shape[0],
+00630 _UsedNbSegs,
+00631 numVerticesInShape,
+00632 ribbonSizeIncrement,
+00633 *ptCurrSize
+00634 );
+00635 fpRibbonIndex += srcStep;
+00636 }
+00637 <span class="keywordflow">while</span> (--k);
+00638 }
+00639 <span class="keywordflow">else</span> <span class="comment">// untextured case</span>
+00640 {
+00641 <span class="keywordflow">do</span>
+00642 {
+00643 <span class="keyword">const</span> <span class="keywordtype">float</span> ribbonSizeIncrement = *ptCurrSize / (<span class="keywordtype">float</span>) <a class="code" href="a03227.html#NL3D_1_1CPSTailDotp11">_UsedNbSegs</a>;
+00644 ptCurrSize += ptCurrSizeIncrement;
+00645 <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;integrateSingle(date - _UsedSegDuration * (_UsedNbSegs + 1),
+00646 _UsedSegDuration,
+00647 _UsedNbSegs + 1,
+00648 (<a class="code" href="a04558.html#a15">uint</a>) (fpRibbonIndex &gt;&gt; 16),
+00649 &amp;ribbonPos[0]);
+00650
+00651 currVert = <a class="code" href="a05363.html#a512">ComputeUntexturedRibbonMesh</a>(currVert,
+00652 vertexSize,
+00653 &amp;ribbonPos[0],
+00654 &amp;_Shape[0],
+00655 _UsedNbSegs,
+00656 numVerticesInShape,
+00657 ribbonSizeIncrement,
+00658 *ptCurrSize
+00659 );
+00660 fpRibbonIndex += srcStep;
+00661 }
+00662 <span class="keywordflow">while</span> (--k);
+00663 }
+00664 }
+00665 <span class="comment">// display the result</span>
+00666 PB.setNumTri((numVerticesInShape * _UsedNbSegs * toProcess) &lt;&lt; 1);
+00667 drv-&gt;render(PB, _Mat);
+00668 ribbonIndex += toProcess;
+00669 }
+00670 <span class="keywordflow">while</span> (ribbonIndex != nbRibbons);
+00671
+00672 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea8" doxytag="NL3D::CPSRibbon::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::CPSRibbon::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_1CPSTailDota8" doxytag="NL3D::CPSRibbon::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_1CPSTailDota9" doxytag="NL3D::CPSRibbon::enableZTest" ></a><p>
+<table class="mdTable" 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::CPSMaterial::enableZTest </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> [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="a06257.html#l00508">508</a> of file <a class="el" href="a06257.html">ps_particle_basic.cpp</a>.
+<p>
+References <a class="el" href="a05641.html#l00099">NL3D::CMaterial::setZFunc()</a>.
+<p>
+<div class="fragment"><pre>00509 {
+00510 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.setZFunc(enabled ? CMaterial::less : CMaterial::always);
+00511 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbona10" doxytag="NL3D::CPSRibbon::enumTexs" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSRibbon::enumTexs </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">std::vector&lt; <a class="el" href="a03408.html">NLMISC::CSmartPtr</a>&lt; <a class="el" href="a03487.html">ITexture</a> &gt; &gt; &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>dest</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02434.html">IDriver</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>drv</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+==================================================================================================================
+<p>
+
+<p>
+Reimplemented from <a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea9">NL3D::CPSLocatedBindable</a>.
+<p>
+Definition at line <a class="el" href="a06273.html#l01143">1143</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>.
+<p>
+<div class="fragment"><pre>01144 {
+01145 <span class="keywordflow">if</span> (<a class="code" href="a03226.html#NL3D_1_1CPSRibbonr5">_Tex</a>)
+01146 {
+01147 dest.push_back(_Tex);
+01148 }
+01149 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotz743_0" doxytag="NL3D::CPSRibbon::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_1CPSTailDota11" doxytag="NL3D::CPSRibbon::forceModulateConstantColor" ></a><p>
+<table class="mdTable" 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::CPSMaterial::forceModulateConstantColor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>force</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a03337.html">NLMISC::CRGBA</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>col</em> = <a class="el" href="a03337.html#NLMISC_1_1CRGBAs6">NLMISC::CRGBA::White</a></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+===================================================================================
+<p>
+Force the material to have one texture that is modulated by diffuse, and a constant color and its diffuse color. This is not compatible with multitextureing, however. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>force</em>&nbsp;</td><td>true to force constant color modulation</td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a06257.html#l00573">573</a> of file <a class="el" href="a06257.html">ps_particle_basic.cpp</a>.
+<p>
+References <a class="el" href="a06257.html#l00598">NL3D::CPSMaterial::forceTexturedMaterialStages()</a>, <a class="el" href="a05641.html#l00046">NL3D::CMaterial::getTexture()</a>, <a class="el" href="a05968.html#l00322">NL3D::CMaterial::setTexture()</a>, <a class="el" href="a05641.html#l00268">NL3D::CMaterial::texConstantColor()</a>, <a class="el" href="a05641.html#l00247">NL3D::CMaterial::texEnvArg0Alpha()</a>, <a class="el" href="a05641.html#l00221">NL3D::CMaterial::texEnvArg0RGB()</a>, <a class="el" href="a05641.html#l00256">NL3D::CMaterial::texEnvArg1Alpha()</a>, <a class="el" href="a05641.html#l00229">NL3D::CMaterial::texEnvArg1RGB()</a>, <a class="el" href="a05641.html#l00240">NL3D::CMaterial::texEnvOpAlpha()</a>, and <a class="el" href="a05641.html#l00214">NL3D::CMaterial::texEnvOpRGB()</a>.
+<p>
+Referenced by <a class="el" href="a06277.html#l00319">NL3D::CPSRibbonLookAt::displayRibbons()</a>, <a class="el" href="a06279.html#l00286">NL3D::CPSShockWave::draw()</a>, and <a class="el" href="a06262.html#l00520">NL3D::CPSQuad::updateMatBeforeRendering()</a>.
+<p>
+<div class="fragment"><pre>00574 {
+00575 <span class="keywordflow">if</span> (force)
+00576 {
+00578 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.texConstantColor(1, col);
+00579 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.texEnvOpRGB(1, CMaterial::Modulate);
+00580 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.texEnvOpAlpha(1, CMaterial::Modulate);
+00581 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.texEnvArg0RGB(1, CMaterial::Previous, CMaterial::SrcColor);
+00582 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.texEnvArg1RGB(1, CMaterial::Constant, CMaterial::SrcColor);
+00583 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.texEnvArg0Alpha(1, CMaterial::Previous, CMaterial::SrcAlpha);
+00584 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.texEnvArg1Alpha(1, CMaterial::Constant, CMaterial::SrcAlpha);
+00585 <a class="code" href="a03178.html#NL3D_1_1CPSTailDota12">forceTexturedMaterialStages</a>(2);
+00586 }
+00587 <span class="keywordflow">else</span>
+00588 {
+00589 <span class="keywordflow">if</span> (<a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.getTexture(1) != NULL)
+00590 {
+00591 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.setTexture(1, NULL);
+00592 }
+00593 }
+00594 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota12" doxytag="NL3D::CPSRibbon::forceTexturedMaterialStages" ></a><p>
+<table class="mdTable" 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::CPSMaterial::forceTexturedMaterialStages </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>numStages</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>
+This setup n stage of a material with at least texture.<ul>
+<li>If a texture was present for a given stage it still is</li><li>If a texture wasn't present, it create a dummy white texture there</li><li>Above numStages, textures are disabled. It can be used to do extra math with stages that have no textures (required by the driver)</li></ul>
+
+<p>
+Definition at line <a class="el" href="a06257.html#l00598">598</a> of file <a class="el" href="a06257.html">ps_particle_basic.cpp</a>.
+<p>
+References <a class="el" href="a05641.html#l00046">NL3D::CMaterial::getTexture()</a>, <a class="el" href="a05969.html#l00047">NL3D::IDRV_MAT_MAXTEXTURES</a>, <a class="el" href="a05968.html#l00322">NL3D::CMaterial::setTexture()</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06226.html#l00122">NL3D::CPSDot::draw()</a>, <a class="el" href="a06257.html#l00573">NL3D::CPSMaterial::forceModulateConstantColor()</a>, and <a class="el" href="a06235.html#l00286">NL3D::CPSFanLight::setupMaterial()</a>.
+<p>
+<div class="fragment"><pre>00599 {
+00600 ITexture *blankTex = NULL;
+00601 <a class="code" href="a04558.html#a15">uint</a> k;
+00602 <span class="keywordflow">for</span> (k = 0; k &lt; numStages; ++k)
+00603 {
+00604 <span class="keywordflow">if</span> (<a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.getTexture(k) == NULL)
+00605 {
+00606 <span class="keywordflow">if</span> (!blankTex)
+00607 {
+00608 blankTex = CTextureMem::Create1x1WhiteTex();
+00609 }
+00610 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.setTexture(k, blankTex);
+00611 }
+00612 }
+00613 <span class="keywordflow">for</span> (; k &lt; <a class="code" href="a05363.html#a83">IDRV_MAT_MAXTEXTURES</a>; ++k)
+00614 {
+00615 <span class="keywordflow">if</span> (<a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.getTexture(k) != NULL)
+00616 {
+00617 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.setTexture(k, NULL);
+00618 }
+00619 }
+00620 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota13" doxytag="NL3D::CPSRibbon::getBlendingMode" ></a><p>
+<table class="mdTable" 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="a03178.html#NL3D_1_1CPSTailDotw9">CPSMaterial::TBlendingMode</a> NL3D::CPSMaterial::getBlendingMode </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="a06257.html#l00551">551</a> of file <a class="el" href="a06257.html">ps_particle_basic.cpp</a>.
+<p>
+References <a class="el" href="a03178.html#NL3D_1_1CPSTailDotw9NL3D_1_1CPSTailDotw1">NL3D::CPSMaterial::alphaBlend</a>, <a class="el" href="a03178.html#NL3D_1_1CPSTailDotw9NL3D_1_1CPSTailDotw2">NL3D::CPSMaterial::alphaTest</a>, <a class="el" href="a05969.html#l00278">NL3D::CMaterial::getBlend()</a>, <a class="el" href="a05969.html#l00280">NL3D::CMaterial::getDstBlend()</a>, <a class="el" href="a05969.html#l00279">NL3D::CMaterial::getSrcBlend()</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+Referenced by <a class="el" href="a06283.html#l00352">NL3D::CPSTailDot::hasTransparentFaces()</a>, <a class="el" href="a06279.html#l00206">NL3D::CPSShockWave::hasTransparentFaces()</a>, <a class="el" href="a06277.html#l00524">NL3D::CPSRibbonLookAt::hasTransparentFaces()</a>, <a class="el" href="a06273.html#l00675">hasTransparentFaces()</a>, <a class="el" href="a06262.html#l00226">NL3D::CPSQuad::hasTransparentFaces()</a>, <a class="el" href="a06235.html#l00252">NL3D::CPSFanLight::hasTransparentFaces()</a>, and <a class="el" href="a06226.html#l00250">NL3D::CPSDot::hasTransparentFaces()</a>.
+<p>
+<div class="fragment"><pre>00552 {
+00553 <span class="keywordflow">if</span> (<a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.getBlend())
+00554 {
+00555 CMaterial::TBlend srcBlend = <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.getSrcBlend();
+00556 CMaterial::TBlend destBlend = <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.getDstBlend();
+00557
+00558 <span class="keywordflow">if</span> (srcBlend == CMaterial::one &amp;&amp; destBlend == CMaterial::one) <span class="keywordflow">return</span> <a class="code" href="a03178.html#NL3D_1_1CPSTailDotw9NL3D_1_1CPSTailDotw0">add</a>;
+00559 <span class="keywordflow">if</span> (srcBlend == CMaterial::zero &amp;&amp; destBlend == CMaterial::srccolor) <span class="keywordflow">return</span> <a class="code" href="a03178.html#NL3D_1_1CPSTailDotw9NL3D_1_1CPSTailDotw7">modulate</a>;
+00560 <span class="keywordflow">if</span> (srcBlend == CMaterial::srcalpha &amp;&amp; destBlend == CMaterial::invsrcalpha) <span class="keywordflow">return</span> <a class="code" href="a03178.html#NL3D_1_1CPSTailDotw9NL3D_1_1CPSTailDotw1">alphaBlend</a>;
+00561
+00562 <span class="comment">// unrecognized mode</span>
+00563 <a class="code" href="a04199.html#a6">nlassert</a>(0);
+00564 <span class="keywordflow">return</span> <a class="code" href="a03178.html#NL3D_1_1CPSTailDotw9NL3D_1_1CPSTailDotw2">alphaTest</a>; <span class="comment">// to avoid a warning only ...</span>
+00565 }
+00566 <span class="keywordflow">else</span>
+00567 {
+00568 <span class="keywordflow">return</span> <a class="code" href="a03178.html#NL3D_1_1CPSTailDotw9NL3D_1_1CPSTailDotw2">alphaTest</a>;
+00569 }
+00570 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1ITrackKeyFramer_3_01CKeyVector_01_4a6" doxytag="NL3D::CPSRibbon::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_1CPSTailDota15" doxytag="NL3D::CPSRibbon::getColor" ></a><p>
+<table class="mdTable" 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="a03337.html">NLMISC::CRGBA</a> NL3D::CPSColoredParticle::getColor </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 color.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06258.html#l00211">211</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+<div class="fragment"><pre>00211 { <span class="keywordflow">return</span> <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp1">_Color</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonz749_0" doxytag="NL3D::CPSRibbon::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::CPSRibbon::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> [inline, virtual]</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>
+Implements <a class="el" href="a03229.html#NL3D_1_1CPSTailParticlea0">NL3D::CPSTailParticle</a>.
+<p>
+Definition at line <a class="el" href="a06274.html#l00084">84</a> of file <a class="el" href="a06274.html">ps_ribbon.h</a>.
+<p>
+References <a class="el" href="a06274.html#l00254">_ColorFading</a>.
+<p>
+<div class="fragment"><pre>00085 {
+00086 <span class="keywordflow">return</span> <a class="code" href="a03226.html#NL3D_1_1CPSRibbonr0">_ColorFading</a>;
+00087 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonb7" doxytag="NL3D::CPSRibbon::getColorOwner" ></a><p>
+<table class="mdTable" 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="a03214.html">CPSLocated</a>* NL3D::CPSRibbon::getColorOwner </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, protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+From <a class="el" href="a03157.html">CPSColoredParticle</a>.
+<p>
+
+<p>
+Implements <a class="el" href="a03157.html#NL3D_1_1CPSColoredParticleb1">NL3D::CPSColoredParticle</a>.
+<p>
+Definition at line <a class="el" href="a06274.html#l00201">201</a> of file <a class="el" href="a06274.html">ps_ribbon.h</a>.
+<p>
+<div class="fragment"><pre>00201 { <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_1CPSTailDota16" doxytag="NL3D::CPSRibbon::getColorScheme" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a03136.html">CPSAttribMaker</a>&lt;<a class="el" href="a03337.html">CRGBA</a>&gt;* NL3D::CPSColoredParticle::getColorScheme </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 color scheme (NULL if none) const version
+<p>
+
+<p>
+Definition at line <a class="el" href="a06258.html#l00205">205</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+<div class="fragment"><pre>00205 { <span class="keywordflow">return</span> <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota17" doxytag="NL3D::CPSRibbon::getColorScheme" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03136.html">CPSAttribMaker</a>&lt;<a class="el" href="a03337.html">CRGBA</a>&gt;* NL3D::CPSColoredParticle::getColorScheme </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 color scheme (NULL if none)
+<p>
+
+<p>
+Definition at line <a class="el" href="a06258.html#l00202">202</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+<div class="fragment"><pre>00202 { <span class="keywordflow">return</span> <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea14" doxytag="NL3D::CPSRibbon::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">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::CPSRibbon::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::CPSRibbon::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::CPSRibbon::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::CPSRibbon::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::CPSRibbon::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::CPSRibbon::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, 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="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">NL3D::CPSRibbonBase::_InterpolationMode</a>, and <a class="el" href="a06276.html#l00049">NL3D::CPSRibbonBase::TInterpolationMode</a>.
+<p>
+<div class="fragment"><pre>00064 { <span class="keywordflow">return</span> _InterpolationMode; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea20" doxytag="NL3D::CPSRibbon::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::CPSRibbon::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::CPSRibbon::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::CPSRibbon::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::CPSRibbon::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, 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="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> _LODDegradation; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbona29" doxytag="NL3D::CPSRibbon::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"> <a class="el" href="a04558.html#a11">uint32</a> NL3D::CPSRibbon::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> [virtual]</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>
+Implements <a class="el" href="a03162.html#NL3D_1_1CPSRibbonBasea23">NL3D::CPSParticle</a>.
+<p>
+Definition at line <a class="el" href="a06273.html#l00688">688</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00369">NL3D::CPSLocated::getMaxSize()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00689 {
+00690 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+00691 <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getMaxSize() * <a class="code" href="a03227.html#NL3D_1_1CPSTailDotp7">_NbSegs</a>;
+00692 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea25" doxytag="NL3D::CPSRibbon::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_1CPSRibbona31" doxytag="NL3D::CPSRibbon::getNbVerticesInShape" ></a><p>
+<table class="mdTable" 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::CPSRibbon::getNbVerticesInShape </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get the number of vertice in the shape used for ribbons
+<p>
+
+<p>
+Definition at line <a class="el" href="a06274.html#l00146">146</a> of file <a class="el" href="a06274.html">ps_ribbon.h</a>.
+<p>
+References <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00146 { <span class="keywordflow">return</span> <a class="code" href="a03226.html#NL3D_1_1CPSRibbonr4">_Shape</a>.size(); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonz752_1" doxytag="NL3D::CPSRibbon::getNumRibbonsInVB" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> NL3D::CPSRibbon::getNumRibbonsInVB </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> [private]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get the number of ribbons contained in a vb for a given length. (e.g the number of ribbons that can be batched)
+<p>
+1 vertex added for textured ribbon (to avoid texture stretching)
+<p>
+Definition at line <a class="el" href="a06273.html#l00815">815</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>.
+<p>
+References <a class="el" href="a06273.html#l00256">getNumVerticesInSlice()</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06273.html#l00471">displayRibbons()</a>, and <a class="el" href="a06273.html#l00695">getVBnPB()</a>.
+<p>
+<div class="fragment"><pre>00816 {
+00817 <span class="keyword">const</span> <a class="code" href="a04558.html#a15">uint</a> numVerticesInSlice = <a class="code" href="a03226.html#NL3D_1_1CPSRibbond1">getNumVerticesInSlice</a>();
+00818 <span class="keyword">const</span> <a class="code" href="a04558.html#a15">uint</a> vertexInVB = 512;
+00819 <span class="keywordflow">return</span> std::max(1u, (<a class="code" href="a04558.html#a15">uint</a>) (vertexInVB / (numVerticesInSlice * (_UsedNbSegs + 1))));
+00820 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbond1" doxytag="NL3D::CPSRibbon::getNumVerticesInSlice" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> NL3D::CPSRibbon::getNumVerticesInSlice </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, private]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get the number of vertices in each slices (depends on wether the ribbon is textured or not).
+<p>
+
+<p>
+Definition at line <a class="el" href="a06273.html#l00256">256</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>.
+<p>
+References <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06273.html#l00471">displayRibbons()</a>, <a class="el" href="a06273.html#l00815">getNumRibbonsInVB()</a>, and <a class="el" href="a06273.html#l00695">getVBnPB()</a>.
+<p>
+<div class="fragment"><pre>00257 {
+00258 <span class="keywordflow">return</span> <a class="code" href="a03226.html#NL3D_1_1CPSRibbonr4">_Shape</a>.size() + (<a class="code" href="a03226.html#NL3D_1_1CPSRibbonr5">_Tex</a> == NULL ? 0 : 1);
+00259 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea28" doxytag="NL3D::CPSRibbon::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::CPSRibbon::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::CPSRibbon::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::CPSRibbon::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, 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="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">NL3D::CPSRibbonBase::_RibbonIndex</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00131 { <span class="keywordflow">return</span> _RibbonIndex; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotz755_0" doxytag="NL3D::CPSRibbon::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, 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="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">NL3D::CPSRibbonBase::_RibbonLength</a>.
+<p>
+<div class="fragment"><pre>00084 { <span class="keywordflow">return</span> _RibbonLength; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotz754_1" doxytag="NL3D::CPSRibbon::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, 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="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">NL3D::CPSRibbonBase::_RibbonMode</a>, and <a class="el" href="a06276.html#l00048">NL3D::CPSRibbonBase::TRibbonMode</a>.
+<p>
+<div class="fragment"><pre>00062 { <span class="keywordflow">return</span> _RibbonMode; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotb8" doxytag="NL3D::CPSRibbon::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="a03227.html#NL3D_1_1CPSTailDotx0">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, 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="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">NL3D::CPSRibbonBase::_SamplingDate</a>, and <a class="el" href="a06276.html#l00099">NL3D::CPSRibbonBase::TFloatVect</a>.
+<p>
+<div class="fragment"><pre>00133 { <span class="keywordflow">return</span> _SamplingDate; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotz755_1" doxytag="NL3D::CPSRibbon::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, 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="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">NL3D::CPSRibbonBase::_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_1CPSRibbona35" doxytag="NL3D::CPSRibbon::getShape" ></a><p>
+<table class="mdTable" 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::CPSRibbon::getShape </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03128.html">NLMISC::CVector</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>shape</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+==================================================================================================================
+<p>
+Get a copy of the shape used for ribbon <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>dest</em>&nbsp;</td><td>a table of cvector that has the right size, it will be filled with vertices </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a03226.html#NL3D_1_1CPSRibbona31">getNbVerticesInShape()</a></dd></dl>
+
+<p>
+Definition at line <a class="el" href="a06273.html#l01137">1137</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>.
+<p>
+<div class="fragment"><pre>01138 {
+01139 std::copy(<a class="code" href="a03226.html#NL3D_1_1CPSRibbonr4">_Shape</a>.begin(), <a class="code" href="a03226.html#NL3D_1_1CPSRibbonr4">_Shape</a>.end(), shape);
+01140 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSSizedParticlea1" doxytag="NL3D::CPSRibbon::getSize" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float NL3D::CPSSizedParticle::getSize </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get the constant size
+<p>
+
+<p>
+Definition at line <a class="el" href="a06258.html#l00274">274</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a06258.html#l00289">NL3D::CPSSizedParticle::_ParticleSize</a>.
+<p>
+Referenced by <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="a06258.html#l00299">NL3D::CPSSizedParticle::resizeSize()</a>, and <a class="el" href="a06257.html#l00183">NL3D::CPSSizedParticle::setSizeScheme()</a>.
+<p>
+<div class="fragment"><pre>00274 { <span class="keywordflow">return</span> <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep0">_ParticleSize</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonb10" doxytag="NL3D::CPSRibbon::getSizeOwner" ></a><p>
+<table class="mdTable" 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="a03214.html">CPSLocated</a>* NL3D::CPSRibbon::getSizeOwner </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, protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+From <a class="el" href="a03164.html">CPSSizedParticle</a>.
+<p>
+
+<p>
+Implements <a class="el" href="a03164.html#NL3D_1_1CPSSizedParticleb1">NL3D::CPSSizedParticle</a>.
+<p>
+Definition at line <a class="el" href="a06274.html#l00199">199</a> of file <a class="el" href="a06274.html">ps_ribbon.h</a>.
+<p>
+<div class="fragment"><pre>00199 { <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_1CPSSizedParticlea2" doxytag="NL3D::CPSRibbon::getSizeScheme" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a03136.html">CPSAttribMaker</a>&lt;float&gt;* NL3D::CPSSizedParticle::getSizeScheme </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 size scheme (NULL if none) const version
+<p>
+
+<p>
+Definition at line <a class="el" href="a06258.html#l00268">268</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a06258.html#l00290">NL3D::CPSSizedParticle::_SizeScheme</a>.
+<p>
+<div class="fragment"><pre>00268 { <span class="keywordflow">return</span> <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSSizedParticlea3" doxytag="NL3D::CPSRibbon::getSizeScheme" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03136.html">CPSAttribMaker</a>&lt;float&gt;* NL3D::CPSSizedParticle::getSizeScheme </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 size scheme (NULL if none)
+<p>
+
+<p>
+Definition at line <a class="el" href="a06258.html#l00265">265</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a06258.html#l00290">NL3D::CPSSizedParticle::_SizeScheme</a>.
+<p>
+Referenced by <a class="el" href="a06233.html#l00379">NL3D::CPSFaceLookAtHelper::drawLookAt()</a>, and <a class="el" href="a06233.html#l00089">NL3D::CPSFaceLookAtHelper::drawLookAtAlignOnMotion()</a>.
+<p>
+<div class="fragment"><pre>00265 { <span class="keywordflow">return</span> <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea32" doxytag="NL3D::CPSRibbon::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::CPSRibbon::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, inherited]</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">NL3D::CPSRibbonBase::_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_1CPSRibbona40" doxytag="NL3D::CPSRibbon::getTexture" ></a><p>
+<table class="mdTable" 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="a03487.html">ITexture</a>* NL3D::CPSRibbon::getTexture </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>
+
+<p>
+Implements <a class="el" href="a03242.html#NL3D_1_1CPSTexturedParticleNoAnima0">NL3D::CPSTexturedParticleNoAnim</a>.
+<p>
+Definition at line <a class="el" href="a06274.html#l00134">134</a> of file <a class="el" href="a06274.html">ps_ribbon.h</a>.
+<p>
+<div class="fragment"><pre>00134 { <span class="keywordflow">return</span> <a class="code" href="a03226.html#NL3D_1_1CPSRibbonr5">_Tex</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbona41" doxytag="NL3D::CPSRibbon::getTexture" ></a><p>
+<table class="mdTable" 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="a03487.html">ITexture</a>* NL3D::CPSRibbon::getTexture </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get the texture used
+<p>
+
+<p>
+Implements <a class="el" href="a03242.html#NL3D_1_1CPSTexturedParticleNoAnima1">NL3D::CPSTexturedParticleNoAnim</a>.
+<p>
+Definition at line <a class="el" href="a06274.html#l00133">133</a> of file <a class="el" href="a06274.html">ps_ribbon.h</a>.
+<p>
+<div class="fragment"><pre>00133 { <span class="keywordflow">return</span> <a class="code" href="a03226.html#NL3D_1_1CPSRibbonr5">_Tex</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota35" doxytag="NL3D::CPSRibbon::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_1CPSRibbona43" doxytag="NL3D::CPSRibbon::getUFactor" ></a><p>
+<table class="mdTable" 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::CPSRibbon::getUFactor </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="a06274.html#l00129">129</a> of file <a class="el" href="a06274.html">ps_ribbon.h</a>.
+<p>
+References <a class="el" href="a06274.html#l00251">_UFactor</a>.
+<p>
+<div class="fragment"><pre>00129 { <span class="keywordflow">return</span> <a class="code" href="a03226.html#NL3D_1_1CPSRibbonr7">_UFactor</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea36" doxytag="NL3D::CPSRibbon::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_1CPSRibbonz752_2" doxytag="NL3D::CPSRibbon::getVBnPB" ></a><p>
+<table class="mdTable" 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="a03228.html">CPSRibbon::CVBnPB</a> &amp; NL3D::CPSRibbon::getVBnPB </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]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get a vertex buffer and a primitive suited for the current ribbon
+<p>
+untextured cases<p>
+textured cases<p>
+choose the right vb by building an index for lookup into 'vbMaps' defined above<p>
+1 vertex added for textured ribbon (to avoid texture stretching)<p>
+Setup the pb and vb parts. Not very fast but executed only once<p>
+setup primitive block<p>
+there are alway one more slice than segments in the ribbon...<p>
+deals with each ribbon vertices<p>
+the last 2 index don't loop if there's a texture<p>
+setup vb<p>
+deals with each ribbon vertices<p>
+setup texture (if any)<p>
+setup gradient
+<p>
+set the vb format &amp; size In the case of a ribbon with color and fading, we encode the fading in a texture If the ribbon has fading, but only a global color, we encode it in the primary color
+<p>
+Definition at line <a class="el" href="a06273.html#l00695">695</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>.
+<p>
+References <a class="el" href="a06274.html#l00254">_ColorFading</a>, <a class="el" href="a06273.html#l00107">_FadedColoredVBMap</a>, <a class="el" href="a06273.html#l00105">_FadedVBMap</a>, <a class="el" href="a06273.html#l00111">_TexColoredVBMap</a>, <a class="el" href="a06273.html#l00112">_TexFadedColoredVBMap</a>, <a class="el" href="a06273.html#l00110">_TexFadedVBMap</a>, <a class="el" href="a06273.html#l00815">getNumRibbonsInVB()</a>, <a class="el" href="a06711.html#l00453">NL3D::CVertexBuffer::getNumVertices()</a>, <a class="el" href="a06273.html#l00256">getNumVerticesInSlice()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06274.html#l00225">NL3D::CPSRibbon::CVBnPB::PB</a>, <a class="el" href="a06711.html#l00568">NL3D::CVertexBuffer::setColor()</a>, <a class="el" href="a06197.html#l00114">NL3D::CPrimitiveBlock::setNumTri()</a>, <a class="el" href="a06710.html#l00409">NL3D::CVertexBuffer::setNumVertices()</a>, <a class="el" href="a06711.html#l00600">NL3D::CVertexBuffer::setTexCoord()</a>, <a class="el" href="a06197.html#l00122">NL3D::CPrimitiveBlock::setTri()</a>, <a class="el" href="a06710.html#l00169">NL3D::CVertexBuffer::setVertexFormat()</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05981.html#l00096">uint8</a>, and <a class="el" href="a06274.html#l00224">NL3D::CPSRibbon::CVBnPB::VB</a>.
+<p>
+Referenced by <a class="el" href="a06273.html#l00471">displayRibbons()</a>.
+<p>
+<div class="fragment"><pre>00696 {
+00697 <span class="keyword">static</span> <a class="code" href="a03226.html#NL3D_1_1CPSRibbonz752_0">TVBMap</a> * <span class="keyword">const</span> vbMaps[] =
+00698 {
+00700 &amp;<a class="code" href="a03226.html#NL3D_1_1CPSRibbonz752_10">_VBMap</a>,
+00701 &amp;<a class="code" href="a03226.html#NL3D_1_1CPSRibbonz752_5">_FadedVBMap</a>,
+00702 &amp;<a class="code" href="a03226.html#NL3D_1_1CPSRibbonz752_3">_ColoredVBMap</a>,
+00703 &amp;<a class="code" href="a03226.html#NL3D_1_1CPSRibbonz752_4">_FadedColoredVBMap</a>,
+00705 &amp;<a class="code" href="a03226.html#NL3D_1_1CPSRibbonz752_9">_TexVBMap</a>,
+00706 &amp;<a class="code" href="a03226.html#NL3D_1_1CPSRibbonz752_8">_TexFadedVBMap</a>,
+00707 &amp;<a class="code" href="a03226.html#NL3D_1_1CPSRibbonz752_6">_TexColoredVBMap</a>,
+00708 &amp;<a class="code" href="a03226.html#NL3D_1_1CPSRibbonz752_7">_TexFadedColoredVBMap</a>
+00709 };
+00710
+00712 <a class="code" href="a03226.html#NL3D_1_1CPSRibbonz752_0">TVBMap</a> &amp;map = *vbMaps[ (<a class="code" href="a03226.html#NL3D_1_1CPSRibbonr5">_Tex</a> != NULL ? (1 &lt;&lt; 2) : 0) | <span class="comment">// set bit 2 if textured</span>
+00713 (<a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a> != NULL ? (1 &lt;&lt; 1) : 0) | <span class="comment">// set bit 1 if per ribbon color</span>
+00714 (<a class="code" href="a03226.html#NL3D_1_1CPSRibbonr0">_ColorFading</a> ? 1 : 0) <span class="comment">// set bit 0 if color fading</span>
+00715 ];
+00716
+00717 <span class="keyword">const</span> <a class="code" href="a04558.html#a15">uint</a> numVerticesInSlice = <a class="code" href="a03226.html#NL3D_1_1CPSRibbond1">getNumVerticesInSlice</a>();
+00718 <span class="keyword">const</span> <a class="code" href="a04558.html#a15">uint</a> numVerticesInShape = <a class="code" href="a03226.html#NL3D_1_1CPSRibbonr4">_Shape</a>.size();
+00719
+00720
+00721 <span class="comment">// The number of slice is encoded in the upper word of the vb index</span>
+00722 <span class="comment">// The number of vertices per slices is encoded in the lower word</span>
+00723 <a class="code" href="a04558.html#a15">uint</a> VBnPDIndex = ((<a class="code" href="a03227.html#NL3D_1_1CPSTailDotp11">_UsedNbSegs</a> + 1) &lt;&lt; 16) | numVerticesInSlice;
+00724 TVBMap::iterator it = map.find(VBnPDIndex);
+00725 <span class="keywordflow">if</span> (it != map.end())
+00726 {
+00727 <span class="keywordflow">return</span> it-&gt;second;
+00728 }
+00729 <span class="keywordflow">else</span> <span class="comment">// must create this vb, with few different size, it is still interseting, though they are only destroyed at exit</span>
+00730 {
+00731 <span class="keyword">const</span> <a class="code" href="a04558.html#a15">uint</a> numRibbonInVB = <a class="code" href="a03226.html#NL3D_1_1CPSRibbonz752_1">getNumRibbonsInVB</a>();
+00732 CVBnPB &amp;VBnPB = map[VBnPDIndex]; <span class="comment">// make an entry</span>
+00733
+00737 CVertexBuffer &amp;vb = VBnPB.VB;
+00738 vb.setVertexFormat(CVertexBuffer::PositionFlag | <span class="comment">/* alway need position */</span>
+00739 (_ColorScheme || _ColorFading ? CVertexBuffer::PrimaryColorFlag : 0) | <span class="comment">/* need a color ? */</span>
+00740 ((_ColorScheme &amp;&amp; _ColorFading) || _Tex != NULL ? CVertexBuffer::TexCoord0Flag : 0) | <span class="comment">/* need texture coordinates ? */</span>
+00741 (_Tex != NULL &amp;&amp; _ColorScheme &amp;&amp; _ColorFading ? CVertexBuffer::TexCoord1Flag : 0) <span class="comment">/* need 2nd texture coordinates ? */</span>
+00742 );
+00743 vb.setNumVertices((_UsedNbSegs + 1) * numRibbonInVB * numVerticesInSlice); <span class="comment">// 1 seg = 1 line + terminal vertices</span>
+00744
+00745 <span class="comment">// set the primitive block size</span>
+00746 CPrimitiveBlock &amp;pb = VBnPB.PB;
+00747 pb.setNumTri((_UsedNbSegs * numRibbonInVB * <a class="code" href="a03226.html#NL3D_1_1CPSRibbonr4">_Shape</a>.size()) &lt;&lt; 1);
+00749 <a class="code" href="a04558.html#a15">uint</a> vbIndex = 0;
+00750 <a class="code" href="a04558.html#a15">uint</a> pbIndex = 0;
+00751 <a class="code" href="a04558.html#a15">uint</a> i, k, <a class="code" href="a05373.html#a2">l</a>;
+00752 <span class="keywordflow">for</span> (i = 0; i &lt; numRibbonInVB; ++i)
+00753 {
+00754 <span class="keywordflow">for</span> (k = 0; k &lt; (<a class="code" href="a03227.html#NL3D_1_1CPSTailDotp11">_UsedNbSegs</a> + 1); ++k)
+00755 {
+00756
+00758 <span class="keywordflow">if</span> (k != <a class="code" href="a03227.html#NL3D_1_1CPSTailDotp11">_UsedNbSegs</a>)
+00759 {
+00760 <a class="code" href="a04558.html#a15">uint</a> vIndex = vbIndex;
+00761 <span class="keywordflow">for</span> (<a class="code" href="a05373.html#a2">l</a> = 0; <a class="code" href="a05373.html#a2">l</a> &lt; (numVerticesInShape - 1); ++<a class="code" href="a05373.html#a2">l</a>)
+00762 {
+00763 pb.setTri(pbIndex ++, vIndex, vIndex + numVerticesInSlice, vIndex + numVerticesInSlice + 1);
+00764 pb.setTri(pbIndex ++, vIndex, vIndex + numVerticesInSlice + 1, vIndex + 1);
+00765 ++ vIndex;
+00766 }
+00767
+00769 <a class="code" href="a04558.html#a15">uint</a> nextVertexIndex = (numVerticesInShape == numVerticesInSlice) ? vIndex + 1 - numVerticesInShape <span class="comment">// no texture -&gt; we loop </span>
+00770 : vIndex + 1; <span class="comment">// a texture is used : use onemore vertex </span>
+00771 pb.setTri(pbIndex ++, vIndex, vIndex + numVerticesInSlice, nextVertexIndex + numVerticesInSlice);
+00772 pb.setTri(pbIndex ++, vIndex, nextVertexIndex + numVerticesInSlice, nextVertexIndex);
+00773
+00774 }
+00775
+00777 <span class="keywordflow">for</span> (<a class="code" href="a05373.html#a2">l</a> = 0; <a class="code" href="a05373.html#a2">l</a> &lt; numVerticesInSlice; ++<a class="code" href="a05373.html#a2">l</a>)
+00778 {
+00779 <a class="code" href="a04199.html#a6">nlassert</a>(vbIndex &lt; vb.getNumVertices());
+00781 <span class="keywordflow">if</span> (<a class="code" href="a03226.html#NL3D_1_1CPSRibbonr5">_Tex</a> != NULL)
+00782 {
+00783 vb.setTexCoord(vbIndex,
+00784 _ColorScheme &amp;&amp; _ColorFading ? 1 : 0, <span class="comment">// must we use the second texture coord ? (when 1st one used by the gradient texture : we can't encode it in the diffuse as it encodes each ribbon color)</span>
+00785 (<span class="keywordtype">float</span>) k / _UsedNbSegs, <span class="comment">// u</span>
+00786 1.f - (l / (<span class="keywordtype">float</span>) numVerticesInShape) <span class="comment">// v</span>
+00787 );
+00788 }
+00789
+00791 <span class="keywordflow">if</span> (_ColorFading)
+00792 {
+00793 <span class="comment">// If not per ribbon color, we can encode it in the diffuse</span>
+00794 <span class="keywordflow">if</span> (<a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a> == NULL)
+00795 {
+00796 <a class="code" href="a04558.html#a7">uint8</a> intensity = (<a class="code" href="a04558.html#a7">uint8</a>) (255 * (1.f - ((<span class="keywordtype">float</span>) k / _UsedNbSegs)));
+00797 <a class="code" href="a03337.html">NLMISC::CRGBA</a> col(intensity, intensity, intensity, intensity);
+00798 vb.setColor(vbIndex, col);
+00799 }
+00800 <span class="keywordflow">else</span> <span class="comment">// encode it in the first texture</span>
+00801 {
+00802 vb.setTexCoord(vbIndex, 0, 0.5f - 0.5f * ((<span class="keywordtype">float</span>) k / _UsedNbSegs), 0);
+00803 }
+00804 }
+00805 ++ vbIndex;
+00806 }
+00807
+00808 }
+00809 }
+00810 <span class="keywordflow">return</span> VBnPB;
+00811 }
+00812 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbona45" doxytag="NL3D::CPSRibbon::getVFactor" ></a><p>
+<table class="mdTable" 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::CPSRibbon::getVFactor </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="a06274.html#l00131">131</a> of file <a class="el" href="a06274.html">ps_ribbon.h</a>.
+<p>
+References <a class="el" href="a06274.html#l00251">_VFactor</a>.
+<p>
+<div class="fragment"><pre>00131 { <span class="keywordflow">return</span> <a class="code" href="a03226.html#NL3D_1_1CPSRibbonr8">_VFactor</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea37" doxytag="NL3D::CPSRibbon::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::CPSRibbon::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_1CPSRibbona48" doxytag="NL3D::CPSRibbon::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::CPSRibbon::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> [inline, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+from <a class="el" href="a03162.html">CPSParticle</a> : return true if there are lightable faces in the object
+<p>
+
+<p>
+Implements <a class="el" href="a03162.html#NL3D_1_1CPSRibbonBasea33">NL3D::CPSParticle</a>.
+<p>
+Definition at line <a class="el" href="a06274.html#l00173">173</a> of file <a class="el" href="a06274.html">ps_ribbon.h</a>.
+<p>
+<div class="fragment"><pre>00173 { <span class="keywordflow">return</span> <span class="keyword">false</span>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbona49" doxytag="NL3D::CPSRibbon::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"> bool NL3D::CPSRibbon::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> [virtual]</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>
+Implements <a class="el" href="a03162.html#NL3D_1_1CPSRibbonBasea34">NL3D::CPSParticle</a>.
+<p>
+Definition at line <a class="el" href="a06273.html#l00682">682</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>.
+<p>
+References <a class="el" href="a06273.html#l00675">hasTransparentFaces()</a>.
+<p>
+Referenced by <a class="el" href="a06273.html#l00266">step()</a>.
+<p>
+<div class="fragment"><pre>00683 {
+00684 <span class="keywordflow">return</span> !<a class="code" href="a03226.html#NL3D_1_1CPSRibbona51">hasTransparentFaces</a>();
+00685 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota41" doxytag="NL3D::CPSRibbon::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_1CPSRibbona51" doxytag="NL3D::CPSRibbon::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"> bool NL3D::CPSRibbon::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> [virtual]</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>
+Implements <a class="el" href="a03162.html#NL3D_1_1CPSRibbonBasea36">NL3D::CPSParticle</a>.
+<p>
+Definition at line <a class="el" href="a06273.html#l00675">675</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>.
+<p>
+References <a class="el" href="a06257.html#l00551">NL3D::CPSMaterial::getBlendingMode()</a>.
+<p>
+Referenced by <a class="el" href="a06273.html#l00682">hasOpaqueFaces()</a>, and <a class="el" href="a06273.html#l00266">step()</a>.
+<p>
+<div class="fragment"><pre>00676 {
+00677 <span class="keywordflow">return</span> <a class="code" href="a03178.html#NL3D_1_1CPSTailDota13">getBlendingMode</a>() != CPSMaterial::alphaTest ;
+00678 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotb10" doxytag="NL3D::CPSRibbon::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, 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="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">NL3D::CPSRibbonBase::_NbSegs</a>, <a class="el" href="a06276.html#l00142">NL3D::CPSRibbonBase::_SamplingDate</a>, and <a class="el" href="a06275.html#l00075">NL3D::EndRibbonStorage</a>.
+<p>
+Referenced by <a class="el" href="a06275.html#l00079">NL3D::CPSRibbonBase::CPSRibbonBase()</a>, <a class="el" href="a06275.html#l00550">NL3D::CPSRibbonBase::motionTypeChanged()</a>, and <a class="el" href="a06275.html#l00118">NL3D::CPSRibbonBase::setTailNbSeg()</a>.
+<p>
+<div class="fragment"><pre>00569 {
+00570 _SamplingDate.resize( _NbSegs + 1 + EndRibbonStorage);
+00571 std::fill(_SamplingDate.begin(), _SamplingDate.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::CPSRibbon::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::CPSRibbon::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_1CPSRibbonz749_1" doxytag="NL3D::CPSRibbon::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::CPSRibbon::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> [inline, virtual]</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>
+Implements <a class="el" href="a03229.html#NL3D_1_1CPSTailParticlea2">NL3D::CPSTailParticle</a>.
+<p>
+Definition at line <a class="el" href="a06274.html#l00096">96</a> of file <a class="el" href="a06274.html">ps_ribbon.h</a>.
+<p>
+<div class="fragment"><pre>00096 { <span class="keywordflow">return</span> <span class="keyword">true</span>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota45" doxytag="NL3D::CPSRibbon::isZTestEnabled" ></a><p>
+<table class="mdTable" 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::CPSMaterial::isZTestEnabled </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> [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="a06257.html#l00514">514</a> of file <a class="el" href="a06257.html">ps_particle_basic.cpp</a>.
+<p>
+References <a class="el" href="a05969.html#l00334">NL3D::CMaterial::getZFunc()</a>.
+<p>
+<div class="fragment"><pre>00515 {
+00516 <span class="keywordflow">return</span> <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.getZFunc() != CMaterial::always;
+00517 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotb11" doxytag="NL3D::CPSRibbon::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, inherited]</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">NL3D::CPSRibbonBase::_Parametric</a>, <a class="el" href="a06276.html#l00146">NL3D::CPSRibbonBase::_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">NL3D::CPSRibbonBase::initDateVect()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06275.html#l00538">NL3D::CPSRibbonBase::resetFromOwner()</a>, and <a class="el" href="a06275.html#l00518">NL3D::CPSRibbonBase::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="a03226.html#NL3D_1_1CPSRibbonb18">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_1CPSTailDotb12" doxytag="NL3D::CPSRibbon::newColorElement" ></a><p>
+<table class="mdTable" 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::CPSColoredParticle::newColorElement </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03214.html">CPSLocated</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>emitterLocated</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>emitterIndex</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline, protected, 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#l00233">233</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a06214.html#l00282">NL3D::CPSAttribMaker&lt; CRGBA &gt;::hasMemory()</a>, <a class="el" href="a06214.html#l00290">NL3D::CPSAttribMaker&lt; CRGBA &gt;::newElement()</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a06283.html#l00212">NL3D::CPSTailDot::newElement()</a>, <a class="el" href="a06279.html#l00451">NL3D::CPSShockWave::newElement()</a>, <a class="el" href="a06277.html#l00163">NL3D::CPSRibbonLookAt::newElement()</a>, <a class="el" href="a06273.html#l00313">newElement()</a>, <a class="el" href="a06263.html#l00097">NL3D::CPSQuad::newElement()</a>, <a class="el" href="a06250.html#l01855">NL3D::CPSConstraintMesh::newElement()</a>, <a class="el" href="a06235.html#l00264">NL3D::CPSFanLight::newElement()</a>, and <a class="el" href="a06226.html#l00233">NL3D::CPSDot::newElement()</a>.
+<p>
+<div class="fragment"><pre>00234 {
+00235 <span class="keywordflow">if</span> (<a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a> &amp;&amp; <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a>-&gt;hasMemory()) <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a>-&gt;newElement(emitterLocated, emitterIndex);
+00236 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonb14" doxytag="NL3D::CPSRibbon::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::CPSRibbon::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>
+
+<p>
+Reimplemented from <a class="el" href="a03227.html#NL3D_1_1CPSRibbonBaseb9">NL3D::CPSRibbonBase</a>.
+<p>
+Definition at line <a class="el" href="a06273.html#l00313">313</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>.
+<p>
+References <a class="el" href="a06258.html#l00233">NL3D::CPSColoredParticle::newColorElement()</a>, <a class="el" href="a06258.html#l00291">NL3D::CPSSizedParticle::newSizeElement()</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00314 {
+00315 CPSRibbonBase::newElement(emitterLocated, emitterIndex);
+00316 <a class="code" href="a03157.html#NL3D_1_1CPSTailDotb12">newColorElement</a>(emitterLocated, emitterIndex);
+00317 <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticleb2">newSizeElement</a>(emitterLocated, emitterIndex);
+00318 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSSizedParticleb2" doxytag="NL3D::CPSRibbon::newSizeElement" ></a><p>
+<table class="mdTable" 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::CPSSizedParticle::newSizeElement </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03214.html">CPSLocated</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>emitterLocated</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>emitterIndex</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline, protected, 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#l00291">291</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a06258.html#l00290">NL3D::CPSSizedParticle::_SizeScheme</a>, <a class="el" href="a06214.html#l00282">NL3D::CPSAttribMaker&lt; float &gt;::hasMemory()</a>, <a class="el" href="a06214.html#l00290">NL3D::CPSAttribMaker&lt; float &gt;::newElement()</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a06279.html#l00451">NL3D::CPSShockWave::newElement()</a>, <a class="el" href="a06277.html#l00163">NL3D::CPSRibbonLookAt::newElement()</a>, <a class="el" href="a06273.html#l00313">newElement()</a>, <a class="el" href="a06263.html#l00097">NL3D::CPSQuad::newElement()</a>, <a class="el" href="a06250.html#l01855">NL3D::CPSConstraintMesh::newElement()</a>, <a class="el" href="a06250.html#l00225">NL3D::CPSMesh::newElement()</a>, and <a class="el" href="a06235.html#l00264">NL3D::CPSFanLight::newElement()</a>.
+<p>
+<div class="fragment"><pre>00292 {
+00293 <span class="keywordflow">if</span> (<a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a> &amp;&amp; <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a>-&gt;hasMemory()) <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a>-&gt;newElement(emitterLocated, emitterIndex);
+00294 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonz748_1" doxytag="NL3D::CPSRibbon::NLMISC_DECLARE_CLASS" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NL3D::CPSRibbon::NLMISC_DECLARE_CLASS </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03226.html">CPSRibbon</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ctor. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>nbSegmentInTail</em>&nbsp;</td><td>the number of segment the ribbon has in its tail </td></tr>
+ <tr><td valign=top><em>shape</em>&nbsp;</td><td>pointer to a shape that will be extruded along the ribbon. It must have a unit size and be located in the x-y plane. This will be copied </td></tr>
+ <tr><td valign=top><em>nbPointsInShape</em>&nbsp;</td><td>: the number of points in the shape</td></tr>
+ </table>
+</dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotb14" doxytag="NL3D::CPSRibbon::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::CPSRibbon::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::CPSRibbon::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::CPSRibbon::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::CPSRibbon::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, 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="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">NL3D::CPSRibbonBase::_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">NL3D::CPSRibbonBase::resetSingleRibbon()</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06275.html#l00550">NL3D::CPSRibbonBase::motionTypeChanged()</a>, and <a class="el" href="a06275.html#l00518">NL3D::CPSRibbonBase::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_1CPSRibbonb18" doxytag="NL3D::CPSRibbon::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::CPSRibbon::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>
+Reimplemented from <a class="el" href="a03227.html#NL3D_1_1CPSRibbonBaseb12">NL3D::CPSRibbonBase</a>.
+<p>
+Definition at line <a class="el" href="a06273.html#l00331">331</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>.
+<p>
+References <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06258.html#l00241">NL3D::CPSColoredParticle::resizeColor()</a>, <a class="el" href="a06258.html#l00299">NL3D::CPSSizedParticle::resizeSize()</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>00332 {
+00333 <a class="code" href="a04199.html#a6">nlassert</a>(size &lt; (1 &lt;&lt; 16));
+00334 CPSRibbonBase::resize(size);
+00335 <a class="code" href="a03157.html#NL3D_1_1CPSTailDotb17">resizeColor</a>(size);
+00336 <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticleb3">resizeSize</a>(size);
+00337 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotb17" doxytag="NL3D::CPSRibbon::resizeColor" ></a><p>
+<table class="mdTable" 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::CPSColoredParticle::resizeColor </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> [inline, protected, 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#l00241">241</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a03157.html#NL3D_1_1CPSColoredParticleb1">NL3D::CPSColoredParticle::getColorOwner()</a>, <a class="el" href="a06214.html#l00282">NL3D::CPSAttribMaker&lt; CRGBA &gt;::hasMemory()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06214.html#l00296">NL3D::CPSAttribMaker&lt; CRGBA &gt;::resize()</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="a06283.html#l00228">NL3D::CPSTailDot::resize()</a>, <a class="el" href="a06279.html#l00469">NL3D::CPSShockWave::resize()</a>, <a class="el" href="a06277.html#l00181">NL3D::CPSRibbonLookAt::resize()</a>, <a class="el" href="a06273.html#l00331">resize()</a>, <a class="el" href="a06262.html#l00276">NL3D::CPSQuad::resize()</a>, <a class="el" href="a06250.html#l01889">NL3D::CPSConstraintMesh::resize()</a>, <a class="el" href="a06235.html#l00432">NL3D::CPSFanLight::resize()</a>, and <a class="el" href="a06226.html#l00262">NL3D::CPSDot::resize()</a>.
+<p>
+<div class="fragment"><pre>00242 {
+00243 <a class="code" href="a04199.html#a6">nlassert</a>(size &lt; (1 &lt;&lt; 16));
+00244 <span class="keywordflow">if</span> (<a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a> &amp;&amp; <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a>-&gt;hasMemory()) <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a>-&gt;resize(size, <a class="code" href="a03226.html#NL3D_1_1CPSRibbonb7">getColorOwner</a>()-&gt;<a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlea1">getSize</a>());
+00245 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSSizedParticleb3" doxytag="NL3D::CPSRibbon::resizeSize" ></a><p>
+<table class="mdTable" 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::CPSSizedParticle::resizeSize </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> [inline, protected, 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#l00299">299</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a06258.html#l00290">NL3D::CPSSizedParticle::_SizeScheme</a>, <a class="el" href="a06258.html#l00274">NL3D::CPSSizedParticle::getSize()</a>, <a class="el" href="a03164.html#NL3D_1_1CPSSizedParticleb1">NL3D::CPSSizedParticle::getSizeOwner()</a>, <a class="el" href="a06214.html#l00282">NL3D::CPSAttribMaker&lt; float &gt;::hasMemory()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06214.html#l00296">NL3D::CPSAttribMaker&lt; float &gt;::resize()</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="a06279.html#l00469">NL3D::CPSShockWave::resize()</a>, <a class="el" href="a06277.html#l00181">NL3D::CPSRibbonLookAt::resize()</a>, <a class="el" href="a06273.html#l00331">resize()</a>, <a class="el" href="a06262.html#l00276">NL3D::CPSQuad::resize()</a>, <a class="el" href="a06250.html#l01889">NL3D::CPSConstraintMesh::resize()</a>, <a class="el" href="a06250.html#l00423">NL3D::CPSMesh::resize()</a>, and <a class="el" href="a06235.html#l00432">NL3D::CPSFanLight::resize()</a>.
+<p>
+<div class="fragment"><pre>00300 {
+00301 <a class="code" href="a04199.html#a6">nlassert</a>(size &lt; (1 &lt;&lt; 16));
+00302 <span class="keywordflow">if</span> (<a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a> &amp;&amp; <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a>-&gt;hasMemory()) <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a>-&gt;resize(size, <a class="code" href="a03226.html#NL3D_1_1CPSRibbonb10">getSizeOwner</a>()-&gt;<a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlea1">getSize</a>());
+00303 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonz748_2" doxytag="NL3D::CPSRibbon::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::CPSRibbon::serial </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02270.html">NLMISC::IStream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>f</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> throw (<a class="el" href="a03781.html">NLMISC::EStream</a>)<code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+==================================================================================================================
+<p>
+
+<p>
+we had CPSParticle::serial(f), but this is not the base class anymore, so we emulate this... version 2 : auto-lod saved
+<p>
+Reimplemented from <a class="el" href="a03227.html#NL3D_1_1CPSRibbonBasez753_1">NL3D::CPSRibbonBase</a>.
+<p>
+Definition at line <a class="el" href="a06273.html#l00121">121</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>.
+<p>
+References <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06505.html#l00133">NL3D::ITexture::serial()</a>, <a class="el" href="a06257.html#l00270">NL3D::CPSRotated2DParticle::serialAngle2DScheme()</a>, <a class="el" href="a05981.html#l00104">sint</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00122 {
+00123 <a class="code" href="a04558.html#a14">sint</a> ver = f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_8">serialVersion</a>(2);
+00124 <span class="keywordflow">if</span> (ver == 1)
+00125 {
+00126 <a class="code" href="a04199.html#a6">nlassert</a>(f.<a class="code" href="a02270.html#NLMISC_1_1IStreama0">isReading</a>());
+00127
+00130 <a class="code" href="a04558.html#a14">sint</a> ver2 = f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_8">serialVersion</a>(2);
+00131
+00132 <span class="comment">// here is CPSLocatedBindable::serial(f)</span>
+00133 <a class="code" href="a04558.html#a14">sint</a> ver3 = f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_8">serialVersion</a>(4);
+00134 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_7">serialPtr</a>(_Owner);
+00135 <span class="keywordflow">if</span> (ver3 &gt; 1) f.<a class="code" href="a02270.html#NLMISC_1_1IStreama7">serialEnum</a>(_LOD);
+00136 <span class="keywordflow">if</span> (ver3 &gt; 2) f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_Name);
+00137 <span class="keywordflow">if</span> (ver3 &gt; 3)
+00138 {
+00139 <span class="keywordflow">if</span> (f.<a class="code" href="a02270.html#NLMISC_1_1IStreama0">isReading</a>())
+00140 {
+00141 <a class="code" href="a04558.html#a11">uint32</a> <span class="keywordtype">id</span>;
+00142 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(<span class="keywordtype">id</span>);
+00143 <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherea52">setExternID</a>(<span class="keywordtype">id</span>);
+00144 }
+00145 <span class="keywordflow">else</span>
+00146 {
+00147 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_ExternID);
+00148 }
+00149 }
+00150
+00151 <span class="keywordflow">if</span> (ver2 &gt;= 2)
+00152 {
+00153 <span class="keywordtype">bool</span> bDisableAutoLOD;
+00154 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(bDisableAutoLOD);
+00155 <a class="code" href="a03162.html#NL3D_1_1CPSTailDota5">disableAutoLOD</a>(bDisableAutoLOD);
+00156 }
+00157
+00158 <a class="code" href="a04558.html#a11">uint32</a> tailNbSegs;
+00159 <span class="keywordtype">bool</span> colorFading;
+00160 <span class="keywordtype">bool</span> systemBasisEnabled;
+00161 <span class="keywordtype">bool</span> drEnabled; <span class="comment">// dying ribbons, not supported in this version</span>
+00162
+00163 CPSColoredParticle::serialColorScheme(f);
+00164 CPSSizedParticle::serialSizeScheme(f);
+00165
+00166 <span class="comment">// we dont use the 2d angle anymore...serial a dummy one</span>
+00167 {
+00168 CDummy2DAngle _Dummy2DAngle;
+00169 _Dummy2DAngle.serialAngle2DScheme(f);
+00170 }
+00171
+00172 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(colorFading, systemBasisEnabled);
+00173 <a class="code" href="a03178.html#NL3D_1_1CPSTailDota50">serialMaterial</a>(f);
+00174
+00175 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(drEnabled);
+00176 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(tailNbSegs);
+00177 ITexture *tex;
+00178 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_6">serialPolyPtr</a>(tex);
+00179 <a class="code" href="a03226.html#NL3D_1_1CPSRibbonr5">_Tex</a> = tex;
+00180 <span class="keywordflow">if</span> (<a class="code" href="a03226.html#NL3D_1_1CPSRibbonr5">_Tex</a> != NULL)
+00181 {
+00182 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_UFactor, _VFactor) ;
+00183 }
+00184
+00185 <span class="comment">// shape serialization </span>
+00186 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2033_9">serialCont</a>(_Shape);
+00187
+00188
+00189 <a class="code" href="a03227.html#NL3D_1_1CPSTailDotp7">_NbSegs</a> = tailNbSegs &gt;&gt; 1;
+00190 <span class="keywordflow">if</span> (<a class="code" href="a03227.html#NL3D_1_1CPSTailDotp7">_NbSegs</a> &lt; 1) <a class="code" href="a03227.html#NL3D_1_1CPSTailDotp7">_NbSegs</a> = 2;
+00191 <a class="code" href="a03227.html#NL3D_1_1CPSTailDotz754_2">setInterpolationMode</a>(Linear);
+00192
+00193 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+00194 <a class="code" href="a03226.html#NL3D_1_1CPSRibbonb18">resize</a>(<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getMaxSize());
+00195 <a class="code" href="a03227.html#NL3D_1_1CPSTailDotb10">initDateVect</a>();
+00196 <a class="code" href="a03227.html#NL3D_1_1CPSTailDotb15">resetFromOwner</a>();
+00197 }
+00198
+00199
+00200 <span class="keywordflow">if</span> (ver &gt;= 2)
+00201 {
+00202 CPSRibbonBase::serial(f);
+00203 CPSColoredParticle::serialColorScheme(f);
+00204 CPSSizedParticle::serialSizeScheme(f);
+00205 CPSMaterial::serialMaterial(f);
+00206 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2033_9">serialCont</a>(_Shape);
+00207 <span class="keywordtype">bool</span> colorFading = <a class="code" href="a03226.html#NL3D_1_1CPSRibbonr0">_ColorFading</a>;
+00208 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(colorFading);
+00209 _ColorFading = colorFading;
+00210 <a class="code" href="a04558.html#a11">uint32</a> tailNbSegs = <a class="code" href="a03227.html#NL3D_1_1CPSTailDotp7">_NbSegs</a>;
+00211 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(tailNbSegs);
+00212 <span class="keywordflow">if</span> (f.<a class="code" href="a02270.html#NLMISC_1_1IStreama0">isReading</a>())
+00213 {
+00214 <a class="code" href="a03227.html#NL3D_1_1CPSTailDotz755_5">setTailNbSeg</a>(_NbSegs);
+00215 <a class="code" href="a03226.html#NL3D_1_1CPSRibbond6">touch</a>();
+00216 }
+00217 ITexture *tex = <a class="code" href="a03226.html#NL3D_1_1CPSRibbonr5">_Tex</a>;
+00218 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_6">serialPolyPtr</a>(tex);
+00219 _Tex = tex;
+00220 <span class="keywordflow">if</span> (_Tex != NULL)
+00221 {
+00222 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_UFactor, _VFactor) ;
+00223 }
+00224 }
+00225 <span class="keywordflow">if</span> (f.<a class="code" href="a02270.html#NLMISC_1_1IStreama0">isReading</a>())
+00226 {
+00227 <a class="code" href="a03226.html#NL3D_1_1CPSRibbond6">touch</a>();
+00228 }
+00229 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota49" doxytag="NL3D::CPSRibbon::serialColorScheme" ></a><p>
+<table class="mdTable" 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::CPSColoredParticle::serialColorScheme </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> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+serialization.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06257.html#l00155">155</a> of file <a class="el" href="a06257.html">ps_particle_basic.cpp</a>.
+<p>
+<div class="fragment"><pre>00156 {
+00157 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_8">serialVersion</a>(1);
+00158 <span class="keywordflow">if</span> (f.<a class="code" href="a02270.html#NLMISC_1_1IStreama0">isReading</a>())
+00159 {
+00160 <span class="keywordflow">if</span> (<a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a>)
+00161 {
+00162 <span class="keyword">delete</span> <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a>;
+00163 <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a> = NULL;
+00164 }
+00165 }
+00166 <span class="keywordtype">bool</span> useColorScheme = <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a> != NULL;
+00167 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(useColorScheme);
+00168 <span class="keywordflow">if</span> (useColorScheme)
+00169 {
+00170 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_6">serialPolyPtr</a>(_ColorScheme);
+00171 }
+00172 <span class="keywordflow">else</span>
+00173 {
+00174 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_Color);
+00175 }
+00176 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota50" doxytag="NL3D::CPSRibbon::serialMaterial" ></a><p>
+<table class="mdTable" 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::CPSMaterial::serialMaterial </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> [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="a06257.html#l00493">493</a> of file <a class="el" href="a06257.html">ps_particle_basic.cpp</a>.
+<p>
+References <a class="el" href="a05981.html#l00104">sint</a>.
+<p>
+<div class="fragment"><pre>00494 {
+00495 <a class="code" href="a04558.html#a14">sint</a> ver = f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_8">serialVersion</a>(2);
+00496 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotw9">TBlendingMode</a> m = <a class="code" href="a03178.html#NL3D_1_1CPSTailDota13">getBlendingMode</a>();
+00497 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama7">serialEnum</a>(m);
+00498 <a class="code" href="a03178.html#NL3D_1_1CPSTailDota52">setBlendingMode</a>(m);
+00499 <span class="keywordflow">if</span> (ver &gt;= 2)
+00500 {
+00501 <span class="keywordtype">bool</span> zTest = <a class="code" href="a03178.html#NL3D_1_1CPSTailDota45">isZTestEnabled</a>();
+00502 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(zTest);
+00503 <a class="code" href="a03178.html#NL3D_1_1CPSTailDota9">enableZTest</a>(zTest);
+00504 }
+00505 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSSizedParticlea4" doxytag="NL3D::CPSRibbon::serialSizeScheme" ></a><p>
+<table class="mdTable" 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::CPSSizedParticle::serialSizeScheme </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> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+serialization. We choose a different name because of multiple-inheritance
+<p>
+
+<p>
+Definition at line <a class="el" href="a06257.html#l00211">211</a> of file <a class="el" href="a06257.html">ps_particle_basic.cpp</a>.
+<p>
+<div class="fragment"><pre>00212 {
+00213 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_8">serialVersion</a>(1);
+00214 <span class="keywordflow">if</span> (f.<a class="code" href="a02270.html#NLMISC_1_1IStreama0">isReading</a>())
+00215 {
+00216 <span class="keywordflow">if</span> (<a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a>)
+00217 {
+00218 <span class="keyword">delete</span> <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a>;
+00219 <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a> = NULL;
+00220 }
+00221 }
+00222 <span class="keywordtype">bool</span> useSizeScheme = <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a> != NULL;
+00223 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(useSizeScheme);
+00224 <span class="keywordflow">if</span> (useSizeScheme)
+00225 {
+00226 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_6">serialPolyPtr</a>(_SizeScheme);
+00227 }
+00228 <span class="keywordflow">else</span>
+00229 {
+00230 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_ParticleSize);
+00231 }
+00232 };
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea49" doxytag="NL3D::CPSRibbon::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_1CPSTailDota52" doxytag="NL3D::CPSRibbon::setBlendingMode" ></a><p>
+<table class="mdTable" 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::CPSMaterial::setBlendingMode </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03178.html#NL3D_1_1CPSTailDotw9">CPSMaterial::TBlendingMode</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><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="a06257.html#l00520">520</a> of file <a class="el" href="a06257.html">ps_particle_basic.cpp</a>.
+<p>
+References <a class="el" href="a03178.html#NL3D_1_1CPSTailDotw9NL3D_1_1CPSTailDotw1">NL3D::CPSMaterial::alphaBlend</a>, <a class="el" href="a03178.html#NL3D_1_1CPSTailDotw9NL3D_1_1CPSTailDotw2">NL3D::CPSMaterial::alphaTest</a>, <a class="el" href="a05641.html#l00078">NL3D::CMaterial::setAlphaTest()</a>, <a class="el" href="a05641.html#l00064">NL3D::CMaterial::setBlend()</a>, <a class="el" href="a05641.html#l00091">NL3D::CMaterial::setBlendFunc()</a>, and <a class="el" href="a05641.html#l00105">NL3D::CMaterial::setZWrite()</a>.
+<p>
+<div class="fragment"><pre>00521 {
+00522 <span class="keywordflow">switch</span> (mode)
+00523 {
+00524 <span class="keywordflow">case</span> <a class="code" href="a03178.html#NL3D_1_1CPSTailDotw9NL3D_1_1CPSTailDotw0">add</a>:
+00525 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.setBlend(<span class="keyword">true</span>);
+00526 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.setBlendFunc(CMaterial::one, CMaterial::one);
+00527 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.setZWrite(<span class="keyword">false</span>);
+00528 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.setAlphaTest(<span class="keyword">false</span>);
+00529 <span class="keywordflow">break</span>;
+00530 <span class="keywordflow">case</span> <a class="code" href="a03178.html#NL3D_1_1CPSTailDotw9NL3D_1_1CPSTailDotw7">modulate</a>:
+00531 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.setBlend(<span class="keyword">true</span>);
+00532 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.setBlendFunc(CMaterial::zero, CMaterial::srccolor);
+00533 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.setZWrite(<span class="keyword">false</span>);
+00534 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.setAlphaTest(<span class="keyword">false</span>);
+00535 <span class="keywordflow">break</span>;
+00536 <span class="keywordflow">case</span> <a class="code" href="a03178.html#NL3D_1_1CPSTailDotw9NL3D_1_1CPSTailDotw1">alphaBlend</a>:
+00537 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.setBlend(<span class="keyword">true</span>);
+00538 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.setBlendFunc(CMaterial::srcalpha, CMaterial::invsrcalpha);
+00539 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.setZWrite(<span class="keyword">false</span>);
+00540 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.setAlphaTest(<span class="keyword">false</span>);
+00541 <span class="keywordflow">break</span>;
+00542 <span class="keywordflow">case</span> <a class="code" href="a03178.html#NL3D_1_1CPSTailDotw9NL3D_1_1CPSTailDotw2">alphaTest</a>:
+00543 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.setBlend(<span class="keyword">false</span>);
+00544 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.setZWrite(<span class="keyword">true</span>);
+00545 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.setAlphaTest(<span class="keyword">true</span>);
+00546 <span class="keywordflow">break</span>;
+00547 }
+00548 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota53" doxytag="NL3D::CPSRibbon::setColor" ></a><p>
+<table class="mdTable" 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::CPSColoredParticle::setColor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03337.html">NLMISC::CRGBA</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>col</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set a constant color for the particles. remove any previous scheme.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06257.html#l00135">135</a> of file <a class="el" href="a06257.html">ps_particle_basic.cpp</a>.
+<p>
+References <a class="el" href="a03157.html#NL3D_1_1CPSColoredParticleb4">NL3D::CPSColoredParticle::updateMatAndVbForColor()</a>.
+<p>
+<div class="fragment"><pre>00136 {
+00137 <span class="keyword">delete</span> <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a>;
+00138 <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a> = NULL;
+00139 <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp1">_Color</a> = col;
+00140 <a class="code" href="a03226.html#NL3D_1_1CPSRibbond7">updateMatAndVbForColor</a>();
+00141 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonz749_2" doxytag="NL3D::CPSRibbon::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::CPSRibbon::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> [inline, virtual]</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 ribbon.
+<p>
+Implements <a class="el" href="a03229.html#NL3D_1_1CPSTailParticlea3">NL3D::CPSTailParticle</a>.
+<p>
+Definition at line <a class="el" href="a06274.html#l00076">76</a> of file <a class="el" href="a06274.html">ps_ribbon.h</a>.
+<p>
+References <a class="el" href="a06274.html#l00254">_ColorFading</a>, and <a class="el" href="a06274.html#l00260">touch()</a>.
+<p>
+<div class="fragment"><pre>00077 {
+00078 <a class="code" href="a03226.html#NL3D_1_1CPSRibbonr0">_ColorFading</a> = onOff;
+00079 <a class="code" href="a03226.html#NL3D_1_1CPSRibbond6">touch</a>();
+00080 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota54" doxytag="NL3D::CPSRibbon::setColorScheme" ></a><p>
+<table class="mdTable" 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::CPSColoredParticle::setColorScheme </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03136.html">CPSAttribMaker</a>&lt; <a class="el" href="a03337.html">CRGBA</a> &gt; *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>col</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set an attribute maker that produce a color It must have been allocated by new It will be deleted by this object
+<p>
+Definition at line <a class="el" href="a06257.html#l00125">125</a> of file <a class="el" href="a06257.html">ps_particle_basic.cpp</a>.
+<p>
+References <a class="el" href="a03157.html#NL3D_1_1CPSColoredParticleb1">NL3D::CPSColoredParticle::getColorOwner()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06214.html#l00296">NL3D::CPSAttribMaker&lt; T &gt;::resize()</a>, and <a class="el" href="a03157.html#NL3D_1_1CPSColoredParticleb4">NL3D::CPSColoredParticle::updateMatAndVbForColor()</a>.
+<p>
+<div class="fragment"><pre>00126 {
+00127 <a class="code" href="a04199.html#a6">nlassert</a>(col);
+00128 <span class="keyword">delete</span> <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a>;
+00129 <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a> = col;
+00130 <span class="keywordflow">if</span> (<a class="code" href="a03226.html#NL3D_1_1CPSRibbonb7">getColorOwner</a>() &amp;&amp; col-&gt;hasMemory()) col-&gt;resize(<a class="code" href="a03226.html#NL3D_1_1CPSRibbonb7">getColorOwner</a>()-&gt;getMaxSize(), <a class="code" href="a03226.html#NL3D_1_1CPSRibbonb7">getColorOwner</a>()-&gt;<a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlea1">getSize</a>());
+00131 <a class="code" href="a03226.html#NL3D_1_1CPSRibbond7">updateMatAndVbForColor</a>();
+00132 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea52" doxytag="NL3D::CPSRibbon::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::CPSRibbon::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><code> [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="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">NL3D::CPSRibbonBase::_InterpolationMode</a>, <a class="el" href="a03227.html#NL3D_1_1CPSTailDotw10NL3D_1_1CPSTailDotw5">NL3D::CPSRibbonBase::InterpModeLast</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+Referenced by <a class="el" href="a06273.html#l00233">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 _InterpolationMode = mode;
+00115 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea53" doxytag="NL3D::CPSRibbon::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::CPSRibbon::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, inherited]</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 _LODDegradation = percent;
+00094 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea55" doxytag="NL3D::CPSRibbon::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::CPSRibbon::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="a03226.html#NL3D_1_1CPSRibbonb4">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::CPSRibbon::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><code> [inherited]</code></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">NL3D::CPSRibbonBase::_NbSegs</a>, <a class="el" href="a06276.html#l00150">NL3D::CPSRibbonBase::_RibbonLength</a>, <a class="el" href="a06276.html#l00151">NL3D::CPSRibbonBase::_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 _RibbonLength = length;
+00099 _SegLength = 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::CPSRibbon::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><code> [inherited]</code></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">NL3D::CPSRibbonBase::_RibbonMode</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a03227.html#NL3D_1_1CPSTailDotw11NL3D_1_1CPSTailDotw8">NL3D::CPSRibbonBase::RibbonModeLast</a>.
+<p>
+<div class="fragment"><pre>00104 {
+00105 <a class="code" href="a04199.html#a6">nlassert</a>(mode &lt; RibbonModeLast);
+00106 _RibbonMode = mode;
+00107 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotz755_4" doxytag="NL3D::CPSRibbon::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><code> [inherited]</code></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">NL3D::CPSRibbonBase::_SegDuration</a>, and <a class="el" href="a05454.html#l00044">NL3D::TAnimationTime</a>.
+<p>
+Referenced by <a class="el" href="a06273.html#l00233">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_1CPSRibbona69" doxytag="NL3D::CPSRibbon::setShape" ></a><p>
+<table class="mdTable" 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::CPSRibbon::setShape </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>shape</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>nbPointsInShape</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+==================================================================================================================
+<p>
+set a new shape for the ribbon If the number of vertices in the shape has changed, the previous ribbon will be desroyed In fact, their radius will be 0 all along the tail <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>shape</em>&nbsp;</td><td>pointer to a shape that will be extruded along the ribbon. It must have a unit size and be located in the x-y plane (z can be used for effects) . This will be copied </td></tr>
+ <tr><td valign=top><em>nbPointsInShape</em>&nbsp;</td><td>: the number of points in the shape</td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a06273.html#l01129">1129</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>.
+<p>
+References <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a06273.html#l00233">CPSRibbon()</a>.
+<p>
+<div class="fragment"><pre>01130 {
+01131 <a class="code" href="a04199.html#a6">nlassert</a>(nbPointsInShape &gt;= 3);
+01132 <a class="code" href="a03226.html#NL3D_1_1CPSRibbonr4">_Shape</a>.resize(nbPointsInShape);
+01133 std::copy(shape, shape + nbPointsInShape, <a class="code" href="a03226.html#NL3D_1_1CPSRibbonr4">_Shape</a>.begin());
+01134 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSSizedParticlea5" doxytag="NL3D::CPSRibbon::setSize" ></a><p>
+<table class="mdTable" 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::CPSSizedParticle::setSize </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&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> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set a constant size for the particles.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06257.html#l00192">192</a> of file <a class="el" href="a06257.html">ps_particle_basic.cpp</a>.
+<p>
+References <a class="el" href="a06258.html#l00289">NL3D::CPSSizedParticle::_ParticleSize</a>, <a class="el" href="a06258.html#l00290">NL3D::CPSSizedParticle::_SizeScheme</a>, and <a class="el" href="a05646.html#l00645">size</a>.
+<p>
+<div class="fragment"><pre>00193 {
+00194 <span class="keyword">delete</span> <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a>;
+00195 <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a> = NULL;
+00196 <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep0">_ParticleSize</a> = <a class="code" href="a04223.html#a587">size</a>;
+00197 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSSizedParticlea6" doxytag="NL3D::CPSRibbon::setSizeScheme" ></a><p>
+<table class="mdTable" 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::CPSSizedParticle::setSizeScheme </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03136.html">CPSAttribMaker</a>&lt; float &gt; *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>size</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set an attribute maker that produce a size It must have been allocated by new It will be deleted by this object
+<p>
+Definition at line <a class="el" href="a06257.html#l00183">183</a> of file <a class="el" href="a06257.html">ps_particle_basic.cpp</a>.
+<p>
+References <a class="el" href="a06258.html#l00290">NL3D::CPSSizedParticle::_SizeScheme</a>, <a class="el" href="a06258.html#l00274">NL3D::CPSSizedParticle::getSize()</a>, <a class="el" href="a03164.html#NL3D_1_1CPSSizedParticleb1">NL3D::CPSSizedParticle::getSizeOwner()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05646.html#l00645">size</a>.
+<p>
+<div class="fragment"><pre>00184 {
+00185 <a class="code" href="a04199.html#a6">nlassert</a>(size != NULL);
+00186 <span class="keyword">delete</span> <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a>;
+00187 <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a> = <a class="code" href="a04223.html#a587">size</a>;
+00188 <span class="keywordflow">if</span> (<a class="code" href="a03226.html#NL3D_1_1CPSRibbonb10">getSizeOwner</a>() &amp;&amp; <a class="code" href="a04223.html#a587">size</a>-&gt;hasMemory()) <a class="code" href="a04223.html#a587">size</a>-&gt;resize(<a class="code" href="a03226.html#NL3D_1_1CPSRibbonb10">getSizeOwner</a>()-&gt;getMaxSize(), <a class="code" href="a03226.html#NL3D_1_1CPSRibbonb10">getSizeOwner</a>()-&gt;<a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlea1">getSize</a>());
+00189 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonz749_3" doxytag="NL3D::CPSRibbon::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::CPSRibbon::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> [inline, virtual]</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>
+Implements <a class="el" href="a03229.html#NL3D_1_1CPSTailParticlea4">NL3D::CPSTailParticle</a>.
+<p>
+Definition at line <a class="el" href="a06274.html#l00093">93</a> of file <a class="el" href="a06274.html">ps_ribbon.h</a>.
+<p>
+<div class="fragment"><pre>00093 {}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotz755_5" doxytag="NL3D::CPSRibbon::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, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+set the number of 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">NL3D::CPSRibbonBase::_NbSegs</a>, <a class="el" href="a06276.html#l00143">NL3D::CPSRibbonBase::_RibbonIndex</a>, <a class="el" href="a06247.html#l00369">NL3D::CPSLocated::getMaxSize()</a>, <a class="el" href="a06275.html#l00568">NL3D::CPSRibbonBase::initDateVect()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06275.html#l00518">NL3D::CPSRibbonBase::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 _RibbonIndex = 0;
+00123 <span class="keywordflow">if</span> (<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>)
+00124 {
+00125 <a class="code" href="a03226.html#NL3D_1_1CPSRibbonb18">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_1CPSRibbona72" doxytag="NL3D::CPSRibbon::setTexFactor" ></a><p>
+<table class="mdTable" 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::CPSRibbon::setTexFactor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname" nowrap> <em>uFactor</em> = 1.f, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>vFactor</em> = 1.f</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set texture factors.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06274.html#l00122">122</a> of file <a class="el" href="a06274.html">ps_ribbon.h</a>.
+<p>
+References <a class="el" href="a06274.html#l00251">_UFactor</a>, <a class="el" href="a06274.html#l00251">_VFactor</a>, and <a class="el" href="a06274.html#l00260">touch()</a>.
+<p>
+<div class="fragment"><pre>00123 {
+00124 <a class="code" href="a03226.html#NL3D_1_1CPSRibbonr7">_UFactor</a> = uFactor;
+00125 <a class="code" href="a03226.html#NL3D_1_1CPSRibbonr8">_VFactor</a> = vFactor;
+00126 <a class="code" href="a03226.html#NL3D_1_1CPSRibbond6">touch</a>();
+00127 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbona73" doxytag="NL3D::CPSRibbon::setTexture" ></a><p>
+<table class="mdTable" 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::CPSRibbon::setTexture </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03408.html">NLMISC::CSmartPtr</a>&lt; <a class="el" href="a03487.html">ITexture</a> &gt;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>tex</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+set a texture
+<p>
+
+<p>
+Implements <a class="el" href="a03242.html#NL3D_1_1CPSTexturedParticleNoAnima2">NL3D::CPSTexturedParticleNoAnim</a>.
+<p>
+Definition at line <a class="el" href="a06274.html#l00120">120</a> of file <a class="el" href="a06274.html">ps_ribbon.h</a>.
+<p>
+References <a class="el" href="a06274.html#l00260">touch()</a>.
+<p>
+<div class="fragment"><pre>00120 { <a class="code" href="a03226.html#NL3D_1_1CPSRibbonr5">_Tex</a> = tex; <a class="code" href="a03226.html#NL3D_1_1CPSRibbond6">touch</a>(); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea59" doxytag="NL3D::CPSRibbon::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">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_1CPSRibbond2" doxytag="NL3D::CPSRibbon::setupGlobalColor" ></a><p>
+<table class="mdTable" 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::CPSRibbon::setupGlobalColor </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]</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="a06273.html#l01100">1100</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>.
+<p>
+References <a class="el" href="a06273.html#l01026">setupTexturedGlobalColor()</a>, and <a class="el" href="a06273.html#l00984">setupUntexturedGlobalColor()</a>.
+<p>
+Referenced by <a class="el" href="a06273.html#l00471">displayRibbons()</a>.
+<p>
+<div class="fragment"><pre>01101 {
+01102 <span class="keywordflow">if</span> (<a class="code" href="a03226.html#NL3D_1_1CPSRibbonr5">_Tex</a> != NULL) <a class="code" href="a03226.html#NL3D_1_1CPSRibbond3">setupTexturedGlobalColor</a>();
+01103 <span class="keywordflow">else</span> <a class="code" href="a03226.html#NL3D_1_1CPSRibbond5">setupUntexturedGlobalColor</a>();
+01104 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbond3" doxytag="NL3D::CPSRibbon::setupTexturedGlobalColor" ></a><p>
+<table class="mdTable" 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::CPSRibbon::setupTexturedGlobalColor </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, private]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+setup the global color if it is used
+<p>
+Definition at line <a class="el" href="a06273.html#l01026">1026</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>.
+<p>
+References <a class="el" href="a06274.html#l00254">_ColorFading</a>, <a class="el" href="a06143.html#l00657">NL3D::CParticleSystem::getColorAttenuationScheme()</a>, <a class="el" href="a06143.html#l00679">NL3D::CParticleSystem::getForceGlobalColorLightingFlag()</a>, <a class="el" href="a06143.html#l00674">NL3D::CParticleSystem::getGlobalColor()</a>, <a class="el" href="a06143.html#l00677">NL3D::CParticleSystem::getGlobalColorLighted()</a>, <a class="el" href="a06151.html#l00111">NL3D::CParticleSystemProcess::getOwner()</a>, <a class="el" href="a06143.html#l00669">NL3D::CParticleSystem::isUserColorUsed()</a>, <a class="el" href="a06340.html#l00133">NLMISC::CRGBA::modulateFromColor()</a>, <a class="el" href="a05641.html#l00118">NL3D::CMaterial::setColor()</a>, <a class="el" href="a05641.html#l00268">NL3D::CMaterial::texConstantColor()</a>, and <a class="el" href="a06258.html#l00103">NL3D::CPSParticle::usesGlobalColorLighting()</a>.
+<p>
+Referenced by <a class="el" href="a06273.html#l01100">setupGlobalColor()</a>.
+<p>
+<div class="fragment"><pre>01027 {
+01029 CParticleSystem &amp;ps = *(<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner());
+01030 <span class="keywordflow">if</span> (<a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a>)
+01031 {
+01032 <span class="keywordflow">if</span> (ps.getForceGlobalColorLightingFlag() || <a class="code" href="a03162.html#NL3D_1_1CPSTailDota64">usesGlobalColorLighting</a>())
+01033 {
+01034 <span class="keywordflow">if</span> (<a class="code" href="a03226.html#NL3D_1_1CPSRibbonr0">_ColorFading</a>)
+01035 {
+01036 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.texConstantColor(2, ps.getGlobalColorLighted());
+01037 }
+01038 <span class="keywordflow">else</span>
+01039 {
+01040 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.texConstantColor(1, ps.getGlobalColorLighted());
+01041 }
+01042 }
+01043 <span class="keywordflow">else</span>
+01044 {
+01045 <span class="keywordflow">if</span> (<a class="code" href="a03226.html#NL3D_1_1CPSRibbonr0">_ColorFading</a>)
+01046 {
+01047 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.texConstantColor(2, ps.getGlobalColor());
+01048 }
+01049 <span class="keywordflow">else</span>
+01050 {
+01051 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.texConstantColor(1, ps.getGlobalColor());
+01052 }
+01053 }
+01054 }
+01055 <span class="keywordflow">else</span> <span class="comment">// GLOBAL COLOR with / without fading</span>
+01056 {
+01057 <span class="keywordflow">if</span> (ps.getForceGlobalColorLightingFlag() || <a class="code" href="a03162.html#NL3D_1_1CPSTailDota64">usesGlobalColorLighting</a>())
+01058 {
+01059 <a class="code" href="a03337.html">NLMISC::CRGBA</a> col;
+01060 col.<a class="code" href="a03337.html#NLMISC_1_1CRGBAa8">modulateFromColor</a>(ps.getGlobalColorLighted(), <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp1">_Color</a>);
+01061 <span class="keywordflow">if</span> (<a class="code" href="a03226.html#NL3D_1_1CPSRibbonr0">_ColorFading</a>)
+01062 {
+01063 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.texConstantColor(1, col);
+01064 }
+01065 <span class="keywordflow">else</span> <span class="comment">// color attenuation, no fading : </span>
+01066 {
+01067 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.setColor(col);
+01068 }
+01069 }
+01070 <span class="keywordflow">else</span>
+01071 <span class="keywordflow">if</span> (ps.getColorAttenuationScheme() || ps.isUserColorUsed())
+01072 {
+01073 <a class="code" href="a03337.html">NLMISC::CRGBA</a> col;
+01074 col.<a class="code" href="a03337.html#NLMISC_1_1CRGBAa8">modulateFromColor</a>(ps.getGlobalColor(), <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp1">_Color</a>);
+01075 <span class="keywordflow">if</span> (<a class="code" href="a03226.html#NL3D_1_1CPSRibbonr0">_ColorFading</a>)
+01076 {
+01077 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.texConstantColor(1, col);
+01078 }
+01079 <span class="keywordflow">else</span> <span class="comment">// color attenuation, no fading : </span>
+01080 {
+01081 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.setColor(col);
+01082 }
+01083 }
+01084 <span class="keywordflow">else</span>
+01085 {
+01086 <span class="keywordflow">if</span> (<a class="code" href="a03226.html#NL3D_1_1CPSRibbonr0">_ColorFading</a>)
+01087 {
+01088 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.texConstantColor(1, _Color);
+01089 }
+01090 <span class="keywordflow">else</span> <span class="comment">// constant color</span>
+01091 {
+01092 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.setColor(_Color);
+01093 }
+01094 }
+01095 }
+01096 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbond4" doxytag="NL3D::CPSRibbon::setupTextureMatrix" ></a><p>
+<table class="mdTable" 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::CPSRibbon::setupTextureMatrix </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]</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="a06273.html#l01107">1107</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>.
+<p>
+References <a class="el" href="a06274.html#l00254">_ColorFading</a>, <a class="el" href="a06274.html#l00251">_UFactor</a>, <a class="el" href="a06274.html#l00251">_VFactor</a>, <a class="el" href="a05641.html#l00337">NL3D::CMaterial::enableUserTexMat()</a>, <a class="el" href="a05972.html#l00209">NLMISC::CMatrix::setRot()</a>, <a class="el" href="a05641.html#l00369">NL3D::CMaterial::setUserTexMat()</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06273.html#l00967">updateMaterial()</a>.
+<p>
+<div class="fragment"><pre>01108 {
+01109 <a class="code" href="a04558.html#a15">uint</a> stage = (<a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a> != NULL &amp;&amp; <a class="code" href="a03226.html#NL3D_1_1CPSRibbonr0">_ColorFading</a> == <span class="keyword">true</span>) ? 1 : 0;
+01110 <span class="keywordflow">if</span> (<a class="code" href="a03226.html#NL3D_1_1CPSRibbonr7">_UFactor</a> != 1.f || <a class="code" href="a03226.html#NL3D_1_1CPSRibbonr8">_VFactor</a> != 1.f)
+01111 {
+01112 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.enableUserTexMat(stage);
+01113 CMatrix texMat;
+01114 texMat.setRot(_UFactor * NLMISC::CVector::I,
+01115 _VFactor * NLMISC::CVector::J,
+01116 NLMISC::CVector::K
+01117 );
+01118 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.setUserTexMat(stage, texMat);
+01119 }
+01120 <span class="keywordflow">else</span>
+01121 {
+01122 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.enableUserTexMat(stage, <span class="keyword">false</span>);
+01123 }
+01124 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.enableUserTexMat(1 - stage, <span class="keyword">false</span>);
+01125 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbond5" doxytag="NL3D::CPSRibbon::setupUntexturedGlobalColor" ></a><p>
+<table class="mdTable" 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::CPSRibbon::setupUntexturedGlobalColor </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, private]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+setup the global color if it is used
+<p>
+Definition at line <a class="el" href="a06273.html#l00984">984</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>.
+<p>
+References <a class="el" href="a06274.html#l00254">_ColorFading</a>, <a class="el" href="a06143.html#l00657">NL3D::CParticleSystem::getColorAttenuationScheme()</a>, <a class="el" href="a06143.html#l00679">NL3D::CParticleSystem::getForceGlobalColorLightingFlag()</a>, <a class="el" href="a06143.html#l00674">NL3D::CParticleSystem::getGlobalColor()</a>, <a class="el" href="a06143.html#l00677">NL3D::CParticleSystem::getGlobalColorLighted()</a>, <a class="el" href="a06151.html#l00111">NL3D::CParticleSystemProcess::getOwner()</a>, <a class="el" href="a06143.html#l00669">NL3D::CParticleSystem::isUserColorUsed()</a>, <a class="el" href="a06340.html#l00133">NLMISC::CRGBA::modulateFromColor()</a>, <a class="el" href="a05641.html#l00118">NL3D::CMaterial::setColor()</a>, <a class="el" href="a05641.html#l00268">NL3D::CMaterial::texConstantColor()</a>, and <a class="el" href="a06258.html#l00103">NL3D::CPSParticle::usesGlobalColorLighting()</a>.
+<p>
+Referenced by <a class="el" href="a06273.html#l01100">setupGlobalColor()</a>.
+<p>
+<div class="fragment"><pre>00985 {
+00987 CParticleSystem &amp;ps = *(<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner());
+00988 <span class="keywordflow">if</span> (<a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a>)
+00989 {
+00990 <span class="keywordflow">if</span> (ps.getForceGlobalColorLightingFlag() || <a class="code" href="a03162.html#NL3D_1_1CPSTailDota64">usesGlobalColorLighting</a>())
+00991 {
+00992 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.texConstantColor(0, ps.getGlobalColorLighted());
+00993 }
+00994 <span class="keywordflow">else</span>
+00995 {
+00996 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.texConstantColor(0, ps.getGlobalColor());
+00997 }
+00998 }
+00999 <span class="keywordflow">else</span> <span class="comment">// GLOBAL COLOR with / without fading</span>
+01000 {
+01001 <a class="code" href="a03337.html">NLMISC::CRGBA</a> col;
+01002 <span class="keywordflow">if</span> (ps.getForceGlobalColorLightingFlag() || <a class="code" href="a03162.html#NL3D_1_1CPSTailDota64">usesGlobalColorLighting</a>())
+01003 {
+01004 col.<a class="code" href="a03337.html#NLMISC_1_1CRGBAa8">modulateFromColor</a>(ps.getGlobalColorLighted(), <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp1">_Color</a>);
+01005 }
+01006 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ps.getColorAttenuationScheme() || ps.isUserColorUsed())
+01007 {
+01008 col.<a class="code" href="a03337.html#NLMISC_1_1CRGBAa8">modulateFromColor</a>(ps.getGlobalColor(), <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp1">_Color</a>);
+01009 }
+01010 <span class="keywordflow">else</span>
+01011 {
+01012 col = <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp1">_Color</a>;
+01013 }
+01014 <span class="keywordflow">if</span> (<a class="code" href="a03226.html#NL3D_1_1CPSRibbonr0">_ColorFading</a>)
+01015 {
+01016 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.texConstantColor(0, col);
+01017 }
+01018 <span class="keywordflow">else</span> <span class="comment">// color attenuation, no fading : </span>
+01019 {
+01020 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.setColor(col);
+01021 }
+01022 }
+01023 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbona75" doxytag="NL3D::CPSRibbon::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::CPSRibbon::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> [inline, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Reimplemented from <a class="el" href="a03178.html#NL3D_1_1CPSMateriala8">NL3D::CPSMaterial</a>.
+<p>
+Definition at line <a class="el" href="a06274.html#l00182">182</a> of file <a class="el" href="a06274.html">ps_ribbon.h</a>.
+<p>
+References <a class="el" href="a05646.html#l01132">value</a>.
+<p>
+<div class="fragment"><pre>00182 { CPSMaterial::setZBias(value); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota61" doxytag="NL3D::CPSRibbon::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_1CPSRibbona77" doxytag="NL3D::CPSRibbon::step" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSRibbon::step </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a05363.html#a556">TPSProcessPass</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>pass</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a05363.html#a366">TAnimationTime</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>ellapsedTime</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a05363.html#a366">TAnimationTime</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>realEt</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+inherited from <a class="el" href="a03162.html">CPSParticle</a>
+<p>
+return true if the ribbon light persist after death <dl compact><dt><b>See also:</b></dt><dd>_PersistAfterDeath()</dd></dl>
+
+<p>
+We support Auto-LOD for ribbons, although there is a built-in LOD (that change the geometry rather than the number of ribbons) that gives better result (both can be used simultaneously)
+<p>
+Reimplemented from <a class="el" href="a03162.html#NL3D_1_1CPSShockWavea100">NL3D::CPSParticle</a>.
+<p>
+Definition at line <a class="el" href="a06273.html#l00266">266</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>.
+<p>
+References <a class="el" href="a06257.html#l00082">NL3D::CPSParticle::computeSrcStep()</a>, <a class="el" href="a06273.html#l00471">displayRibbons()</a>, <a class="el" href="a06143.html#l00679">NL3D::CParticleSystem::getForceGlobalColorLightingFlag()</a>, <a class="el" href="a06143.html#l00674">NL3D::CParticleSystem::getGlobalColor()</a>, <a class="el" href="a06143.html#l00677">NL3D::CParticleSystem::getGlobalColorLighted()</a>, <a class="el" href="a06151.html#l00111">NL3D::CParticleSystemProcess::getOwner()</a>, <a class="el" href="a06273.html#l00682">hasOpaqueFaces()</a>, <a class="el" href="a06273.html#l00675">hasTransparentFaces()</a>, <a class="el" href="a05363.html#a556a216">NL3D::PSBlendRender</a>, <a class="el" href="a05363.html#a556a214">NL3D::PSMotion</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="a05641.html#l00118">NL3D::CMaterial::setColor()</a>, <a class="el" href="a05454.html#l00044">NL3D::TAnimationTime</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05981.html#l00100">uint32</a>, <a class="el" href="a06275.html#l00139">NL3D::CPSRibbonBase::updateGlobals()</a>, and <a class="el" href="a06258.html#l00103">NL3D::CPSParticle::usesGlobalColorLighting()</a>.
+<p>
+<div class="fragment"><pre>00267 {
+00268 <span class="keywordflow">if</span> (pass == <a class="code" href="a05363.html#a556a214">PSMotion</a>)
+00269 {
+00270 <span class="keywordflow">if</span> (!<a class="code" href="a03227.html#NL3D_1_1CPSTailDotp9">_Parametric</a>)
+00271 {
+00272 <a class="code" href="a03227.html#NL3D_1_1CPSTailDotb19">updateGlobals</a>(realET);
+00273 }
+00274 }
+00275 <span class="keywordflow">else</span>
+00276 <span class="keywordflow">if</span> (
+00277 (pass == <a class="code" href="a05363.html#a556a216">PSBlendRender</a> &amp;&amp; <a class="code" href="a03226.html#NL3D_1_1CPSRibbona51">hasTransparentFaces</a>())
+00278 || (pass == <a class="code" href="a05363.html#a556a215">PSSolidRender</a> &amp;&amp; <a class="code" href="a03226.html#NL3D_1_1CPSRibbona49">hasOpaqueFaces</a>())
+00279 )
+00280 {
+00281 <a class="code" href="a04558.html#a11">uint32</a> <a class="code" href="a03226.html#NL3D_1_1CPSRibbona77">step</a>;
+00282 <a class="code" href="a04558.html#a15">uint</a> numToProcess;
+00283 <a class="code" href="a03162.html#NL3D_1_1CPSTailDotb2">computeSrcStep</a>(step, numToProcess);
+00284 <span class="keywordflow">if</span> (!numToProcess) <span class="keywordflow">return</span>;
+00285
+00287 CParticleSystem &amp;ps = *(<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner());
+00288 <span class="keywordflow">if</span> (ps.getForceGlobalColorLightingFlag() || <a class="code" href="a03162.html#NL3D_1_1CPSTailDota64">usesGlobalColorLighting</a>())
+00289 {
+00290 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.setColor(ps.getGlobalColorLighted());
+00291 }
+00292 <span class="keywordflow">else</span>
+00293 {
+00294 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.setColor(ps.getGlobalColor());
+00295 }
+00296
+00301 <a class="code" href="a03226.html#NL3D_1_1CPSRibbond0">displayRibbons</a>(numToProcess, step);
+00302
+00303 }
+00304 <span class="keywordflow">else</span>
+00305 <span class="keywordflow">if</span> (pass == <a class="code" href="a05363.html#a556a217">PSToolRender</a>) <span class="comment">// edition mode only</span>
+00306 {
+00307 <span class="comment">//showTool();</span>
+00308 }
+00309 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbona78" doxytag="NL3D::CPSRibbon::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::CPSRibbon::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> [inline, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Implements <a class="el" href="a03162.html#NL3D_1_1CPSRibbonBasea54">NL3D::CPSParticle</a>.
+<p>
+Definition at line <a class="el" href="a06274.html#l00176">176</a> of file <a class="el" href="a06274.html">ps_ribbon.h</a>.
+<p>
+<div class="fragment"><pre>00176 { <span class="keywordflow">return</span> <span class="keyword">true</span>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbond6" doxytag="NL3D::CPSRibbon::touch" ></a><p>
+<table class="mdTable" 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::CPSRibbon::touch </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, 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="a06274.html#l00260">260</a> of file <a class="el" href="a06274.html">ps_ribbon.h</a>.
+<p>
+References <a class="el" href="a06274.html#l00258">_Touch</a>.
+<p>
+Referenced by <a class="el" href="a06273.html#l00471">displayRibbons()</a>, <a class="el" href="a06274.html#l00076">setColorFading()</a>, <a class="el" href="a06274.html#l00122">setTexFactor()</a>, <a class="el" href="a06274.html#l00120">setTexture()</a>, and <a class="el" href="a06273.html#l00340">updateMatAndVbForColor()</a>.
+<p>
+<div class="fragment"><pre>00260 { <a class="code" href="a03226.html#NL3D_1_1CPSRibbonr6">_Touch</a> = <span class="keyword">true</span>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotb19" doxytag="NL3D::CPSRibbon::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, inherited]</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">NL3D::CPSRibbonBase::_NbSegs</a>, <a class="el" href="a06276.html#l00103">NL3D::CPSRibbonBase::_Parametric</a>, <a class="el" href="a06276.html#l00143">NL3D::CPSRibbonBase::_RibbonIndex</a>, <a class="el" href="a06276.html#l00146">NL3D::CPSRibbonBase::_Ribbons</a>, <a class="el" href="a06276.html#l00142">NL3D::CPSRibbonBase::_SamplingDate</a>, <a class="el" href="a06276.html#l00102">NL3D::CPSRibbonBase::_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">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 - _LastUpdateDate &gt;= <a class="code" href="a03227.html#NL3D_1_1CPSTailDotp10">_SegDuration</a>)
+00147 {
+00148 <span class="keywordflow">if</span> (_RibbonIndex == 0) _RibbonIndex = <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> --_RibbonIndex;
+00150
+00152 ::memmove(&amp;_SamplingDate[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 _LastUpdateDate = currDate;
+00154 }
+00155
+00157 _SamplingDate[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;_Ribbons[_RibbonIndex];
+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::CPSRibbon::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, inherited]</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">NL3D::CPSRibbonBase::_NbSegs</a>, <a class="el" href="a06276.html#l00102">NL3D::CPSRibbonBase::_SegDuration</a>, <a class="el" href="a06276.html#l00151">NL3D::CPSRibbonBase::_SegLength</a>, <a class="el" href="a06276.html#l00136">NL3D::CPSRibbonBase::_UsedNbSegs</a>, <a class="el" href="a06276.html#l00137">NL3D::CPSRibbonBase::_UsedSegDuration</a>, <a class="el" href="a06276.html#l00138">NL3D::CPSRibbonBase::_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 = _LODDegradation + (1.f - _LODDegradation ) * 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> = _SegLength / std::max(epsilon, lodRatio);
+00622
+00623 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbond7" doxytag="NL3D::CPSRibbon::updateMatAndVbForColor" ></a><p>
+<table class="mdTable" 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::CPSRibbon::updateMatAndVbForColor </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> [private, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+update the material and the vb so that they match the color scheme. Inherited from <a class="el" href="a03157.html">CPSColoredParticle</a>
+<p>
+
+<p>
+Implements <a class="el" href="a03157.html#NL3D_1_1CPSColoredParticleb4">NL3D::CPSColoredParticle</a>.
+<p>
+Definition at line <a class="el" href="a06273.html#l00340">340</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>.
+<p>
+References <a class="el" href="a06274.html#l00260">touch()</a>.
+<p>
+<div class="fragment"><pre>00341 {
+00342 <a class="code" href="a03226.html#NL3D_1_1CPSRibbond6">touch</a>();
+00343 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbond8" doxytag="NL3D::CPSRibbon::updateMaterial" ></a><p>
+<table class="mdTable" 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::CPSRibbon::updateMaterial </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]</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="a06273.html#l00967">967</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>.
+<p>
+References <a class="el" href="a06274.html#l00258">_Touch</a>, <a class="el" href="a06273.html#l01107">setupTextureMatrix()</a>, <a class="el" href="a06273.html#l00890">updateTexturedMaterial()</a>, and <a class="el" href="a06273.html#l00824">updateUntexturedMaterial()</a>.
+<p>
+Referenced by <a class="el" href="a06273.html#l00471">displayRibbons()</a>.
+<p>
+<div class="fragment"><pre>00968 {
+00969 <span class="keywordflow">if</span> (!<a class="code" href="a03226.html#NL3D_1_1CPSRibbonr6">_Touch</a>) <span class="keywordflow">return</span>;
+00970 <span class="keywordflow">if</span> (<a class="code" href="a03226.html#NL3D_1_1CPSRibbonr5">_Tex</a> != NULL)
+00971 {
+00972 <a class="code" href="a03226.html#NL3D_1_1CPSRibbond9">updateTexturedMaterial</a>();
+00973 <a class="code" href="a03226.html#NL3D_1_1CPSRibbond4">setupTextureMatrix</a>();
+00974 }
+00975 <span class="keywordflow">else</span>
+00976 {
+00977 <a class="code" href="a03226.html#NL3D_1_1CPSRibbond10">updateUntexturedMaterial</a>();
+00978 }
+00979 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbond9" doxytag="NL3D::CPSRibbon::updateTexturedMaterial" ></a><p>
+<table class="mdTable" 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::CPSRibbon::updateTexturedMaterial </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, private]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+fading is stored in last stage (work only with 3 stages...)
+<p>
+Definition at line <a class="el" href="a06273.html#l00890">890</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>.
+<p>
+References <a class="el" href="a06274.html#l00254">_ColorFading</a>, <a class="el" href="a06274.html#l00258">_Touch</a>, <a class="el" href="a06273.html#l00042">NL3D::CreateGradientTexture()</a>, <a class="el" href="a06143.html#l00657">NL3D::CParticleSystem::getColorAttenuationScheme()</a>, <a class="el" href="a06143.html#l00679">NL3D::CParticleSystem::getForceGlobalColorLightingFlag()</a>, <a class="el" href="a06151.html#l00111">NL3D::CParticleSystemProcess::getOwner()</a>, <a class="el" href="a06143.html#l00669">NL3D::CParticleSystem::isUserColorUsed()</a>, <a class="el" href="a05968.html#l00322">NL3D::CMaterial::setTexture()</a>, <a class="el" href="a06258.html#l00850">NL3D::SetupModulatedStage()</a>, and <a class="el" href="a06258.html#l00103">NL3D::CPSParticle::usesGlobalColorLighting()</a>.
+<p>
+Referenced by <a class="el" href="a06273.html#l00967">updateMaterial()</a>.
+<p>
+<div class="fragment"><pre>00891 {
+00893 <span class="comment">// TEXTURED RIBBON //</span>
+00895 <span class="comment"></span>
+00896 <span class="keyword">static</span> <a class="code" href="a03321.html">NLMISC::CRefPtr&lt;ITexture&gt;</a> ptGradTexture;
+00897 CParticleSystem &amp;ps = *(<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner());
+00898 <span class="keywordflow">if</span> (<a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a>)
+00899 { <span class="comment">// PER RIBBON COLOR</span>
+00900 <span class="keywordflow">if</span> (ps.getForceGlobalColorLightingFlag() || <a class="code" href="a03162.html#NL3D_1_1CPSTailDota64">usesGlobalColorLighting</a>() || ps.getColorAttenuationScheme() || ps.isUserColorUsed())
+00901 {
+00902 <span class="keywordflow">if</span> (<a class="code" href="a03226.html#NL3D_1_1CPSRibbonr0">_ColorFading</a>) <span class="comment">// global color + fading + per ribbon color</span>
+00903 {
+00904 <span class="keywordflow">if</span> (ptGradTexture == NULL) <span class="comment">// have we got a gradient texture ?</span>
+00905 {
+00906 ptGradTexture = <a class="code" href="a05363.html#a509">CreateGradientTexture</a>(); <span class="comment">// create it</span>
+00907 }
+00909 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.setTexture(0, ptGradTexture);
+00910 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.setTexture(1, _Tex);
+00911 CPSMaterial::forceTexturedMaterialStages(3); <span class="comment">// use constant color 0 * diffuse, 1 stage needed </span>
+00912 <a class="code" href="a05363.html#a503">SetupModulatedStage</a>(_Mat, 0, CMaterial::Texture, CMaterial::Diffuse);
+00913 <a class="code" href="a05363.html#a503">SetupModulatedStage</a>(_Mat, 1, CMaterial::Texture, CMaterial::Previous);
+00914 <a class="code" href="a05363.html#a503">SetupModulatedStage</a>(_Mat, 2, CMaterial::Previous, CMaterial::Constant);
+00915 }
+00916 <span class="keywordflow">else</span> <span class="comment">// per ribbon color with global color </span>
+00917 {
+00918 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.setTexture(0, _Tex);
+00919 CPSMaterial::forceTexturedMaterialStages(2); <span class="comment">// use constant color 0 * diffuse, 1 stage needed </span>
+00920 <a class="code" href="a05363.html#a503">SetupModulatedStage</a>(_Mat, 0, CMaterial::Texture, CMaterial::Diffuse);
+00921 <a class="code" href="a05363.html#a503">SetupModulatedStage</a>(_Mat, 1, CMaterial::Previous, CMaterial::Constant);
+00922 }
+00923 }
+00924 <span class="keywordflow">else</span>
+00925 {
+00926 <span class="keywordflow">if</span> (<a class="code" href="a03226.html#NL3D_1_1CPSRibbonr0">_ColorFading</a>) <span class="comment">// per ribbon color, fading : 2 textures needed</span>
+00927 {
+00928 <span class="keywordflow">if</span> (ptGradTexture == NULL) <span class="comment">// have we got a gradient texture ?</span>
+00929 {
+00930 ptGradTexture = <a class="code" href="a05363.html#a509">CreateGradientTexture</a>(); <span class="comment">// create it</span>
+00931 }
+00932 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.setTexture(0, ptGradTexture);
+00933 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.setTexture(1, _Tex);
+00934 CPSMaterial::forceTexturedMaterialStages(2);
+00935 <a class="code" href="a05363.html#a503">SetupModulatedStage</a>(_Mat, 0, CMaterial::Texture, CMaterial::Diffuse); <span class="comment">// texture * ribbon color</span>
+00936 <a class="code" href="a05363.html#a503">SetupModulatedStage</a>(_Mat, 1, CMaterial::Texture, CMaterial::Previous); <span class="comment">// * gradient</span>
+00937 }
+00938 <span class="keywordflow">else</span> <span class="comment">// per color ribbon with no fading, and no global color</span>
+00939 {
+00940 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.setTexture(0, _Tex);
+00941 CPSMaterial::forceTexturedMaterialStages(1); <span class="comment">// no texture use constant diffuse only</span>
+00942 <a class="code" href="a05363.html#a503">SetupModulatedStage</a>(_Mat, 0, CMaterial::Texture, CMaterial::Diffuse);
+00943 }
+00944 }
+00945 }
+00946 <span class="keywordflow">else</span> <span class="comment">// GLOBAL COLOR</span>
+00947 {
+00948
+00949 <span class="keywordflow">if</span> (<a class="code" href="a03226.html#NL3D_1_1CPSRibbonr0">_ColorFading</a>) <span class="comment">// gradient is encoded in diffuse</span>
+00950 {
+00951 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.setTexture(0, _Tex);
+00952 CPSMaterial::forceTexturedMaterialStages(2); <span class="comment">// use constant color 0 * diffuse, 1 stage needed </span>
+00953 <a class="code" href="a05363.html#a503">SetupModulatedStage</a>(_Mat, 0, CMaterial::Texture, CMaterial::Diffuse);
+00954 <a class="code" href="a05363.html#a503">SetupModulatedStage</a>(_Mat, 1, CMaterial::Previous, CMaterial::Constant);
+00955 }
+00956 <span class="keywordflow">else</span> <span class="comment">// constant color</span>
+00957 {
+00958 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.setTexture(0, _Tex);
+00959 CPSMaterial::forceTexturedMaterialStages(1); <span class="comment">// no texture use constant diffuse only </span>
+00960 <a class="code" href="a05363.html#a503">SetupModulatedStage</a>(_Mat, 0, CMaterial::Texture, CMaterial::Diffuse);
+00961 }
+00962 }
+00963 <a class="code" href="a03226.html#NL3D_1_1CPSRibbonr6">_Touch</a> = <span class="keyword">false</span>;
+00964 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbond10" doxytag="NL3D::CPSRibbon::updateUntexturedMaterial" ></a><p>
+<table class="mdTable" 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::CPSRibbon::updateUntexturedMaterial </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, 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="a06273.html#l00824">824</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>.
+<p>
+References <a class="el" href="a06274.html#l00254">_ColorFading</a>, <a class="el" href="a06274.html#l00258">_Touch</a>, <a class="el" href="a06273.html#l00042">NL3D::CreateGradientTexture()</a>, <a class="el" href="a06143.html#l00657">NL3D::CParticleSystem::getColorAttenuationScheme()</a>, <a class="el" href="a06143.html#l00679">NL3D::CParticleSystem::getForceGlobalColorLightingFlag()</a>, <a class="el" href="a06151.html#l00111">NL3D::CParticleSystemProcess::getOwner()</a>, <a class="el" href="a06143.html#l00669">NL3D::CParticleSystem::isUserColorUsed()</a>, <a class="el" href="a05968.html#l00322">NL3D::CMaterial::setTexture()</a>, <a class="el" href="a06258.html#l00850">NL3D::SetupModulatedStage()</a>, and <a class="el" href="a06258.html#l00103">NL3D::CPSParticle::usesGlobalColorLighting()</a>.
+<p>
+Referenced by <a class="el" href="a06273.html#l00967">updateMaterial()</a>.
+<p>
+<div class="fragment"><pre>00825 {
+00827 <span class="comment">// UNTEXTURED RIBBON //</span>
+00829 <span class="comment"></span>
+00830 <span class="keyword">static</span> <a class="code" href="a03321.html">NLMISC::CRefPtr&lt;ITexture&gt;</a> ptGradTexture;
+00831
+00832 CParticleSystem &amp;ps = *(<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner());
+00833 <span class="keywordflow">if</span> (<a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a>)
+00834 { <span class="comment">// PER RIBBON COLOR</span>
+00835 <span class="keywordflow">if</span> (ps.getForceGlobalColorLightingFlag() || <a class="code" href="a03162.html#NL3D_1_1CPSTailDota64">usesGlobalColorLighting</a>() || ps.getColorAttenuationScheme() || ps.isUserColorUsed())
+00836 {
+00837 <span class="keywordflow">if</span> (<a class="code" href="a03226.html#NL3D_1_1CPSRibbonr0">_ColorFading</a>) <span class="comment">// global color + fading + per ribbon color</span>
+00838 {
+00839 <span class="comment">// the first stage is used to get fading * global color</span>
+00840 <span class="comment">// the second stage multiply the result by the diffuse colot</span>
+00841 <span class="keywordflow">if</span> (ptGradTexture == NULL) <span class="comment">// have we got a gradient texture ?</span>
+00842 {
+00843 ptGradTexture = <a class="code" href="a05363.html#a509">CreateGradientTexture</a>();
+00844 }
+00845 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.setTexture(0, ptGradTexture);
+00846 CPSMaterial::forceTexturedMaterialStages(2); <span class="comment">// use constant color 0 * diffuse, 1 stage needed</span>
+00847 <a class="code" href="a05363.html#a503">SetupModulatedStage</a>(_Mat, 0, CMaterial::Texture, CMaterial::Constant);
+00848 <a class="code" href="a05363.html#a503">SetupModulatedStage</a>(_Mat, 1, CMaterial::Previous, CMaterial::Diffuse);
+00849 }
+00850 <span class="keywordflow">else</span> <span class="comment">// per ribbon color with global color </span>
+00851 {
+00852 CPSMaterial::forceTexturedMaterialStages(1); <span class="comment">// use constant color 0 * diffuse, 1 stage needed</span>
+00853 <a class="code" href="a05363.html#a503">SetupModulatedStage</a>(_Mat, 0, CMaterial::Diffuse, CMaterial::Constant);
+00854 }
+00855 }
+00856 <span class="keywordflow">else</span>
+00857 {
+00858 <span class="keywordflow">if</span> (<a class="code" href="a03226.html#NL3D_1_1CPSRibbonr0">_ColorFading</a>) <span class="comment">// per ribbon color, no fading</span>
+00859 {
+00860 <span class="keywordflow">if</span> (ptGradTexture == NULL) <span class="comment">// have we got a gradient texture ?</span>
+00861 {
+00862 ptGradTexture = <a class="code" href="a05363.html#a509">CreateGradientTexture</a>();
+00863 }
+00864 <a class="code" href="a03178.html#NL3D_1_1CPSTailDotp5">_Mat</a>.setTexture(0, ptGradTexture);
+00865 CPSMaterial::forceTexturedMaterialStages(1);
+00866 <a class="code" href="a05363.html#a503">SetupModulatedStage</a>(_Mat, 0, CMaterial::Texture, CMaterial::Diffuse);
+00867 }
+00868 <span class="keywordflow">else</span> <span class="comment">// per color ribbon with no fading, and no global color</span>
+00869 {
+00870 CPSMaterial::forceTexturedMaterialStages(0); <span class="comment">// no texture use constant diffuse only</span>
+00871 }
+00872 }
+00873 }
+00874 <span class="keywordflow">else</span> <span class="comment">// GLOBAL COLOR</span>
+00875 {
+00876 <span class="keywordflow">if</span> (<a class="code" href="a03226.html#NL3D_1_1CPSRibbonr0">_ColorFading</a>)
+00877 {
+00878 CPSMaterial::forceTexturedMaterialStages(1); <span class="comment">// use constant color 0 * diffuse, 1 stage needed </span>
+00879 <a class="code" href="a05363.html#a503">SetupModulatedStage</a>(_Mat, 0, CMaterial::Diffuse, CMaterial::Constant);
+00880 }
+00881 <span class="keywordflow">else</span> <span class="comment">// color attenuation, no fading : </span>
+00882 {
+00883 CPSMaterial::forceTexturedMaterialStages(0); <span class="comment">// no texture use constant diffuse only </span>
+00884 }
+00885 }
+00886 <a class="code" href="a03226.html#NL3D_1_1CPSRibbonr6">_Touch</a> = <span class="keyword">false</span>;
+00887 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota64" doxytag="NL3D::CPSRibbon::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">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">setupTexturedGlobalColor()</a>, <a class="el" href="a06273.html#l00984">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">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">updateTexturedMaterial()</a>, and <a class="el" href="a06273.html#l00824">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::CPSRibbon::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::CPSRibbon::_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_1CPSTailDotp1" doxytag="NL3D::CPSRibbon::_Color" ></a><p>
+<table class="mdTable" 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="a03337.html">CRGBA</a> <a class="el" href="a03157.html#NL3D_1_1CPSTailDotp1">NL3D::CPSColoredParticle::_Color</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="a06258.html#l00226">226</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonz752_3" doxytag="NL3D::CPSRibbon::_ColoredVBMap" ></a><p>
+<table class="mdTable" 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="a03226.html#NL3D_1_1CPSRibbonz752_0">CPSRibbon::TVBMap</a> <a class="el" href="a03226.html#NL3D_1_1CPSRibbonz752_3">NL3D::CPSRibbon::_ColoredVBMap</a><code> [static, 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="a06273.html#l00106">106</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonr0" doxytag="NL3D::CPSRibbon::_ColorFading" ></a><p>
+<table class="mdTable" 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="a03226.html#NL3D_1_1CPSRibbonr0">NL3D::CPSRibbon::_ColorFading</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="a06274.html#l00254">254</a> of file <a class="el" href="a06274.html">ps_ribbon.h</a>.
+<p>
+Referenced by <a class="el" href="a06274.html#l00084">getColorFading()</a>, <a class="el" href="a06273.html#l00695">getVBnPB()</a>, <a class="el" href="a06274.html#l00076">setColorFading()</a>, <a class="el" href="a06273.html#l01026">setupTexturedGlobalColor()</a>, <a class="el" href="a06273.html#l01107">setupTextureMatrix()</a>, <a class="el" href="a06273.html#l00984">setupUntexturedGlobalColor()</a>, <a class="el" href="a06273.html#l00890">updateTexturedMaterial()</a>, and <a class="el" href="a06273.html#l00824">updateUntexturedMaterial()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotp2" doxytag="NL3D::CPSRibbon::_ColorScheme" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03136.html">CPSAttribMaker</a>&lt;<a class="el" href="a03337.html">CRGBA</a>&gt;* <a class="el" href="a03157.html#NL3D_1_1CPSTailDotp2">NL3D::CPSColoredParticle::_ColorScheme</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="a06258.html#l00228">228</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+Referenced by <a class="el" href="a06235.html#l00072">NL3D::CPSFanLightHelper::drawFanLight()</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_1CPSZoneSpherep3" doxytag="NL3D::CPSRibbon::_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_1CPSRibbonz752_4" doxytag="NL3D::CPSRibbon::_FadedColoredVBMap" ></a><p>
+<table class="mdTable" 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="a03226.html#NL3D_1_1CPSRibbonz752_0">CPSRibbon::TVBMap</a> <a class="el" href="a03226.html#NL3D_1_1CPSRibbonz752_4">NL3D::CPSRibbon::_FadedColoredVBMap</a><code> [static, 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="a06273.html#l00107">107</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>.
+<p>
+Referenced by <a class="el" href="a06273.html#l00695">getVBnPB()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonz752_5" doxytag="NL3D::CPSRibbon::_FadedVBMap" ></a><p>
+<table class="mdTable" 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="a03226.html#NL3D_1_1CPSRibbonz752_0">CPSRibbon::TVBMap</a> <a class="el" href="a03226.html#NL3D_1_1CPSRibbonz752_5">NL3D::CPSRibbon::_FadedVBMap</a><code> [static, 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="a06273.html#l00105">105</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>.
+<p>
+Referenced by <a class="el" href="a06273.html#l00695">getVBnPB()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonr1" doxytag="NL3D::CPSRibbon::_ForceLighted" ></a><p>
+<table class="mdTable" 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="a03226.html#NL3D_1_1CPSRibbonr1">NL3D::CPSRibbon::_ForceLighted</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="a06274.html#l00257">257</a> of file <a class="el" href="a06274.html">ps_ribbon.h</a>.
+<p>
+Referenced by <a class="el" href="a06273.html#l00471">displayRibbons()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonr2" doxytag="NL3D::CPSRibbon::_GlobalColor" ></a><p>
+<table class="mdTable" 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="a03226.html#NL3D_1_1CPSRibbonr2">NL3D::CPSRibbon::_GlobalColor</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="a06274.html#l00255">255</a> of file <a class="el" href="a06274.html">ps_ribbon.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonr3" doxytag="NL3D::CPSRibbon::_Lighted" ></a><p>
+<table class="mdTable" 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="a03226.html#NL3D_1_1CPSRibbonr3">NL3D::CPSRibbon::_Lighted</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="a06274.html#l00256">256</a> of file <a class="el" href="a06274.html">ps_ribbon.h</a>.
+<p>
+Referenced by <a class="el" href="a06273.html#l00471">displayRibbons()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherep4" doxytag="NL3D::CPSRibbon::_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_1CPSTailDotp5" doxytag="NL3D::CPSRibbon::_Mat" ></a><p>
+<table class="mdTable" 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="a02839.html">CMaterial</a> <a class="el" href="a03178.html#NL3D_1_1CPSTailDotp5">NL3D::CPSMaterial::_Mat</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="a06258.html#l00844">844</a> of file <a class="el" href="a06258.html">ps_particle_basic.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>, and <a class="el" href="a06233.html#l00089">NL3D::CPSFaceLookAtHelper::drawLookAtAlignOnMotion()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherep5" doxytag="NL3D::CPSRibbon::_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::CPSRibbon::_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, 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="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">NL3D::CPSRibbonBase::computeHermitteCstSizeRibbon()</a>, <a class="el" href="a06275.html#l00175">NL3D::CPSRibbonBase::computeHermitteRibbon()</a>, <a class="el" href="a06275.html#l00315">NL3D::CPSRibbonBase::computeLinearCstSizeRibbon()</a>, <a class="el" href="a06275.html#l00249">NL3D::CPSRibbonBase::computeLinearRibbon()</a>, <a class="el" href="a06275.html#l00489">NL3D::CPSRibbonBase::dupRibbon()</a>, <a class="el" href="a06276.html#l00072">NL3D::CPSRibbonBase::getTailNbSeg()</a>, <a class="el" href="a06275.html#l00568">NL3D::CPSRibbonBase::initDateVect()</a>, <a class="el" href="a06275.html#l00528">NL3D::CPSRibbonBase::resetSingleRibbon()</a>, <a class="el" href="a06275.html#l00518">NL3D::CPSRibbonBase::resize()</a>, <a class="el" href="a06275.html#l00095">NL3D::CPSRibbonBase::setRibbonLength()</a>, <a class="el" href="a06275.html#l00118">NL3D::CPSRibbonBase::setTailNbSeg()</a>, <a class="el" href="a06275.html#l00139">NL3D::CPSRibbonBase::updateGlobals()</a>, and <a class="el" href="a06275.html#l00610">NL3D::CPSRibbonBase::updateLOD()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherep6" doxytag="NL3D::CPSRibbon::_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::CPSRibbon::_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, 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="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">NL3D::CPSRibbonBase::computeHermitteCstSizeRibbon()</a>, <a class="el" href="a06275.html#l00175">NL3D::CPSRibbonBase::computeHermitteRibbon()</a>, <a class="el" href="a06275.html#l00315">NL3D::CPSRibbonBase::computeLinearCstSizeRibbon()</a>, <a class="el" href="a06275.html#l00249">NL3D::CPSRibbonBase::computeLinearRibbon()</a>, <a class="el" href="a06275.html#l00509">NL3D::CPSRibbonBase::deleteElement()</a>, <a class="el" href="a06275.html#l00489">NL3D::CPSRibbonBase::dupRibbon()</a>, <a class="el" href="a06275.html#l00550">NL3D::CPSRibbonBase::motionTypeChanged()</a>, <a class="el" href="a06275.html#l00499">NL3D::CPSRibbonBase::newElement()</a>, <a class="el" href="a06275.html#l00538">NL3D::CPSRibbonBase::resetFromOwner()</a>, <a class="el" href="a06275.html#l00528">NL3D::CPSRibbonBase::resetSingleRibbon()</a>, <a class="el" href="a06275.html#l00518">NL3D::CPSRibbonBase::resize()</a>, and <a class="el" href="a06275.html#l00139">NL3D::CPSRibbonBase::updateGlobals()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSSizedParticlep0" doxytag="NL3D::CPSRibbon::_ParticleSize" ></a><p>
+<table class="mdTable" 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="a03164.html#NL3D_1_1CPSSizedParticlep0">NL3D::CPSSizedParticle::_ParticleSize</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="a06258.html#l00289">289</a> of file <a class="el" href="a06258.html">ps_particle_basic.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>, <a class="el" href="a06250.html#l00793">NL3D::CPSConstraintMeshHelper::drawPrerotatedMeshs()</a>, <a class="el" href="a06258.html#l00274">NL3D::CPSSizedParticle::getSize()</a>, and <a class="el" href="a06257.html#l00192">NL3D::CPSSizedParticle::setSize()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotp10" doxytag="NL3D::CPSRibbon::_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, 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="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">NL3D::CPSRibbonBase::getSegDuration()</a>, <a class="el" href="a06275.html#l00132">NL3D::CPSRibbonBase::setSegDuration()</a>, <a class="el" href="a06275.html#l00139">NL3D::CPSRibbonBase::updateGlobals()</a>, and <a class="el" href="a06275.html#l00610">NL3D::CPSRibbonBase::updateLOD()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonr4" doxytag="NL3D::CPSRibbon::_Shape" ></a><p>
+<table class="mdTable" 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">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="a03226.html#NL3D_1_1CPSRibbonr4">NL3D::CPSRibbon::_Shape</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="a06274.html#l00250">250</a> of file <a class="el" href="a06274.html">ps_ribbon.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSSizedParticlep1" doxytag="NL3D::CPSRibbon::_SizeScheme" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03136.html">CPSAttribMaker</a>&lt;float&gt;* <a class="el" href="a03164.html#NL3D_1_1CPSSizedParticlep1">NL3D::CPSSizedParticle::_SizeScheme</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="a06258.html#l00290">290</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+Referenced by <a class="el" href="a06258.html#l00295">NL3D::CPSSizedParticle::deleteSizeElement()</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="a06258.html#l00265">NL3D::CPSSizedParticle::getSizeScheme()</a>, <a class="el" href="a06258.html#l00291">NL3D::CPSSizedParticle::newSizeElement()</a>, <a class="el" href="a06258.html#l00299">NL3D::CPSSizedParticle::resizeSize()</a>, <a class="el" href="a06257.html#l00192">NL3D::CPSSizedParticle::setSize()</a>, <a class="el" href="a06257.html#l00183">NL3D::CPSSizedParticle::setSizeScheme()</a>, and <a class="el" href="a06257.html#l00205">NL3D::CPSSizedParticle::~CPSSizedParticle()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonr5" doxytag="NL3D::CPSRibbon::_Tex" ></a><p>
+<table class="mdTable" 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="a03408.html">CSmartPtr</a>&lt;<a class="el" href="a03487.html">ITexture</a>&gt; <a class="el" href="a03226.html#NL3D_1_1CPSRibbonr5">NL3D::CPSRibbon::_Tex</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="a06274.html#l00249">249</a> of file <a class="el" href="a06274.html">ps_ribbon.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonz752_6" doxytag="NL3D::CPSRibbon::_TexColoredVBMap" ></a><p>
+<table class="mdTable" 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="a03226.html#NL3D_1_1CPSRibbonz752_0">CPSRibbon::TVBMap</a> <a class="el" href="a03226.html#NL3D_1_1CPSRibbonz752_6">NL3D::CPSRibbon::_TexColoredVBMap</a><code> [static, 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="a06273.html#l00111">111</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>.
+<p>
+Referenced by <a class="el" href="a06273.html#l00695">getVBnPB()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonz752_7" doxytag="NL3D::CPSRibbon::_TexFadedColoredVBMap" ></a><p>
+<table class="mdTable" 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="a03226.html#NL3D_1_1CPSRibbonz752_0">CPSRibbon::TVBMap</a> <a class="el" href="a03226.html#NL3D_1_1CPSRibbonz752_7">NL3D::CPSRibbon::_TexFadedColoredVBMap</a><code> [static, 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="a06273.html#l00112">112</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>.
+<p>
+Referenced by <a class="el" href="a06273.html#l00695">getVBnPB()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonz752_8" doxytag="NL3D::CPSRibbon::_TexFadedVBMap" ></a><p>
+<table class="mdTable" 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="a03226.html#NL3D_1_1CPSRibbonz752_0">CPSRibbon::TVBMap</a> <a class="el" href="a03226.html#NL3D_1_1CPSRibbonz752_8">NL3D::CPSRibbon::_TexFadedVBMap</a><code> [static, 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="a06273.html#l00110">110</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>.
+<p>
+Referenced by <a class="el" href="a06273.html#l00695">getVBnPB()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonz752_9" doxytag="NL3D::CPSRibbon::_TexVBMap" ></a><p>
+<table class="mdTable" 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="a03226.html#NL3D_1_1CPSRibbonz752_0">CPSRibbon::TVBMap</a> <a class="el" href="a03226.html#NL3D_1_1CPSRibbonz752_9">NL3D::CPSRibbon::_TexVBMap</a><code> [static, private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+textured ribbons
+<p>
+
+<p>
+Definition at line <a class="el" href="a06273.html#l00109">109</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonr6" doxytag="NL3D::CPSRibbon::_Touch" ></a><p>
+<table class="mdTable" 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="a03226.html#NL3D_1_1CPSRibbonr6">NL3D::CPSRibbon::_Touch</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="a06274.html#l00258">258</a> of file <a class="el" href="a06274.html">ps_ribbon.h</a>.
+<p>
+Referenced by <a class="el" href="a06274.html#l00260">touch()</a>, <a class="el" href="a06273.html#l00967">updateMaterial()</a>, <a class="el" href="a06273.html#l00890">updateTexturedMaterial()</a>, and <a class="el" href="a06273.html#l00824">updateUntexturedMaterial()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonr7" doxytag="NL3D::CPSRibbon::_UFactor" ></a><p>
+<table class="mdTable" 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="a03226.html#NL3D_1_1CPSRibbonr7">NL3D::CPSRibbon::_UFactor</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="a06274.html#l00251">251</a> of file <a class="el" href="a06274.html">ps_ribbon.h</a>.
+<p>
+Referenced by <a class="el" href="a06274.html#l00129">getUFactor()</a>, <a class="el" href="a06274.html#l00122">setTexFactor()</a>, and <a class="el" href="a06273.html#l01107">setupTextureMatrix()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotp11" doxytag="NL3D::CPSRibbon::_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, inherited]</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">NL3D::CPSRibbonBase::computeHermitteCstSizeRibbon()</a>, <a class="el" href="a06275.html#l00175">NL3D::CPSRibbonBase::computeHermitteRibbon()</a>, <a class="el" href="a06275.html#l00315">NL3D::CPSRibbonBase::computeLinearCstSizeRibbon()</a>, <a class="el" href="a06275.html#l00249">NL3D::CPSRibbonBase::computeLinearRibbon()</a>, and <a class="el" href="a06275.html#l00610">NL3D::CPSRibbonBase::updateLOD()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotp12" doxytag="NL3D::CPSRibbon::_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, 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="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">NL3D::CPSRibbonBase::computeHermitteRibbon()</a>, <a class="el" href="a06275.html#l00249">NL3D::CPSRibbonBase::computeLinearRibbon()</a>, and <a class="el" href="a06275.html#l00610">NL3D::CPSRibbonBase::updateLOD()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotp13" doxytag="NL3D::CPSRibbon::_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, 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="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">NL3D::CPSRibbonBase::computeHermitteCstSizeRibbon()</a>, <a class="el" href="a06275.html#l00315">NL3D::CPSRibbonBase::computeLinearCstSizeRibbon()</a>, and <a class="el" href="a06275.html#l00610">NL3D::CPSRibbonBase::updateLOD()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonz752_10" doxytag="NL3D::CPSRibbon::_VBMap" ></a><p>
+<table class="mdTable" 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="a03226.html#NL3D_1_1CPSRibbonz752_0">CPSRibbon::TVBMap</a> <a class="el" href="a03226.html#NL3D_1_1CPSRibbonz752_10">NL3D::CPSRibbon::_VBMap</a><code> [static, private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+untextured ribbons
+<p>
+
+<p>
+Definition at line <a class="el" href="a06273.html#l00104">104</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonr8" doxytag="NL3D::CPSRibbon::_VFactor" ></a><p>
+<table class="mdTable" 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="a03226.html#NL3D_1_1CPSRibbonr8">NL3D::CPSRibbon::_VFactor</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="a06274.html#l00251">251</a> of file <a class="el" href="a06274.html">ps_ribbon.h</a>.
+<p>
+Referenced by <a class="el" href="a06274.html#l00131">getVFactor()</a>, <a class="el" href="a06274.html#l00122">setTexFactor()</a>, and <a class="el" href="a06273.html#l01107">setupTextureMatrix()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonz750_0" doxytag="NL3D::CPSRibbon::HeightSides" ></a><p>
+<table class="mdTable" 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="a03128.html">NLMISC::CVector</a> <a class="el" href="a03226.html#NL3D_1_1CPSRibbonz750_0">NL3D::CPSRibbon::HeightSides</a><code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b>Initial value:</b><div class="fragment"><pre>
+{
+ <a class="code" href="a03128.html">NLMISC::CVector</a>(-0.5f, 1, 0),
+ <a class="code" href="a03128.html">NLMISC::CVector</a>(0.5f, 1, 0),
+ <a class="code" href="a03128.html">NLMISC::CVector</a>(1, 0.5f, 0),
+ <a class="code" href="a03128.html">NLMISC::CVector</a>(1, -0.5f, 0),
+ <a class="code" href="a03128.html">NLMISC::CVector</a>(0.5f, -1, 0),
+ <a class="code" href="a03128.html">NLMISC::CVector</a>(-0.5f, -1, 0),
+ <a class="code" href="a03128.html">NLMISC::CVector</a>(-1, -0.5f, 0),
+ <a class="code" href="a03128.html">NLMISC::CVector</a>(-1, 0.5f, 0)
+}
+</pre></div>Predefined shape : height sides.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06273.html#l00076">76</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonz750_1" doxytag="NL3D::CPSRibbon::Losange" ></a><p>
+<table class="mdTable" 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="a03128.html">NLMISC::CVector</a> <a class="el" href="a03226.html#NL3D_1_1CPSRibbonz750_1">NL3D::CPSRibbon::Losange</a><code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b>Initial value:</b><div class="fragment"><pre>
+{
+ <a class="code" href="a03128.html">NLMISC::CVector</a>(0, 1.f, 0),
+ <a class="code" href="a03128.html">NLMISC::CVector</a>(1.f, 0, 0),
+ <a class="code" href="a03128.html">NLMISC::CVector</a>(0, -1.f, 0),
+ <a class="code" href="a03128.html">NLMISC::CVector</a>(-1.f, 0, 0)
+}
+</pre></div>Predefined shape : a regular losange shape.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06273.html#l00068">68</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonz750_2" doxytag="NL3D::CPSRibbon::NbVerticesInHeightSide" ></a><p>
+<table class="mdTable" 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="a04558.html#a15">uint</a> <a class="el" href="a03226.html#NL3D_1_1CPSRibbonz750_2">NL3D::CPSRibbon::NbVerticesInHeightSide</a> = sizeof(<a class="el" href="a03226.html#NL3D_1_1CPSRibbonz750_0">CPSRibbon::HeightSides</a>) / sizeof(<a class="el" href="a03128.html">CVector</a>)<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+number of vertices in the height side (must be 8 ... :) )
+<p>
+
+<p>
+Definition at line <a class="el" href="a06273.html#l00100">100</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonz750_3" doxytag="NL3D::CPSRibbon::NbVerticesInLosange" ></a><p>
+<table class="mdTable" 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="a04558.html#a15">uint</a> <a class="el" href="a03226.html#NL3D_1_1CPSRibbonz750_3">NL3D::CPSRibbon::NbVerticesInLosange</a> = sizeof(<a class="el" href="a03226.html#NL3D_1_1CPSRibbonz750_1">Losange</a>) / sizeof(<a class="el" href="a03128.html">CVector</a>)<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+number of vertices in the losange
+<p>
+
+<p>
+Definition at line <a class="el" href="a06273.html#l00099">99</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonz750_4" doxytag="NL3D::CPSRibbon::NbVerticesInPentagram" ></a><p>
+<table class="mdTable" 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="a04558.html#a15">uint</a> <a class="el" href="a03226.html#NL3D_1_1CPSRibbonz750_4">NL3D::CPSRibbon::NbVerticesInPentagram</a> = sizeof(<a class="el" href="a03226.html#NL3D_1_1CPSRibbonz750_6">CPSRibbon::Pentagram</a>) / sizeof(<a class="el" href="a03128.html">CVector</a>)<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Predefined shape : height sides.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06273.html#l00101">101</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonz750_5" doxytag="NL3D::CPSRibbon::NbVerticesInTriangle" ></a><p>
+<table class="mdTable" 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="a04558.html#a15">uint</a> <a class="el" href="a03226.html#NL3D_1_1CPSRibbonz750_5">NL3D::CPSRibbon::NbVerticesInTriangle</a> = sizeof(<a class="el" href="a03226.html#NL3D_1_1CPSRibbonz750_7">CPSRibbon::Triangle</a>) / sizeof(<a class="el" href="a03128.html">CVector</a>)<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Predefined shape : height sides.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06273.html#l00098">98</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>.
+<p>
+Referenced by <a class="el" href="a06273.html#l00233">CPSRibbon()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonz750_6" doxytag="NL3D::CPSRibbon::Pentagram" ></a><p>
+<table class="mdTable" 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="a03128.html">NLMISC::CVector</a> <a class="el" href="a03226.html#NL3D_1_1CPSRibbonz750_6">NL3D::CPSRibbon::Pentagram</a><code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b>Initial value:</b><div class="fragment"><pre>
+{
+ <a class="code" href="a03128.html">NLMISC::CVector</a>(0, 1, 0),
+ <a class="code" href="a03128.html">NLMISC::CVector</a>(1, -1, 0),
+ <a class="code" href="a03128.html">NLMISC::CVector</a>(-1, 0, 0),
+ <a class="code" href="a03128.html">NLMISC::CVector</a>(1, 0, 0),
+ <a class="code" href="a03128.html">NLMISC::CVector</a>(-1, -1, 0)
+}
+</pre></div>Predifined shape : pentagram.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06273.html#l00089">89</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSRibbonz750_7" doxytag="NL3D::CPSRibbon::Triangle" ></a><p>
+<table class="mdTable" 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="a03128.html">NLMISC::CVector</a> <a class="el" href="a03226.html#NL3D_1_1CPSRibbonz750_7">NL3D::CPSRibbon::Triangle</a><code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b>Initial value:</b><div class="fragment"><pre>
+{
+ <a class="code" href="a03128.html">NLMISC::CVector</a>(0, 1, 0),
+ <a class="code" href="a03128.html">NLMISC::CVector</a>(1, -1, 0),
+ <a class="code" href="a03128.html">NLMISC::CVector</a>(-1, -1, 0),
+}
+</pre></div>Predifined shape : triangle.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06273.html#l00061">61</a> of file <a class="el" href="a06273.html">ps_ribbon.cpp</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a06274.html">ps_ribbon.h</a><li><a class="el" href="a06273.html">ps_ribbon.cpp</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 07:22:43 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>