diff options
Diffstat (limited to 'docs/doxygen/nel/a03055.html')
-rw-r--r-- | docs/doxygen/nel/a03055.html | 2018 |
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 Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related Pages</a> | <span class="search"><u>S</u>earch for <input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div> +<h1>NL3D::CParticleSystemShape Class Reference</h1><code>#include <<a class="el" href="a06153.html">particle_system_shape.h</a>></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 </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> &ps)</td></tr> + +<tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign=bottom><a class="el" href="a02539.html#NL3D_1_1IShapea0">clip</a> (const std::vector< <a class="el" href="a03082.html">CPlane</a> > &pyramid, const <a class="el" href="a02851.html">CMatrix</a> &worldMatrix)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapea2">CParticleSystemShape</a> ()</td></tr> + +<tr><td class="mdescLeft"> </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> * </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> &scene)</td></tr> + +<tr><td class="mdescLeft"> </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 </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> &driver, <a class="el" href="a04558.html#a15">uint</a> selectedTexture)</td></tr> + +<tr><td class="mdescLeft"> </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 </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> &bbox) const </td></tr> + +<tr><td class="mdescLeft"> </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 </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> * </td><td class="memItemRight" valign=bottom><a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapea7">getDefaultTriggerTrack</a> (void)</td></tr> + +<tr><td class="mdescLeft"> </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 </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 </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> & </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> * </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"> </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> * </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> &scene, <a class="el" href="a02419.html">NLMISC::CContiguousBlockAllocator</a> *blockAllocator=NULL)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">=========================================================================== <a href="#NL3D_1_1CParticleSystemShapea12"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </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> </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 </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 </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> &f) throw (NLMISC::EStream)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">=========================================================================== <a href="#NL3D_1_1CParticleSystemShapea16"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </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 </td><td class="memItemRight" valign=bottom><a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapea18">~CParticleSystemShape</a> ()</td></tr> + +<tr><td class="mdescLeft"> </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> * </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> * </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> * </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 </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"> </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> </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 * </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 </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< <a class="el" href="a03408.html">NLMISC::CSmartPtr</a><<br> + <a class="el" href="a03487.html">ITexture</a> > > </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> </td><td class="memItemRight" valign=bottom><a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapep1">_DefaultPos</a></td></tr> + +<tr><td class="mdescLeft"> </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> </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> </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> </td><td class="memItemRight" valign=bottom><a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapep4">_DefaultTriggerTrack</a></td></tr> + +<tr><td class="mdescLeft"> </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 </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 </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 </td><td class="memItemRight" valign=bottom><a class="el" href="a02539.html#NL3D_1_1IShapep0">_DistMax</a></td></tr> + +<tr><td class="mdescLeft"> </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 </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> </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> </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> </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>< <a class="el" href="a03041.html">CParticleSystem</a> > </td><td class="memItemRight" valign=bottom><a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapep12">_SharedSystem</a></td></tr> + +<tr><td class="mdescLeft"> </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 </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 </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> </td><td class="memItemRight" valign=bottom><a class="el" href="a03055.html#NL3D_1_1CParticleSystemShapep15">_UserParamDefaultTrack</a> [4]</td></tr> + +<tr><td class="mdescLeft"> </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 </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 </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 </td><td class="memItemRight" valign=bottom><a class="el" href="a02209.html#NLGEORGES_1_1UTypen0">CPtrInfo</a></td></tr> + +</table> +<hr><h2>Constructor & 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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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< bool >::setValue()</a>, <a class="el" href="a06556.html#l00162">NL3D::CTrackDefaultBlendable< CQuat >::setValue()</a>, <a class="el" href="a06556.html#l00162">NL3D::CTrackDefaultBlendable< CVector >::setValue()</a>, <a class="el" href="a06556.html#l00162">NL3D::CTrackDefaultBlendable< float >::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 < 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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03041.html">NL3D::CParticleSystem</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>ps</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<CParticleSystem *>(&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->getMaxViewDist(); +00152 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep6">_DestroyWhenOutOfFrustum</a> = myPs->doesDestroyWhenOutOfFrustum(); +00153 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep5">_DestroyModelWhenOutOfRange</a> = myPs->getDestroyModelWhenOutOfRange(); +00154 <span class="keywordflow">if</span> (!myPs->getAutoComputeBBox()) +00155 { +00156 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep14">_UsePrecomputedBBox</a> = <span class="keyword">true</span>; +00157 myPs->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->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">( </td> + <td class="md" nowrap valign="top">const std::vector< <a class="el" href="a03082.html">CPlane</a> > & </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> & </td> + <td class="mdname" nowrap> <em>worldMatrix</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </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> + + </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> </td><td>the clipping polytope, planes are normalized. </td></tr> + <tr><td valign=top><em>worldMatrix</em> </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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03348.html">NL3D::CScene</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>scene</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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> </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< CQuat >::getValue()</a>, <a class="el" href="a06556.html#l00169">NL3D::CTrackDefaultBlendable< CVector >::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<CParticleSystemModel *>(scene.<a class="code" href="a03348.html#NL3D_1_1CScenez804_0">createModel</a>(NL3D::ParticleSystemModelId) ); +00270 psm->Shape = <span class="keyword">this</span>; +00271 psm->_Scene = &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->_ParticleSystem = instanciatePS(scene); </span> +00274 +00275 <span class="comment">// Setup position with the default value</span> +00276 psm->ITransformable::setPos( ((CAnimatedValueVector&)<a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep1">_DefaultPos</a>.getValue()).Value ); +00277 psm->ITransformable::setRotQuat( ((CAnimatedValueQuat&)<a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep2">_DefaultRotQuat</a>.getValue()).Value ); +00278 psm->ITransformable::setScale( ((CAnimatedValueVector&)<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->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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02434.html">IDriver</a> & </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> </td> + <td class="mdname" nowrap> <em>selectedTexture</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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>->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 = &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->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 < <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep0">_CachedTex</a>.size(); ++k) +00384 { +00385 <span class="comment">//nlinfo(_CachedTex[k]->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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02156.html">NLMISC::CAABBox</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>bbox</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </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> + + </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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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> &<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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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> &<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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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> &<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">( </td> + <td class="md" nowrap valign="top">void </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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> &<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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </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> + + </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">( </td> + <td class="md" nowrap valign="top">float </td> + <td class="mdname1" valign="top" nowrap> <em>distance</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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>& NLMISC::CRefCount::getRefCount </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </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> + + </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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname1" valign="top" nowrap> <em>numTrack</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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 < 4); +00103 <span class="keywordflow">return</span> &<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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03348.html">CScene</a> & </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> * </td> + <td class="mdname" nowrap> <em>blockAllocator</em> = NULL</td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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> && <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-><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->setScene(&scene); +00223 +00224 <span class="keywordflow">if</span> (<a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapep0">_CachedTex</a>.empty() && scene.getDriver()) +00225 { +00226 <span class="comment">//nlinfo("flushing texs");</span> +00227 <span class="comment">// load && cache textures</span> +00228 myInstance->enumTexs(_CachedTex, *scene.getDriver()); +00229 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a15">uint</a> k = 0; k < <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()->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 < _CachedTex.size(); ++k)</span> +00238 <span class="comment"> { </span> +00239 <span class="comment"> nlinfo(_CachedTex[k]->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-><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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03055.html">CParticleSystemShape</a> </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03325.html">CRenderTrav</a> * </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> * </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 </td> + <td class="mdname" nowrap> <em>opaquePass</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </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> + + </td> + <td> + +<p> +Profiling. Called in RenderPass if Current Frame profiled. No-Op by default Informations must be added in rdrTrav->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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02434.html">NL3D::IDriver</a> * </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> * </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 </td> + <td class="mdname" nowrap> <em>passOpaque</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<CParticleSystemModel *>(trans); +00292 <span class="keywordflow">if</span> (psm->_Invalidated) <span class="keywordflow">return</span>; +00293 <a class="code" href="a03055.html#NL3D_1_1CParticleSystemShapen0">CParticleSystem</a> *ps = psm->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->getEllapsedTime(); +00298 <a class="code" href="a04199.html#a6">nlassert</a>(ps->getScene()); +00299 +00301 <span class="comment">// render particles //</span> +00303 <span class="comment"></span> +00305 <span class="keywordflow">if</span> (ps->isSharingEnabled()) +00306 { +00307 ps->setSysMat(&(psm->getWorldMatrix())); +00308 ps->setUserMatrix(&(psm->getUserMatrix())); +00309 } +00310 +00311 <span class="comment">// Setup the matrix.</span> +00313 <span class="comment"></span> +00314 ps->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->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->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->isToolDisplayEnabled()) +00337 { +00338 ps->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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02270.html">NLMISC::IStream</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>f</em> </td> + <td class="md" valign="top"> ) </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> + + </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 &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<uint8> 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>(&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 > 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 < 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 > 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 > 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 > 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 > 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">( </td> + <td class="md" nowrap valign="top">float </td> + <td class="mdname1" valign="top" nowrap> <em>distMax</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +setup the DistMax where the shape is no more displayed. Take effect only for the next created instances. setting <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<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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02537.html">CTransformShape</a> * </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 & </td> + <td class="mdname" nowrap> <em>polygonCount</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </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> + + </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> </td><td>the instance to take into account (meshMultiLod may return NULL in blend transition). </td></tr> + <tr><td valign=top><em>polygonCount</em> </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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </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> + + </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> + + </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> + + </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> + + </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<<a class="el" href="a03408.html">NLMISC::CSmartPtr</a><<a class="el" href="a03487.html">ITexture</a>> > <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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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><<a class="el" href="a03041.html">CParticleSystem</a>> <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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> |