Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > bad97183153701b09df5fae1052b1c30 > files > 824

crystalspace-doc-1.2.1-5mdv2010.0.i586.rpm

<!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: csParticleSystem Class 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&nbsp;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&nbsp;Pages</span></a></li>
  </ul>
</div>
<div class="tabs">
  <ul>
    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
  </ul>
</div>
<h1>csParticleSystem Class Reference<br>
<small>
[<a class="el" href="group__plugincommon.html">Common Plugin Classes</a>]</small>
</h1><!-- doxytag: class="csParticleSystem" --><!-- doxytag: inherits="scfImplementationExt2&lt; csParticleSystem, csObjectModel, iMeshObject, iParticleState &gt;" -->This class represents a particle system.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="partgen_8h-source.html">csplugincommon/particlesys/partgen.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for csParticleSystem:</div>
<div class="dynsection">
<p><center><img src="classcsParticleSystem__inherit__graph.png" border="0" usemap="#csParticleSystem__inherit__map" alt="Inheritance graph"></center>
<map name="csParticleSystem__inherit__map">
<area shape="rect" href="classscfImplementationExt0.html" title="scfImplementationExt0\&lt; csNewtonianParticleSystem, csParticleSystem \&gt;" alt="" coords="1992,107,2496,133"><area shape="rect" href="classscfImplementationExt2.html" title="scfImplementationExt2\&lt; csParticleSystem, csObjectModel, iMeshObject, iParticleState \&gt;" alt="" coords="1165,107,1763,133"><area shape="rect" href="classcsObjectModel.html" title="Helper class to make it easier to implement iObjectModel in mesh objects." alt="" coords="1003,56,1117,83"><area shape="rect" href="classscfImplementation1.html" title="scfImplementation1\&lt; csObjectModel, iObjectModel \&gt;" alt="" coords="591,56,953,83"><area shape="rect" href="classscfImplementation.html" title="scfImplementation\&lt; csObjectModel \&gt;" alt="" coords="276,5,540,32"><area shape="rect" href="structiBase.html" title="This is the basic interface: all other interfaces should be derived from this one..." alt="" coords="88,81,144,108"><area shape="rect" href="structiObjectModel.html" title="This interface represents data related to some geometry in object space." alt="" coords="356,56,460,83"><area shape="rect" href="structiMeshObject.html" title="This is a general mesh object that the engine can interact with." alt="" coords="1011,107,1109,133"><area shape="rect" href="structiParticleState.html" title="This interface describes the API for the particle mesh object." alt="" coords="1007,157,1113,184"><area shape="rect" href="classCS_1_1Memory_1_1CustomAllocated.html" title="Class that overrides operator new/operator delete/etc." alt="" coords="5,5,227,32"><area shape="rect" href="classcsNewtonianParticleSystem.html" title="This class has a set of particles that behave with physics." alt="" coords="2544,107,2747,133"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="classcsParticleSystem-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 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#01f10b72e64fd9c6a9842705ec05f13a">AddColor</a> (const <a class="el" href="classcsColor.html">csColor</a> &amp;col)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add particle colors, convenience function.  <a href="#01f10b72e64fd9c6a9842705ec05f13a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#f967443bec81784f9c5b869f9e3e1558">AppendParticle</a> (<a class="el" href="structiMeshObject.html">iMeshObject</a> *mesh, <a class="el" href="structiParticle.html">iParticle</a> *part, <a class="el" href="structiSprite2DState.html">iSprite2DState</a> *spr2d)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a new particle, increases num_particles. Do a DecRef yourself.  <a href="#f967443bec81784f9c5b869f9e3e1558"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#ee8755fb76b5373659d06d797eb406fc">AppendRectSprite</a> (float width, float height, <a class="el" href="structiMaterialWrapper.html">iMaterialWrapper</a> *<a class="el" href="classcsParticleSystem.html#1aba4e26ebd91ead86795b0ee0f4c38c">mat</a>, bool lighted)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add an rectangle shaped sprite2d particle.  <a href="#ee8755fb76b5373659d06d797eb406fc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#d2d8f50d12f461d1e3d17c57951eff6d">AppendRegularSprite</a> (int n, float <a class="el" href="classcsParticleSystem.html#bbd8ae8c344db6b368e6853ed956e571">radius</a>, <a class="el" href="structiMaterialWrapper.html">iMaterialWrapper</a> *<a class="el" href="classcsParticleSystem.html#1aba4e26ebd91ead86795b0ee0f4c38c">mat</a>, bool lighted)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a sprite2d n-gon with material, and given radius.  <a href="#d2d8f50d12f461d1e3d17c57951eff6d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#75ecb31d5fa2a9011facd80d4eca9714">BuildDecal</a> (const <a class="el" href="classcsVector3.html">csVector3</a> *pos, float decalRadius, <a class="el" href="structiDecalBuilder.html">iDecalBuilder</a> *decalBuilder)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">see <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification.  <a href="#75ecb31d5fa2a9011facd80d4eca9714"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsPtr.html">csPtr</a><br>
&lt; <a class="el" href="structiMeshObject.html">iMeshObject</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#2411cec8a23d2d65dfd477d8fed276c0">Clone</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a copy of this object and returns the clone.  <a href="#2411cec8a23d2d65dfd477d8fed276c0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#dd16ef4f5826db483de06feeee44477d">csParticleSystem</a> (<a class="el" href="structiObjectRegistry.html">iObjectRegistry</a> *<a class="el" href="classcsParticleSystem.html#d0eaf4027452133719edd24637d0304f">object_reg</a>, <a class="el" href="structiMeshObjectFactory.html">iMeshObjectFactory</a> *<a class="el" href="classcsParticleSystem.html#7f9c3a76227c84c1a8af27b69a1a79f1">factory</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make a new system.  <a href="#dd16ef4f5826db483de06feeee44477d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#37ceb857858e4318a703f3681b6da5b9">GetAlpha</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the probable alpha of the particles.  <a href="#37ceb857858e4318a703f3681b6da5b9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classcsBox3.html">csBox3</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#0dbea829ddfcdfc0e64f588d4c74c8d5">GetBoundingBox</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the bounding box for this particle system.  <a href="#0dbea829ddfcdfc0e64f588d4c74c8d5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#45ca251718ff355905c93b329a57d403">GetChangeAlpha</a> (float &amp;factor) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">see if change alpha is enabled, and get the value if so.  <a href="#45ca251718ff355905c93b329a57d403"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#977ea928fb0b39e8676e57c157126e29">GetChangeColor</a> (<a class="el" href="classcsColor.html">csColor</a> &amp;col) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">see if change color is enabled, and get a copy if so.  <a href="#977ea928fb0b39e8676e57c157126e29"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#173c3de06b03791662c9d86bc5dcdc4f">GetChangeRotation</a> (float &amp;angle) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">see if change rotation is enabled, and get the angle if so.  <a href="#173c3de06b03791662c9d86bc5dcdc4f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#89b632a275ebfe9b02971deb0fb05fdf">GetChangeSize</a> (float &amp;factor) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">see if change size is enabled, and get the value if so.  <a href="#89b632a275ebfe9b02971deb0fb05fdf"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#8dcd7e94418cd0cfb95e0c724858119c">GetColor</a> (<a class="el" href="classcsColor.html">csColor</a> &amp;col) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the base color of the mesh.  <a href="#8dcd7e94418cd0cfb95e0c724858119c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <br>
<a class="el" href="structiMeshObjectFactory.html">iMeshObjectFactory</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#b26354018a3050976262c3b0720b255f">GetFactory</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the reference to the factory that created this mesh object.  <a href="#b26354018a3050976262c3b0720b255f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsFlags.html">csFlags</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#ac810ef4d77a176d43ff2617c0da8261">GetFlags</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get flags for this object.  <a href="#ac810ef4d77a176d43ff2617c0da8261"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <br>
<a class="el" href="structiMaterialWrapper.html">iMaterialWrapper</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#2b338104d8a482aaa34f4077f81f6460">GetMaterialWrapper</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the material of the mesh.  <a href="#2b338104d8a482aaa34f4077f81f6460"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiMeshWrapper.html">iMeshWrapper</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#684ddd7edfbba6e18b4a2901666ead80">GetMeshWrapper</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the logical parent for this mesh object.  <a href="#684ddd7edfbba6e18b4a2901666ead80"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#f258236fe17d9af5e14a2b9d848bdbb4">GetMixMode</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get mix mode.  <a href="#f258236fe17d9af5e14a2b9d848bdbb4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#45f03430516d9eb1adcf100109a154e9">GetNumParticles</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">How many particles the system currently has.  <a href="#45f03430516d9eb1adcf100109a154e9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="classcsBox3.html">csBox3</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#bb6824591c88d75a462680c30ac0065b">GetObjectBoundingBox</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the bounding box in object space for this mesh object.  <a href="#bb6824591c88d75a462680c30ac0065b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#517abb6bbfa95b9d083ce6a87d376534">GetObjectBoundingBox</a> (<a class="el" href="classcsBox3.html">csBox3</a> &amp;<a class="el" href="classcsParticleSystem.html#688d562115daf658d2ba538838aa57ec">bbox</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the bounding box in object space for this mesh object.  <a href="#517abb6bbfa95b9d083ce6a87d376534"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiObjectModel.html">iObjectModel</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#9665cdd29f34a23d4d468ac3edf07991">GetObjectModel</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the generic interface describing the geometry of this mesh.  <a href="#9665cdd29f34a23d4d468ac3edf07991"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structiParticle.html">iParticle</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#0ef603bfaea2472496ac8e39f1407895">GetParticle</a> (size_t idx) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a particle.  <a href="#0ef603bfaea2472496ac8e39f1407895"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#020cfe90155f6387399131953f6bc971">GetParticleCount</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the number of particles.  <a href="#020cfe90155f6387399131953f6bc971"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#0427cf5bd18d9044f82140678b23349e">GetRadius</a> (float &amp;rad, <a class="el" href="classcsVector3.html">csVector3</a> &amp;cent)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the radius and center of this object in object space.  <a href="#0427cf5bd18d9044f82140678b23349e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structcsRenderMesh.html">csRenderMesh</a> **&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#2218c7a198dcc063d1426ba4a649c410">GetRenderMeshes</a> (int &amp;n, <a class="el" href="structiRenderView.html">iRenderView</a> *rview, <a class="el" href="structiMovable.html">iMovable</a> *movable, <a class="el" href="group__util.html#g1134b580f8da4de94ca6b1de4d37975e">uint32</a> frustum_mask)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the set of render meshes.  <a href="#2218c7a198dcc063d1426ba4a649c410"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#d566654bd5dbe65f2c2bae9269331e0d">GetSelfDestruct</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns whether the system will self destruct  <a href="#d566654bd5dbe65f2c2bae9269331e0d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiTerraFormer.html">iTerraFormer</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#68d77c097d1ec09be6de89d9a7073c17">GetTerraFormerColldet</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a terra former representing the geometry of the object.  <a href="#68d77c097d1ec09be6de89d9a7073c17"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiTerrainSystem.html">iTerrainSystem</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#dc63fc1ae8314c263604780329b04cd2">GetTerrainColldet</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a terrain representing the geometry of the object.  <a href="#dc63fc1ae8314c263604780329b04cd2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__util.html#g28e82998c4c2d1197a1d412bba7da793">csTicks</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#ad9c972681cbc6933711c2c2f5c2b350">GetTimeToLive</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">if the system will self destruct, returns the time to live in msec.  <a href="#ad9c972681cbc6933711c2c2f5c2b350"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <br>
<a class="el" href="structiMeshObjectDrawCallback.html">iMeshObjectDrawCallback</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#4bb742b3d55571973a10e5f563d88b62">GetVisibleCallback</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current visible callback.  <a href="#4bb742b3d55571973a10e5f563d88b62"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="82bd30a581f7f4efece6aa2071e28df6"></a><!-- doxytag: member="csParticleSystem::HitBeamBBox" ref="82bd30a581f7f4efece6aa2071e28df6" args="(const csVector3 &amp;, const csVector3 &amp;, csVector3 &amp;, float *)" -->
virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#82bd30a581f7f4efece6aa2071e28df6">HitBeamBBox</a> (const <a class="el" href="classcsVector3.html">csVector3</a> &amp;, const <a class="el" href="classcsVector3.html">csVector3</a> &amp;, <a class="el" href="classcsVector3.html">csVector3</a> &amp;, float *)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#5cb2d56ee22014cdd3f69dbf43528a4d">HitBeamObject</a> (const <a class="el" href="classcsVector3.html">csVector3</a> &amp;start, const <a class="el" href="classcsVector3.html">csVector3</a> &amp;end, <a class="el" href="classcsVector3.html">csVector3</a> &amp;isect, float *pr, int *polygon_idx=0, <a class="el" href="structiMaterialWrapper.html">iMaterialWrapper</a> **material=0)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if this mesh is hit by this object space vector.  <a href="#5cb2d56ee22014cdd3f69dbf43528a4d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#82cff32f37801a01a92c1dbaa2d0b583">HitBeamOutline</a> (const <a class="el" href="classcsVector3.html">csVector3</a> &amp;, const <a class="el" href="classcsVector3.html">csVector3</a> &amp;, <a class="el" href="classcsVector3.html">csVector3</a> &amp;, float *)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if this mesh is hit by this object space vector.  <a href="#82cff32f37801a01a92c1dbaa2d0b583"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#144928e3054bc79d68a7926322a700e6">InvalidateMaterialHandles</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Material changed.  <a href="#144928e3054bc79d68a7926322a700e6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#eea04e78918de081feee87b4be9dc4e4">NextFrame</a> (<a class="el" href="group__util.html#g28e82998c4c2d1197a1d412bba7da793">csTicks</a> current_time, const <a class="el" href="classcsVector3.html">csVector3</a> &amp;, <a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Control animation of this object.  <a href="#eea04e78918de081feee87b4be9dc4e4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#35dd8229a1af65102243722d4d48de8d">PositionChild</a> (<a class="el" href="structiMeshObject.html">iMeshObject</a> *, <a class="el" href="group__util.html#g28e82998c4c2d1197a1d412bba7da793">csTicks</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">see <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification.  <a href="#35dd8229a1af65102243722d4d48de8d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#bbed5b639f1ebd79c195641eed52356f">RemoveParticles</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove all particles.  <a href="#bbed5b639f1ebd79c195641eed52356f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#365c842a7f52aa2b5c6c2bf500794f35">Rotate</a> (float angle)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Rotate all particles.  <a href="#365c842a7f52aa2b5c6c2bf500794f35"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#78548263445633a40b43ac48949a87ac">ScaleBy</a> (float factor)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Scale all particles.  <a href="#78548263445633a40b43ac48949a87ac"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#996ad95cb456144030ea892a3f02c7f5">SetAlpha</a> (float alpha)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the alpha of particles.  <a href="#996ad95cb456144030ea892a3f02c7f5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#fc3a3d06795a854bf288b00c29c34578">SetChangeAlpha</a> (float factor)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change alpha of all particles, by factor per second.  <a href="#fc3a3d06795a854bf288b00c29c34578"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#1696bc013eb8bd5a128808373a29d99a">SetChangeColor</a> (const <a class="el" href="classcsColor.html">csColor</a> &amp;col)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change color of all particles, by col per second.  <a href="#1696bc013eb8bd5a128808373a29d99a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#74fd57218168ee688315ec401ee821e0">SetChangeRotation</a> (float angle)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change rotation of all particles, by angle in radians per second.  <a href="#74fd57218168ee688315ec401ee821e0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#d7ab2dcc71f396c500f9a49da3b24a2a">SetChangeSize</a> (float factor)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change size of all particles, by factor per second.  <a href="#d7ab2dcc71f396c500f9a49da3b24a2a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#84c7bbbec4256044e4d51085eaf1ec06">SetColor</a> (const <a class="el" href="classcsColor.html">csColor</a> &amp;col)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the base color of the mesh.  <a href="#84c7bbbec4256044e4d51085eaf1ec06"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#da0fffc08fa20be0ada73d32b3a41bf6">SetMaterialWrapper</a> (<a class="el" href="structiMaterialWrapper.html">iMaterialWrapper</a> *<a class="el" href="classcsParticleSystem.html#1aba4e26ebd91ead86795b0ee0f4c38c">mat</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the material of the mesh.  <a href="#da0fffc08fa20be0ada73d32b3a41bf6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#d21a79d74f7ce257289f7ad8bb501250">SetMeshWrapper</a> (<a class="el" href="structiMeshWrapper.html">iMeshWrapper</a> *lp)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a reference to the mesh wrapper holding the mesh objects.  <a href="#d21a79d74f7ce257289f7ad8bb501250"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#ca1e9b3e7c4eb998ce9bb7ec1cadc14e">SetMixMode</a> (<a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> mode)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set mix mode. Note that not all meshes may support this.  <a href="#ca1e9b3e7c4eb998ce9bb7ec1cadc14e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#d9cb30fd5ebce817edfba40ec9709c77">SetObjectBoundingBox</a> (const <a class="el" href="classcsBox3.html">csBox3</a> &amp;<a class="el" href="classcsParticleSystem.html#688d562115daf658d2ba538838aa57ec">bbox</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Override the bounding box of this mesh object in object space.  <a href="#d9cb30fd5ebce817edfba40ec9709c77"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#6f6d2c48afbfc66a54efc1c1cedcaac6">SetParticleCount</a> (size_t num)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the number of particles to use.  <a href="#6f6d2c48afbfc66a54efc1c1cedcaac6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#ddec76581621fb3b386e78fea4804100">SetSelfDestruct</a> (<a class="el" href="group__util.html#g28e82998c4c2d1197a1d412bba7da793">csTicks</a> t)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set selfdestruct mode on, and msec to live.  <a href="#ddec76581621fb3b386e78fea4804100"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#97e4196850df7db6f62870812811e902">SetupColor</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set particle colors, convenience function.  <a href="#97e4196850df7db6f62870812811e902"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#706d3b106e55c7c4b80ba8613e26bc62">SetupMixMode</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set particle mixmodes, convenience function.  <a href="#706d3b106e55c7c4b80ba8613e26bc62"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#dc73b77b32991864dc11725e96f1c60b">SetVisibleCallback</a> (<a class="el" href="structiMeshObjectDrawCallback.html">iMeshObjectDrawCallback</a> *cb)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Register a callback to the mesh object which will be called from within Draw() if the mesh object thinks that the object is really visible.  <a href="#dc73b77b32991864dc11725e96f1c60b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#da5ac425237099fca62ff79dbb985310">UnsetChangeAlpha</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stop change of alpha.  <a href="#da5ac425237099fca62ff79dbb985310"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#13600d9c75a157dd13a8f7b5c96ade71">UnsetChangeColor</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stop change of color.  <a href="#13600d9c75a157dd13a8f7b5c96ade71"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#dbccc8d08cd64c38457256a169030297">UnsetChangeRotation</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stop change of rotation.  <a href="#dbccc8d08cd64c38457256a169030297"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#30018c9ab3ebdb0faf499a040e941998">UnsetChangeSize</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stop change of size.  <a href="#30018c9ab3ebdb0faf499a040e941998"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#8e95746fd0997234c98d63dd9f79468f">UnSetSelfDestruct</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">system will no longer self destruct  <a href="#8e95746fd0997234c98d63dd9f79468f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#65efacb0fdb7dc112820e2afafb7cb1b">Update</a> (<a class="el" href="group__util.html#g28e82998c4c2d1197a1d412bba7da793">csTicks</a> elapsed_time)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Update the state of the particles as time has passed.  <a href="#65efacb0fdb7dc112820e2afafb7cb1b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#debe13f985d54028f61e8ac339712701">~csParticleSystem</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroy particle system, and all particles.  <a href="#debe13f985d54028f61e8ac339712701"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="347ca4946c96b85fedbba968139b0c9f"></a><!-- doxytag: member="csParticleSystem::ChangeObject" ref="347ca4946c96b85fedbba968139b0c9f" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#347ca4946c96b85fedbba968139b0c9f">ChangeObject</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsVector3.html">csVector3</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#e97201db0ee15f5b3f47cb894d62608e">GetRandomDirection</a> (<a class="el" href="classcsVector3.html">csVector3</a> const &amp;magnitude, <a class="el" href="classcsVector3.html">csVector3</a> const &amp;offset)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return vector with -1..+1 members. Varying length.  <a href="#e97201db0ee15f5b3f47cb894d62608e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsVector3.html">csVector3</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#03d497ee37e00ee49ad8163b3c223253">GetRandomDirection</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return vector with -1..+1 members. Varying length.  <a href="#03d497ee37e00ee49ad8163b3c223253"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsVector3.html">csVector3</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#d8dd7d160c762ab28f01d3fcedb092c9">GetRandomPosition</a> (<a class="el" href="classcsBox3.html">csBox3</a> const &amp;box)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return vector with random position within box.  <a href="#d8dd7d160c762ab28f01d3fcedb092c9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#547ee5f0b6323637c999fcb4aa914360">SetupBuffers</a> (size_t <a class="el" href="classcsParticleSystem.html#953c7a4bf8a910688a0004109c2e9757">part_sides</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Setup the buffers for the particles.  <a href="#547ee5f0b6323637c999fcb4aa914360"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#b5bc6a3e1746526ea816be2b03a646d2">SetupObject</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Setup this object.  <a href="#b5bc6a3e1746526ea816be2b03a646d2"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="05828e89213a9118a649b50a6d2cf991"></a><!-- doxytag: member="csParticleSystem::alpha_now" ref="05828e89213a9118a649b50a6d2cf991" args="" -->
float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#05828e89213a9118a649b50a6d2cf991">alpha_now</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="19940901e610518c6bf9c4c5137a2c30"></a><!-- doxytag: member="csParticleSystem::alphapersecond" ref="19940901e610518c6bf9c4c5137a2c30" args="" -->
float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#19940901e610518c6bf9c4c5137a2c30">alphapersecond</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="28c998588eba2f64eeae3cd450a6c21f"></a><!-- doxytag: member="csParticleSystem::anglepersecond" ref="28c998588eba2f64eeae3cd450a6c21f" args="" -->
float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#28c998588eba2f64eeae3cd450a6c21f">anglepersecond</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsBox3.html">csBox3</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#688d562115daf658d2ba538838aa57ec">bbox</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">bounding box in 3d of all particles in this system.  <a href="#688d562115daf658d2ba538838aa57ec"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#e49ff9a4a781c06ff621816b2be5628e">change_alpha</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Alpha change.  <a href="#e49ff9a4a781c06ff621816b2be5628e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#1024c8931d49c7ed970469ae21bf1d30">change_color</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Color change.  <a href="#1024c8931d49c7ed970469ae21bf1d30"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#6dd8d6408d31f18186448cd6d95b1f5c">change_rotation</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Rotate particles, angle in radians.  <a href="#6dd8d6408d31f18186448cd6d95b1f5c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#95a8f1c4c09e116e7789b65cf3ec99e2">change_size</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Size change.  <a href="#95a8f1c4c09e116e7789b65cf3ec99e2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsColor.html">csColor</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#a590fa605369d3a972a9f029b07536f5">color</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Color of all particles.  <a href="#a590fa605369d3a972a9f029b07536f5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="888cc5da2ba576cba226134ae6cd1b65"></a><!-- doxytag: member="csParticleSystem::colorpersecond" ref="888cc5da2ba576cba226134ae6cd1b65" args="" -->
<a class="el" href="classcsColor.html">csColor</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#888cc5da2ba576cba226134ae6cd1b65">colorpersecond</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ac54b96ac9c478c99db888113bff1b52"></a><!-- doxytag: member="csParticleSystem::current_features" ref="ac54b96ac9c478c99db888113bff1b52" args="" -->
<a class="el" href="group__util.html#g1134b580f8da4de94ca6b1de4d37975e">uint32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#ac54b96ac9c478c99db888113bff1b52">current_features</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="eb577506f932714a6085599a4d8c340a"></a><!-- doxytag: member="csParticleSystem::current_lod" ref="eb577506f932714a6085599a4d8c340a" args="" -->
float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#eb577506f932714a6085599a4d8c340a">current_lod</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c652fcb7363221ed63e6ff7130440b7f"></a><!-- doxytag: member="csParticleSystem::engine" ref="c652fcb7363221ed63e6ff7130440b7f" args="" -->
<a class="el" href="structiEngine.html">iEngine</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#c652fcb7363221ed63e6ff7130440b7f">engine</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7f9c3a76227c84c1a8af27b69a1a79f1"></a><!-- doxytag: member="csParticleSystem::factory" ref="7f9c3a76227c84c1a8af27b69a1a79f1" args="" -->
<a class="el" href="structiMeshObjectFactory.html">iMeshObjectFactory</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#7f9c3a76227c84c1a8af27b69a1a79f1">factory</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="23d5c69efae91a19ff8a05be9fdc5662"></a><!-- doxytag: member="csParticleSystem::flags" ref="23d5c69efae91a19ff8a05be9fdc5662" args="" -->
<a class="el" href="classcsFlags.html">csFlags</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#23d5c69efae91a19ff8a05be9fdc5662">flags</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="572c9af1e855ce14fdd13b4c1b053291"></a><!-- doxytag: member="csParticleSystem::g3d" ref="572c9af1e855ce14fdd13b4c1b053291" args="" -->
<a class="el" href="classcsRef.html">csRef</a>&lt; <a class="el" href="structiGraphics3D.html">iGraphics3D</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#572c9af1e855ce14fdd13b4c1b053291">g3d</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d3c082e81590eb359dc8dc13b6e4a2a7"></a><!-- doxytag: member="csParticleSystem::index_buffer" ref="d3c082e81590eb359dc8dc13b6e4a2a7" args="" -->
<a class="el" href="classcsRef.html">csRef</a>&lt; <a class="el" href="structiRenderBuffer.html">iRenderBuffer</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#d3c082e81590eb359dc8dc13b6e4a2a7">index_buffer</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b6ca273fe72a45272e7c5c11fde2b84b"></a><!-- doxytag: member="csParticleSystem::initialized" ref="b6ca273fe72a45272e7c5c11fde2b84b" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#b6ca273fe72a45272e7c5c11fde2b84b">initialized</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f46486ca7e356728b228154c51c1bb35"></a><!-- doxytag: member="csParticleSystem::light_mgr" ref="f46486ca7e356728b228154c51c1bb35" args="" -->
<a class="el" href="classcsRef.html">csRef</a>&lt; <a class="el" href="structiLightManager.html">iLightManager</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#f46486ca7e356728b228154c51c1bb35">light_mgr</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f50f31a3bbab691dd5210dfbd0622c97"></a><!-- doxytag: member="csParticleSystem::logparent" ref="f50f31a3bbab691dd5210dfbd0622c97" args="" -->
<a class="el" href="structiMeshWrapper.html">iMeshWrapper</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#f50f31a3bbab691dd5210dfbd0622c97">logparent</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsRef.html">csRef</a>&lt; <a class="el" href="structiMaterialWrapper.html">iMaterialWrapper</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#1aba4e26ebd91ead86795b0ee0f4c38c">mat</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Material for all particles.  <a href="#1aba4e26ebd91ead86795b0ee0f4c38c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#c37a6067c75ff5cbe350250a1d0ed786">MixMode</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">MixMode for all particles.  <a href="#c37a6067c75ff5cbe350250a1d0ed786"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="15ca24de4c8a7b3a7719da5b0899c228"></a><!-- doxytag: member="csParticleSystem::number" ref="15ca24de4c8a7b3a7719da5b0899c228" args="" -->
size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#15ca24de4c8a7b3a7719da5b0899c228">number</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d0eaf4027452133719edd24637d0304f"></a><!-- doxytag: member="csParticleSystem::object_reg" ref="d0eaf4027452133719edd24637d0304f" args="" -->
<a class="el" href="structiObjectRegistry.html">iObjectRegistry</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#d0eaf4027452133719edd24637d0304f">object_reg</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsVector3.html">csVector3</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#a52568155ad252a4bde6048aa855c8c2">part_pos</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">particle position  <a href="#a52568155ad252a4bde6048aa855c8c2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="953c7a4bf8a910688a0004109c2e9757"></a><!-- doxytag: member="csParticleSystem::part_sides" ref="953c7a4bf8a910688a0004109c2e9757" args="" -->
size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#953c7a4bf8a910688a0004109c2e9757">part_sides</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="45c3a9e39dd1d8e65ee2b378a2b526e9"></a><!-- doxytag: member="csParticleSystem::particles" ref="45c3a9e39dd1d8e65ee2b378a2b526e9" args="" -->
<a class="el" href="classcsRefArray.html">csRefArray</a>&lt; <a class="el" href="structiParticle.html">iParticle</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#45c3a9e39dd1d8e65ee2b378a2b526e9">particles</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsRefArray.html">csRefArray</a>&lt; <a class="el" href="structiMeshObject.html">iMeshObject</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#67ae8717e75f19f71d9cdfa65b9746d3">partmeshes</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="structiParticle.html" title="A iParticle can be used in particle Systems.">iParticle</a> ptrs to the particles.  <a href="#67ae8717e75f19f71d9cdfa65b9746d3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e041690a94c9221c85fbd93af78da1c1"></a><!-- doxytag: member="csParticleSystem::perFrameHolder" ref="e041690a94c9221c85fbd93af78da1c1" args="" -->
<a class="el" href="classcsFrameDataHolder.html">csFrameDataHolder</a><br>
&lt; <a class="el" href="structcsParticleSystem_1_1PerFrameData.html">PerFrameData</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#e041690a94c9221c85fbd93af78da1c1">perFrameHolder</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__util.html#g28e82998c4c2d1197a1d412bba7da793">csTicks</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#739dea54902e352b76928bac50b52d2b">prev_time</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Previous time.  <a href="#739dea54902e352b76928bac50b52d2b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#bbd8ae8c344db6b368e6853ed956e571">radius</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Object space radius.  <a href="#bbd8ae8c344db6b368e6853ed956e571"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d175f24ab436e4d77d2aa3172f0888fd"></a><!-- doxytag: member="csParticleSystem::rmHolder" ref="d175f24ab436e4d77d2aa3172f0888fd" args="" -->
<a class="el" href="classcsRenderMeshHolder.html">csRenderMeshHolder</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#d175f24ab436e4d77d2aa3172f0888fd">rmHolder</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="884cc654143f0574f816044f25dba561"></a><!-- doxytag: member="csParticleSystem::scalepersecond" ref="884cc654143f0574f816044f25dba561" args="" -->
float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#884cc654143f0574f816044f25dba561">scalepersecond</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#126c4410a5631e11011eb96fcc37224b">self_destruct</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Self destruct and when.  <a href="#126c4410a5631e11011eb96fcc37224b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsRef.html">csRef</a><br>
&lt; <a class="el" href="structiMeshObjectFactory.html">iMeshObjectFactory</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#f5480be59af9028375491bd1965a4a8b">spr_factory</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pointer to a mesh object factory for 2D sprites.  <a href="#f5480be59af9028375491bd1965a4a8b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f9ba931fefc7070c7d98129c1893c329"></a><!-- doxytag: member="csParticleSystem::sprite2ds" ref="f9ba931fefc7070c7d98129c1893c329" args="" -->
<a class="el" href="classcsRefArray.html">csRefArray</a><br>
&lt; <a class="el" href="structiSprite2DState.html">iSprite2DState</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#f9ba931fefc7070c7d98129c1893c329">sprite2ds</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9b116de332ff172aecc54db61304b43a"></a><!-- doxytag: member="csParticleSystem::time_to_live" ref="9b116de332ff172aecc54db61304b43a" args="" -->
<a class="el" href="group__util.html#g28e82998c4c2d1197a1d412bba7da793">csTicks</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#9b116de332ff172aecc54db61304b43a">time_to_live</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c4127b5a283838613d42b31a3eaca024"></a><!-- doxytag: member="csParticleSystem::TriangleCount" ref="c4127b5a283838613d42b31a3eaca024" args="" -->
size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#c4127b5a283838613d42b31a3eaca024">TriangleCount</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="acd28c15386b14acc411b8a531497e1c"></a><!-- doxytag: member="csParticleSystem::VertexCount" ref="acd28c15386b14acc411b8a531497e1c" args="" -->
size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#acd28c15386b14acc411b8a531497e1c">VertexCount</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="04dde1ac72e2946036fd17819fe6f464"></a><!-- doxytag: member="csParticleSystem::vis_cb" ref="04dde1ac72e2946036fd17819fe6f464" args="" -->
<a class="el" href="classcsRef.html">csRef</a><br>
&lt; <a class="el" href="structiMeshObjectDrawCallback.html">iMeshObjectDrawCallback</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsParticleSystem.html#04dde1ac72e2946036fd17819fe6f464">vis_cb</a></td></tr>

<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcsParticleSystem_1_1PerFrameData.html">PerFrameData</a></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This class represents a particle system. 
<p>
It is a set of iParticles. Subclasses of this class may be of more interest to users. More specialised particle systems can be found below. 
<p>Definition at line <a class="el" href="partgen_8h-source.html#l00063">63</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="dd16ef4f5826db483de06feeee44477d"></a><!-- doxytag: member="csParticleSystem::csParticleSystem" ref="dd16ef4f5826db483de06feeee44477d" args="(iObjectRegistry *object_reg, iMeshObjectFactory *factory)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csParticleSystem::csParticleSystem           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiObjectRegistry.html">iObjectRegistry</a> *&nbsp;</td>
          <td class="paramname"> <em>object_reg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiMeshObjectFactory.html">iMeshObjectFactory</a> *&nbsp;</td>
          <td class="paramname"> <em>factory</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Make a new system. 
<p>
Also adds the particle system to the list of the current engine. 
</div>
</div><p>
<a class="anchor" name="debe13f985d54028f61e8ac339712701"></a><!-- doxytag: member="csParticleSystem::~csParticleSystem" ref="debe13f985d54028f61e8ac339712701" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual csParticleSystem::~csParticleSystem           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Destroy particle system, and all particles. 
<p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="01f10b72e64fd9c6a9842705ec05f13a"></a><!-- doxytag: member="csParticleSystem::AddColor" ref="01f10b72e64fd9c6a9842705ec05f13a" args="(const csColor &amp;col)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csParticleSystem::AddColor           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsColor.html">csColor</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>col</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add particle colors, convenience function. 
<p>

</div>
</div><p>
<a class="anchor" name="f967443bec81784f9c5b869f9e3e1558"></a><!-- doxytag: member="csParticleSystem::AppendParticle" ref="f967443bec81784f9c5b869f9e3e1558" args="(iMeshObject *mesh, iParticle *part, iSprite2DState *spr2d)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csParticleSystem::AppendParticle           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiMeshObject.html">iMeshObject</a> *&nbsp;</td>
          <td class="paramname"> <em>mesh</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiParticle.html">iParticle</a> *&nbsp;</td>
          <td class="paramname"> <em>part</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiSprite2DState.html">iSprite2DState</a> *&nbsp;</td>
          <td class="paramname"> <em>spr2d</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a new particle, increases num_particles. Do a DecRef yourself. 
<p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00193">193</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="ee8755fb76b5373659d06d797eb406fc"></a><!-- doxytag: member="csParticleSystem::AppendRectSprite" ref="ee8755fb76b5373659d06d797eb406fc" args="(float width, float height, iMaterialWrapper *mat, bool lighted)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csParticleSystem::AppendRectSprite           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiMaterialWrapper.html">iMaterialWrapper</a> *&nbsp;</td>
          <td class="paramname"> <em>mat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>lighted</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add an rectangle shaped sprite2d particle. 
<p>
Pass along half w and h. adds sprite to engine list. 
</div>
</div><p>
<a class="anchor" name="d2d8f50d12f461d1e3d17c57951eff6d"></a><!-- doxytag: member="csParticleSystem::AppendRegularSprite" ref="d2d8f50d12f461d1e3d17c57951eff6d" args="(int n, float radius, iMaterialWrapper *mat, bool lighted)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csParticleSystem::AppendRegularSprite           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>radius</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiMaterialWrapper.html">iMaterialWrapper</a> *&nbsp;</td>
          <td class="paramname"> <em>mat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>lighted</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a sprite2d n-gon with material, and given radius. 
<p>
adds sprite to engine list. 
</div>
</div><p>
<a class="anchor" name="75ecb31d5fa2a9011facd80d4eca9714"></a><!-- doxytag: member="csParticleSystem::BuildDecal" ref="75ecb31d5fa2a9011facd80d4eca9714" args="(const csVector3 *pos, float decalRadius, iDecalBuilder *decalBuilder)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csParticleSystem::BuildDecal           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> *&nbsp;</td>
          <td class="paramname"> <em>pos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>decalRadius</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiDecalBuilder.html">iDecalBuilder</a> *&nbsp;</td>
          <td class="paramname"> <em>decalBuilder</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
see <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. 
<p>
The default implementation does nothing. 
<p>Implements <a class="el" href="structiMeshObject.html#d25b87c6bd504ce2a48ab1766536b4e8">iMeshObject</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00392">392</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="2411cec8a23d2d65dfd477d8fed276c0"></a><!-- doxytag: member="csParticleSystem::Clone" ref="2411cec8a23d2d65dfd477d8fed276c0" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classcsPtr.html">csPtr</a>&lt;<a class="el" href="structiMeshObject.html">iMeshObject</a>&gt; csParticleSystem::Clone           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Creates a copy of this object and returns the clone. 
<p>

<p>Implements <a class="el" href="structiMeshObject.html#f53886ae52e6a94a741e1481f6ebf281">iMeshObject</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00313">313</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="37ceb857858e4318a703f3681b6da5b9"></a><!-- doxytag: member="csParticleSystem::GetAlpha" ref="37ceb857858e4318a703f3681b6da5b9" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float csParticleSystem::GetAlpha           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the probable alpha of the particles. 
<p>

<p>Implements <a class="el" href="structiParticleState.html#5d46f7bc0898c676aa832ed34b5cd1da">iParticleState</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00247">247</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="0dbea829ddfcdfc0e64f588d4c74c8d5"></a><!-- doxytag: member="csParticleSystem::GetBoundingBox" ref="0dbea829ddfcdfc0e64f588d4c74c8d5" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classcsBox3.html">csBox3</a>&amp; csParticleSystem::GetBoundingBox           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the bounding box for this particle system. 
<p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00267">267</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="45ca251718ff355905c93b329a57d403"></a><!-- doxytag: member="csParticleSystem::GetChangeAlpha" ref="45ca251718ff355905c93b329a57d403" args="(float &amp;factor) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csParticleSystem::GetChangeAlpha           </td>
          <td>(</td>
          <td class="paramtype">float &amp;&nbsp;</td>
          <td class="paramname"> <em>factor</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
see if change alpha is enabled, and get the value if so. 
<p>

<p>Implements <a class="el" href="structiParticleState.html#5ce9c3a8f3cfd71e648dccab0fae9132">iParticleState</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00254">254</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="977ea928fb0b39e8676e57c157126e29"></a><!-- doxytag: member="csParticleSystem::GetChangeColor" ref="977ea928fb0b39e8676e57c157126e29" args="(csColor &amp;col) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csParticleSystem::GetChangeColor           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsColor.html">csColor</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>col</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
see if change color is enabled, and get a copy if so. 
<p>

<p>Implements <a class="el" href="structiParticleState.html#fd4ecf17c070d736b24a62def42a336c">iParticleState</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00231">231</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="173c3de06b03791662c9d86bc5dcdc4f"></a><!-- doxytag: member="csParticleSystem::GetChangeRotation" ref="173c3de06b03791662c9d86bc5dcdc4f" args="(float &amp;angle) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csParticleSystem::GetChangeRotation           </td>
          <td>(</td>
          <td class="paramtype">float &amp;&nbsp;</td>
          <td class="paramname"> <em>angle</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
see if change rotation is enabled, and get the angle if so. 
<p>

<p>Implements <a class="el" href="structiParticleState.html#412cad7108fa347e6f0d3cb8a9ea9322">iParticleState</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00263">263</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="89b632a275ebfe9b02971deb0fb05fdf"></a><!-- doxytag: member="csParticleSystem::GetChangeSize" ref="89b632a275ebfe9b02971deb0fb05fdf" args="(float &amp;factor) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csParticleSystem::GetChangeSize           </td>
          <td>(</td>
          <td class="paramtype">float &amp;&nbsp;</td>
          <td class="paramname"> <em>factor</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
see if change size is enabled, and get the value if so. 
<p>

<p>Implements <a class="el" href="structiParticleState.html#a258f6bce11a61c015df3aaa9882de3a">iParticleState</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00240">240</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="8dcd7e94418cd0cfb95e0c724858119c"></a><!-- doxytag: member="csParticleSystem::GetColor" ref="8dcd7e94418cd0cfb95e0c724858119c" args="(csColor &amp;col) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool csParticleSystem::GetColor           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsColor.html">csColor</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>color</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the base color of the mesh. 
<p>
Will return false if not supported. 
<p>Implements <a class="el" href="structiMeshObject.html#0822835a232c9e3dee44c6403ed07e91">iMeshObject</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00360">360</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="b26354018a3050976262c3b0720b255f"></a><!-- doxytag: member="csParticleSystem::GetFactory" ref="b26354018a3050976262c3b0720b255f" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiMeshObjectFactory.html">iMeshObjectFactory</a>* csParticleSystem::GetFactory           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the reference to the factory that created this mesh object. 
<p>

<p>Implements <a class="el" href="structiMeshObject.html#4c5ac09b770173c1e31ca45b5a99d10f">iMeshObject</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00311">311</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="ac810ef4d77a176d43ff2617c0da8261"></a><!-- doxytag: member="csParticleSystem::GetFlags" ref="ac810ef4d77a176d43ff2617c0da8261" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classcsFlags.html">csFlags</a>&amp; csParticleSystem::GetFlags           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get flags for this object. 
<p>
The following flags are at least supported: <ul>
<li><a class="el" href="group__meshplugins.html#g64baa869dbf664c57df0a7f18438e3d1" title="If CS_MESH_STATICPOS is set then this mesh will never move.">CS_MESH_STATICPOS</a>: mesh will never move. </li>
<li><a class="el" href="group__meshplugins.html#gd6efdeef1cb8c44b5e92fb638cc2983d" title="If CS_MESH_STATICSHAPE is set then this mesh will never animate.">CS_MESH_STATICSHAPE</a>: mesh will never animate.</li>
</ul>
Mesh objects may implement additional flags. These mesh object specific flags must be equal to at least 0x00010000. 
<p>Implements <a class="el" href="structiMeshObject.html#b252bb85e845a9c03522395d2377258d">iMeshObject</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00312">312</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="2b338104d8a482aaa34f4077f81f6460"></a><!-- doxytag: member="csParticleSystem::GetMaterialWrapper" ref="2b338104d8a482aaa34f4077f81f6460" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiMaterialWrapper.html">iMaterialWrapper</a>* csParticleSystem::GetMaterialWrapper           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the material of the mesh. 
<p>
If not supported this will return 0. 
<p>Implements <a class="el" href="structiMeshObject.html#566e1f5e7ced08916b2d107e6bfcf560">iMeshObject</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00371">371</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="684ddd7edfbba6e18b4a2901666ead80"></a><!-- doxytag: member="csParticleSystem::GetMeshWrapper" ref="684ddd7edfbba6e18b4a2901666ead80" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiMeshWrapper.html">iMeshWrapper</a>* csParticleSystem::GetMeshWrapper           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the logical parent for this mesh object. 
<p>
See <a class="el" href="classcsParticleSystem.html#d21a79d74f7ce257289f7ad8bb501250" title="Set a reference to the mesh wrapper holding the mesh objects.">SetMeshWrapper()</a> for more information. 
<p>Implements <a class="el" href="structiMeshObject.html#f1962ca596487f6701fc78acefca04b3">iMeshObject</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00350">350</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="f258236fe17d9af5e14a2b9d848bdbb4"></a><!-- doxytag: member="csParticleSystem::GetMixMode" ref="f258236fe17d9af5e14a2b9d848bdbb4" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> csParticleSystem::GetMixMode           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get mix mode. 
<p>

<p>Implements <a class="el" href="structiMeshObject.html#e2be0da94727ab789cf1d1569f0e1e06">iMeshObject</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00380">380</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="45f03430516d9eb1adcf100109a154e9"></a><!-- doxytag: member="csParticleSystem::GetNumParticles" ref="45f03430516d9eb1adcf100109a154e9" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t csParticleSystem::GetNumParticles           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
How many particles the system currently has. 
<p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00185">185</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="bb6824591c88d75a462680c30ac0065b"></a><!-- doxytag: member="csParticleSystem::GetObjectBoundingBox" ref="bb6824591c88d75a462680c30ac0065b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classcsBox3.html">csBox3</a>&amp; csParticleSystem::GetObjectBoundingBox           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the bounding box in object space for this mesh object. 
<p>

<p>Implements <a class="el" href="structiObjectModel.html#78960c01493abf081e0b8257405138c2">iObjectModel</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00293">293</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="517abb6bbfa95b9d083ce6a87d376534"></a><!-- doxytag: member="csParticleSystem::GetObjectBoundingBox" ref="517abb6bbfa95b9d083ce6a87d376534" args="(csBox3 &amp;bbox)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csParticleSystem::GetObjectBoundingBox           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsBox3.html">csBox3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>bbox</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the bounding box in object space for this mesh object. 
<p>
<dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000096">Deprecated:</a></b></dt><dd>Use <a class="el" href="classcsParticleSystem.html#bb6824591c88d75a462680c30ac0065b" title="Get the bounding box in object space for this mesh object.">GetObjectBoundingBox()</a> (without parameters) instead. </dd></dl>

<p>Implements <a class="el" href="structiObjectModel.html#3cda3f14f08428ecc897134f3b27f80a">iObjectModel</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00288">288</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

<p>References <a class="el" href="partgen_8h-source.html#l00101">bbox</a>.</p>

</div>
</div><p>
<a class="anchor" name="9665cdd29f34a23d4d468ac3edf07991"></a><!-- doxytag: member="csParticleSystem::GetObjectModel" ref="9665cdd29f34a23d4d468ac3edf07991" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiObjectModel.html">iObjectModel</a>* csParticleSystem::GetObjectModel           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the generic interface describing the geometry of this mesh. 
<p>
If the factory supports this you should preferably use the object model from the factory instead. 
<p>Implements <a class="el" href="structiMeshObject.html#6d9cdc0093694cf3977740d72168b6cc">iMeshObject</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00353">353</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="0ef603bfaea2472496ac8e39f1407895"></a><!-- doxytag: member="csParticleSystem::GetParticle" ref="0ef603bfaea2472496ac8e39f1407895" args="(size_t idx) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structiParticle.html">iParticle</a>* csParticleSystem::GetParticle           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>idx</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a particle. 
<p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00187">187</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="020cfe90155f6387399131953f6bc971"></a><!-- doxytag: member="csParticleSystem::GetParticleCount" ref="020cfe90155f6387399131953f6bc971" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t csParticleSystem::GetParticleCount           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the number of particles. 
<p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00179">179</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="0427cf5bd18d9044f82140678b23349e"></a><!-- doxytag: member="csParticleSystem::GetRadius" ref="0427cf5bd18d9044f82140678b23349e" args="(float &amp;rad, csVector3 &amp;cent)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csParticleSystem::GetRadius           </td>
          <td>(</td>
          <td class="paramtype">float &amp;&nbsp;</td>
          <td class="paramname"> <em>radius</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>center</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the radius and center of this object in object space. 
<p>

<p>Implements <a class="el" href="structiObjectModel.html#3464f62b8d1efdedf06456adacabf008">iObjectModel</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00303">303</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="e97201db0ee15f5b3f47cb894d62608e"></a><!-- doxytag: member="csParticleSystem::GetRandomDirection" ref="e97201db0ee15f5b3f47cb894d62608e" args="(csVector3 const &amp;magnitude, csVector3 const &amp;offset)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsVector3.html">csVector3</a> csParticleSystem::GetRandomDirection           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsVector3.html">csVector3</a> const &amp;&nbsp;</td>
          <td class="paramname"> <em>magnitude</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classcsVector3.html">csVector3</a> const &amp;&nbsp;</td>
          <td class="paramname"> <em>offset</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return vector with -1..+1 members. Varying length. 
<p>

</div>
</div><p>
<a class="anchor" name="03d497ee37e00ee49ad8163b3c223253"></a><!-- doxytag: member="csParticleSystem::GetRandomDirection" ref="03d497ee37e00ee49ad8163b3c223253" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsVector3.html">csVector3</a> csParticleSystem::GetRandomDirection           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return vector with -1..+1 members. Varying length. 
<p>

</div>
</div><p>
<a class="anchor" name="d8dd7d160c762ab28f01d3fcedb092c9"></a><!-- doxytag: member="csParticleSystem::GetRandomPosition" ref="d8dd7d160c762ab28f01d3fcedb092c9" args="(csBox3 const &amp;box)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsVector3.html">csVector3</a> csParticleSystem::GetRandomPosition           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsBox3.html">csBox3</a> const &amp;&nbsp;</td>
          <td class="paramname"> <em>box</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return vector with random position within box. 
<p>

</div>
</div><p>
<a class="anchor" name="2218c7a198dcc063d1426ba4a649c410"></a><!-- doxytag: member="csParticleSystem::GetRenderMeshes" ref="2218c7a198dcc063d1426ba4a649c410" args="(int &amp;n, iRenderView *rview, iMovable *movable, uint32 frustum_mask)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structcsRenderMesh.html">csRenderMesh</a>** csParticleSystem::GetRenderMeshes           </td>
          <td>(</td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>num</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiRenderView.html">iRenderView</a> *&nbsp;</td>
          <td class="paramname"> <em>rview</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiMovable.html">iMovable</a> *&nbsp;</td>
          <td class="paramname"> <em>movable</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__util.html#g1134b580f8da4de94ca6b1de4d37975e">uint32</a>&nbsp;</td>
          <td class="paramname"> <em>frustum_mask</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the set of render meshes. 
<p>
The frustum_mask is given by the culler and contains a mask with all relevant planes for the given object. These planes correspond with the clip planes kept by <a class="el" href="structiRenderView.html" title="This interface represents all information needed to render some object in a current...">iRenderView</a>. 
<p>Implements <a class="el" href="structiMeshObject.html#be10e3c39a941ffdb51ee14998e6a02c">iMeshObject</a>.</p>

</div>
</div><p>
<a class="anchor" name="d566654bd5dbe65f2c2bae9269331e0d"></a><!-- doxytag: member="csParticleSystem::GetSelfDestruct" ref="d566654bd5dbe65f2c2bae9269331e0d" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csParticleSystem::GetSelfDestruct           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
returns whether the system will self destruct 
<p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00221">221</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="68d77c097d1ec09be6de89d9a7073c17"></a><!-- doxytag: member="csParticleSystem::GetTerraFormerColldet" ref="68d77c097d1ec09be6de89d9a7073c17" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiTerraFormer.html">iTerraFormer</a>* csParticleSystem::GetTerraFormerColldet           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a terra former representing the geometry of the object. 
<p>
This class is useful for collision detection. Can return 0 if this object model doesn't support that. 
<p>Reimplemented from <a class="el" href="classcsObjectModel.html#4cffdad0c34be68df1fce291195c3d91">csObjectModel</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00372">372</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="dc63fc1ae8314c263604780329b04cd2"></a><!-- doxytag: member="csParticleSystem::GetTerrainColldet" ref="dc63fc1ae8314c263604780329b04cd2" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiTerrainSystem.html">iTerrainSystem</a>* csParticleSystem::GetTerrainColldet           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a terrain representing the geometry of the object. 
<p>
This class is useful for collision detection. Can return 0 if this object model doesn't support that. 
<p>Reimplemented from <a class="el" href="classcsObjectModel.html#8f92cd29ac8d2f9a7452986dccc1c554">csObjectModel</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00373">373</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="ad9c972681cbc6933711c2c2f5c2b350"></a><!-- doxytag: member="csParticleSystem::GetTimeToLive" ref="ad9c972681cbc6933711c2c2f5c2b350" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__util.html#g28e82998c4c2d1197a1d412bba7da793">csTicks</a> csParticleSystem::GetTimeToLive           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
if the system will self destruct, returns the time to live in msec. 
<p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00223">223</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="4bb742b3d55571973a10e5f563d88b62"></a><!-- doxytag: member="csParticleSystem::GetVisibleCallback" ref="4bb742b3d55571973a10e5f563d88b62" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiMeshObjectDrawCallback.html">iMeshObjectDrawCallback</a>* csParticleSystem::GetVisibleCallback           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the current visible callback. 
<p>

<p>Implements <a class="el" href="structiMeshObject.html#2d9e58895ab6b2b049d9511da906ec6e">iMeshObject</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00322">322</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="5cb2d56ee22014cdd3f69dbf43528a4d"></a><!-- doxytag: member="csParticleSystem::HitBeamObject" ref="5cb2d56ee22014cdd3f69dbf43528a4d" args="(const csVector3 &amp;start, const csVector3 &amp;end, csVector3 &amp;isect, float *pr, int *polygon_idx=0, iMaterialWrapper **material=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool csParticleSystem::HitBeamObject           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>end</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>isect</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float *&nbsp;</td>
          <td class="paramname"> <em>pr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>polygon_idx</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiMaterialWrapper.html">iMaterialWrapper</a> **&nbsp;</td>
          <td class="paramname"> <em>material</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if this mesh is hit by this object space vector. 
<p>
Return the collision point in object space coordinates. This is the most detailed version (and also the slowest). The returned hit will be guaranteed to be the point closest to the 'start' of the beam. If the object supports this then an index of the hit polygon will be returned (or -1 if not supported or no hit). <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>start</em>&nbsp;</td><td>Start of the beam to trace. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>end</em>&nbsp;</td><td>End of the beam to trace. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>isect</em>&nbsp;</td><td>Returns the point of the hit. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pr</em>&nbsp;</td><td>Returns the position of the hit as a value between 0 and 1, where 0 means <em>start</em> and 1 means <em>end</em>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>polygon_idx</em>&nbsp;</td><td>Index of the polygon hit on the mesh (or -1 if not supported). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>material</em>&nbsp;</td><td>If not 0 then the hit material will be put here. Or 0 in case this mesh object doesn't support material selection. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="structiMeshObject.html#11f23a1e8e26b8a48de7d3b991bab5a9">iMeshObject</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00341">341</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="82cff32f37801a01a92c1dbaa2d0b583"></a><!-- doxytag: member="csParticleSystem::HitBeamOutline" ref="82cff32f37801a01a92c1dbaa2d0b583" args="(const csVector3 &amp;, const csVector3 &amp;, csVector3 &amp;, float *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool csParticleSystem::HitBeamOutline           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>end</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>isect</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float *&nbsp;</td>
          <td class="paramname"> <em>pr</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if this mesh is hit by this object space vector. 
<p>
This will do a test based on the outline of the object. This means that it is more accurate than <a class="el" href="classcsParticleSystem.html#82bd30a581f7f4efece6aa2071e28df6">HitBeamBBox()</a>. Note that this routine will typically be faster than <a class="el" href="classcsParticleSystem.html#5cb2d56ee22014cdd3f69dbf43528a4d" title="Check if this mesh is hit by this object space vector.">HitBeamObject()</a>. The hit may be on the front or the back of the object, but will indicate that it iterrupts the beam. 
<p>Implements <a class="el" href="structiMeshObject.html#8c8e970d67c2cdc5acbe106a12cfcbf4">iMeshObject</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00338">338</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="144928e3054bc79d68a7926322a700e6"></a><!-- doxytag: member="csParticleSystem::InvalidateMaterialHandles" ref="144928e3054bc79d68a7926322a700e6" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csParticleSystem::InvalidateMaterialHandles           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Material changed. 
<p>
This is an 'event' that the engine (or another party managing materials) will send out as soon as the material handles are changed in some way which requires the mesh object to fetch it again (i.e. to call materialwrapper-&gt;GetMaterialHandle()) again. 
<p>Implements <a class="el" href="structiMeshObject.html#5e6a81d2a6667dc224529892ad94411e">iMeshObject</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00381">381</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="eea04e78918de081feee87b4be9dc4e4"></a><!-- doxytag: member="csParticleSystem::NextFrame" ref="eea04e78918de081feee87b4be9dc4e4" args="(csTicks current_time, const csVector3 &amp;, uint)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csParticleSystem::NextFrame           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__util.html#g28e82998c4c2d1197a1d412bba7da793">csTicks</a>&nbsp;</td>
          <td class="paramname"> <em>current_time</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>pos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a>&nbsp;</td>
          <td class="paramname"> <em>currentFrame</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Control animation of this object. 
<p>

<p>Implements <a class="el" href="structiMeshObject.html#5c43a5f3c88f5d9d3cb40e7376ce8337">iMeshObject</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00326">326</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="35dd8229a1af65102243722d4d48de8d"></a><!-- doxytag: member="csParticleSystem::PositionChild" ref="35dd8229a1af65102243722d4d48de8d" args="(iMeshObject *, csTicks)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csParticleSystem::PositionChild           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiMeshObject.html">iMeshObject</a> *&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__util.html#g28e82998c4c2d1197a1d412bba7da793">csTicks</a>&nbsp;</td>
          <td class="paramname"></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
see <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. 
<p>
The default implementation does nothing. 
<p>Implements <a class="el" href="structiMeshObject.html#dbb570428356c6ec6afa144c549d859b">iMeshObject</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00386">386</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="bbed5b639f1ebd79c195641eed52356f"></a><!-- doxytag: member="csParticleSystem::RemoveParticles" ref="bbed5b639f1ebd79c195641eed52356f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csParticleSystem::RemoveParticles           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Remove all particles. 
<p>

</div>
</div><p>
<a class="anchor" name="365c842a7f52aa2b5c6c2bf500794f35"></a><!-- doxytag: member="csParticleSystem::Rotate" ref="365c842a7f52aa2b5c6c2bf500794f35" args="(float angle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csParticleSystem::Rotate           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>angle</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Rotate all particles. 
<p>

</div>
</div><p>
<a class="anchor" name="78548263445633a40b43ac48949a87ac"></a><!-- doxytag: member="csParticleSystem::ScaleBy" ref="78548263445633a40b43ac48949a87ac" args="(float factor)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csParticleSystem::ScaleBy           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>factor</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Scale all particles. 
<p>

</div>
</div><p>
<a class="anchor" name="996ad95cb456144030ea892a3f02c7f5"></a><!-- doxytag: member="csParticleSystem::SetAlpha" ref="996ad95cb456144030ea892a3f02c7f5" args="(float alpha)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csParticleSystem::SetAlpha           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>alpha</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the alpha of particles. 
<p>

<p>Implements <a class="el" href="structiParticleState.html#659b63c36e703e57c9859e89fccb81c6">iParticleState</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00244">244</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

<p>References <a class="el" href="graph3d_8h-source.html#l00408">CS_FX_SETALPHA</a>.</p>

</div>
</div><p>
<a class="anchor" name="fc3a3d06795a854bf288b00c29c34578"></a><!-- doxytag: member="csParticleSystem::SetChangeAlpha" ref="fc3a3d06795a854bf288b00c29c34578" args="(float factor)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csParticleSystem::SetChangeAlpha           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>factor</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Change alpha of all particles, by factor per second. 
<p>

<p>Implements <a class="el" href="structiParticleState.html#e4968268ed73fb99c55623dbe97b890a">iParticleState</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00249">249</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="1696bc013eb8bd5a128808373a29d99a"></a><!-- doxytag: member="csParticleSystem::SetChangeColor" ref="1696bc013eb8bd5a128808373a29d99a" args="(const csColor &amp;col)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csParticleSystem::SetChangeColor           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsColor.html">csColor</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>col</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Change color of all particles, by col per second. 
<p>

<p>Implements <a class="el" href="structiParticleState.html#87a7be01253a46cd593ec72111084e07">iParticleState</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00226">226</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="74fd57218168ee688315ec401ee821e0"></a><!-- doxytag: member="csParticleSystem::SetChangeRotation" ref="74fd57218168ee688315ec401ee821e0" args="(float angle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csParticleSystem::SetChangeRotation           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>angle</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Change rotation of all particles, by angle in radians per second. 
<p>

<p>Implements <a class="el" href="structiParticleState.html#506b565ca16dd8eed9c481d182a020de">iParticleState</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00258">258</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="d7ab2dcc71f396c500f9a49da3b24a2a"></a><!-- doxytag: member="csParticleSystem::SetChangeSize" ref="d7ab2dcc71f396c500f9a49da3b24a2a" args="(float factor)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csParticleSystem::SetChangeSize           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>factor</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Change size of all particles, by factor per second. 
<p>

<p>Implements <a class="el" href="structiParticleState.html#71a547359db062d947ae9baac95f18ef">iParticleState</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00235">235</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="84c7bbbec4256044e4d51085eaf1ec06"></a><!-- doxytag: member="csParticleSystem::SetColor" ref="84c7bbbec4256044e4d51085eaf1ec06" args="(const csColor &amp;col)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool csParticleSystem::SetColor           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsColor.html">csColor</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>color</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the base color of the mesh. 
<p>
This color will be added to whatever color is set for lighting. Not all meshes need to support this. This function will return true if it worked. 
<p>Implements <a class="el" href="structiMeshObject.html#3e34007c6472db5e2363e8740650ab4e">iMeshObject</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00354">354</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="da0fffc08fa20be0ada73d32b3a41bf6"></a><!-- doxytag: member="csParticleSystem::SetMaterialWrapper" ref="da0fffc08fa20be0ada73d32b3a41bf6" args="(iMaterialWrapper *mat)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool csParticleSystem::SetMaterialWrapper           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiMaterialWrapper.html">iMaterialWrapper</a> *&nbsp;</td>
          <td class="paramname"> <em>material</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the material of the mesh. 
<p>
This only works for single-material meshes. If not supported this function will return false. 
<p>Implements <a class="el" href="structiMeshObject.html#1ca174351028acb8ffb1c49284407566">iMeshObject</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00365">365</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

<p>References <a class="el" href="partgen_8h-source.html#l00085">mat</a>.</p>

</div>
</div><p>
<a class="anchor" name="d21a79d74f7ce257289f7ad8bb501250"></a><!-- doxytag: member="csParticleSystem::SetMeshWrapper" ref="d21a79d74f7ce257289f7ad8bb501250" args="(iMeshWrapper *lp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csParticleSystem::SetMeshWrapper           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiMeshWrapper.html">iMeshWrapper</a> *&nbsp;</td>
          <td class="paramname"> <em>logparent</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set a reference to the mesh wrapper holding the mesh objects. 
<p>
Note that this function should NOT increase the ref-count of the given logical parent because this would cause a circular reference (since the logical parent already holds a reference to this mesh object). 
<p>Implements <a class="el" href="structiMeshObject.html#f288c9ecd53bbbee752c85e0a66901c9">iMeshObject</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00349">349</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="ca1e9b3e7c4eb998ce9bb7ec1cadc14e"></a><!-- doxytag: member="csParticleSystem::SetMixMode" ref="ca1e9b3e7c4eb998ce9bb7ec1cadc14e" args="(uint mode)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csParticleSystem::SetMixMode           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a>&nbsp;</td>
          <td class="paramname"> <em>mode</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set mix mode. Note that not all meshes may support this. 
<p>

<p>Implements <a class="el" href="structiMeshObject.html#ac39de11a28f461024207dd86c61e245">iMeshObject</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00375">375</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="d9cb30fd5ebce817edfba40ec9709c77"></a><!-- doxytag: member="csParticleSystem::SetObjectBoundingBox" ref="d9cb30fd5ebce817edfba40ec9709c77" args="(const csBox3 &amp;bbox)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csParticleSystem::SetObjectBoundingBox           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsBox3.html">csBox3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>bbox</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Override the bounding box of this mesh object in object space. 
<p>
Note that some mesh objects don't have a bounding box on their own and may delegate this call to their factory (like genmesh). 
<p>Implements <a class="el" href="structiObjectModel.html#0fbd58df3a157434eca28b045d15cde8">iObjectModel</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00298">298</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

<p>References <a class="el" href="partgen_8h-source.html#l00101">bbox</a>.</p>

</div>
</div><p>
<a class="anchor" name="6f6d2c48afbfc66a54efc1c1cedcaac6"></a><!-- doxytag: member="csParticleSystem::SetParticleCount" ref="6f6d2c48afbfc66a54efc1c1cedcaac6" args="(size_t num)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csParticleSystem::SetParticleCount           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>num</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the number of particles to use. 
<p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00173">173</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="ddec76581621fb3b386e78fea4804100"></a><!-- doxytag: member="csParticleSystem::SetSelfDestruct" ref="ddec76581621fb3b386e78fea4804100" args="(csTicks t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csParticleSystem::SetSelfDestruct           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__util.html#g28e82998c4c2d1197a1d412bba7da793">csTicks</a>&nbsp;</td>
          <td class="paramname"> <em>t</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set selfdestruct mode on, and msec to live. 
<p>

<p>Implements <a class="el" href="structiParticleState.html#a98fd478477e702b69ede9708ec1fe32">iParticleState</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00216">216</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="547ee5f0b6323637c999fcb4aa914360"></a><!-- doxytag: member="csParticleSystem::SetupBuffers" ref="547ee5f0b6323637c999fcb4aa914360" args="(size_t part_sides)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csParticleSystem::SetupBuffers           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>part_sides</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Setup the buffers for the particles. 
<p>

</div>
</div><p>
<a class="anchor" name="97e4196850df7db6f62870812811e902"></a><!-- doxytag: member="csParticleSystem::SetupColor" ref="97e4196850df7db6f62870812811e902" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csParticleSystem::SetupColor           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set particle colors, convenience function. 
<p>

</div>
</div><p>
<a class="anchor" name="706d3b106e55c7c4b80ba8613e26bc62"></a><!-- doxytag: member="csParticleSystem::SetupMixMode" ref="706d3b106e55c7c4b80ba8613e26bc62" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csParticleSystem::SetupMixMode           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set particle mixmodes, convenience function. 
<p>

</div>
</div><p>
<a class="anchor" name="b5bc6a3e1746526ea816be2b03a646d2"></a><!-- doxytag: member="csParticleSystem::SetupObject" ref="b5bc6a3e1746526ea816be2b03a646d2" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csParticleSystem::SetupObject           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Setup this object. 
<p>

</div>
</div><p>
<a class="anchor" name="dc73b77b32991864dc11725e96f1c60b"></a><!-- doxytag: member="csParticleSystem::SetVisibleCallback" ref="dc73b77b32991864dc11725e96f1c60b" args="(iMeshObjectDrawCallback *cb)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csParticleSystem::SetVisibleCallback           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiMeshObjectDrawCallback.html">iMeshObjectDrawCallback</a> *&nbsp;</td>
          <td class="paramname"> <em>cb</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Register a callback to the mesh object which will be called from within Draw() if the mesh object thinks that the object is really visible. 
<p>
Depending on the type of mesh object this can be very accurate or not accurate at all. But in all cases it will certainly be called if the object is visible. 
<p>Implements <a class="el" href="structiMeshObject.html#86ced7e2cd64c8b543c3e709d67e8518">iMeshObject</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00318">318</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="da5ac425237099fca62ff79dbb985310"></a><!-- doxytag: member="csParticleSystem::UnsetChangeAlpha" ref="da5ac425237099fca62ff79dbb985310" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csParticleSystem::UnsetChangeAlpha           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Stop change of alpha. 
<p>

<p>Implements <a class="el" href="structiParticleState.html#7db4fecaaa129c6c47de0132b4cca24d">iParticleState</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00252">252</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="13600d9c75a157dd13a8f7b5c96ade71"></a><!-- doxytag: member="csParticleSystem::UnsetChangeColor" ref="13600d9c75a157dd13a8f7b5c96ade71" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csParticleSystem::UnsetChangeColor           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Stop change of color. 
<p>

<p>Implements <a class="el" href="structiParticleState.html#32064a25b398053fa8ad231f0fc451ca">iParticleState</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00229">229</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="dbccc8d08cd64c38457256a169030297"></a><!-- doxytag: member="csParticleSystem::UnsetChangeRotation" ref="dbccc8d08cd64c38457256a169030297" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csParticleSystem::UnsetChangeRotation           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Stop change of rotation. 
<p>

<p>Implements <a class="el" href="structiParticleState.html#c2869f205ec0992d77cdea8b23d61d02">iParticleState</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00261">261</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="30018c9ab3ebdb0faf499a040e941998"></a><!-- doxytag: member="csParticleSystem::UnsetChangeSize" ref="30018c9ab3ebdb0faf499a040e941998" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csParticleSystem::UnsetChangeSize           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Stop change of size. 
<p>

<p>Implements <a class="el" href="structiParticleState.html#7d37a69b892cb4000996c0cc5bc10964">iParticleState</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00238">238</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="8e95746fd0997234c98d63dd9f79468f"></a><!-- doxytag: member="csParticleSystem::UnSetSelfDestruct" ref="8e95746fd0997234c98d63dd9f79468f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csParticleSystem::UnSetSelfDestruct           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
system will no longer self destruct 
<p>

<p>Implements <a class="el" href="structiParticleState.html#21201bdd45d39fe7df1dcaa73927af52">iParticleState</a>.</p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00219">219</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="65efacb0fdb7dc112820e2afafb7cb1b"></a><!-- doxytag: member="csParticleSystem::Update" ref="65efacb0fdb7dc112820e2afafb7cb1b" args="(csTicks elapsed_time)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csParticleSystem::Update           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__util.html#g28e82998c4c2d1197a1d412bba7da793">csTicks</a>&nbsp;</td>
          <td class="paramname"> <em>elapsed_time</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Update the state of the particles as time has passed. 
<p>
i.e. move the particles, retexture, recolor ... this member function will set to_delete if self_destruct is enabled and time is up. 
<p>Reimplemented in <a class="el" href="classcsNewtonianParticleSystem.html#c82bc79d6507d855d1a9628fb2dce59f">csNewtonianParticleSystem</a>.</p>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="688d562115daf658d2ba538838aa57ec"></a><!-- doxytag: member="csParticleSystem::bbox" ref="688d562115daf658d2ba538838aa57ec" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsBox3.html">csBox3</a> <a class="el" href="classcsParticleSystem.html#688d562115daf658d2ba538838aa57ec">csParticleSystem::bbox</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
bounding box in 3d of all particles in this system. 
<p>
the particle system subclass has to give this a reasonable value. no particle may exceed the bbox. 
<p>Definition at line <a class="el" href="partgen_8h-source.html#l00101">101</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

<p>Referenced by <a class="el" href="partgen_8h-source.html#l00288">GetObjectBoundingBox()</a>, and <a class="el" href="partgen_8h-source.html#l00298">SetObjectBoundingBox()</a>.</p>

</div>
</div><p>
<a class="anchor" name="e49ff9a4a781c06ff621816b2be5628e"></a><!-- doxytag: member="csParticleSystem::change_alpha" ref="e49ff9a4a781c06ff621816b2be5628e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classcsParticleSystem.html#e49ff9a4a781c06ff621816b2be5628e">csParticleSystem::change_alpha</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Alpha change. 
<p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00093">93</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="1024c8931d49c7ed970469ae21bf1d30"></a><!-- doxytag: member="csParticleSystem::change_color" ref="1024c8931d49c7ed970469ae21bf1d30" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classcsParticleSystem.html#1024c8931d49c7ed970469ae21bf1d30">csParticleSystem::change_color</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Color change. 
<p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00089">89</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="6dd8d6408d31f18186448cd6d95b1f5c"></a><!-- doxytag: member="csParticleSystem::change_rotation" ref="6dd8d6408d31f18186448cd6d95b1f5c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classcsParticleSystem.html#6dd8d6408d31f18186448cd6d95b1f5c">csParticleSystem::change_rotation</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Rotate particles, angle in radians. 
<p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00095">95</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="95a8f1c4c09e116e7789b65cf3ec99e2"></a><!-- doxytag: member="csParticleSystem::change_size" ref="95a8f1c4c09e116e7789b65cf3ec99e2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classcsParticleSystem.html#95a8f1c4c09e116e7789b65cf3ec99e2">csParticleSystem::change_size</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Size change. 
<p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00091">91</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="a590fa605369d3a972a9f029b07536f5"></a><!-- doxytag: member="csParticleSystem::color" ref="a590fa605369d3a972a9f029b07536f5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsColor.html">csColor</a> <a class="el" href="classcsParticleSystem.html#a590fa605369d3a972a9f029b07536f5">csParticleSystem::color</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Color of all particles. 
<p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00083">83</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="1aba4e26ebd91ead86795b0ee0f4c38c"></a><!-- doxytag: member="csParticleSystem::mat" ref="1aba4e26ebd91ead86795b0ee0f4c38c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsRef.html">csRef</a>&lt;<a class="el" href="structiMaterialWrapper.html">iMaterialWrapper</a>&gt; <a class="el" href="classcsParticleSystem.html#1aba4e26ebd91ead86795b0ee0f4c38c">csParticleSystem::mat</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Material for all particles. 
<p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00085">85</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

<p>Referenced by <a class="el" href="partgen_8h-source.html#l00365">SetMaterialWrapper()</a>.</p>

</div>
</div><p>
<a class="anchor" name="c37a6067c75ff5cbe350250a1d0ed786"></a><!-- doxytag: member="csParticleSystem::MixMode" ref="c37a6067c75ff5cbe350250a1d0ed786" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> <a class="el" href="classcsParticleSystem.html#c37a6067c75ff5cbe350250a1d0ed786">csParticleSystem::MixMode</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
MixMode for all particles. 
<p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00087">87</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="a52568155ad252a4bde6048aa855c8c2"></a><!-- doxytag: member="csParticleSystem::part_pos" ref="a52568155ad252a4bde6048aa855c8c2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsVector3.html">csVector3</a>* <a class="el" href="classcsParticleSystem.html#a52568155ad252a4bde6048aa855c8c2">csParticleSystem::part_pos</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
particle position 
<p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00116">116</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="67ae8717e75f19f71d9cdfa65b9746d3"></a><!-- doxytag: member="csParticleSystem::partmeshes" ref="67ae8717e75f19f71d9cdfa65b9746d3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsRefArray.html">csRefArray</a>&lt;<a class="el" href="structiMeshObject.html">iMeshObject</a>&gt; <a class="el" href="classcsParticleSystem.html#67ae8717e75f19f71d9cdfa65b9746d3">csParticleSystem::partmeshes</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<a class="el" href="structiParticle.html" title="A iParticle can be used in particle Systems.">iParticle</a> ptrs to the particles. 
<p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00076">76</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="739dea54902e352b76928bac50b52d2b"></a><!-- doxytag: member="csParticleSystem::prev_time" ref="739dea54902e352b76928bac50b52d2b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__util.html#g28e82998c4c2d1197a1d412bba7da793">csTicks</a> <a class="el" href="classcsParticleSystem.html#739dea54902e352b76928bac50b52d2b">csParticleSystem::prev_time</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Previous time. 
<p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00107">107</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="bbd8ae8c344db6b368e6853ed956e571"></a><!-- doxytag: member="csParticleSystem::radius" ref="bbd8ae8c344db6b368e6853ed956e571" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float <a class="el" href="classcsParticleSystem.html#bbd8ae8c344db6b368e6853ed956e571">csParticleSystem::radius</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Object space radius. 
<p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00074">74</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="126c4410a5631e11011eb96fcc37224b"></a><!-- doxytag: member="csParticleSystem::self_destruct" ref="126c4410a5631e11011eb96fcc37224b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classcsParticleSystem.html#126c4410a5631e11011eb96fcc37224b">csParticleSystem::self_destruct</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Self destruct and when. 
<p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00080">80</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="f5480be59af9028375491bd1965a4a8b"></a><!-- doxytag: member="csParticleSystem::spr_factory" ref="f5480be59af9028375491bd1965a4a8b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsRef.html">csRef</a>&lt;<a class="el" href="structiMeshObjectFactory.html">iMeshObjectFactory</a>&gt; <a class="el" href="classcsParticleSystem.html#f5480be59af9028375491bd1965a4a8b">csParticleSystem::spr_factory</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Pointer to a mesh object factory for 2D sprites. 
<p>

<p>Definition at line <a class="el" href="partgen_8h-source.html#l00105">105</a> of file <a class="el" href="partgen_8h-source.html">partgen.h</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li>csplugincommon/particlesys/<a class="el" href="partgen_8h-source.html">partgen.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>