aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/a03055.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/doxygen/nel/a03055.html')
-rw-r--r--docs/doxygen/nel/a03055.html2018
1 files changed, 2018 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a03055.html b/docs/doxygen/nel/a03055.html
new file mode 100644
index 00000000..00ad8d43
--- /dev/null
+++ b/docs/doxygen/nel/a03055.html
@@ -0,0 +1,2018 @@
+<!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::CParticleSystemShape 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::CParticleSystemShape Class Reference</h1><code>#include &lt;<a class="el" href="a06153.html">particle_system_shape.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for NL3D::CParticleSystemShape:
+<p><center><img src="a03055.png" usemap="#NL3D::CParticleSystemShape_map" border="0" alt=""></center>
+<map name="NL3D::CParticleSystemShape_map">
+<area href="a02539.html" alt="NL3D::IShape" shape="rect" coords="94,112,272,136">
+<area href="a02209.html" alt="NLMISC::CRefCount" shape="rect" coords="0,56,178,80">
+<area href="a02867.html" alt="NLMISC::IStreamable" shape="rect" coords="188,56,366,80">
+<area href="a02540.html" alt="NLMISC::IClassable" shape="rect" coords="188,0,366,24">
+</map>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+This class helps to instanciate a particle system (the shape contains a particle system prototype stored as a memory stream) Use the createInstance method to insert the system in a scene To load the shape from a file, use a shape stream
+<p>
+
+<p>
+Definition at line <a class="el" href="a06153.html#l00064">64</a> of file <a class="el" href="a06153.html">particle_system_shape.h</a>.<table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapea0">buildFromPS</a> (const <a class="el" href="a03041.html">NL3D::CParticleSystem</a> &amp;ps)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">=========================================================================== <a href="#NL3D_1_1CParticleSystemShapea0"></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="a02539.html#NL3D_1_1IShapea0">clip</a> (const std::vector&lt; <a class="el" href="a03082.html">CPlane</a> &gt; &amp;pyramid, const <a class="el" href="a02851.html">CMatrix</a> &amp;worldMatrix)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapea2">CParticleSystemShape</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">=========================================================================== <a href="#NL3D_1_1CParticleSystemShapea2"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="a02537.html">CTransformShape</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapea3">createInstance</a> (<a class="el" href="a03348.html">NL3D::CScene</a> &amp;scene)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">=========================================================================== <a href="#NL3D_1_1CParticleSystemShapea3"></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="a03055.html#NL3D_1_1CParticleSystemShapea4">flushTextures</a> (<a class="el" href="a02434.html">IDriver</a> &amp;driver, <a class="el" href="a04558.html#a15">uint</a> selectedTexture)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">=========================================================================== <a href="#NL3D_1_1CParticleSystemShapea4"></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="a03055.html#NL3D_1_1CParticleSystemShapea5">getAABBox</a> (<a class="el" href="a02156.html">NLMISC::CAABBox</a> &amp;bbox) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">=========================================================================== <a href="#NL3D_1_1CParticleSystemShapea5"></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="a03544.html">CTrackDefaultBool</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapea7">getDefaultTriggerTrack</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get a the trigger default track <a href="#NL3D_1_1CParticleSystemShapea7"></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="a02539.html#NL3D_1_1IShapea5">getDistMax</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapea9">getNumTriangles</a> (float distance)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a04558.html#a14">sint</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02209.html#NLGEORGES_1_1UTypea8">getRefCount</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03546.html">CTrackDefaultFloat</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapea11">getUserParamDefaultTrack</a> (<a class="el" href="a04558.html#a15">uint</a> numTrack)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get a the user param default tracks <a href="#NL3D_1_1CParticleSystemShapea11"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03041.html">CParticleSystem</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapea12">instanciatePS</a> (<a class="el" href="a03348.html">CScene</a> &amp;scene, <a class="el" href="a02419.html">NLMISC::CContiguousBlockAllocator</a> *blockAllocator=NULL)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">=========================================================================== <a href="#NL3D_1_1CParticleSystemShapea12"></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="a03055.html#NL3D_1_1CParticleSystemShapea13">isShared</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapea14">NLMISC_DECLARE_CLASS</a> (<a class="el" href="a03055.html">CParticleSystemShape</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="a02539.html#NL3D_1_1IShapea8">profileSceneRender</a> (<a class="el" href="a03325.html">CRenderTrav</a> *rdrTrav, <a class="el" href="a02537.html">CTransformShape</a> *trans, bool opaquePass)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapea16">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_1CParticleSystemShapea16"></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="a02539.html#NL3D_1_1IShapea11">setDistMax</a> (float distMax)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapea18">~CParticleSystemShape</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Dtor. <a href="#NL3D_1_1CParticleSystemShapea18"></a><br><br></td></tr>
+<tr><td colspan="2"><div class="groupHeader">access default tracks.</div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03551.html">CTrackDefaultVector</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapez634_0">getDefaultPos</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03548.html">CTrackDefaultQuat</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapez634_1">getDefaultRotQuat</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03551.html">CTrackDefaultVector</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapez634_2">getDefaultScale</a> ()</td></tr>
+
+<tr><td colspan="2"><div class="groupHeader">Inherited from IShape.</div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapez632_0">render</a> (<a class="el" href="a02434.html">NL3D::IDriver</a> *drv, <a class="el" href="a02537.html">CTransformShape</a> *trans, bool passOpaque)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">=========================================================================== <a href="#NL3D_1_1CParticleSystemShapez632_0"></a><br><br></td></tr>
+<tr><td colspan=2><br><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a14">sint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02209.html#NLGEORGES_1_1UTypeo0">crefs</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>CPtrInfo *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02209.html#NLGEORGES_1_1UTypeo1">pinfo</a></td></tr>
+
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>CPtrInfo&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02209.html#NLGEORGES_1_1UTypes0">NullPtrInfo</a></td></tr>
+
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::vector&lt; <a class="el" href="a03408.html">NLMISC::CSmartPtr</a>&lt;<br>
+ <a class="el" href="a03487.html">ITexture</a> &gt; &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapep0">_CachedTex</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03551.html">CTrackDefaultVector</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapep1">_DefaultPos</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transform default tracks. <a href="#NL3D_1_1CParticleSystemShapep1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03548.html">CTrackDefaultQuat</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapep2">_DefaultRotQuat</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03551.html">CTrackDefaultVector</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapep3">_DefaultScale</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03544.html">CTrackDefaultBool</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapep4">_DefaultTriggerTrack</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Trigger default track. <a href="#NL3D_1_1CParticleSystemShapep4"></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="a03055.html#NL3D_1_1CParticleSystemShapep5">_DestroyModelWhenOutOfRange</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapep6">_DestroyWhenOutOfFrustum</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02539.html#NL3D_1_1IShapep0">_DistMax</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default to -1. <a href="#NL3D_1_1IShapep0"></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="a03055.html#NL3D_1_1CParticleSystemShapep8">_MaxViewDist</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="a03055.html#NL3D_1_1CParticleSystemShapep9">_NumBytesWanted</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02271.html">NLMISC::CMemStream</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapep10">_ParticleSystemProto</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02156.html">NLMISC::CAABBox</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapep11">_PrecomputedBBox</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03321.html">NLMISC::CRefPtr</a>&lt; <a class="el" href="a03041.html">CParticleSystem</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapep12">_SharedSystem</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">For sharing, this tells us if there's a system already instanciated that we could use for sharing. <a href="#NL3D_1_1CParticleSystemShapep12"></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="a03055.html#NL3D_1_1CParticleSystemShapep13">_Sharing</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapep14">_UsePrecomputedBBox</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03546.html">CTrackDefaultFloat</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapep15">_UserParamDefaultTrack</a> [4]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">the default track for animation of user parameters <a href="#NL3D_1_1CParticleSystemShapep15"></a><br><br></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="a03055.html#NL3D_1_1CParticleSystemShapen0">CParticleSystem</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapen1">CParticleSystemModel</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02209.html#NLGEORGES_1_1UTypen0">CPtrInfo</a></td></tr>
+
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="NL3D_1_1CParticleSystemShapea2" doxytag="NL3D::CParticleSystemShape::CParticleSystemShape" ></a><p>
+<table class="mdTable" 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::CParticleSystemShape::CParticleSystemShape </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+===========================================================================
+<p>
+
+<p>
+Definition at line <a class="el" href="a06152.html#l00064">64</a> of file <a class="el" href="a06152.html">particle_system_shape.cpp</a>.
+<p>
+References <a class="el" href="a06153.html#l00167">_DefaultTriggerTrack</a>, <a class="el" href="a06153.html#l00159">_UserParamDefaultTrack</a>, <a class="el" href="a06556.html#l00213">NL3D::CTrackDefaultNotBlendable&lt; bool &gt;::setValue()</a>, <a class="el" href="a06556.html#l00162">NL3D::CTrackDefaultBlendable&lt; CQuat &gt;::setValue()</a>, <a class="el" href="a06556.html#l00162">NL3D::CTrackDefaultBlendable&lt; CVector &gt;::setValue()</a>, <a class="el" href="a06556.html#l00162">NL3D::CTrackDefaultBlendable&lt; float &gt;::setValue()</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>00064 : <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep8">_MaxViewDist</a>(100.f),
+00065 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep6">_DestroyWhenOutOfFrustum</a>(<span class="keyword">false</span>),
+00066 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep5">_DestroyModelWhenOutOfRange</a>(<span class="keyword">false</span>),
+00067 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep14">_UsePrecomputedBBox</a>(<span class="keyword">false</span>),
+00068 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep13">_Sharing</a>(<span class="keyword">false</span>),
+00069 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep9">_NumBytesWanted</a>(0)
+00070 {
+00071 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> k = 0; k &lt; 4; ++k)
+00072 {
+00073 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep15">_UserParamDefaultTrack</a>[k].setValue(0);
+00074 }
+00075 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep1">_DefaultPos</a>.setValue(CVector::Null);
+00076 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep3">_DefaultScale</a>.setValue( CVector(1, 1, 1) );
+00077 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep2">_DefaultRotQuat</a>.setValue(CQuat());
+00078 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep4">_DefaultTriggerTrack</a>.setValue(<span class="keyword">true</span>); <span class="comment">// by default, system start as soon as they are instanciated</span>
+00079
+00080 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CParticleSystemShapea18" doxytag="NL3D::CParticleSystemShape::~CParticleSystemShape" ></a><p>
+<table class="mdTable" 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 NL3D::CParticleSystemShape::~<a class="el" href="a03055.html">CParticleSystemShape</a> </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Dtor.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06153.html#l00078">78</a> of file <a class="el" href="a06153.html">particle_system_shape.h</a>.
+<p>
+<div class="fragment"><pre>00078 {}
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="NL3D_1_1CParticleSystemShapea0" doxytag="NL3D::CParticleSystemShape::buildFromPS" ></a><p>
+<table class="mdTable" 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::CParticleSystemShape::buildFromPS </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03041.html">NL3D::CParticleSystem</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>ps</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+===========================================================================
+<p>
+build the shape from a 'raw' particle system. A prototype will be created by copying the system in a memory stream NOTE : For now, prefer the instanciation from a file, which do not need reallocation
+<p>
+Definition at line <a class="el" href="a06152.html#l00136">136</a> of file <a class="el" href="a06152.html">particle_system_shape.cpp</a>.
+<p>
+References <a class="el" href="a06153.html#l00154">_ParticleSystemProto</a>, <a class="el" href="a06153.html#l00156">_PrecomputedBBox</a>, <a class="el" href="a06153.html#l00174">_UsePrecomputedBBox</a>, <a class="el" href="a06142.html#l00929">NL3D::CParticleSystem::computeBBox()</a>, <a class="el" href="a06143.html#l00840">NL3D::CParticleSystem::doesDestroyWhenOutOfFrustum()</a>, <a class="el" href="a06143.html#l00730">NL3D::CParticleSystem::getAutoComputeBBox()</a>, <a class="el" href="a06143.html#l00761">NL3D::CParticleSystem::getDestroyModelWhenOutOfRange()</a>, <a class="el" href="a06143.html#l00577">NL3D::CParticleSystem::getMaxViewDist()</a>, <a class="el" href="a05979.html#l00331">NLMISC::CMemStream::invert()</a>, <a class="el" href="a06463.html#l00064">NLMISC::IStream::isReading()</a>, <a class="el" href="a06143.html#l00135">NL3D::CParticleSystem::isSharingEnabled()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a06462.html#l00390">NLMISC::IStream::serialPtr()</a>.
+<p>
+<div class="fragment"><pre>00137 {
+00138 <span class="comment">// must be sure that we are writting in the stream</span>
+00139 <span class="keywordflow">if</span> (<a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep10">_ParticleSystemProto</a>.<a class="code" href="a02270.html#NLMISC_1_1IStreama0">isReading</a>())
+00140 {
+00141 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep10">_ParticleSystemProto</a>.<a class="code" href="a02271.html#NLMISC_1_1CStringStreama12">invert</a>();
+00142 }
+00143
+00144 <span class="comment">// to have const correctness in the prototype, we must do this...</span>
+00145 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapen0">CParticleSystem</a> *myPs = const_cast&lt;CParticleSystem *&gt;(&amp;ps);
+00146 <a class="code" href="a04199.html#a6">nlassert</a>(myPs);
+00147 <span class="comment">// build the prototype </span>
+00148 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep10">_ParticleSystemProto</a>.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_7">serialPtr</a>(myPs);
+00149
+00150 <span class="comment">// mirror some system values</span>
+00151 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep8">_MaxViewDist</a> = myPs-&gt;getMaxViewDist();
+00152 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep6">_DestroyWhenOutOfFrustum</a> = myPs-&gt;doesDestroyWhenOutOfFrustum();
+00153 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep5">_DestroyModelWhenOutOfRange</a> = myPs-&gt;getDestroyModelWhenOutOfRange();
+00154 <span class="keywordflow">if</span> (!myPs-&gt;getAutoComputeBBox())
+00155 {
+00156 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep14">_UsePrecomputedBBox</a> = <span class="keyword">true</span>;
+00157 myPs-&gt;computeBBox(_PrecomputedBBox);
+00158 }
+00159 <span class="keywordflow">else</span>
+00160 {
+00161 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep14">_UsePrecomputedBBox</a> = <span class="keyword">false</span>;
+00162 }
+00163 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep13">_Sharing</a> = myPs-&gt;isSharingEnabled();
+00164 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1IShapea0" doxytag="NL3D::CParticleSystemShape::clip" ></a><p>
+<table class="mdTable" 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::IShape::clip </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::vector&lt; <a class="el" href="a03082.html">CPlane</a> &gt; &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>pyramid</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a02851.html">CMatrix</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>worldMatrix</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+clip this shape with a pyramid. the pyramid is given in world space.The world matrix of the object is given. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>pyramid</em>&nbsp;</td><td>the clipping polytope, planes are normalized. </td></tr>
+ <tr><td valign=top><em>worldMatrix</em>&nbsp;</td><td>the world matrix of the instance. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>true if the object is visible, false otherwise. The default behavior is to return true (never clipped).</dd></dl>
+
+<p>
+Reimplemented in <a class="el" href="a02538.html#NL3D_1_1CFlareShapea0">NL3D::CFlareShape</a>, <a class="el" href="a02857.html#NL3D_1_1CMeshz405_0">NL3D::CMesh</a>, <a class="el" href="a02891.html#NL3D_1_1CMeshMRMz493_0">NL3D::CMeshMRM</a>, <a class="el" href="a02900.html#NL3D_1_1CMeshMRMSkinnedz525_0">NL3D::CMeshMRMSkinned</a>, <a class="el" href="a02910.html#NL3D_1_1CMeshMultiLodz537_0">NL3D::CMeshMultiLod</a>, <a class="el" href="a03360.html#NL3D_1_1CSegRemanenceShapea0">NL3D::CSegRemanenceShape</a>, <a class="el" href="a03402.html#NL3D_1_1CSkeletonShapez944_0">NL3D::CSkeletonShape</a>, <a class="el" href="a03724.html#NL3D_1_1CWaterShapea0">NL3D::CWaterShape</a>, and <a class="el" href="a03726.html#NL3D_1_1CWaveMakerShapea0">NL3D::CWaveMakerShape</a>.
+<p>
+Definition at line <a class="el" href="a06377.html#l00093">93</a> of file <a class="el" href="a06377.html">shape.h</a>.
+<p>
+<div class="fragment"><pre>00093 {<span class="keywordflow">return</span> <span class="keyword">true</span>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CParticleSystemShapea3" doxytag="NL3D::CParticleSystemShape::createInstance" ></a><p>
+<table class="mdTable" 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="a02537.html">CTransformShape</a> * NL3D::CParticleSystemShape::createInstance </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03348.html">NL3D::CScene</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>scene</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+===========================================================================
+<p>
+create a particle system instance <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>scene</em>&nbsp;</td><td>the scene used to createModel(). </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>the specialized instance for this shape.</dd></dl>
+
+<p>
+Reimplemented from <a class="el" href="a02539.html#NL3D_1_1IShapea1">NL3D::IShape</a>.
+<p>
+Definition at line <a class="el" href="a06152.html#l00267">267</a> of file <a class="el" href="a06152.html">particle_system_shape.cpp</a>.
+<p>
+References <a class="el" href="a06149.html#l00339">NL3D::CParticleSystemModel::_Scene</a>, <a class="el" href="a05442.html#l00279">NL3D::CAnimatedValueQuat</a>, <a class="el" href="a05442.html#l00277">NL3D::CAnimatedValueVector</a>, <a class="el" href="a06348.html#l01004">NL3D::CScene::createModel()</a>, <a class="el" href="a06556.html#l00169">NL3D::CTrackDefaultBlendable&lt; CQuat &gt;::getValue()</a>, <a class="el" href="a06556.html#l00169">NL3D::CTrackDefaultBlendable&lt; CVector &gt;::getValue()</a>, <a class="el" href="a06568.html#l00522">NL3D::CTransform::setLoadBalancingGroup()</a>, and <a class="el" href="a06571.html#l00072">NL3D::CTransformShape::Shape</a>.
+<p>
+<div class="fragment"><pre>00268 {
+00269 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapen1">CParticleSystemModel</a> *psm = NLMISC::safe_cast&lt;CParticleSystemModel *&gt;(scene.<a class="code" href="a03348.html#NL3D_1_1CScenez804_0">createModel</a>(NL3D::ParticleSystemModelId) );
+00270 psm-&gt;Shape = <span class="keyword">this</span>;
+00271 psm-&gt;_Scene = &amp;scene; <span class="comment">// the model needs the scene to recreate the particle system he holds </span>
+00272 <span class="comment">// by default, we don't instanciate the system. It will be instanciated only if visible and triggered</span>
+00273 <span class="comment">// psm-&gt;_ParticleSystem = instanciatePS(scene); </span>
+00274
+00275 <span class="comment">// Setup position with the default value</span>
+00276 psm-&gt;ITransformable::setPos( ((CAnimatedValueVector&amp;)<a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep1">_DefaultPos</a>.getValue()).Value );
+00277 psm-&gt;ITransformable::setRotQuat( ((CAnimatedValueQuat&amp;)<a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep2">_DefaultRotQuat</a>.getValue()).Value );
+00278 psm-&gt;ITransformable::setScale( ((CAnimatedValueVector&amp;)<a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep3">_DefaultScale</a>.getValue()).Value );
+00279
+00280 <span class="comment">// ParticleSystems are added to the "Fx" Load Balancing Group.</span>
+00281 psm-&gt;setLoadBalancingGroup(<span class="stringliteral">"Fx"</span>);
+00282
+00283 <span class="keywordflow">return</span> psm;
+00284 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CParticleSystemShapea4" doxytag="NL3D::CParticleSystemShape::flushTextures" ></a><p>
+<table class="mdTable" 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::CParticleSystemShape::flushTextures </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02434.html">IDriver</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>driver</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>selectedTexture</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+===========================================================================
+<p>
+
+<p>
+Implements <a class="el" href="a02539.html#NL3D_1_1IShapea2">NL3D::IShape</a>.
+<p>
+Definition at line <a class="el" href="a06152.html#l00344">344</a> of file <a class="el" href="a06152.html">particle_system_shape.cpp</a>.
+<p>
+References <a class="el" href="a06153.html#l00178">_CachedTex</a>, <a class="el" href="a06153.html#l00183">_NumBytesWanted</a>, <a class="el" href="a06153.html#l00154">_ParticleSystemProto</a>, <a class="el" href="a06153.html#l00170">_SharedSystem</a>, <a class="el" href="a06142.html#l01941">NL3D::CParticleSystem::enumTexs()</a>, <a class="el" href="a05613.html#l00051">NLMISC::CContiguousBlockAllocator::init()</a>, <a class="el" href="a05979.html#l00331">NLMISC::CMemStream::invert()</a>, <a class="el" href="a06463.html#l00064">NLMISC::IStream::isReading()</a>, <a class="el" href="a05979.html#l00352">NLMISC::CMemStream::resetPtrTable()</a>, <a class="el" href="a05978.html#l00177">NLMISC::CMemStream::seek()</a>, <a class="el" href="a06462.html#l00390">NLMISC::IStream::serialPtr()</a>, <a class="el" href="a02434.html#NL3D_1_1IDrivera70">NL3D::IDriver::setupTexture()</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>00345 {
+00346 <span class="comment">// if textures are already flushed, no-op</span>
+00347 <span class="keywordflow">if</span> (!<a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep0">_CachedTex</a>.empty()) <span class="keywordflow">return</span>;
+00348 <span class="keywordflow">if</span> (<a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep12">_SharedSystem</a>)
+00349 {
+00350 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep12">_SharedSystem</a>-&gt;enumTexs(_CachedTex, driver);
+00351 }
+00352 <span class="keywordflow">else</span>
+00353 {
+00354 NLMISC::CMutex mutex;
+00355 mutex.enter();
+00356
+00357 <span class="comment">// must create an instance just to flush the textures</span>
+00358 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapen0">CParticleSystem</a> *myInstance = NULL;
+00359
+00360 <span class="preprocessor"> #ifdef PS_FAST_ALLOC</span>
+00361 <span class="preprocessor"></span> <a class="code" href="a02419.html">NLMISC::CContiguousBlockAllocator</a> blockAllocator;
+00362 PSBlockAllocator = &amp;blockAllocator;
+00363 blockAllocator.<a class="code" href="a02419.html#NLMISC_1_1CContiguousBlockAllocatora4">init</a>(300000); <span class="comment">// we release memory just after, and we don't want to fragment the memory, so provide large enough mem </span>
+00364 <span class="preprocessor"> #endif</span>
+00365 <span class="preprocessor"></span> <span class="comment">// serialize from the memory stream </span>
+00366 <span class="keywordflow">if</span> (!<a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep10">_ParticleSystemProto</a>.<a class="code" href="a02270.html#NLMISC_1_1IStreama0">isReading</a>()) <span class="comment">// we must be sure that we are reading the stream</span>
+00367 {
+00368 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep10">_ParticleSystemProto</a>.<a class="code" href="a02271.html#NLMISC_1_1CStringStreama12">invert</a>();
+00369 }
+00370 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep10">_ParticleSystemProto</a>.<a class="code" href="a02271.html#NLMISC_1_1CStringStreama20">resetPtrTable</a>();
+00371 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep10">_ParticleSystemProto</a>.<a class="code" href="a02271.html#NLMISC_1_1CStringStreama22">seek</a>(0, NLMISC::IStream::begin);
+00372 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep10">_ParticleSystemProto</a>.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_7">serialPtr</a>(myInstance); <span class="comment">// instanciate the system </span>
+00373 <span class="preprocessor"> #ifdef PS_FAST_ALLOC</span>
+00374 <span class="preprocessor"></span> <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep9">_NumBytesWanted</a> = blockAllocator.getNumAllocatedBytes(); <span class="comment">// next allocation will be fast because we know how much memory to allocate</span>
+00375 <span class="preprocessor"> #endif</span>
+00376 <span class="preprocessor"></span> myInstance-&gt;enumTexs(_CachedTex, driver);
+00377 <span class="keyword">delete</span> myInstance;
+00378 <span class="preprocessor"> #ifdef PS_FAST_ALLOC</span>
+00379 <span class="preprocessor"></span> PSBlockAllocator = NULL;
+00380 <span class="preprocessor"> #endif</span>
+00381 <span class="preprocessor"></span> mutex.leave();
+00382 }
+00383 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a15">uint</a> k = 0; k &lt; <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep0">_CachedTex</a>.size(); ++k)
+00384 {
+00385 <span class="comment">//nlinfo(_CachedTex[k]-&gt;getShareName().c_str());</span>
+00386 <span class="keywordflow">if</span> (<a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep0">_CachedTex</a>[k]) driver.setupTexture(*_CachedTex[k]);
+00387 }
+00388 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CParticleSystemShapea5" doxytag="NL3D::CParticleSystemShape::getAABBox" ></a><p>
+<table class="mdTable" 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::CParticleSystemShape::getAABBox </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>bbox</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+===========================================================================
+<p>
+
+<p>
+Reimplemented from <a class="el" href="a02539.html#NL3D_1_1IShapea3">NL3D::IShape</a>.
+<p>
+Definition at line <a class="el" href="a06152.html#l00167">167</a> of file <a class="el" href="a06152.html">particle_system_shape.cpp</a>.
+<p>
+References <a class="el" href="a06153.html#l00156">_PrecomputedBBox</a>, <a class="el" href="a06153.html#l00174">_UsePrecomputedBBox</a>, <a class="el" href="a05385.html#l00066">NLMISC::CAABBox::setCenter()</a>, and <a class="el" href="a05385.html#l00067">NLMISC::CAABBox::setHalfSize()</a>.
+<p>
+<div class="fragment"><pre>00168 {
+00169 <span class="keywordflow">if</span> (!<a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep14">_UsePrecomputedBBox</a>)
+00170 {
+00171 bbox.<a class="code" href="a02156.html#NLMISC_1_1CAABBoxz1902_1">setCenter</a>(NLMISC::CVector::Null);
+00172 bbox.<a class="code" href="a02156.html#NLMISC_1_1CAABBoxz1902_2">setHalfSize</a>(<a class="code" href="a03128.html">NLMISC::CVector</a>(1, 1, 1));
+00173 }
+00174 <span class="keywordflow">else</span>
+00175 {
+00176 bbox = <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep11">_PrecomputedBBox</a>;
+00177 }
+00178 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1ITrackKeyFramer_3_01CKeyVector_01_4a6" doxytag="NL3D::CParticleSystemShape::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_1CParticleSystemShapez634_0" doxytag="NL3D::CParticleSystemShape::getDefaultPos" ></a><p>
+<table class="mdTable" 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="a03551.html">CTrackDefaultVector</a>* NL3D::CParticleSystemShape::getDefaultPos </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06153.html#l00127">127</a> of file <a class="el" href="a06153.html">particle_system_shape.h</a>.
+<p>
+Referenced by <a class="el" href="a06148.html#l00446">NL3D::CParticleSystemModel::getDefaultTrack()</a>.
+<p>
+<div class="fragment"><pre>00127 {<span class="keywordflow">return</span> &amp;<a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep1">_DefaultPos</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CParticleSystemShapez634_1" doxytag="NL3D::CParticleSystemShape::getDefaultRotQuat" ></a><p>
+<table class="mdTable" 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="a03548.html">CTrackDefaultQuat</a>* NL3D::CParticleSystemShape::getDefaultRotQuat </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06153.html#l00129">129</a> of file <a class="el" href="a06153.html">particle_system_shape.h</a>.
+<p>
+Referenced by <a class="el" href="a06148.html#l00446">NL3D::CParticleSystemModel::getDefaultTrack()</a>.
+<p>
+<div class="fragment"><pre>00129 {<span class="keywordflow">return</span> &amp;<a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep2">_DefaultRotQuat</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CParticleSystemShapez634_2" doxytag="NL3D::CParticleSystemShape::getDefaultScale" ></a><p>
+<table class="mdTable" 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="a03551.html">CTrackDefaultVector</a>* NL3D::CParticleSystemShape::getDefaultScale </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06153.html#l00128">128</a> of file <a class="el" href="a06153.html">particle_system_shape.h</a>.
+<p>
+Referenced by <a class="el" href="a06148.html#l00446">NL3D::CParticleSystemModel::getDefaultTrack()</a>.
+<p>
+<div class="fragment"><pre>00128 {<span class="keywordflow">return</span> &amp;<a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep3">_DefaultScale</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CParticleSystemShapea7" doxytag="NL3D::CParticleSystemShape::getDefaultTriggerTrack" ></a><p>
+<table class="mdTable" 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="a03544.html">CTrackDefaultBool</a>* NL3D::CParticleSystemShape::getDefaultTriggerTrack </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get a the trigger default track
+<p>
+
+<p>
+Definition at line <a class="el" href="a06153.html#l00108">108</a> of file <a class="el" href="a06153.html">particle_system_shape.h</a>.
+<p>
+References <a class="el" href="a06153.html#l00167">_DefaultTriggerTrack</a>.
+<p>
+Referenced by <a class="el" href="a06148.html#l00446">NL3D::CParticleSystemModel::getDefaultTrack()</a>.
+<p>
+<div class="fragment"><pre>00109 {
+00110
+00111 <span class="keywordflow">return</span> &amp;<a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep4">_DefaultTriggerTrack</a>;
+00112 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1IShapea5" doxytag="NL3D::CParticleSystemShape::getDistMax" ></a><p>
+<table class="mdTable" 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::IShape::getDistMax </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>
+return the DistMax where the shape is no more displayed. Default is to return -1, meaning DistMax = infinite.
+<p>
+Definition at line <a class="el" href="a06377.html#l00112">112</a> of file <a class="el" href="a06377.html">shape.h</a>.
+<p>
+<div class="fragment"><pre>00112 {<span class="keywordflow">return</span> <a class="code" href="a02539.html#NL3D_1_1IShapep0">_DistMax</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CParticleSystemShapea9" doxytag="NL3D::CParticleSystemShape::getNumTriangles" ></a><p>
+<table class="mdTable" 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 float NL3D::CParticleSystemShape::getNumTriangles </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>distance</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>
+this method is meaningless here : the traverseLoadBalancing() for particle system compute the number of triangles from the Model, not the shape
+<p>
+Implements <a class="el" href="a02539.html#NL3D_1_1IShapez900_0">NL3D::IShape</a>.
+<p>
+Definition at line <a class="el" href="a06153.html#l00122">122</a> of file <a class="el" href="a06153.html">particle_system_shape.h</a>.
+<p>
+<div class="fragment"><pre>00122 { <span class="keywordflow">return</span> 0; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLGEORGES_1_1UTypea8" doxytag="NL3D::CParticleSystemShape::getRefCount" ></a><p>
+<table class="mdTable" 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#a14">sint</a>&amp; NLMISC::CRefCount::getRefCount </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="a06402.html#l00070">70</a> of file <a class="el" href="a06402.html">smart_ptr.h</a>.
+<p>
+References <a class="el" href="a06402.html#l00079">NLMISC::CRefCount::crefs</a>, and <a class="el" href="a05981.html#l00104">sint</a>.
+<p>
+<div class="fragment"><pre>00071 {
+00072 <span class="keywordflow">return</span> <a class="code" href="a02209.html#NLGEORGES_1_1UTypeo0">crefs</a>;
+00073 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CParticleSystemShapea11" doxytag="NL3D::CParticleSystemShape::getUserParamDefaultTrack" ></a><p>
+<table class="mdTable" 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="a03546.html">CTrackDefaultFloat</a>* NL3D::CParticleSystemShape::getUserParamDefaultTrack </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>numTrack</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get a the user param default tracks
+<p>
+
+<p>
+Definition at line <a class="el" href="a06153.html#l00100">100</a> of file <a class="el" href="a06153.html">particle_system_shape.h</a>.
+<p>
+References <a class="el" href="a06153.html#l00159">_UserParamDefaultTrack</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06148.html#l00446">NL3D::CParticleSystemModel::getDefaultTrack()</a>.
+<p>
+<div class="fragment"><pre>00101 {
+00102 <a class="code" href="a04199.html#a6">nlassert</a>(numTrack &lt; 4);
+00103 <span class="keywordflow">return</span> &amp;<a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep15">_UserParamDefaultTrack</a>[numTrack];
+00104 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CParticleSystemShapea12" doxytag="NL3D::CParticleSystemShape::instanciatePS" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03041.html">CParticleSystem</a> * NL3D::CParticleSystemShape::instanciatePS </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03348.html">CScene</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>scene</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02419.html">NLMISC::CContiguousBlockAllocator</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>blockAllocator</em> = NULL</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>
+Instanciate a particle system from this shape. A particle system may need to call this when a system is back in the frustum An contiguous block allocator may be provided for fast alloc, init will be called on such allocator with 0 if num bytes is unknown of with the size needed otherwise.
+<p>
+Definition at line <a class="el" href="a06152.html#l00182">182</a> of file <a class="el" href="a06152.html">particle_system_shape.cpp</a>.
+<p>
+References <a class="el" href="a06153.html#l00178">_CachedTex</a>, <a class="el" href="a06153.html#l00183">_NumBytesWanted</a>, <a class="el" href="a06153.html#l00154">_ParticleSystemProto</a>, <a class="el" href="a06153.html#l00170">_SharedSystem</a>, <a class="el" href="a06142.html#l01941">NL3D::CParticleSystem::enumTexs()</a>, <a class="el" href="a06348.html#l00579">NL3D::CScene::getDriver()</a>, <a class="el" href="a05614.html#l00070">NLMISC::CContiguousBlockAllocator::getNumAllocatedBytes()</a>, <a class="el" href="a05613.html#l00051">NLMISC::CContiguousBlockAllocator::init()</a>, <a class="el" href="a05979.html#l00331">NLMISC::CMemStream::invert()</a>, <a class="el" href="a06463.html#l00064">NLMISC::IStream::isReading()</a>, <a class="el" href="a05979.html#l00352">NLMISC::CMemStream::resetPtrTable()</a>, <a class="el" href="a05978.html#l00177">NLMISC::CMemStream::seek()</a>, <a class="el" href="a06462.html#l00390">NLMISC::IStream::serialPtr()</a>, <a class="el" href="a06143.html#l00155">NL3D::CParticleSystem::setScene()</a>, <a class="el" href="a02434.html#NL3D_1_1IDrivera70">NL3D::IDriver::setupTexture()</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06142.html#l01142">NL3D::CParticleSystem::merge()</a>, and <a class="el" href="a06148.html#l00249">NL3D::CParticleSystemModel::reallocRsc()</a>.
+<p>
+<div class="fragment"><pre>00183 {
+00184 <span class="keywordflow">if</span> (<a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep13">_Sharing</a> &amp;&amp; <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep12">_SharedSystem</a> != NULL) <span class="comment">// is sharing enabled, and is a system already instanciated</span>
+00185 {
+00186 <span class="keywordflow">return</span> <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep12">_SharedSystem</a>;
+00187 }
+00188
+00189 <span class="comment">// avoid prb with concurent thread (may append if an instance group containing ps is loaded in background)</span>
+00190 NLMISC::CMutex mutex;
+00191 mutex.enter();
+00192
+00193
+00194 <span class="preprocessor"> #ifdef PS_FAST_ALLOC</span>
+00195 <span class="preprocessor"></span> <span class="keywordflow">if</span> (blockAllocator)
+00196 {
+00197 <span class="comment">// set new allocator for particle system memory</span>
+00198 PSBlockAllocator = blockAllocator;
+00199 blockAllocator-&gt;<a class="code" href="a02419.html#NLMISC_1_1CContiguousBlockAllocatora4">init</a>(_NumBytesWanted); <span class="comment">// if size wanted is already known, set it </span>
+00200 }
+00201 <span class="preprocessor"> #endif</span>
+00202 <span class="preprocessor"></span>
+00203 <span class="comment">//NLMISC::TTicks start = NLMISC::CTime::getPerformanceTime();</span>
+00204 <span class="comment">// copy the datas</span>
+00205 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapen0">CParticleSystem</a> *myInstance = NULL;
+00206
+00207 <span class="comment">// serialize from the memory stream </span>
+00208 <span class="keywordflow">if</span> (!<a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep10">_ParticleSystemProto</a>.<a class="code" href="a02270.html#NLMISC_1_1IStreama0">isReading</a>()) <span class="comment">// we must be sure that we are reading the stream</span>
+00209 {
+00210 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep10">_ParticleSystemProto</a>.<a class="code" href="a02271.html#NLMISC_1_1CStringStreama12">invert</a>();
+00211 }
+00212
+00213 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep10">_ParticleSystemProto</a>.<a class="code" href="a02271.html#NLMISC_1_1CStringStreama20">resetPtrTable</a>();
+00214 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep10">_ParticleSystemProto</a>.<a class="code" href="a02271.html#NLMISC_1_1CStringStreama22">seek</a>(0, NLMISC::IStream::begin);
+00215
+00216 <span class="comment">// NLMISC::TTicks start = NLMISC::CTime::getPerformanceTime(); </span>
+00217 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep10">_ParticleSystemProto</a>.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_7">serialPtr</a>(myInstance); <span class="comment">// instanciate the system </span>
+00218 <span class="comment">/* NLMISC::TTicks end = NLMISC::CTime::getPerformanceTime();</span>
+00219 <span class="comment"> nlinfo("instanciation time = %.2f", (float) (1000 * NLMISC::CTime::ticksToSecond(end - start))); </span>
+00220 <span class="comment">*/</span>
+00221
+00222 myInstance-&gt;setScene(&amp;scene);
+00223
+00224 <span class="keywordflow">if</span> (<a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep0">_CachedTex</a>.empty() &amp;&amp; scene.getDriver())
+00225 {
+00226 <span class="comment">//nlinfo("flushing texs");</span>
+00227 <span class="comment">// load &amp;&amp; cache textures</span>
+00228 myInstance-&gt;enumTexs(_CachedTex, *scene.getDriver());
+00229 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a15">uint</a> k = 0; k &lt; <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep0">_CachedTex</a>.size(); ++k)
+00230 {
+00231 <span class="keywordflow">if</span> (<a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep0">_CachedTex</a>[k]) scene.getDriver()-&gt;setupTexture (*(ITexture *)_CachedTex[k]);
+00232 }
+00233 }
+00234 <span class="keywordflow">else</span>
+00235 {
+00236 <span class="comment">/*</span>
+00237 <span class="comment"> for(uint k = 0; k &lt; _CachedTex.size(); ++k)</span>
+00238 <span class="comment"> { </span>
+00239 <span class="comment"> nlinfo(_CachedTex[k]-&gt;getShareName().c_str());</span>
+00240 <span class="comment"> }</span>
+00241 <span class="comment"> */</span>
+00242 }
+00243
+00244 <span class="comment">// tmp</span>
+00245
+00246 <span class="keywordflow">if</span> (<a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep13">_Sharing</a>)
+00247 {
+00248 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep12">_SharedSystem</a> = myInstance; <span class="comment">// set this as the first shared instance</span>
+00249 }
+00250
+00251 <span class="preprocessor"> #ifdef PS_FAST_ALLOC</span>
+00252 <span class="preprocessor"></span> <span class="keywordflow">if</span> (blockAllocator)
+00253 {
+00254 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep9">_NumBytesWanted</a> = blockAllocator-&gt;<a class="code" href="a02419.html#NLMISC_1_1CContiguousBlockAllocatora3">getNumAllocatedBytes</a>(); <span class="comment">// now we know the number of wanted bytes, subsequent alloc can be much faster</span>
+00255 PSBlockAllocator = NULL;
+00256 }
+00257 <span class="preprocessor"> #endif</span>
+00258 <span class="preprocessor"></span>
+00259 mutex.leave();
+00260
+00261 <span class="comment">/*NLMISC::TTicks end = NLMISC::CTime::getPerformanceTime();</span>
+00262 <span class="comment"> nlinfo("instanciation time = %.2f", (float) (1000 * NLMISC::CTime::ticksToSecond(end - start))); */</span>
+00263 <span class="keywordflow">return</span> myInstance;
+00264 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CParticleSystemShapea13" doxytag="NL3D::CParticleSystemShape::isShared" ></a><p>
+<table class="mdTable" 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::CParticleSystemShape::isShared </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06153.html#l00133">133</a> of file <a class="el" href="a06153.html">particle_system_shape.h</a>.
+<p>
+Referenced by <a class="el" href="a06148.html#l00249">NL3D::CParticleSystemModel::reallocRsc()</a>, <a class="el" href="a06148.html#l00289">NL3D::CParticleSystemModel::releasePSPointer()</a>, and <a class="el" href="a06148.html#l00389">NL3D::CParticleSystemModel::releaseRscAndInvalidate()</a>.
+<p>
+<div class="fragment"><pre>00133 { <span class="keywordflow">return</span> <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep13">_Sharing</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CParticleSystemShapea14" doxytag="NL3D::CParticleSystemShape::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::CParticleSystemShape::NLMISC_DECLARE_CLASS </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03055.html">CParticleSystemShape</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1IShapea8" doxytag="NL3D::CParticleSystemShape::profileSceneRender" ></a><p>
+<table class="mdTable" 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::IShape::profileSceneRender </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03325.html">CRenderTrav</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>rdrTrav</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02537.html">CTransformShape</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>trans</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>opaquePass</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Profiling. Called in RenderPass if Current Frame profiled. No-Op by default Informations must be added in rdrTrav-&gt;Scene
+<p>
+Reimplemented in <a class="el" href="a02857.html#NL3D_1_1CMeshz405_5">NL3D::CMesh</a>, <a class="el" href="a02891.html#NL3D_1_1CMeshMRMz493_5">NL3D::CMeshMRM</a>, <a class="el" href="a02900.html#NL3D_1_1CMeshMRMSkinnedz525_5">NL3D::CMeshMRMSkinned</a>, and <a class="el" href="a02910.html#NL3D_1_1CMeshMultiLodz537_4">NL3D::CMeshMultiLod</a>.
+<p>
+Definition at line <a class="el" href="a06377.html#l00123">123</a> of file <a class="el" href="a06377.html">shape.h</a>.
+<p>
+<div class="fragment"><pre>00123 {}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CParticleSystemShapez632_0" doxytag="NL3D::CParticleSystemShape::render" ></a><p>
+<table class="mdTable" 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::CParticleSystemShape::render </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02434.html">NL3D::IDriver</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>drv</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02537.html">CTransformShape</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>trans</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>passOpaque</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>
+<a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapez632_0">render()</a> a particle system in a driver, with the specified TransformShape information. CTransfromShape call this method in the render traversal.
+<p>
+Implements <a class="el" href="a02539.html#NL3D_1_1IShapea9">NL3D::IShape</a>.
+<p>
+Definition at line <a class="el" href="a06152.html#l00287">287</a> of file <a class="el" href="a06152.html">particle_system_shape.cpp</a>.
+<p>
+References <a class="el" href="a06149.html#l00351">NL3D::CParticleSystemModel::_Invalidated</a>, <a class="el" href="a06149.html#l00167">NL3D::CParticleSystemModel::getEllapsedTime()</a>, <a class="el" href="a06149.html#l00084">NL3D::CParticleSystemModel::getPS()</a>, <a class="el" href="a06143.html#l00158">NL3D::CParticleSystem::getScene()</a>, <a class="el" href="a06149.html#l00284">NL3D::CParticleSystemModel::getUserMatrix()</a>, <a class="el" href="a06569.html#l00299">NL3D::CTransform::getWorldMatrix()</a>, <a class="el" href="a05788.html#l00056">H_AUTO</a>, <a class="el" href="a06143.html#l00135">NL3D::CParticleSystem::isSharingEnabled()</a>, <a class="el" href="a06149.html#l00179">NL3D::CParticleSystemModel::isToolDisplayEnabled()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06152.html#l00060">PARTICLES_CHECK_MEM</a>, <a class="el" href="a06233.html#l00049">NL3D::PSLookAtRenderTime</a>, <a class="el" href="a06143.html#l00143">NL3D::CParticleSystem::setDriver()</a>, <a class="el" href="a06142.html#l00942">NL3D::CParticleSystem::setSysMat()</a>, <a class="el" href="a06142.html#l00954">NL3D::CParticleSystem::setUserMatrix()</a>, <a class="el" href="a06142.html#l00362">NL3D::CParticleSystem::step()</a>, and <a class="el" href="a05454.html#l00044">NL3D::TAnimationTime</a>.
+<p>
+<div class="fragment"><pre>00288 {
+00289 <a class="code" href="a04365.html#a4">H_AUTO</a> ( NL3D_Particles_Render );
+00290 <a class="code" href="a04199.html#a6">nlassert</a>(drv);
+00291 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapen1">CParticleSystemModel</a> *psm = NLMISC::safe_cast&lt;CParticleSystemModel *&gt;(trans);
+00292 <span class="keywordflow">if</span> (psm-&gt;_Invalidated) <span class="keywordflow">return</span>;
+00293 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapen0">CParticleSystem</a> *ps = psm-&gt;getPS();
+00295 <span class="keywordflow">if</span> (!ps) <span class="keywordflow">return</span>;
+00296
+00297 <a class="code" href="a05363.html#a366">TAnimationTime</a> delay = psm-&gt;getEllapsedTime();
+00298 <a class="code" href="a04199.html#a6">nlassert</a>(ps-&gt;getScene());
+00299
+00301 <span class="comment">// render particles //</span>
+00303 <span class="comment"></span>
+00305 <span class="keywordflow">if</span> (ps-&gt;isSharingEnabled())
+00306 {
+00307 ps-&gt;setSysMat(&amp;(psm-&gt;getWorldMatrix()));
+00308 ps-&gt;setUserMatrix(&amp;(psm-&gt;getUserMatrix()));
+00309 }
+00310
+00311 <span class="comment">// Setup the matrix.</span>
+00313 <span class="comment"></span>
+00314 ps-&gt;setDriver(drv);
+00315 <span class="comment">// draw particle</span>
+00316 <a class="code" href="a04729.html#a0">PARTICLES_CHECK_MEM</a>;
+00317 <span class="keywordflow">if</span> (passOpaque)
+00318 {
+00319 <a class="code" href="a05363.html#a241">PSLookAtRenderTime</a> = 0;
+00320 <span class="comment">//NLMISC::TTicks start = NLMISC::CTime::getPerformanceTime(); </span>
+00321 ps-&gt;step(CParticleSystem::SolidRender, delay);
+00322 <span class="comment">/*NLMISC::TTicks end = NLMISC::CTime::getPerformanceTime();</span>
+00323 <span class="comment"> nlinfo("Solid render time time = %.2f", (float) (1000 * NLMISC::CTime::ticksToSecond(end - start))); </span>
+00324 <span class="comment"> nlinfo("LookAt Render time = %.2f", (float) (1000 * NLMISC::CTime::ticksToSecond(PSLookAtRenderTime))); */</span>
+00325 }
+00326 <span class="keywordflow">else</span>
+00327 {
+00328 <span class="comment">//PSLookAtRenderTime = 0;</span>
+00329 <span class="comment">//NLMISC::TTicks start = NLMISC::CTime::getPerformanceTime();</span>
+00330 ps-&gt;step(CParticleSystem::BlendRender, delay);
+00331 <span class="comment">/*NLMISC::TTicks end = NLMISC::CTime::getPerformanceTime();</span>
+00332 <span class="comment"> nlinfo("Blend render time time = %.2f", (float) (1000 * NLMISC::CTime::ticksToSecond(end - start)));</span>
+00333 <span class="comment"> nlinfo("LookAt Render time = %.2f", (float) (1000 * NLMISC::CTime::ticksToSecond(PSLookAtRenderTime))); */</span>
+00334 }
+00335 <a class="code" href="a04729.html#a0">PARTICLES_CHECK_MEM</a>;
+00336 <span class="keywordflow">if</span> (psm-&gt;isToolDisplayEnabled())
+00337 {
+00338 ps-&gt;step(CParticleSystem::ToolRender, delay);
+00339 <a class="code" href="a04729.html#a0">PARTICLES_CHECK_MEM</a>;
+00340 }
+00341 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CParticleSystemShapea16" doxytag="NL3D::CParticleSystemShape::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::CParticleSystemShape::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>
+version 6 : added sharing flag
+<p>
+Implements <a class="el" href="a02867.html#NL3D_1_1ITrackDefaulta6">NLMISC::IStreamable</a>.
+<p>
+Definition at line <a class="el" href="a06152.html#l00083">83</a> of file <a class="el" href="a06152.html">particle_system_shape.cpp</a>.
+<p>
+References <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00096">uint8</a>.
+<p>
+<div class="fragment"><pre>00084 {
+00085 <a class="code" href="a04558.html#a14">sint</a> ver = f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_8">serialVersion</a>(6);
+00087 <span class="comment">//NLMISC::CVector8 &amp;buf = _ParticleSystemProto.bufferAsVector();</span>
+00088 <span class="comment">//f.serialCont(buf);</span>
+00089
+00090 <span class="keywordflow">if</span> (f.<a class="code" href="a02270.html#NLMISC_1_1IStreama0">isReading</a> ())
+00091 {
+00092 std::vector&lt;uint8&gt; buf;
+00093 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2033_9">serialCont</a>(buf);
+00094 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep10">_ParticleSystemProto</a>.<a class="code" href="a02271.html#NLMISC_1_1CStringStreama8">fill</a>(&amp;buf[0], buf.size());
+00095 }
+00096 <span class="keywordflow">else</span>
+00097 {
+00098 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama6">serialBufferWithSize</a> ((<a class="code" href="a04558.html#a7">uint8</a>*)<a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep10">_ParticleSystemProto</a>.<a class="code" href="a02271.html#NLMISC_1_1CStringStreama0">buffer</a>(), <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep10">_ParticleSystemProto</a>.<a class="code" href="a02271.html#NLMISC_1_1CStringStreama15">length</a>());
+00099 }
+00100
+00101 <span class="keywordflow">if</span> (ver &gt; 1)
+00102 {
+00103 <span class="comment">// serial default tracks</span>
+00104 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> k = 0; k &lt; 4; ++k)
+00105 {
+00106 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_UserParamDefaultTrack[k]);
+00107 }
+00108 }
+00109 <span class="keywordflow">if</span> ( ver &gt; 2)
+00110 {
+00111 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a> (_DefaultPos);
+00112 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a> (_DefaultScale);
+00113 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a> (_DefaultRotQuat);
+00114 }
+00115 <span class="keywordflow">if</span> ( ver &gt; 3)
+00116 {
+00117 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_MaxViewDist);
+00118 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_DestroyWhenOutOfFrustum);
+00119 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_DestroyModelWhenOutOfRange);
+00120 }
+00121 <span class="keywordflow">if</span> ( ver &gt; 4)
+00122 {
+00123 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_UsePrecomputedBBox);
+00124 <span class="keywordflow">if</span> (<a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep14">_UsePrecomputedBBox</a>)
+00125 {
+00126 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_PrecomputedBBox);
+00127 }
+00128 }
+00129 <span class="keywordflow">if</span> ( ver &gt; 5)
+00130 {
+00131 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_Sharing);
+00132 }
+00133 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1IShapea11" doxytag="NL3D::CParticleSystemShape::setDistMax" ></a><p>
+<table class="mdTable" 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::IShape::setDistMax </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>distMax</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>
+setup the DistMax where the shape is no more displayed. Take effect only for the next created instances. setting &lt;0 means -1 and so means DistMax = infinite.
+<p>
+Definition at line <a class="el" href="a06376.html#l00066">66</a> of file <a class="el" href="a06376.html">shape.cpp</a>.
+<p>
+Referenced by <a class="el" href="a05714.html#l00039">NL3D::CFlareShape::CFlareShape()</a>.
+<p>
+<div class="fragment"><pre>00067 {
+00068 <a class="code" href="a02539.html#NL3D_1_1IShapep0">_DistMax</a>= distMax;
+00069 <span class="comment">// normalize infinite setup.</span>
+00070 <span class="keywordflow">if</span>(distMax&lt;0)
+00071 <a class="code" href="a02539.html#NL3D_1_1IShapep0">_DistMax</a>= -1;
+00072 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1IShapez904_0" doxytag="NL3D::CParticleSystemShape::supportMeshBlockRendering" ></a><p>
+<table class="mdTable" 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="a02879.html">IMeshGeom</a>* NL3D::IShape::supportMeshBlockRendering </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02537.html">CTransformShape</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>trans</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>polygonCount</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"> 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 !NULL if this shape can support MeshBlock rendering for a special instance. NB: Mesh Block render cannot occurs if the Mesh is Skinned/MeshMorphed. NB: Mesh Block render can occurs only in Opaque pass NB: Mesh block render can occurs only for <a class="el" href="a02858.html">CMeshBase</a> meshes. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>trans</em>&nbsp;</td><td>the instance to take into account (meshMultiLod may return NULL in blend transition). </td></tr>
+ <tr><td valign=top><em>polygonCount</em>&nbsp;</td><td>the number of polygons to render for the meshGeom returned </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>the meshgeom to render per block if OK, else NULL (default)</dd></dl>
+
+<p>
+Reimplemented in <a class="el" href="a02857.html#NL3D_1_1CMeshz409_0">NL3D::CMesh</a>, <a class="el" href="a02891.html#NL3D_1_1CMeshMRMz497_0">NL3D::CMeshMRM</a>, <a class="el" href="a02900.html#NL3D_1_1CMeshMRMSkinnedz529_0">NL3D::CMeshMRMSkinned</a>, and <a class="el" href="a02910.html#NL3D_1_1CMeshMultiLodz539_0">NL3D::CMeshMultiLod</a>.
+<p>
+Definition at line <a class="el" href="a06377.html#l00158">158</a> of file <a class="el" href="a06377.html">shape.h</a>.
+<p>
+<div class="fragment"><pre>00158 {<span class="keywordflow">return</span> NULL;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1IShapez902_0" doxytag="NL3D::CParticleSystemShape::useLightingLocalAttenuation" ></a><p>
+<table class="mdTable" 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::IShape::useLightingLocalAttenuation </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>
+tells if the shape wants LocalAttenuation for RealTime lighting. Default is false
+<p>
+Reimplemented in <a class="el" href="a02858.html#NL3D_1_1CMeshMultiLoda14">NL3D::CMeshBase</a>.
+<p>
+Definition at line <a class="el" href="a06377.html#l00142">142</a> of file <a class="el" href="a06377.html">shape.h</a>.
+<p>
+<div class="fragment"><pre>00142 {<span class="keywordflow">return</span> <span class="keyword">false</span>;}
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Friends And Related Function Documentation</h2>
+<a class="anchor" name="NL3D_1_1CParticleSystemShapen0" doxytag="NL3D::CParticleSystemShape::CParticleSystem" ></a><p>
+<table class="mdTable" 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="a03041.html">CParticleSystem</a><code> [friend]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06153.html#l00137">137</a> of file <a class="el" href="a06153.html">particle_system_shape.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CParticleSystemShapen1" doxytag="NL3D::CParticleSystemShape::CParticleSystemModel" ></a><p>
+<table class="mdTable" 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="a03052.html">CParticleSystemModel</a><code> [friend]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06153.html#l00136">136</a> of file <a class="el" href="a06153.html">particle_system_shape.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLGEORGES_1_1UTypen0" doxytag="NL3D::CParticleSystemShape::CPtrInfo" ></a><p>
+<table class="mdTable" 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 struct CPtrInfo<code> [friend, 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="a06402.html#l00067">67</a> of file <a class="el" href="a06402.html">smart_ptr.h</a>. </td>
+ </tr>
+</table>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="NL3D_1_1CParticleSystemShapep0" doxytag="NL3D::CParticleSystemShape::_CachedTex" ></a><p>
+<table class="mdTable" 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::vector&lt;<a class="el" href="a03408.html">NLMISC::CSmartPtr</a>&lt;<a class="el" href="a03487.html">ITexture</a>&gt; &gt; <a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapep0">NL3D::CParticleSystemShape::_CachedTex</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06153.html#l00178">178</a> of file <a class="el" href="a06153.html">particle_system_shape.h</a>.
+<p>
+Referenced by <a class="el" href="a06152.html#l00344">flushTextures()</a>, and <a class="el" href="a06152.html#l00182">instanciatePS()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CParticleSystemShapep1" doxytag="NL3D::CParticleSystemShape::_DefaultPos" ></a><p>
+<table class="mdTable" 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="a03551.html">CTrackDefaultVector</a> <a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapep1">NL3D::CParticleSystemShape::_DefaultPos</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Transform default tracks.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06153.html#l00162">162</a> of file <a class="el" href="a06153.html">particle_system_shape.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CParticleSystemShapep2" doxytag="NL3D::CParticleSystemShape::_DefaultRotQuat" ></a><p>
+<table class="mdTable" 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="a03548.html">CTrackDefaultQuat</a> <a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapep2">NL3D::CParticleSystemShape::_DefaultRotQuat</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06153.html#l00164">164</a> of file <a class="el" href="a06153.html">particle_system_shape.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CParticleSystemShapep3" doxytag="NL3D::CParticleSystemShape::_DefaultScale" ></a><p>
+<table class="mdTable" 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="a03551.html">CTrackDefaultVector</a> <a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapep3">NL3D::CParticleSystemShape::_DefaultScale</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06153.html#l00163">163</a> of file <a class="el" href="a06153.html">particle_system_shape.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CParticleSystemShapep4" doxytag="NL3D::CParticleSystemShape::_DefaultTriggerTrack" ></a><p>
+<table class="mdTable" 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="a03544.html">CTrackDefaultBool</a> <a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapep4">NL3D::CParticleSystemShape::_DefaultTriggerTrack</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Trigger default track.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06153.html#l00167">167</a> of file <a class="el" href="a06153.html">particle_system_shape.h</a>.
+<p>
+Referenced by <a class="el" href="a06152.html#l00064">CParticleSystemShape()</a>, and <a class="el" href="a06153.html#l00108">getDefaultTriggerTrack()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CParticleSystemShapep5" doxytag="NL3D::CParticleSystemShape::_DestroyModelWhenOutOfRange" ></a><p>
+<table class="mdTable" 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="a03055.html#NL3D_1_1CParticleSystemShapep5">NL3D::CParticleSystemShape::_DestroyModelWhenOutOfRange</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06153.html#l00173">173</a> of file <a class="el" href="a06153.html">particle_system_shape.h</a>.
+<p>
+Referenced by <a class="el" href="a06148.html#l00328">NL3D::CParticleSystemModel::refreshRscDeletion()</a>, <a class="el" href="a06148.html#l00516">NL3D::CParticleSystemModel::traverseAnimDetail()</a>, and <a class="el" href="a06148.html#l00726">NL3D::CParticleSystemModel::traverseClip()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CParticleSystemShapep6" doxytag="NL3D::CParticleSystemShape::_DestroyWhenOutOfFrustum" ></a><p>
+<table class="mdTable" 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="a03055.html#NL3D_1_1CParticleSystemShapep6">NL3D::CParticleSystemShape::_DestroyWhenOutOfFrustum</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06153.html#l00172">172</a> of file <a class="el" href="a06153.html">particle_system_shape.h</a>.
+<p>
+Referenced by <a class="el" href="a06148.html#l00328">NL3D::CParticleSystemModel::refreshRscDeletion()</a>, and <a class="el" href="a06148.html#l00516">NL3D::CParticleSystemModel::traverseAnimDetail()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1IShapep0" doxytag="NL3D::CParticleSystemShape::_DistMax" ></a><p>
+<table class="mdTable" 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="a02539.html#NL3D_1_1IShapep0">NL3D::IShape::_DistMax</a><code> [protected, inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Default to -1.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06377.html#l00165">165</a> of file <a class="el" href="a06377.html">shape.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CParticleSystemShapep8" doxytag="NL3D::CParticleSystemShape::_MaxViewDist" ></a><p>
+<table class="mdTable" 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="a03055.html#NL3D_1_1CParticleSystemShapep8">NL3D::CParticleSystemShape::_MaxViewDist</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06153.html#l00155">155</a> of file <a class="el" href="a06153.html">particle_system_shape.h</a>.
+<p>
+Referenced by <a class="el" href="a06148.html#l00328">NL3D::CParticleSystemModel::refreshRscDeletion()</a>, and <a class="el" href="a06148.html#l00726">NL3D::CParticleSystemModel::traverseClip()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CParticleSystemShapep9" doxytag="NL3D::CParticleSystemShape::_NumBytesWanted" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapep9">NL3D::CParticleSystemShape::_NumBytesWanted</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06153.html#l00183">183</a> of file <a class="el" href="a06153.html">particle_system_shape.h</a>.
+<p>
+Referenced by <a class="el" href="a06152.html#l00344">flushTextures()</a>, and <a class="el" href="a06152.html#l00182">instanciatePS()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CParticleSystemShapep10" doxytag="NL3D::CParticleSystemShape::_ParticleSystemProto" ></a><p>
+<table class="mdTable" 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="a02271.html">NLMISC::CMemStream</a> <a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapep10">NL3D::CParticleSystemShape::_ParticleSystemProto</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A memory stream containing a particle system. Each system is instanciated from this prototype Nevertheless, we store some more system infos which are needed for its lifecycle mgt.
+<p>
+Definition at line <a class="el" href="a06153.html#l00154">154</a> of file <a class="el" href="a06153.html">particle_system_shape.h</a>.
+<p>
+Referenced by <a class="el" href="a06152.html#l00136">buildFromPS()</a>, <a class="el" href="a06152.html#l00344">flushTextures()</a>, and <a class="el" href="a06152.html#l00182">instanciatePS()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CParticleSystemShapep11" doxytag="NL3D::CParticleSystemShape::_PrecomputedBBox" ></a><p>
+<table class="mdTable" 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="a02156.html">NLMISC::CAABBox</a> <a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapep11">NL3D::CParticleSystemShape::_PrecomputedBBox</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06153.html#l00156">156</a> of file <a class="el" href="a06153.html">particle_system_shape.h</a>.
+<p>
+Referenced by <a class="el" href="a06152.html#l00136">buildFromPS()</a>, <a class="el" href="a06152.html#l00167">getAABBox()</a>, and <a class="el" href="a06148.html#l00726">NL3D::CParticleSystemModel::traverseClip()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CParticleSystemShapep12" doxytag="NL3D::CParticleSystemShape::_SharedSystem" ></a><p>
+<table class="mdTable" 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="a03321.html">NLMISC::CRefPtr</a>&lt;<a class="el" href="a03041.html">CParticleSystem</a>&gt; <a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapep12">NL3D::CParticleSystemShape::_SharedSystem</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+For sharing, this tells us if there's a system already instanciated that we could use for sharing.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06153.html#l00170">170</a> of file <a class="el" href="a06153.html">particle_system_shape.h</a>.
+<p>
+Referenced by <a class="el" href="a06152.html#l00344">flushTextures()</a>, and <a class="el" href="a06152.html#l00182">instanciatePS()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CParticleSystemShapep13" doxytag="NL3D::CParticleSystemShape::_Sharing" ></a><p>
+<table class="mdTable" 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="a03055.html#NL3D_1_1CParticleSystemShapep13">NL3D::CParticleSystemShape::_Sharing</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06153.html#l00175">175</a> of file <a class="el" href="a06153.html">particle_system_shape.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CParticleSystemShapep14" doxytag="NL3D::CParticleSystemShape::_UsePrecomputedBBox" ></a><p>
+<table class="mdTable" 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="a03055.html#NL3D_1_1CParticleSystemShapep14">NL3D::CParticleSystemShape::_UsePrecomputedBBox</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06153.html#l00174">174</a> of file <a class="el" href="a06153.html">particle_system_shape.h</a>.
+<p>
+Referenced by <a class="el" href="a06152.html#l00136">buildFromPS()</a>, <a class="el" href="a06152.html#l00167">getAABBox()</a>, and <a class="el" href="a06148.html#l00726">NL3D::CParticleSystemModel::traverseClip()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CParticleSystemShapep15" doxytag="NL3D::CParticleSystemShape::_UserParamDefaultTrack" ></a><p>
+<table class="mdTable" 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="a03546.html">CTrackDefaultFloat</a> <a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapep15">NL3D::CParticleSystemShape::_UserParamDefaultTrack</a>[4]<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+the default track for animation of user parameters
+<p>
+
+<p>
+Definition at line <a class="el" href="a06153.html#l00159">159</a> of file <a class="el" href="a06153.html">particle_system_shape.h</a>.
+<p>
+Referenced by <a class="el" href="a06152.html#l00064">CParticleSystemShape()</a>, and <a class="el" href="a06153.html#l00100">getUserParamDefaultTrack()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLGEORGES_1_1UTypeo0" doxytag="NL3D::CParticleSystemShape::crefs" ></a><p>
+<table class="mdTable" 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#a14">sint</a> <a class="el" href="a02209.html#NLGEORGES_1_1UTypeo0">NLMISC::CRefCount::crefs</a><code> [mutable, 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="a06402.html#l00079">79</a> of file <a class="el" href="a06402.html">smart_ptr.h</a>.
+<p>
+Referenced by <a class="el" href="a06402.html#l00085">NLMISC::CRefCount::CRefCount()</a>, <a class="el" href="a06402.html#l00070">NLMISC::CRefCount::getRefCount()</a>, and <a class="el" href="a06403.html#l00044">NLMISC::CRefCount::~CRefCount()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLGEORGES_1_1UTypes0" doxytag="NL3D::CParticleSystemShape::NullPtrInfo" ></a><p>
+<table class="mdTable" 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="a03320.html">CRefCount::CPtrInfo</a> <a class="el" href="a02209.html#NLGEORGES_1_1UTypes0">NLMISC::CRefCount::NullPtrInfo</a><code> [static, inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Referenced by <a class="el" href="a06402.html#l00085">NLMISC::CRefCount::CRefCount()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLGEORGES_1_1UTypeo1" doxytag="NL3D::CParticleSystemShape::pinfo" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> CPtrInfo* <a class="el" href="a02209.html#NLGEORGES_1_1UTypeo1">NLMISC::CRefCount::pinfo</a><code> [mutable, 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="a06402.html#l00080">80</a> of file <a class="el" href="a06402.html">smart_ptr.h</a>.
+<p>
+Referenced by <a class="el" href="a06402.html#l00085">NLMISC::CRefCount::CRefCount()</a>, and <a class="el" href="a06403.html#l00044">NLMISC::CRefCount::~CRefCount()</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a06153.html">particle_system_shape.h</a><li><a class="el" href="a06152.html">particle_system_shape.cpp</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 06:59:55 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>