<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>Crystal Space 1.2.1: iParticleEmitter Struct Reference (Crystal Space 1.2.1 Public API Reference)</title> <link href="tabs.css" rel="stylesheet" type="text/css"> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <table border="0" cellpadding="0" cellspacing="0" width="100%" class="head"> <tr height="59"> <td class="head" width="202" valign="bottom" style="padding-left:0;"><a href="http://www.crystalspace3d.org/"><img src="csblur.png" width="236" height="59" alt="CrystalSpace" border="0"></a></td> <td class="head"><h2>Public API Reference</h2></td> </tr> <tr height="11"> <td colspan="2" class="headshadow" valign="top" style="padding-left:0;"><img src="csblurb.png" width="236" height="11" alt="" border="0"></td> </tr> </table> <div class="content"> <!-- Generated by Doxygen 1.5.3 --> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="classes.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="classes.html"><span>Alphabetical List</span></a></li> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <h1>iParticleEmitter Struct Reference<br> <small> [<a class="el" href="group__meshplugins.html">Mesh plugins</a>]</small> </h1><!-- doxytag: class="iParticleEmitter" --><!-- doxytag: inherits="iBase" -->A particle emitter. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="particles_8h-source.html">imesh/particles.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for iParticleEmitter:</div> <div class="dynsection"> <p><center><img src="structiParticleEmitter__inherit__graph.png" border="0" usemap="#iParticleEmitter__inherit__map" alt="Inheritance graph"></center> <map name="iParticleEmitter__inherit__map"> <area shape="rect" href="structiParticleBuiltinEmitterBase.html" title="iParticleBuiltinEmitterBase" alt="" coords="280,81,472,108"><area shape="rect" href="structiBase.html" title="This is the basic interface: all other interfaces should be derived from this one..." alt="" coords="5,81,61,108"><area shape="rect" href="structiParticleBuiltinEmitterBox.html" title="iParticleBuiltinEmitterBox" alt="" coords="535,5,719,32"><area shape="rect" href="structiParticleBuiltinEmitterCone.html" title="iParticleBuiltinEmitterCone" alt="" coords="529,56,724,83"><area shape="rect" href="structiParticleBuiltinEmitterCylinder.html" title="iParticleBuiltinEmitterCylinder" alt="" coords="520,107,733,133"><area shape="rect" href="structiParticleBuiltinEmitterSphere.html" title="iParticleBuiltinEmitterSphere" alt="" coords="524,157,729,184"></map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> <p> <a href="structiParticleEmitter-members.html">List of all members.</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">virtual <a class="el" href="classcsPtr.html">csPtr</a><br> < <a class="el" href="structiParticleEmitter.html">iParticleEmitter</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="structiParticleEmitter.html#c6c2af180a9f7ded062a8347676e3af0">Clone</a> () const =0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Clone this emitter. <a href="#c6c2af180a9f7ded062a8347676e3af0"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="structiParticleEmitter.html#19e3c7195d81f819710c73123fa08082">EmitParticles</a> (<a class="el" href="structiParticleSystemBase.html">iParticleSystemBase</a> *system, const <a class="el" href="structcsParticleBuffer.html">csParticleBuffer</a> &particleBuffer, float dt, float totalTime, const <a class="el" href="classcsReversibleTransform.html">csReversibleTransform</a> *const emitterToParticle=0)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Spawn new particles. <a href="#19e3c7195d81f819710c73123fa08082"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual float </td><td class="memItemRight" valign="bottom"><a class="el" href="structiParticleEmitter.html#64a47d6803d07574cdc2d31bf8f24d2c">GetDuration</a> () const =0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get duration (in seconds) for this emitter. <a href="#64a47d6803d07574cdc2d31bf8f24d2c"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual float </td><td class="memItemRight" valign="bottom"><a class="el" href="structiParticleEmitter.html#441ae1691bdcfd41376eff0a89c808cd">GetEmissionRate</a> () const =0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get emission rate in particles per second. <a href="#441ae1691bdcfd41376eff0a89c808cd"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="structiParticleEmitter.html#b9af6079603fb88509ed652a12f47560">GetEnabled</a> () const =0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get emitters enabled state. <a href="#b9af6079603fb88509ed652a12f47560"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="structiParticleEmitter.html#84e3c4841dba10cee890f45d9102bce5">GetInitialMass</a> (float &min, float &max) const =0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get initial mass for new particles. <a href="#84e3c4841dba10cee890f45d9102bce5"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="structiParticleEmitter.html#ab61c4a9ad55411db1ce8c4a8760d745">GetInitialTTL</a> (float &min, float &max) const =0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get initial time-to-live span. <a href="#ab61c4a9ad55411db1ce8c4a8760d745"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual float </td><td class="memItemRight" valign="bottom"><a class="el" href="structiParticleEmitter.html#6d728f38fcada0d60a88a64c6c1d0679">GetStartTime</a> () const =0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the start time (in seconds). <a href="#6d728f38fcada0d60a88a64c6c1d0679"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structiParticleEmitter.html#06b7acad3c165f82b56d563c19e1d830">ParticlesToEmit</a> (<a class="el" href="structiParticleSystemBase.html">iParticleSystemBase</a> *system, float dt, float totalTime)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get number of particles this emitter wants to emit. <a href="#06b7acad3c165f82b56d563c19e1d830"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="structiParticleEmitter.html#ca4decfdecd092c6e75dd83ba4699ac8">SetDuration</a> (float time)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set duration (in seconds) for this emitter. <a href="#ca4decfdecd092c6e75dd83ba4699ac8"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="structiParticleEmitter.html#ba4f8eee97e0bde35e1e6f747b8cebb5">SetEmissionRate</a> (float particlesPerSecond)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set emission rate in particles per second. <a href="#ba4f8eee97e0bde35e1e6f747b8cebb5"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="structiParticleEmitter.html#464795670fbad11a2922137088a88cf9">SetEnabled</a> (bool enabled)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set emitters enabled state. <a href="#464795670fbad11a2922137088a88cf9"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="structiParticleEmitter.html#133ed9ecce4a5b9e1a6b4084606ac437">SetInitialMass</a> (float min, float max)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set initial mass for new particles. <a href="#133ed9ecce4a5b9e1a6b4084606ac437"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="structiParticleEmitter.html#bce5336fe9eed2912b6e0bb9ebac4008">SetInitialTTL</a> (float min, float max)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set initial time-to-live span. <a href="#bce5336fe9eed2912b6e0bb9ebac4008"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="structiParticleEmitter.html#7444a2fc490164387deb7f3a9c0ebcda">SetStartTime</a> (float time)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the start time (in seconds) for this emitter. <a href="#7444a2fc490164387deb7f3a9c0ebcda"></a><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> A particle emitter. <p> The particle emitters are responsible for adding new particles <p>Definition at line <a class="el" href="particles_8h-source.html#l00254">254</a> of file <a class="el" href="particles_8h-source.html">particles.h</a>.</p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="c6c2af180a9f7ded062a8347676e3af0"></a><!-- doxytag: member="iParticleEmitter::Clone" ref="c6c2af180a9f7ded062a8347676e3af0" args="() const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classcsPtr.html">csPtr</a><<a class="el" href="structiParticleEmitter.html">iParticleEmitter</a>> iParticleEmitter::Clone </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Clone this emitter. <p> </div> </div><p> <a class="anchor" name="19e3c7195d81f819710c73123fa08082"></a><!-- doxytag: member="iParticleEmitter::EmitParticles" ref="19e3c7195d81f819710c73123fa08082" args="(iParticleSystemBase *system, const csParticleBuffer &particleBuffer, float dt, float totalTime, const csReversibleTransform *const emitterToParticle=0)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void iParticleEmitter::EmitParticles </td> <td>(</td> <td class="paramtype"><a class="el" href="structiParticleSystemBase.html">iParticleSystemBase</a> * </td> <td class="paramname"> <em>system</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="structcsParticleBuffer.html">csParticleBuffer</a> & </td> <td class="paramname"> <em>particleBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"> <em>dt</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"> <em>totalTime</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classcsReversibleTransform.html">csReversibleTransform</a> *const </td> <td class="paramname"> <em>emitterToParticle</em> = <code>0</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Spawn new particles. <p> </div> </div><p> <a class="anchor" name="64a47d6803d07574cdc2d31bf8f24d2c"></a><!-- doxytag: member="iParticleEmitter::GetDuration" ref="64a47d6803d07574cdc2d31bf8f24d2c" args="() const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual float iParticleEmitter::GetDuration </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get duration (in seconds) for this emitter. <p> </div> </div><p> <a class="anchor" name="441ae1691bdcfd41376eff0a89c808cd"></a><!-- doxytag: member="iParticleEmitter::GetEmissionRate" ref="441ae1691bdcfd41376eff0a89c808cd" args="() const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual float iParticleEmitter::GetEmissionRate </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get emission rate in particles per second. <p> </div> </div><p> <a class="anchor" name="b9af6079603fb88509ed652a12f47560"></a><!-- doxytag: member="iParticleEmitter::GetEnabled" ref="b9af6079603fb88509ed652a12f47560" args="() const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool iParticleEmitter::GetEnabled </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get emitters enabled state. <p> </div> </div><p> <a class="anchor" name="84e3c4841dba10cee890f45d9102bce5"></a><!-- doxytag: member="iParticleEmitter::GetInitialMass" ref="84e3c4841dba10cee890f45d9102bce5" args="(float &min, float &max) const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void iParticleEmitter::GetInitialMass </td> <td>(</td> <td class="paramtype">float & </td> <td class="paramname"> <em>min</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float & </td> <td class="paramname"> <em>max</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get initial mass for new particles. <p> </div> </div><p> <a class="anchor" name="ab61c4a9ad55411db1ce8c4a8760d745"></a><!-- doxytag: member="iParticleEmitter::GetInitialTTL" ref="ab61c4a9ad55411db1ce8c4a8760d745" args="(float &min, float &max) const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void iParticleEmitter::GetInitialTTL </td> <td>(</td> <td class="paramtype">float & </td> <td class="paramname"> <em>min</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float & </td> <td class="paramname"> <em>max</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get initial time-to-live span. <p> </div> </div><p> <a class="anchor" name="6d728f38fcada0d60a88a64c6c1d0679"></a><!-- doxytag: member="iParticleEmitter::GetStartTime" ref="6d728f38fcada0d60a88a64c6c1d0679" args="() const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual float iParticleEmitter::GetStartTime </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the start time (in seconds). <p> </div> </div><p> <a class="anchor" name="06b7acad3c165f82b56d563c19e1d830"></a><!-- doxytag: member="iParticleEmitter::ParticlesToEmit" ref="06b7acad3c165f82b56d563c19e1d830" args="(iParticleSystemBase *system, float dt, float totalTime)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual size_t iParticleEmitter::ParticlesToEmit </td> <td>(</td> <td class="paramtype"><a class="el" href="structiParticleSystemBase.html">iParticleSystemBase</a> * </td> <td class="paramname"> <em>system</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"> <em>dt</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"> <em>totalTime</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get number of particles this emitter wants to emit. <p> </div> </div><p> <a class="anchor" name="ca4decfdecd092c6e75dd83ba4699ac8"></a><!-- doxytag: member="iParticleEmitter::SetDuration" ref="ca4decfdecd092c6e75dd83ba4699ac8" args="(float time)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void iParticleEmitter::SetDuration </td> <td>(</td> <td class="paramtype">float </td> <td class="paramname"> <em>time</em> </td> <td> ) </td> <td width="100%"><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Set duration (in seconds) for this emitter. <p> By default emitters will emit particles infinitely, but by setting this you can make them stop a given number of seconds after they initiated emission. A negative duration is the same as infinite duration. </div> </div><p> <a class="anchor" name="ba4f8eee97e0bde35e1e6f747b8cebb5"></a><!-- doxytag: member="iParticleEmitter::SetEmissionRate" ref="ba4f8eee97e0bde35e1e6f747b8cebb5" args="(float particlesPerSecond)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void iParticleEmitter::SetEmissionRate </td> <td>(</td> <td class="paramtype">float </td> <td class="paramname"> <em>particlesPerSecond</em> </td> <td> ) </td> <td width="100%"><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Set emission rate in particles per second. <p> </div> </div><p> <a class="anchor" name="464795670fbad11a2922137088a88cf9"></a><!-- doxytag: member="iParticleEmitter::SetEnabled" ref="464795670fbad11a2922137088a88cf9" args="(bool enabled)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void iParticleEmitter::SetEnabled </td> <td>(</td> <td class="paramtype">bool </td> <td class="paramname"> <em>enabled</em> </td> <td> ) </td> <td width="100%"><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Set emitters enabled state. <p> The emitter will only emit particles if enabled. </div> </div><p> <a class="anchor" name="133ed9ecce4a5b9e1a6b4084606ac437"></a><!-- doxytag: member="iParticleEmitter::SetInitialMass" ref="133ed9ecce4a5b9e1a6b4084606ac437" args="(float min, float max)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void iParticleEmitter::SetInitialMass </td> <td>(</td> <td class="paramtype">float </td> <td class="paramname"> <em>min</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"> <em>max</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Set initial mass for new particles. <p> The emitter will assign a mass in the range specified. </div> </div><p> <a class="anchor" name="bce5336fe9eed2912b6e0bb9ebac4008"></a><!-- doxytag: member="iParticleEmitter::SetInitialTTL" ref="bce5336fe9eed2912b6e0bb9ebac4008" args="(float min, float max)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void iParticleEmitter::SetInitialTTL </td> <td>(</td> <td class="paramtype">float </td> <td class="paramname"> <em>min</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"> <em>max</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Set initial time-to-live span. <p> The emitter will assign a time-to-live in the range specified. </div> </div><p> <a class="anchor" name="7444a2fc490164387deb7f3a9c0ebcda"></a><!-- doxytag: member="iParticleEmitter::SetStartTime" ref="7444a2fc490164387deb7f3a9c0ebcda" args="(float time)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void iParticleEmitter::SetStartTime </td> <td>(</td> <td class="paramtype">float </td> <td class="paramname"> <em>time</em> </td> <td> ) </td> <td width="100%"><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Set the start time (in seconds) for this emitter. <p> By default emitters will start emitting particles as soon as the particle system is activated (comes into view), but with this setting this can be delayed. </div> </div><p> <hr>The documentation for this struct was generated from the following file:<ul> <li>imesh/<a class="el" href="particles_8h-source.html">particles.h</a></ul> <hr size="1"><address><small>Generated for Crystal Space 1.2.1 by <a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.3 </small></address> </div></body> </html>