aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/a03161.html
diff options
context:
space:
mode:
authorneodarz <neodarz@neodarz.net>2018-08-11 20:21:34 +0200
committerneodarz <neodarz@neodarz.net>2018-08-11 20:21:34 +0200
commit0ea5fc66924303d1bf73ba283a383e2aadee02f2 (patch)
tree2568e71a7ccc44ec23b8bb3f0ff97fb6bf2ed709 /docs/doxygen/nel/a03161.html
downloadnevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.tar.xz
nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.zip
Initial commit
Diffstat (limited to 'docs/doxygen/nel/a03161.html')
-rw-r--r--docs/doxygen/nel/a03161.html8370
1 files changed, 8370 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a03161.html b/docs/doxygen/nel/a03161.html
new file mode 100644
index 00000000..c58e8d6e
--- /dev/null
+++ b/docs/doxygen/nel/a03161.html
@@ -0,0 +1,8370 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>NeL: NL3D::CPSConstraintMesh class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.3.6 -->
+<div class="qindex"> <form class="search" action="search.php" method="get">
+<a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a> | <span class="search"><u>S</u>earch&nbsp;for&nbsp;<input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div>
+<h1>NL3D::CPSConstraintMesh Class Reference</h1><code>#include &lt;<a class="el" href="a06251.html">ps_mesh.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for NL3D::CPSConstraintMesh:
+<p><center><img src="a03161.png" usemap="#NL3D::CPSConstraintMesh_map" border="0" alt=""></center>
+<map name="NL3D::CPSConstraintMesh_map">
+<area href="a03162.html" alt="NL3D::CPSParticle" shape="rect" coords="0,168,227,192">
+<area href="a03164.html" alt="NL3D::CPSSizedParticle" shape="rect" coords="237,168,464,192">
+<area href="a03163.html" alt="NL3D::CPSRotated3DPlaneParticle" shape="rect" coords="474,168,701,192">
+<area href="a03206.html" alt="NL3D::CPSHintParticleRotateTheSame" shape="rect" coords="711,168,938,192">
+<area href="a03232.html" alt="NL3D::CPSShapeParticle" shape="rect" coords="948,168,1175,192">
+<area href="a03157.html" alt="NL3D::CPSColoredParticle" shape="rect" coords="1185,168,1412,192">
+<area href="a02691.html" alt="NL3D::CPSLocatedBindable" shape="rect" coords="0,112,227,136">
+<area href="a02867.html" alt="NLMISC::IStreamable" shape="rect" coords="0,56,227,80">
+<area href="a02540.html" alt="NLMISC::IClassable" shape="rect" coords="0,0,227,24">
+</map>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+This class is for mesh that have very simple geometry. The constraint is that they can only have one matrix block. They got a hint for constant rotation scheme. With little meshs, this is the best to draw a maximum of them
+<p>
+
+<p>
+Definition at line <a class="el" href="a06251.html#l00176">176</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>.<table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>[NOHEADER]</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshz744_0">TTexAnimType</a> { <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshz744_0NL3D_1_1CPSConstraintMeshw2">NoAnim</a> = 0,
+<a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshz744_0NL3D_1_1CPSConstraintMeshw0">GlobalAnim</a>,
+<a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshz744_0NL3D_1_1CPSConstraintMeshw1">Last</a>
+ }</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The type of animation that is used with meshs textures. <a href="#NL3D_1_1CPSConstraintMeshz744_0">More...</a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshz744_0">TTexAnimType</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshz744_1">getTexAnimType</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the the type of texture animation. <a href="#NL3D_1_1CPSConstraintMeshz744_1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshz744_2">setTexAnimType</a> (<a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshz744_0">TTexAnimType</a> <a class="el" href="a04223.html#a581">type</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the type of texture animation to use. None is the default. Setting a new value discard the previous change. <a href="#NL3D_1_1CPSConstraintMeshz744_2"></a><br><br></td></tr>
+<tr><td colspan=2><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshw6">TError</a> { <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshw6NL3D_1_1CPSConstraintMeshw4">ShapeFileNotLoaded</a> = -1,
+<a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshw6NL3D_1_1CPSConstraintMeshw3">ShapeFileIsNotAMesh</a> = -2,
+<a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshw6NL3D_1_1CPSConstraintMeshw5">ShapeHasTooMuchVertices</a> = -3
+ }</td></tr>
+
+<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea1">basisChanged</a> (<a class="el" href="a05363.html#a557">TPSMatrixMode</a> systemBasis)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesha1">checkHintRotateTheSame</a> (float &amp;min, float &amp;max) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea2">completeBBox</a> (<a class="el" href="a02156.html">NLMISC::CAABBox</a> &amp;box) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03128.html">NLMISC::CVector</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea3">computeI</a> (void) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03128.html">NLMISC::CVector</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea4">computeJ</a> (void) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03128.html">NLMISC::CVector</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea5">computeK</a> (void) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesha6">CPSConstraintMesh</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ctor <a href="#NL3D_1_1CPSConstraintMesha6"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03162.html#NL3D_1_1CPSTailDota5">disableAutoLOD</a> (bool disable=true)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Force the Auto-LOD to be disbaled. When set to false, the default behaviour set in the system is used. <a href="#NL3D_1_1CPSTailDota5"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesha8">disableHintRotateTheSame</a> (void)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea8">doesProduceBBox</a> (void) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03162.html#NL3D_1_1CPSTailDota7">draw</a> (bool opaque)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">derivers draw the particles here <a href="#NL3D_1_1CPSTailDota7"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03162.html#NL3D_1_1CPSTailDota8">enableGlobalColorLighting</a> (bool enabled)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea9">enumTexs</a> (std::vector&lt; <a class="el" href="a03408.html">NLMISC::CSmartPtr</a>&lt; <a class="el" href="a03487.html">ITexture</a> &gt; &gt; &amp;dest, <a class="el" href="a02434.html">IDriver</a> &amp;drv)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesha13">forceStageModulationByColor</a> (<a class="el" href="a04558.html#a15">uint</a> stage, bool force)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesha14">forceVertexColorLighting</a> (bool force=true)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">force all material to use vertex color lighting <a href="#NL3D_1_1CPSConstraintMesha14"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02540.html#NL3D_1_1ITrackKeyFramer_3_01CKeyVector_01_4a6">getClassName</a> ()=0</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03337.html">NLMISC::CRGBA</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03157.html#NL3D_1_1CPSTailDota15">getColor</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the color. <a href="#NL3D_1_1CPSTailDota15"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03136.html">CPSAttribMaker</a>&lt; <a class="el" href="a03337.html">CRGBA</a> &gt; *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03157.html#NL3D_1_1CPSTailDota16">getColorScheme</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the color scheme (NULL if none) const version <a href="#NL3D_1_1CPSTailDota16"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03136.html">CPSAttribMaker</a>&lt; <a class="el" href="a03337.html">CRGBA</a> &gt; *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03157.html#NL3D_1_1CPSTailDota17">getColorScheme</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the color scheme (NULL if none) <a href="#NL3D_1_1CPSTailDota17"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02434.html">IDriver</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea14">getDriver</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">shortcut to get an instance of the driver <a href="#NL3D_1_1CPSZoneSpherea14"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea15">getExternID</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the extern ID of this located bindable <a href="#NL3D_1_1CPSZoneSpherea15"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02541.html">CFontGenerator</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea16">getFontGenerator</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shortcut to get the font generator if one was set (const version). <a href="#NL3D_1_1CPSZoneSpherea16"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02541.html">CFontGenerator</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea17">getFontGenerator</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shortcut to get the font generator if one was set. <a href="#NL3D_1_1CPSZoneSpherea17"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02542.html">CFontManager</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea18">getFontManager</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shortcut to get the font manager if one was set (const version). <a href="#NL3D_1_1CPSZoneSpherea18"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02542.html">CFontManager</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea19">getFontManager</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSZoneSpherea19"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02851.html">NLMISC::CMatrix</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea20">getInvertedSysMat</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">shortcut to get the inverted matrix of the system <a href="#NL3D_1_1CPSZoneSpherea20"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02851.html">NLMISC::CMatrix</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea21">getInvertedViewMat</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">shortcut to get the inverted view matrix <a href="#NL3D_1_1CPSZoneSpherea21"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02851.html">NLMISC::CMatrix</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea22">getLocalToWorldMatrix</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shortcut to get the local to world matrix. <a href="#NL3D_1_1CPSZoneSpherea22"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a05363.html#a558">TPSLod</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea23">getLOD</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the valid lods for that object <a href="#NL3D_1_1CPSZoneSpherea23"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesha29">getMaxNumFaces</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return the max number of faces needed for display. This is needed for LOD balancing <a href="#NL3D_1_1CPSConstraintMesha29"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03136.html">CPSAttribMaker</a>&lt; float &gt; *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesha30">getMorphScheme</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current morphing scheme or NULL if no one was set. Const version. <a href="#NL3D_1_1CPSConstraintMesha30"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03136.html">CPSAttribMaker</a>&lt; float &gt; *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesha31">getMorphScheme</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current morphing scheme or NULL if no one was set. <a href="#NL3D_1_1CPSConstraintMesha31"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesha32">getMorphValue</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the value used for morphing. <a href="#NL3D_1_1CPSConstraintMesha32"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea25">getName</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the located bindable name (edition purpose) <a href="#NL3D_1_1CPSZoneSpherea25"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesha34">getNumShapes</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the number of shapes used. <a href="#NL3D_1_1CPSConstraintMesha34"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03214.html">CPSLocated</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea28">getOwner</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the located that owns this bindable (const version) <a href="#NL3D_1_1CPSZoneSpherea28"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03214.html">CPSLocated</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea29">getOwner</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the located that owns this bindable <a href="#NL3D_1_1CPSZoneSpherea29"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03083.html">CPlaneBasis</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03163.html#NL3D_1_1CPSShockWavea37">getPlaneBasis</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the constant basis <a href="#NL3D_1_1CPSShockWavea37"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03136.html">CPSAttribMaker</a>&lt; <a class="el" href="a03083.html">CPlaneBasis</a> &gt; *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03163.html#NL3D_1_1CPSShockWavea38">getPlaneBasisScheme</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the plane basis scheme, (NULL if none) const version <a href="#NL3D_1_1CPSShockWavea38"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03136.html">CPSAttribMaker</a>&lt; <a class="el" href="a03083.html">CPlaneBasis</a> &gt; *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03163.html#NL3D_1_1CPSShockWavea39">getPlaneBasisScheme</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the plane basis scheme, (NULL if none) <a href="#NL3D_1_1CPSShockWavea39"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03162.html#NL3D_1_1CPSTailDota33">getPriority</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return priority <a href="#NL3D_1_1CPSTailDota33"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const std::string &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesha41">getShape</a> (<a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a566">index</a>) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a shape name by its index. <a href="#NL3D_1_1CPSConstraintMesha41"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesha42">getShape</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the shape used for those particles. (must use no morphing or an assertion is raised). <a href="#NL3D_1_1CPSConstraintMesha42"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesha43">getShapeNumVerts</a> (std::vector&lt; <a class="el" href="a04558.html#a14">sint</a> &gt; &amp;numVerts)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesha44">getShapesNames</a> (std::string *shapesNames) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03164.html#NL3D_1_1CPSSizedParticlea1">getSize</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the constant size <a href="#NL3D_1_1CPSSizedParticlea1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03136.html">CPSAttribMaker</a>&lt; float &gt; *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03164.html#NL3D_1_1CPSSizedParticlea2">getSizeScheme</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the size scheme (NULL if none) const version <a href="#NL3D_1_1CPSSizedParticlea2"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03136.html">CPSAttribMaker</a>&lt; float &gt; *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03164.html#NL3D_1_1CPSSizedParticlea3">getSizeScheme</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the size scheme (NULL if none) <a href="#NL3D_1_1CPSSizedParticlea3"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02851.html">NLMISC::CMatrix</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea32">getSysMat</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSZoneSpherea32"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03162.html#NL3D_1_1CPSTailDota35">getType</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return this bindable type <a href="#NL3D_1_1CPSTailDota35"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea36">getUserMatrixUsageCount</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02851.html">NLMISC::CMatrix</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea37">getViewMat</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">shortcut to get the view matrix <a href="#NL3D_1_1CPSZoneSpherea37"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea38">hasEmitters</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">tells wether there are alive emitters <a href="#NL3D_1_1CPSZoneSpherea38"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesha53">hasLightableFaces</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">from <a class="el" href="a03162.html">CPSParticle</a> : return true if there are lightable faces in the object <a href="#NL3D_1_1CPSConstraintMesha53"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesha54">hasOpaqueFaces</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return true if there are Opaque faces in the object <a href="#NL3D_1_1CPSConstraintMesha54"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03162.html#NL3D_1_1CPSTailDota41">hasParticles</a> (void) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return true if this located bindable derived class holds alive particles <a href="#NL3D_1_1CPSTailDota41"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesha56">hasTransparentFaces</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return true if there are transparent faces in the object <a href="#NL3D_1_1CPSConstraintMesha56"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesha57">hintRotateTheSame</a> (<a class="el" href="a04558.html#a11">uint32</a> nbConfiguration, float minAngularVelocity=<a class="el" href="a05378.html#a44">NLMISC::Pi</a>, float maxAngularVelocity=<a class="el" href="a05378.html#a44">NLMISC::Pi</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea40">isActive</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03162.html#NL3D_1_1CPSTailDota44">isAutoLODDisabled</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test wether Auto-LOD is disabled. <a href="#NL3D_1_1CPSTailDota44"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesha60">isStageModulationForced</a> (<a class="el" href="a04558.html#a15">uint</a> stage) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test if the i-th stage of all materials is forced to be modulated with the mesh color. <a href="#NL3D_1_1CPSConstraintMesha60"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesha61">isValidBuild</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesha62">isVertexColorLightingForced</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">test wether vertex color lighting is forced. <a href="#NL3D_1_1CPSConstraintMesha62"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea41">motionTypeChanged</a> (bool parametric)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">called when a located has switch between incrmental / parametric motion. The default does nothing <a href="#NL3D_1_1CPSZoneSpherea41"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesha64">NLMISC_DECLARE_CLASS</a> (<a class="el" href="a03161.html">CPSConstraintMesh</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSTailDota46">notifyTargetRemoved</a> (<a class="el" href="a03214.html">CPSLocated</a> *ptr)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSTailDota46"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSTailDota47">releaseAllRef</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSTailDota47"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSTailDota48">releaseRefTo</a> (const <a class="el" href="a03054.html">CParticleSystemProcess</a> *other)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesha68">serial</a> (<a class="el" href="a02270.html">NLMISC::IStream</a> &amp;f) throw (NLMISC::EStream)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">serialisation. Derivers must override this, and call their parent version <a href="#NL3D_1_1CPSConstraintMesha68"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03157.html#NL3D_1_1CPSTailDota49">serialColorScheme</a> (<a class="el" href="a02270.html">NLMISC::IStream</a> &amp;f) throw (NLMISC::EStream)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">serialization. <a href="#NL3D_1_1CPSTailDota49"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03163.html#NL3D_1_1CPSShockWavea74">serialPlaneBasisScheme</a> (<a class="el" href="a02270.html">NLMISC::IStream</a> &amp;f) throw (NLMISC::EStream)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">=================================================================================== <a href="#NL3D_1_1CPSShockWavea74"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03164.html#NL3D_1_1CPSSizedParticlea4">serialSizeScheme</a> (<a class="el" href="a02270.html">NLMISC::IStream</a> &amp;f) throw (NLMISC::EStream)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">serialization. We choose a different name because of multiple-inheritance <a href="#NL3D_1_1CPSSizedParticlea4"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea49">setActive</a> (bool active)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Activate / Deactivate this object. When not active, the owning system won't try to call the 'step' method. <a href="#NL3D_1_1CPSZoneSpherea49"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03157.html#NL3D_1_1CPSTailDota53">setColor</a> (<a class="el" href="a03337.html">NLMISC::CRGBA</a> col)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a constant color for the particles. remove any previous scheme. <a href="#NL3D_1_1CPSTailDota53"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03157.html#NL3D_1_1CPSTailDota54">setColorScheme</a> (<a class="el" href="a03136.html">CPSAttribMaker</a>&lt; <a class="el" href="a03337.html">CRGBA</a> &gt; *col)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea52">setExternID</a> (<a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a04223.html#a564">id</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSZoneSpherea52"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea53">setLOD</a> (<a class="el" href="a05363.html#a558">TPSLod</a> lod)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesha77">setMorphScheme</a> (<a class="el" href="a03136.html">CPSAttribMaker</a>&lt; float &gt; *scheme)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a morphing scheme. The scheme is then owned by this object. <a href="#NL3D_1_1CPSConstraintMesha77"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesha78">setMorphValue</a> (float <a class="el" href="a04223.html#a658">value</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Use a constant value for morphing. This discard any scheme for the morph value. The value must range from 0 to numberOfShapes. <a href="#NL3D_1_1CPSConstraintMesha78"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea55">setName</a> (const std::string &amp;name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set the located bindable name (edition purpose) <a href="#NL3D_1_1CPSZoneSpherea55"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03163.html#NL3D_1_1CPSShockWavea87">setPlaneBasis</a> (const <a class="el" href="a03083.html">CPlaneBasis</a> &amp;basis)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">=================================================================================== <a href="#NL3D_1_1CPSShockWavea87"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03163.html#NL3D_1_1CPSShockWavea88">setPlaneBasisScheme</a> (<a class="el" href="a03136.html">CPSAttribMaker</a>&lt; <a class="el" href="a03083.html">CPlaneBasis</a> &gt; *basisMaker)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">=================================================================================== <a href="#NL3D_1_1CPSShockWavea88"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesha82">setShape</a> (<a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a566">index</a>, const std::string &amp;shapeName)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a shape by its index. <a href="#NL3D_1_1CPSConstraintMesha82"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesha83">setShape</a> (const std::string &amp;meshFileName)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesha84">setShapes</a> (const std::string *shapesNames, <a class="el" href="a04558.html#a15">uint</a> numShapes)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03164.html#NL3D_1_1CPSSizedParticlea5">setSize</a> (float <a class="el" href="a04223.html#a587">size</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a constant size for the particles. <a href="#NL3D_1_1CPSSizedParticlea5"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03164.html#NL3D_1_1CPSSizedParticlea6">setSizeScheme</a> (<a class="el" href="a03136.html">CPSAttribMaker</a>&lt; float &gt; *<a class="el" href="a04223.html#a587">size</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea59">setupDriverModelMatrix</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">shortcut to setup the model matrix (system basis or world basis) <a href="#NL3D_1_1CPSZoneSpherea59"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesha88">setZBias</a> (float <a class="el" href="a04223.html#a658">value</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03162.html#NL3D_1_1CPSTailDota61">showTool</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">draw the particles for edition mode. The default behaviour just draw a wireframe model <a href="#NL3D_1_1CPSTailDota61"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesha90">supportGlobalColorLighting</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea65">systemDateChanged</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03162.html#NL3D_1_1CPSTailDota64">usesGlobalColorLighting</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesha93">~CPSConstraintMesh</a> ()</td></tr>
+
+<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshz745_0">forceGlobalAnimTimeResetOnNewElement</a> (bool force=true)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Force the time counter for global anim to be reseted when a new mesh is created. <a href="#NL3D_1_1CPSConstraintMeshz745_0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03165.html">CGlobalTexAnim</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshz745_1">getGlobalTexAnim</a> (<a class="el" href="a04558.html#a15">uint</a> stage) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the properties of texture animation.Global animation should have been activated. <a href="#NL3D_1_1CPSConstraintMeshz745_1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshz745_2">isGlobalAnimTimeResetOnNewElementForced</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Force the time counter for global anim to be reseted when a new mesh is created. <a href="#NL3D_1_1CPSConstraintMeshz745_2"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshz745_3">setGlobalTexAnim</a> (<a class="el" href="a04558.html#a15">uint</a> stage, const <a class="el" href="a03165.html">CGlobalTexAnim</a> &amp;properties)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the properties of texture animation for a texture stage. Global animation should have been activated. <a href="#NL3D_1_1CPSConstraintMeshz745_3"></a><br><br></td></tr>
+<tr><td colspan=2><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshe0">initPrerotVB</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Setup the buffers used with prerotated meshs. Must be called during initialization. <a href="#NL3D_1_1CPSConstraintMeshe0"></a><br><br></td></tr>
+<tr><td colspan=2><br><h2>Protected Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>typedef std::auto_ptr&lt; <a class="el" href="a03166.html">CGlobalTexAnims</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshx0">PGlobalTexAnims</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="a03408.html">NLMISC::CSmartPtr</a>&lt;<br>
+ <a class="el" href="a02857.html">CMesh</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshx1">PMesh</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="a03254.html">CPSVector</a>&lt; std::string <br>
+&gt;::<a class="el" href="a03254.html">V</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshx2">TMeshNameVect</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="a03254.html">CPSVector</a>&lt; <a class="el" href="a03408.html">PMesh</a> &gt;::<a class="el" href="a03254.html">V</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshx3">TMeshVect</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>typedef std::vector&lt; <a class="el" href="a03171.html">CRdrPass</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshx4">TRdrPassSet</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A set of rendering pass. <a href="#NL3D_1_1CPSConstraintMeshx4"></a><br><br></td></tr>
+<tr><td colspan=2><br><h2>Protected Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSphereb0">bounceOccured</a> (<a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a04223.html#a566">index</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshb1">clean</a> (void)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshb2">computeColors</a> (<a class="el" href="a03692.html">CVertexBuffer</a> &amp;outVB, const <a class="el" href="a03692.html">CVertexBuffer</a> &amp;inVB, <a class="el" href="a04558.html#a15">uint</a> startIndex, <a class="el" href="a04558.html#a15">uint</a> toProcess, <a class="el" href="a04558.html#a11">uint32</a> srcStep)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03162.html#NL3D_1_1CPSTailDotb2">computeSrcStep</a> (<a class="el" href="a04558.html#a11">uint32</a> &amp;step, <a class="el" href="a04558.html#a15">uint</a> &amp;numToProcess)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03157.html#NL3D_1_1CPSTailDotb3">deleteColorElement</a> (<a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a04223.html#a566">index</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshb5">deleteElement</a> (<a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a04223.html#a566">index</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03163.html#NL3D_1_1CPSShockWaveb5">deletePlaneBasisElement</a> (<a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a04223.html#a566">index</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03164.html#NL3D_1_1CPSSizedParticleb0">deleteSizeElement</a> (<a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a04223.html#a566">index</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSphereb3">displayIcon2d</a> (const <a class="el" href="a03128.html">NLMISC::CVector</a> tab[], <a class="el" href="a04558.html#a15">uint</a> nbSegs, float scale)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSZoneSphereb3"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshb9">doRenderPasses</a> (<a class="el" href="a02434.html">IDriver</a> *driver, <a class="el" href="a04558.html#a15">uint</a> numObj, <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshx4">TRdrPassSet</a> &amp;rdrPasses, bool opaque)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Perform a set of rendering passes. The VB must have been activated in the driver before to call this. <a href="#NL3D_1_1CPSConstraintMeshb9"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshb10">draw</a> (bool opaque, <a class="el" href="a05363.html#a366">TAnimationTime</a> ellapsedTime)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshb11">drawPreRotatedMeshs</a> (bool opaque, <a class="el" href="a05363.html#a366">TAnimationTime</a> ellapsedTime)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">draw for pre-rotated meshs <a href="#NL3D_1_1CPSConstraintMeshb11"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshb12">fillIndexesInPrecompBasis</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">fill _IndexInPrecompBasis with index in the range [0.. nb configurations[ <a href="#NL3D_1_1CPSConstraintMeshb12"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="a03214.html">CPSLocated</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshb13">getColorOwner</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">deriver must return their owner there <a href="#NL3D_1_1CPSConstraintMeshb13"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="a03214.html">CPSLocated</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshb14">getPlaneBasisOwner</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">if this is false, constant size will be used instead of a scheme deriver must return their owner there <a href="#NL3D_1_1CPSConstraintMeshb14"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="a03214.html">CPSLocated</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshb15">getSizeOwner</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">deriver must return their owner there <a href="#NL3D_1_1CPSConstraintMeshb15"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03692.html">CVertexBuffer</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshb16">makePrerotatedVb</a> (const <a class="el" href="a03692.html">CVertexBuffer</a> &amp;inVB, <a class="el" href="a05363.html#a366">TAnimationTime</a> ellapsedTime)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">make a vb for the prerotated mesh from a source vb <a href="#NL3D_1_1CPSConstraintMeshb16"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03157.html#NL3D_1_1CPSTailDotb12">newColorElement</a> (<a class="el" href="a03214.html">CPSLocated</a> *emitterLocated, <a class="el" href="a04558.html#a11">uint32</a> emitterIndex)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshb18">newElement</a> (<a class="el" href="a03214.html">CPSLocated</a> *emitterLocated, <a class="el" href="a04558.html#a11">uint32</a> emitterIndex)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03163.html#NL3D_1_1CPSShockWaveb17">newPlaneBasisElement</a> (<a class="el" href="a03214.html">CPSLocated</a> *emitterLocated, <a class="el" href="a04558.html#a11">uint32</a> emitterIndex)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03164.html#NL3D_1_1CPSSizedParticleb2">newSizeElement</a> (<a class="el" href="a03214.html">CPSLocated</a> *emitterLocated, <a class="el" href="a04558.html#a11">uint32</a> emitterIndex)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03162.html#NL3D_1_1CPSTailDotb14">notifyOwnerMaxNumFacesChanged</a> (void) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshb22">releaseShapes</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">release the shapes used by this particle <a href="#NL3D_1_1CPSConstraintMeshb22"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshb23">resize</a> (<a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a04223.html#a587">size</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03157.html#NL3D_1_1CPSTailDotb17">resizeColor</a> (<a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a04223.html#a587">size</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03163.html#NL3D_1_1CPSShockWaveb24">resizePlaneBasis</a> (<a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a04223.html#a587">size</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03164.html#NL3D_1_1CPSSizedParticleb3">resizeSize</a> (<a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a04223.html#a587">size</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshb27">restoreMaterials</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSphereb7">setOwner</a> (<a class="el" href="a03214.html">CPSLocated</a> *psl)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#NL3D_1_1CPSZoneSphereb7"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshb29">setupMaterialColor</a> (<a class="el" href="a02839.html">CMaterial</a> &amp;destMat, <a class="el" href="a02839.html">CMaterial</a> &amp;srcMat)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshb30">setupRenderPasses</a> (float date, <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshx4">TRdrPassSet</a> &amp;rdrPasses, bool opaque)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Setup a set of rendering passes (set good textures matrix / material colors). <a href="#NL3D_1_1CPSConstraintMeshb30"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshb31">step</a> (<a class="el" href="a05363.html#a556">TPSProcessPass</a> pass, <a class="el" href="a05363.html#a366">TAnimationTime</a> ellapsedTime, <a class="el" href="a05363.html#a366">TAnimationTime</a> realEt)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshb32">update</a> (std::vector&lt; <a class="el" href="a04558.html#a14">sint</a> &gt; *numVerts=NULL)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshb33">updateMatAndVbForColor</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Update the material and the vb and the like so that they match the color scheme. <a href="#NL3D_1_1CPSConstraintMeshb33"></a><br><br></td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherep0">_Active</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03337.html">CRGBA</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03157.html#NL3D_1_1CPSTailDotp1">_Color</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03136.html">CPSAttribMaker</a>&lt; <a class="el" href="a03337.html">CRGBA</a> &gt; *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherep3">_ExternID</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a7">uint8</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshp4">_GlobalAnimationEnabled</a>: 1</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshp5">_GlobalAnimDate</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshx0">PGlobalTexAnims</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshp6">_GlobalTexAnims</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a7">uint8</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshp7">_HasLightableFaces</a>: 1</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a7">uint8</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshp8">_HasOpaqueFaces</a>: 1</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a7">uint8</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshp9">_HasTransparentFaces</a>: 1</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03254.html">CPSVector</a>&lt; <a class="el" href="a04558.html#a11">uint32</a> &gt;::<a class="el" href="a03254.html">V</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshp10">_IndexInPrecompBasis</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">this contain an index in _PrecompBasis for each particle <a href="#NL3D_1_1CPSConstraintMeshp10"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a05363.html#a558">TPSLod</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherep4">_LOD</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">tells when this object must be dealt with <a href="#NL3D_1_1CPSZoneSpherep4"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshp12">_MaxAngularVelocity</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03254.html">TMeshVect</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshp13">_Meshes</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03254.html">TMeshNameVect</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshp14">_MeshShapeFileName</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshp15">_MinAngularVelocity</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03376.html">CShapeBank</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshp16">_ModelBank</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a7">uint8</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshp17">_ModulatedStages</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A 'bitfield' to force some stage to be modulated with the primary color. <a href="#NL3D_1_1CPSConstraintMeshp17"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherep5">_Name</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshp19">_NumFaces</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03214.html">CPSLocated</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03164.html#NL3D_1_1CPSSizedParticlep0">_ParticleSize</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03083.html">CPlaneBasis</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03163.html#NL3D_1_1CPSShockWavep11">_PlaneBasis</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03136.html">CPSAttribMaker</a>&lt; <a class="el" href="a03083.html">CPlaneBasis</a> &gt; *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03163.html#NL3D_1_1CPSShockWavep12">_PlaneBasisScheme</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03254.html">CPSVector</a>&lt; <a class="el" href="a03170.html">CPlaneBasisPair</a> <br>
+&gt;::<a class="el" href="a03254.html">V</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshp24">_PrecompBasis</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">a set of precomp basis, before and after transfomation in world space, used if the hint 'RotateTheSame' has been called <a href="#NL3D_1_1CPSConstraintMeshp24"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a7">uint8</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshp25">_ReinitGlobalAnimTimeOnNewElement</a>: 1</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03136.html">CPSAttribMaker</a>&lt; float &gt; *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a7">uint8</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshp27">_Touched</a>: 1</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a7">uint8</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshp28">_ValidBuild</a>: 1</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a7">uint8</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshp29">_VertexColorLightingForced</a>: 1</td></tr>
+
+<tr><td colspan="2"><div class="groupHeader">morphing</div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03136.html">CPSAttribMaker</a>&lt; float &gt; *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshz747_0">_MorphScheme</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshz747_1">_MorphValue</a></td></tr>
+
+<tr><td colspan=2><br><h2>Static Protected Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03168.html">CMeshDisplayShare</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesht0">_MeshDisplayShare</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">manage vertex buffers and primitive blocks used for rendering <a href="#NL3D_1_1CPSConstraintMesht0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03692.html">CVertexBuffer</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesht1">_PreRotatedMeshVB</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">vertex buffer used with prerotated meshs <a href="#NL3D_1_1CPSConstraintMesht1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03692.html">CVertexBuffer</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesht2">_PreRotatedMeshVBWithNormal</a></td></tr>
+
+<tr><td colspan=2><br><h2>Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshd0">CPSConstraintMesh</a> (const <a class="el" href="a03161.html">CPSConstraintMesh</a> &amp;)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03161.html">CPSConstraintMesh</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshd1">operator=</a> (const <a class="el" href="a03161.html">CPSConstraintMesh</a> &amp;other)</td></tr>
+
+<tr><td colspan=2><br><h2>Friends</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>class&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshn0">CMeshDisplayShare</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshn1">CPSConstraintMeshHelper</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02691.html#NL3D_1_1CPSZoneSpheren0">CPSLocated</a></td></tr>
+
+</table>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshx0" doxytag="NL3D::CPSConstraintMesh::PGlobalTexAnims" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef std::auto_ptr&lt;<a class="el" href="a03166.html">CGlobalTexAnims</a>&gt; <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshx0">NL3D::CPSConstraintMesh::PGlobalTexAnims</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06251.html#l00572">572</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l01355">serial()</a>, and <a class="el" href="a06250.html#l02205">setTexAnimType()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshx1" doxytag="NL3D::CPSConstraintMesh::PMesh" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef <a class="el" href="a03408.html">NLMISC::CSmartPtr</a>&lt;<a class="el" href="a02857.html">CMesh</a>&gt; <a class="el" href="a03408.html">NL3D::CPSConstraintMesh::PMesh</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06251.html#l00462">462</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshx2" doxytag="NL3D::CPSConstraintMesh::TMeshNameVect" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef <a class="el" href="a03254.html">CPSVector</a>&lt;std::string&gt;::<a class="el" href="a03254.html">V</a> <a class="el" href="a03254.html">NL3D::CPSConstraintMesh::TMeshNameVect</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06251.html#l00463">463</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l01355">serial()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshx3" doxytag="NL3D::CPSConstraintMesh::TMeshVect" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef <a class="el" href="a03254.html">CPSVector</a>&lt;<a class="el" href="a03408.html">PMesh</a>&gt;::<a class="el" href="a03254.html">V</a> <a class="el" href="a03254.html">NL3D::CPSConstraintMesh::TMeshVect</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06251.html#l00464">464</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshx4" doxytag="NL3D::CPSConstraintMesh::TRdrPassSet" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef std::vector&lt;<a class="el" href="a03171.html">CRdrPass</a>&gt; <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshx4">NL3D::CPSConstraintMesh::TRdrPassSet</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A set of rendering pass.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06251.html#l00444">444</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l02064">NL3D::CPSConstraintMesh::CMeshDisplayShare::buildRdrPassSet()</a>, <a class="el" href="a06250.html#l01802">doRenderPasses()</a>, <a class="el" href="a06250.html#l02238">restoreMaterials()</a>, and <a class="el" href="a06250.html#l01729">setupRenderPasses()</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Enumeration Documentation</h2>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshw6" doxytag="NL3D::CPSConstraintMesh::TError" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> enum <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshw6">NL3D::CPSConstraintMesh::TError</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<dl compact><dt><b>Enumeration values: </b></dt><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CPSConstraintMeshw6NL3D_1_1CPSConstraintMeshw4" doxytag="ShapeFileNotLoaded" ></a>ShapeFileNotLoaded</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CPSConstraintMeshw6NL3D_1_1CPSConstraintMeshw3" doxytag="ShapeFileIsNotAMesh" ></a>ShapeFileIsNotAMesh</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CPSConstraintMeshw6NL3D_1_1CPSConstraintMeshw5" doxytag="ShapeHasTooMuchVertices" ></a>ShapeHasTooMuchVertices</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a06251.html#l00185">185</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>.
+<p>
+<div class="fragment"><pre>00185 { <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshw6NL3D_1_1CPSConstraintMeshw4">ShapeFileNotLoaded</a> = -1, <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshw6NL3D_1_1CPSConstraintMeshw3">ShapeFileIsNotAMesh</a> = -2, <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshw6NL3D_1_1CPSConstraintMeshw5">ShapeHasTooMuchVertices</a> = -3 };
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshz744_0" doxytag="NL3D::CPSConstraintMesh::TTexAnimType" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> enum <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshz744_0">NL3D::CPSConstraintMesh::TTexAnimType</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The type of animation that is used with meshs textures.
+<p>
+<dl compact><dt><b>Enumeration values: </b></dt><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CPSConstraintMeshz744_0NL3D_1_1CPSConstraintMeshw2" doxytag="NoAnim" ></a>NoAnim</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CPSConstraintMeshz744_0NL3D_1_1CPSConstraintMeshw0" doxytag="GlobalAnim" ></a>GlobalAnim</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CPSConstraintMeshz744_0NL3D_1_1CPSConstraintMeshw1" doxytag="Last" ></a>Last</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a06251.html#l00325">325</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l02199">getTexAnimType()</a>.
+<p>
+<div class="fragment"><pre>00325 { <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshz744_0NL3D_1_1CPSConstraintMeshw2">NoAnim</a> = 0, <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshz744_0NL3D_1_1CPSConstraintMeshw0">GlobalAnim</a>, <span class="comment">/*Local, */</span> <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshz744_0NL3D_1_1CPSConstraintMeshw1">Last</a>};
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="NL3D_1_1CPSConstraintMesha6" doxytag="NL3D::CPSConstraintMesh::CPSConstraintMesh" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NL3D::CPSConstraintMesh::CPSConstraintMesh </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ctor
+<p>
+
+<p>
+Definition at line <a class="el" href="a06250.html#l00937">937</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+<div class="fragment"><pre>00937 : <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp19">_NumFaces</a>(0),
+00938 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp16">_ModelBank</a>(NULL),
+00939 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp17">_ModulatedStages</a>(0),
+00940 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp27">_Touched</a>(1),
+00941 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp8">_HasOpaqueFaces</a>(0),
+00942 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp29">_VertexColorLightingForced</a>(<span class="keyword">false</span>),
+00943 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp4">_GlobalAnimationEnabled</a>(0),
+00944 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp25">_ReinitGlobalAnimTimeOnNewElement</a>(0),
+00945 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp7">_HasLightableFaces</a>(0),
+00946 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp28">_ValidBuild</a>(0),
+00947 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshz747_1">_MorphValue</a>(0),
+00948 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshz747_0">_MorphScheme</a>(NULL)
+00949 {
+00950 <span class="keywordflow">if</span> (CParticleSystem::getSerializeIdentifierFlag()) <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep5">_Name</a> = std::string(<span class="stringliteral">"ConstraintMesh"</span>);
+00951 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMesha93" doxytag="NL3D::CPSConstraintMesh::~CPSConstraintMesh" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NL3D::CPSConstraintMesh::~<a class="el" href="a03161.html">CPSConstraintMesh</a> </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06250.html#l01499">1499</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06251.html#l00580">_MorphScheme</a>, and <a class="el" href="a06250.html#l01521">clean()</a>.
+<p>
+<div class="fragment"><pre>01500 {
+01501 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshb1">clean</a>();
+01502 <span class="keyword">delete</span> <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshz747_0">_MorphScheme</a>;
+01503 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshd0" doxytag="NL3D::CPSConstraintMesh::CPSConstraintMesh" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NL3D::CPSConstraintMesh::CPSConstraintMesh </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03161.html">CPSConstraintMesh</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, private]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06251.html#l00583">583</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>.
+<p>
+References <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+<div class="fragment"><pre>00583 { <a class="code" href="a04199.html#a6">nlassert</a>(0); <span class="comment">/* not supported */</span> }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea1" doxytag="NL3D::CPSConstraintMesh::basisChanged" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void NL3D::CPSLocatedBindable::basisChanged </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a05363.html#a557">TPSMatrixMode</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>systemBasis</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called when the basis of the owner changed. the default behaviour does nothing <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>newBasis</em>&nbsp;</td><td>: True if in the system basis, false for the world basis.</td></tr>
+ </table>
+</dl>
+
+<p>
+Reimplemented in <a class="el" href="a02690.html#NL3D_1_1CPSTurbulb0">NL3D::CPSForce</a>.
+<p>
+Definition at line <a class="el" href="a06247.html#l00968">968</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+<div class="fragment"><pre>00968 {}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSphereb0" doxytag="NL3D::CPSConstraintMesh::bounceOccured" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void NL3D::CPSLocatedBindable::bounceOccured </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>index</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, protected, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+a bounce occured, so some action could be done. The default behaviour does nothing <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>index</em>&nbsp;</td><td>the index of the element that bounced</td></tr>
+ </table>
+</dl>
+
+<p>
+Reimplemented in <a class="el" href="a03179.html#NL3D_1_1CPSSphericalEmitterb0">NL3D::CPSEmitter</a>.
+<p>
+Definition at line <a class="el" href="a06247.html#l01011">1011</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00225">index</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>01011 {}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMesha1" doxytag="NL3D::CPSConstraintMesh::checkHintRotateTheSame" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> NL3D::CPSConstraintMesh::checkHintRotateTheSame </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>min</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>max</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"> const<code> [inline, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+check wether a call to hintRotateTheSame was performed <dl compact><dt><b>Returns:</b></dt><dd>0 if the hint is disabled, the number of configurations else </dd></dl>
+<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesha57">hintRotateTheSame()</a>, CPSRotated3dPlaneParticle</dd></dl>
+
+<p>
+Implements <a class="el" href="a03206.html#NL3D_1_1CPSHintParticleRotateTheSamea0">NL3D::CPSHintParticleRotateTheSame</a>.
+<p>
+Definition at line <a class="el" href="a06251.html#l00276">276</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>.
+<p>
+References <a class="el" href="a05484.html#l00038">min</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00277 {
+00278 <a class="code" href="a04061.html#a0">min</a> = <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp15">_MinAngularVelocity</a>;
+00279 max = <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp12">_MaxAngularVelocity</a>;
+00280 <span class="keywordflow">return</span> <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp24">_PrecompBasis</a>.size();
+00281 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshb1" doxytag="NL3D::CPSConstraintMesh::clean" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSConstraintMesh::clean </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06250.html#l01521">1521</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06251.html#l00474">_ModelBank</a>, and <a class="el" href="a06250.html#l01508">releaseShapes()</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l01134">update()</a>, and <a class="el" href="a06250.html#l01499">~CPSConstraintMesh()</a>.
+<p>
+<div class="fragment"><pre>01522 {
+01523 <span class="keywordflow">if</span> (<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp16">_ModelBank</a>)
+01524 {
+01525 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshb22">releaseShapes</a>();
+01526 }
+01527 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea2" doxytag="NL3D::CPSConstraintMesh::completeBBox" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual bool NL3D::CPSLocatedBindable::completeBBox </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02156.html">NLMISC::CAABBox</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>box</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a03194.html#NL3D_1_1CPSFanLighta1">NL3D::CPSFanLight</a>, <a class="el" href="a03187.html#NL3D_1_1CPSQuadb2">NL3D::CPSQuad</a>, and <a class="el" href="a03233.html#NL3D_1_1CPSShockWavea1">NL3D::CPSShockWave</a>.
+<p>
+Definition at line <a class="el" href="a06247.html#l00884">884</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+<div class="fragment"><pre>00884 { <span class="keywordflow">return</span> <span class="keyword">false</span> ;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshb2" doxytag="NL3D::CPSConstraintMesh::computeColors" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSConstraintMesh::computeColors </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03692.html">CVertexBuffer</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>outVB</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a03692.html">CVertexBuffer</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>inVB</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>startIndex</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>toProcess</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>srcStep</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Compute (optionnal) mesh colors. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>outVB</em>&nbsp;</td><td>The destination VB. </td></tr>
+ <tr><td valign=top><em>inVB</em>&nbsp;</td><td>the vb of the current shape </td></tr>
+ <tr><td valign=top><em>startIndex</em>&nbsp;</td><td>Index of the mesh being processed </td></tr>
+ <tr><td valign=top><em>toProcess</em>&nbsp;</td><td>Number of meshs to process</td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a06250.html#l01825">1825</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06710.html#l00465">NL3D::CVertexBuffer::getColorPointer()</a>, <a class="el" href="a06711.html#l00453">NL3D::CVertexBuffer::getNumVertices()</a>, <a class="el" href="a06711.html#l00319">NL3D::CVertexBuffer::getVertexFormat()</a>, <a class="el" href="a06711.html#l00473">NL3D::CVertexBuffer::getVertexSize()</a>, <a class="el" href="a03136.html#NL3D_1_1CPSAttribMakerz714_4">NL3D::CPSAttribMaker&lt; CRGBA &gt;::makeN()</a>, <a class="el" href="a06339.html#l00239">NLMISC::CRGBA::modulateColors()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05981.html#l00100">uint32</a>, and <a class="el" href="a05981.html#l00096">uint8</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l00521">NL3D::CPSConstraintMeshHelper::drawMeshs()</a>, and <a class="el" href="a06250.html#l00793">NL3D::CPSConstraintMeshHelper::drawPrerotatedMeshs()</a>.
+<p>
+<div class="fragment"><pre>01826 {
+01827 <a class="code" href="a04199.html#a6">nlassert</a>(_ColorScheme);
+01828 <span class="comment">// there are 2 case : 1 - the source mesh has colors, which are modulated with the current color</span>
+01829 <span class="comment">// 2 - the source mesh has no colors : colors are directly copied into the dest vb</span>
+01830
+01831 <span class="keywordflow">if</span> (inVB.getVertexFormat() &amp; CVertexBuffer::PrimaryColorFlag) <span class="comment">// case 1</span>
+01832 {
+01833 <span class="comment">// TODO: optimisation : avoid to duplicate colors...</span>
+01834 <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a>-&gt;makeN(_Owner, startIndex, outVB.getColorPointer(), outVB.getVertexSize(), toProcess, inVB.getNumVertices(), srcStep);
+01835 <span class="comment">// modulate from the source mesh</span>
+01836 <a class="code" href="a04558.html#a7">uint8</a> *vDest = (<a class="code" href="a04558.html#a7">uint8</a> *) outVB.getColorPointer();
+01837 <a class="code" href="a04558.html#a7">uint8</a> *vSrc = (<a class="code" href="a04558.html#a7">uint8</a> *) inVB.getColorPointer();
+01838 <span class="keyword">const</span> <a class="code" href="a04558.html#a15">uint</a> vSize = outVB.getVertexSize();
+01839 <span class="keyword">const</span> <a class="code" href="a04558.html#a15">uint</a> numVerts = inVB.getNumVertices();
+01840 <a class="code" href="a04558.html#a15">uint</a> meshSize = vSize * numVerts;
+01841 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> k = 0; k &lt; toProcess; ++k)
+01842 {
+01843 <a class="code" href="a03337.html#NLMISC_1_1CRGBAz2024_1">NLMISC::CRGBA::modulateColors</a>((<a class="code" href="a03337.html">CRGBA</a> *) vDest, (<a class="code" href="a03337.html">CRGBA</a> *) vSrc, (<a class="code" href="a03337.html">CRGBA</a> *) vDest, numVerts, vSize, vSize);
+01844 vDest += meshSize;
+01845 }
+01846 }
+01847 <span class="keywordflow">else</span> <span class="comment">// case 2</span>
+01848 {
+01849 <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a>-&gt;makeN(_Owner, startIndex, outVB.getColorPointer(), outVB.getVertexSize(), toProcess, inVB.getNumVertices(), srcStep);
+01850 }
+01851 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea3" doxytag="NL3D::CPSConstraintMesh::computeI" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03128.html">NLMISC::CVector</a> NL3D::CPSLocatedBindable::computeI </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Compute a vector that will map to (1 0 0) after view and model transform. This allow to have object that always faces the user, whatever basis they are in
+<p>
+Definition at line <a class="el" href="a06247.html#l00931">931</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06246.html#l00612">NL3D::CPSLocated::computeI()</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l02038">NL3D::CPSLocatedBindable::displayIcon2d()</a>, <a class="el" href="a06235.html#l00072">NL3D::CPSFanLightHelper::drawFanLight()</a>, <a class="el" href="a06233.html#l00379">NL3D::CPSFaceLookAtHelper::drawLookAt()</a>, <a class="el" href="a06233.html#l00089">NL3D::CPSFaceLookAtHelper::drawLookAtAlignOnMotion()</a>, <a class="el" href="a06239.html#l00413">NL3D::CPSGravity::show()</a>, and <a class="el" href="a06229.html#l00447">NL3D::CPSEmitter::showTool()</a>.
+<p>
+<div class="fragment"><pre>00931 { <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;computeI(); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea4" doxytag="NL3D::CPSConstraintMesh::computeJ" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03128.html">NLMISC::CVector</a> NL3D::CPSLocatedBindable::computeJ </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Compute a vector that will map to (0 1 0) after view and model transform. This allow to have object that always faces the user, whatever basis they are in
+<p>
+Definition at line <a class="el" href="a06247.html#l00936">936</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06246.html#l00643">NL3D::CPSLocated::computeJ()</a>.
+<p>
+Referenced by <a class="el" href="a06233.html#l00379">NL3D::CPSFaceLookAtHelper::drawLookAt()</a>.
+<p>
+<div class="fragment"><pre>00936 { <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;computeJ(); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea5" doxytag="NL3D::CPSConstraintMesh::computeK" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03128.html">NLMISC::CVector</a> NL3D::CPSLocatedBindable::computeK </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Compute a vector that will map to (0 0 1) after view and model transform. This allow to have object that always faces the user, whatever basis they are in
+<p>
+Definition at line <a class="el" href="a06247.html#l00940">940</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06246.html#l00674">NL3D::CPSLocated::computeK()</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l02038">NL3D::CPSLocatedBindable::displayIcon2d()</a>, <a class="el" href="a06235.html#l00072">NL3D::CPSFanLightHelper::drawFanLight()</a>, <a class="el" href="a06233.html#l00379">NL3D::CPSFaceLookAtHelper::drawLookAt()</a>, <a class="el" href="a06233.html#l00089">NL3D::CPSFaceLookAtHelper::drawLookAtAlignOnMotion()</a>, and <a class="el" href="a06229.html#l00447">NL3D::CPSEmitter::showTool()</a>.
+<p>
+<div class="fragment"><pre>00940 { <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;computeK(); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotb2" doxytag="NL3D::CPSConstraintMesh::computeSrcStep" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSParticle::computeSrcStep </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>step</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>numToProcess</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [protected, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+System may have hand-tuned LOD, or auto LOD. This compute the number of particles that must really be displayed, and the src step that allow to go through the whole collection. The step in the source is in a fixed point 16:16 format
+<p>
+Definition at line <a class="el" href="a06257.html#l00082">82</a> of file <a class="el" href="a06257.html">ps_particle_basic.cpp</a>.
+<p>
+References <a class="el" href="a06258.html#l00183">NL3D::CPSParticle::_DisableAutoLOD</a>, <a class="el" href="a05587.html#l00115">NLMISC::clamp()</a>, <a class="el" href="a06143.html#l00631">NL3D::CParticleSystem::getAutoLODDegradationExponent()</a>, <a class="el" href="a06143.html#l00638">NL3D::CParticleSystem::getAutoLODMode()</a>, <a class="el" href="a06143.html#l00630">NL3D::CParticleSystem::getAutoLODStartDistPercent()</a>, <a class="el" href="a06143.html#l00596">NL3D::CParticleSystem::getOneMinusCurrentLODRatio()</a>, <a class="el" href="a06151.html#l00111">NL3D::CParticleSystemProcess::getOwner()</a>, <a class="el" href="a06247.html#l00361">NL3D::CPSLocated::getSize()</a>, <a class="el" href="a06143.html#l00606">NL3D::CParticleSystem::isAutoLODEnabled()</a>, <a class="el" href="a06143.html#l00135">NL3D::CParticleSystem::isSharingEnabled()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05646.html#l00993">r</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a06279.html#l00286">NL3D::CPSShockWave::draw()</a>, <a class="el" href="a06250.html#l01631">draw()</a>, <a class="el" href="a06235.html#l00335">NL3D::CPSFanLight::draw()</a>, <a class="el" href="a06233.html#l00838">NL3D::CPSFaceLookAt::draw()</a>, <a class="el" href="a06226.html#l00122">NL3D::CPSDot::draw()</a>, <a class="el" href="a06283.html#l00165">NL3D::CPSTailDot::step()</a>, <a class="el" href="a06277.html#l00119">NL3D::CPSRibbonLookAt::step()</a>, <a class="el" href="a06273.html#l00266">NL3D::CPSRibbon::step()</a>, and <a class="el" href="a06231.html#l00212">NL3D::CPSFace::step()</a>.
+<p>
+<div class="fragment"><pre>00083 {
+00084 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner &amp;&amp; <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner());
+00085 <span class="keyword">const</span> CParticleSystem &amp;ps = *(<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner());
+00086 <span class="keywordflow">if</span> (_DisableAutoLOD || !ps.isAutoLODEnabled() || !ps.isSharingEnabled() || <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getSize() == 0) <span class="comment">// Should Auto-LOD be used ?</span>
+00087 {
+00088 step = (1 &lt;&lt; 16);
+00089 numToProcess = <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getSize();
+00090 }
+00091 <span class="keywordflow">else</span>
+00092 {
+00093 <span class="keywordtype">float</span> oneMinusLODRatio = ps.getOneMinusCurrentLODRatio();
+00094 <span class="keywordtype">float</span> LODRatio = 1.f - oneMinusLODRatio;
+00095 <span class="keywordflow">if</span> (LODRatio &gt; ps.getAutoLODStartDistPercent())
+00096 {
+00097 <span class="keywordtype">float</span> factor = (LODRatio - 1.f) / (ps.getAutoLODStartDistPercent() - 1.f);
+00098 <a class="code" href="a05378.html#a374">NLMISC::clamp</a>(factor, 0.f, 1.f);
+00099 <span class="keywordtype">float</span> <a class="code" href="a04223.html#a628">r</a> = factor;
+00100 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> k = 1; k &lt; ps.getAutoLODDegradationExponent(); ++k)
+00101 {
+00102 <a class="code" href="a04223.html#a628">r</a> *= factor;
+00103 }
+00104 numToProcess = (<a class="code" href="a04558.html#a15">uint</a>) (<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getSize() * <a class="code" href="a04223.html#a628">r</a>);
+00105 <span class="keywordflow">if</span> (numToProcess &lt; 1) { numToProcess = 1; }
+00106
+00107 step = ps.getAutoLODMode() ? <span class="comment">// skip or limit number, depending on the mode</span>
+00108 (<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getSize() &lt;&lt; 16) / numToProcess : <span class="comment">// skip particles</span>
+00109 (1 &lt;&lt; 16); <span class="comment">// just display less particles</span>
+00110 }
+00111 <span class="keywordflow">else</span>
+00112 {
+00113 step = (1 &lt;&lt; 16);
+00114 numToProcess = <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getSize();
+00115 }
+00116 }
+00117
+00118 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotb3" doxytag="NL3D::CPSConstraintMesh::deleteColorElement" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSColoredParticle::deleteColorElement </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>index</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, protected, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06258.html#l00237">237</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a06214.html#l00285">NL3D::CPSAttribMaker&lt; CRGBA &gt;::deleteElement()</a>, <a class="el" href="a06214.html#l00282">NL3D::CPSAttribMaker&lt; CRGBA &gt;::hasMemory()</a>, <a class="el" href="a05646.html#l00225">index</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a06283.html#l00220">NL3D::CPSTailDot::deleteElement()</a>, <a class="el" href="a06279.html#l00460">NL3D::CPSShockWave::deleteElement()</a>, <a class="el" href="a06277.html#l00172">NL3D::CPSRibbonLookAt::deleteElement()</a>, <a class="el" href="a06273.html#l00322">NL3D::CPSRibbon::deleteElement()</a>, <a class="el" href="a06263.html#l00105">NL3D::CPSQuad::deleteElement()</a>, <a class="el" href="a06250.html#l01874">deleteElement()</a>, <a class="el" href="a06235.html#l00272">NL3D::CPSFanLight::deleteElement()</a>, and <a class="el" href="a06226.html#l00239">NL3D::CPSDot::deleteElement()</a>.
+<p>
+<div class="fragment"><pre>00238 {
+00239 <span class="keywordflow">if</span> (<a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a> &amp;&amp; <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a>-&gt;hasMemory()) <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a>-&gt;deleteElement(index);
+00240 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshb5" doxytag="NL3D::CPSConstraintMesh::deleteElement" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSConstraintMesh::deleteElement </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>index</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Delete an element by its index
+<p>
+Implements <a class="el" href="a03162.html#NL3D_1_1CPSParticleb2">NL3D::CPSParticle</a>.
+<p>
+Definition at line <a class="el" href="a06250.html#l01874">1874</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06251.html#l00580">_MorphScheme</a>, <a class="el" href="a06258.html#l00237">NL3D::CPSColoredParticle::deleteColorElement()</a>, <a class="el" href="a06214.html#l00285">NL3D::CPSAttribMaker&lt; float &gt;::deleteElement()</a>, <a class="el" href="a06258.html#l00703">NL3D::CPSRotated3DPlaneParticle::deletePlaneBasisElement()</a>, <a class="el" href="a06258.html#l00295">NL3D::CPSSizedParticle::deleteSizeElement()</a>, <a class="el" href="a06247.html#l00361">NL3D::CPSLocated::getSize()</a>, <a class="el" href="a06214.html#l00282">NL3D::CPSAttribMaker&lt; float &gt;::hasMemory()</a>, <a class="el" href="a05646.html#l00225">index</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>01875 {
+01876 <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticleb0">deleteSizeElement</a>(index);
+01877 <a class="code" href="a03163.html#NL3D_1_1CPSShockWaveb5">deletePlaneBasisElement</a>(index);
+01878 <span class="comment">// TODO : avoid code cuplication with CPSFace ...</span>
+01879 <span class="keywordflow">if</span> (<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp24">_PrecompBasis</a>.size()) <span class="comment">// do we use precomputed basis ?</span>
+01880 {
+01881 <span class="comment">// replace ourself by the last element...</span>
+01882 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp10">_IndexInPrecompBasis</a>[<a class="code" href="a04223.html#a566">index</a>] = <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp10">_IndexInPrecompBasis</a>[<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getSize() - 1];
+01883 }
+01884 <a class="code" href="a03157.html#NL3D_1_1CPSTailDotb3">deleteColorElement</a>(index);
+01885 <span class="keywordflow">if</span> (<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshz747_0">_MorphScheme</a> &amp;&amp; <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshz747_0">_MorphScheme</a>-&gt;hasMemory()) <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshz747_0">_MorphScheme</a>-&gt;deleteElement(index);
+01886 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSShockWaveb5" doxytag="NL3D::CPSConstraintMesh::deletePlaneBasisElement" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSRotated3DPlaneParticle::deletePlaneBasisElement </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>index</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, protected, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06258.html#l00703">703</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a06258.html#l00695">NL3D::CPSRotated3DPlaneParticle::_PlaneBasisScheme</a>, <a class="el" href="a06214.html#l00285">NL3D::CPSAttribMaker&lt; CPlaneBasis &gt;::deleteElement()</a>, <a class="el" href="a06214.html#l00282">NL3D::CPSAttribMaker&lt; CPlaneBasis &gt;::hasMemory()</a>, <a class="el" href="a05646.html#l00225">index</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l01874">deleteElement()</a>, <a class="el" href="a06250.html#l00260">NL3D::CPSMesh::deleteElement()</a>, and <a class="el" href="a06231.html#l00380">NL3D::CPSFace::deleteElement()</a>.
+<p>
+<div class="fragment"><pre>00704 {
+00705 <span class="keywordflow">if</span> (<a class="code" href="a03163.html#NL3D_1_1CPSShockWavep12">_PlaneBasisScheme</a> &amp;&amp; <a class="code" href="a03163.html#NL3D_1_1CPSShockWavep12">_PlaneBasisScheme</a>-&gt;hasMemory()) <a class="code" href="a03163.html#NL3D_1_1CPSShockWavep12">_PlaneBasisScheme</a>-&gt;deleteElement(index);
+00706 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSSizedParticleb0" doxytag="NL3D::CPSConstraintMesh::deleteSizeElement" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSSizedParticle::deleteSizeElement </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>index</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, protected, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06258.html#l00295">295</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a06258.html#l00290">NL3D::CPSSizedParticle::_SizeScheme</a>, <a class="el" href="a06214.html#l00285">NL3D::CPSAttribMaker&lt; float &gt;::deleteElement()</a>, <a class="el" href="a06214.html#l00282">NL3D::CPSAttribMaker&lt; float &gt;::hasMemory()</a>, <a class="el" href="a05646.html#l00225">index</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a06279.html#l00460">NL3D::CPSShockWave::deleteElement()</a>, <a class="el" href="a06277.html#l00172">NL3D::CPSRibbonLookAt::deleteElement()</a>, <a class="el" href="a06273.html#l00322">NL3D::CPSRibbon::deleteElement()</a>, <a class="el" href="a06263.html#l00105">NL3D::CPSQuad::deleteElement()</a>, <a class="el" href="a06250.html#l01874">deleteElement()</a>, <a class="el" href="a06250.html#l00260">NL3D::CPSMesh::deleteElement()</a>, and <a class="el" href="a06235.html#l00272">NL3D::CPSFanLight::deleteElement()</a>.
+<p>
+<div class="fragment"><pre>00296 {
+00297 <span class="keywordflow">if</span> (<a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a> &amp;&amp; <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a>-&gt;hasMemory()) <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a>-&gt;deleteElement(index);
+00298 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota5" doxytag="NL3D::CPSConstraintMesh::disableAutoLOD" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSParticle::disableAutoLOD </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>disable</em> = true </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Force the Auto-LOD to be disbaled. When set to false, the default behaviour set in the system is used.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06258.html#l00137">137</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a06258.html#l00183">NL3D::CPSParticle::_DisableAutoLOD</a>.
+<p>
+<div class="fragment"><pre>00137 { _DisableAutoLOD = disable; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMesha8" doxytag="NL3D::CPSConstraintMesh::disableHintRotateTheSame" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSConstraintMesh::disableHintRotateTheSame </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+disable the hint 'hintRotateTheSame' The previous set scheme for roation is used <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesha57">hintRotateTheSame()</a>, CPSRotated3dPlaneParticle</dd></dl>
+
+<p>
+Implements <a class="el" href="a03206.html#NL3D_1_1CPSHintParticleRotateTheSamea1">NL3D::CPSHintParticleRotateTheSame</a>.
+<p>
+Definition at line <a class="el" href="a06251.html#l00266">266</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>.
+<p>
+References <a class="el" href="a06250.html#l01304">hintRotateTheSame()</a>.
+<p>
+<div class="fragment"><pre>00267 {
+00268 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMesha57">hintRotateTheSame</a>(0);
+00269 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSphereb3" doxytag="NL3D::CPSConstraintMesh::displayIcon2d" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocatedBindable::displayIcon2d </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">NLMISC::CVector</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>tab</em>[], </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>nbSegs</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>scale</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [protected, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+show an drawing to represent the object, and in red if it is selected <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>tab</em>&nbsp;</td><td>: a table of 2 * nbSeg vector. only the x and y coordinates are used </td></tr>
+ <tr><td valign=top><em>nbSeg</em>&nbsp;</td><td>: the number of segment </td></tr>
+ <tr><td valign=top><em>scale</em>&nbsp;</td><td>: the scale to use for drawing</td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l02038">2038</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00931">NL3D::CPSLocatedBindable::computeI()</a>, <a class="el" href="a06247.html#l00940">NL3D::CPSLocatedBindable::computeK()</a>, <a class="el" href="a06143.html#l00411">NL3D::CParticleSystem::getCurrentEditedElement()</a>, <a class="el" href="a06247.html#l00890">NL3D::CPSLocatedBindable::getDriver()</a>, <a class="el" href="a06151.html#l00111">NL3D::CParticleSystemProcess::getOwner()</a>, <a class="el" href="a06247.html#l00334">NL3D::CPSLocated::getPos()</a>, <a class="el" href="a06247.html#l00361">NL3D::CPSLocated::getSize()</a>, <a class="el" href="a05646.html#l00225">index</a>, <a class="el" href="a05641.html#l00064">NL3D::CMaterial::setBlend()</a>, <a class="el" href="a05641.html#l00091">NL3D::CMaterial::setBlendFunc()</a>, <a class="el" href="a05641.html#l00118">NL3D::CMaterial::setColor()</a>, <a class="el" href="a05641.html#l00127">NL3D::CMaterial::setLighting()</a>, <a class="el" href="a06246.html#l02142">NL3D::CPSLocatedBindable::setupDriverModelMatrix()</a>, <a class="el" href="a05641.html#l00099">NL3D::CMaterial::setZFunc()</a>, <a class="el" href="a05641.html#l00105">NL3D::CMaterial::setZWrite()</a>, <a class="el" href="a05646.html#l00645">size</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05981.html#l00100">uint32</a>, <a class="el" href="a05910.html#l00048">NLMISC::CLine::V0</a>, <a class="el" href="a05910.html#l00048">NLMISC::CLine::V1</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::x</a>, and <a class="el" href="a06673.html#l00051">NLMISC::CVector::y</a>.
+<p>
+Referenced by <a class="el" href="a06239.html#l00795">NL3D::CPSSpring::show()</a>, <a class="el" href="a06239.html#l00724">NL3D::CPSCentralGravity::show()</a>, and <a class="el" href="a06257.html#l00055">NL3D::CPSParticle::showTool()</a>.
+<p>
+<div class="fragment"><pre>02039 {
+02040 <a class="code" href="a04558.html#a11">uint32</a> <a class="code" href="a04223.html#a587">size</a> = <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getSize();
+02041 <span class="keywordflow">if</span> (!<a class="code" href="a04223.html#a587">size</a>) <span class="keywordflow">return</span>;
+02042 <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherea59">setupDriverModelMatrix</a>();
+02043
+02044 <span class="keyword">const</span> CVector I = <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherea3">computeI</a>();
+02045 <span class="keyword">const</span> CVector K = <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherea5">computeK</a>();
+02046
+02047 <span class="keyword">static</span> std::vector&lt;NLMISC::CLine&gt; lines;
+02048
+02049 lines.clear();
+02050
+02051 <span class="comment">// ugly slow code, but not for runtime</span>
+02052 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> k = 0; k &lt; <a class="code" href="a04223.html#a587">size</a>; ++k)
+02053 {
+02054 <span class="comment">// center of the current particle</span>
+02055 <span class="keyword">const</span> CVector p = <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getPos()[k];
+02056
+02057
+02058
+02059 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> <a class="code" href="a05373.html#a2">l</a> = 0; <a class="code" href="a05373.html#a2">l</a> &lt; nbSegs; ++<a class="code" href="a05373.html#a2">l</a>)
+02060 {
+02061 <a class="code" href="a02759.html">NLMISC::CLine</a> li;
+02062 li.<a class="code" href="a02759.html#NLMISC_1_1CLineUVo2">V0</a> = p + scale * (tab[<a class="code" href="a05373.html#a2">l</a> &lt;&lt; 1].<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a> * I + tab[<a class="code" href="a05373.html#a2">l</a> &lt;&lt; 1].y * K);
+02063 li.<a class="code" href="a02759.html#NLMISC_1_1CLineUVo3">V1</a> = p + scale * (tab[(<a class="code" href="a05373.html#a2">l</a> &lt;&lt; 1) + 1].x * I + tab[(<a class="code" href="a05373.html#a2">l</a> &lt;&lt; 1) + 1].y * K);
+02064 lines.push_back(li);
+02065 }
+02066
+02067 CMaterial mat;
+02068
+02069 mat.setBlendFunc(CMaterial::one, CMaterial::one);
+02070 mat.setZWrite(<span class="keyword">false</span>);
+02071 mat.setLighting(<span class="keyword">false</span>);
+02072 mat.setBlend(<span class="keyword">true</span>);
+02073 mat.setZFunc(CMaterial::less);
+02074
+02075
+02076
+02077 <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpheren0">CPSLocated</a> *loc;
+02078 <a class="code" href="a04558.html#a11">uint32</a> <a class="code" href="a04223.html#a566">index</a>;
+02079 <a class="code" href="a02691.html#NL3D_1_1CPSLocatedBindablez743_0">CPSLocatedBindable</a> *lb;
+02080 <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner()-&gt;getCurrentEditedElement(loc, index, lb);
+02081
+02082 mat.setColor((lb == NULL || <span class="keyword">this</span> == lb) &amp;&amp; loc == _Owner &amp;&amp; index == k ? CRGBA::Red : <a class="code" href="a03337.html">CRGBA</a>(127, 127, 127));
+02083
+02084
+02085 CDRU::drawLinesUnlit(lines, mat, *<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherea14">getDriver</a>() );
+02086 }
+02087
+02088 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea8" doxytag="NL3D::CPSConstraintMesh::doesProduceBBox" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual bool NL3D::CPSLocatedBindable::doesProduceBBox </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a02690.html#NL3D_1_1CPSTurbula7">NL3D::CPSForce</a>.
+<p>
+Definition at line <a class="el" href="a06247.html#l00888">888</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+<div class="fragment"><pre>00888 { <span class="keywordflow">return</span> <span class="keyword">true</span>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshb9" doxytag="NL3D::CPSConstraintMesh::doRenderPasses" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSConstraintMesh::doRenderPasses </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02434.html">IDriver</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>driver</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>numObj</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshx4">TRdrPassSet</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>rdrPasses</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>opaque</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Perform a set of rendering passes. The VB must have been activated in the driver before to call this.
+<p>
+setup number of primitives to be rendered<p>
+render the primitives
+<p>
+Definition at line <a class="el" href="a06250.html#l01802">1802</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06251.html#l00064">NL3D::ConstraintMeshBufSize</a>, <a class="el" href="a05969.html#l00335">NL3D::CMaterial::getZWrite()</a>, <a class="el" href="a02434.html#NL3D_1_1IDrivera51">NL3D::IDriver::render()</a>, <a class="el" href="a06251.html#l00444">TRdrPassSet</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l00521">NL3D::CPSConstraintMeshHelper::drawMeshs()</a>, and <a class="el" href="a06250.html#l00793">NL3D::CPSConstraintMeshHelper::drawPrerotatedMeshs()</a>.
+<p>
+<div class="fragment"><pre>01803 {
+01804 <span class="comment">// render meshs : we process each rendering pass</span>
+01805 <span class="keywordflow">for</span> (TRdrPassSet::iterator rdrPassIt = rdrPasses.begin()
+01806 ; rdrPassIt != rdrPasses.end(); ++rdrPassIt)
+01807 {
+01808 CMaterial &amp;Mat = rdrPassIt-&gt;Mat;
+01809 <span class="keywordflow">if</span> ((opaque &amp;&amp; Mat.getZWrite()) || (!opaque &amp;&amp; ! Mat.getZWrite()))
+01810 {
+01812 rdrPassIt-&gt;Pb.setNumTri(rdrPassIt-&gt;Pb.capacityTri() * numObj / <a class="code" href="a05363.html#a264">ConstraintMeshBufSize</a>);
+01813 rdrPassIt-&gt;Pb.setNumQuad(rdrPassIt-&gt;Pb.capacityQuad() * numObj / <a class="code" href="a05363.html#a264">ConstraintMeshBufSize</a>);
+01814 rdrPassIt-&gt;Pb.setNumLine(rdrPassIt-&gt;Pb.capacityLine() * numObj / <a class="code" href="a05363.html#a264">ConstraintMeshBufSize</a>);
+01815
+01817 driver-&gt;render(rdrPassIt-&gt;Pb, rdrPassIt-&gt;Mat);
+01818 }
+01819 }
+01820
+01821 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota7" doxytag="NL3D::CPSConstraintMesh::draw" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void NL3D::CPSParticle::draw </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>opaque</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+derivers draw the particles here
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a03177.html#NL3D_1_1CPSDotb5">NL3D::CPSDot</a>, <a class="el" href="a03191.html#NL3D_1_1CPSFaceLookAtb10">NL3D::CPSFaceLookAt</a>, <a class="el" href="a03194.html#NL3D_1_1CPSFanLightd0">NL3D::CPSFanLight</a>, and <a class="el" href="a03233.html#NL3D_1_1CPSShockWaved0">NL3D::CPSShockWave</a>.
+<p>
+Definition at line <a class="el" href="a06258.html#l00110">110</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+Referenced by <a class="el" href="a06258.html#l00074">NL3D::CPSParticle::step()</a>.
+<p>
+<div class="fragment"><pre>00110 {}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshb10" doxytag="NL3D::CPSConstraintMesh::draw" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSConstraintMesh::draw </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>opaque</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a05363.html#a366">TAnimationTime</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>ellapsedTime</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+called by the system when particles must be drawn <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>opaque</em>&nbsp;</td><td>true if we are dealing with the opaque pass, false for transparent faces</td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a06250.html#l01631">1631</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06213.html#l00353">NL3D::CPSAttrib&lt; T &gt;::begin()</a>, <a class="el" href="a06257.html#l00082">NL3D::CPSParticle::computeSrcStep()</a>, <a class="el" href="a06247.html#l00334">NL3D::CPSLocated::getPos()</a>, <a class="el" href="a06246.html#l00500">NL3D::CPSLocated::incrementNbDrawnParticles()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06152.html#l00060">PARTICLES_CHECK_MEM</a>, <a class="el" href="a05454.html#l00044">NL3D::TAnimationTime</a>, <a class="el" href="a06243.html#l00149">NL3D::TIteratorVectStep1616</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05981.html#l00100">uint32</a>, and <a class="el" href="a06250.html#l01134">update()</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l01614">step()</a>.
+<p>
+<div class="fragment"><pre>01632 {
+01633 <a class="code" href="a04729.html#a0">PARTICLES_CHECK_MEM</a>;
+01634 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+01635
+01636 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshb32">update</a>(); <span class="comment">// update mesh datas if needed</span>
+01637 <a class="code" href="a04558.html#a11">uint32</a> <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshb31">step</a>;
+01638 <a class="code" href="a04558.html#a15">uint</a> numToProcess;
+01639 <a class="code" href="a03162.html#NL3D_1_1CPSTailDotb2">computeSrcStep</a>(step, numToProcess);
+01640 <span class="keywordflow">if</span> (!numToProcess) <span class="keywordflow">return</span>;
+01641 <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;incrementNbDrawnParticles(numToProcess); <span class="comment">// for benchmark purpose </span>
+01642
+01643
+01644 <span class="keywordflow">if</span> (<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp24">_PrecompBasis</a>.size() == 0)
+01645 {
+01646 <span class="keywordflow">if</span> (step == (1 &lt;&lt; 16))
+01647 {
+01648 CPSConstraintMeshHelper::drawMeshs(<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getPos().begin(),
+01649 *<span class="keyword">this</span>,
+01650 numToProcess,
+01651 step,
+01652 opaque
+01653 );
+01654 }
+01655 <span class="keywordflow">else</span>
+01656 {
+01657 CPSConstraintMeshHelper::drawMeshs(<a class="code" href="a05363.html#a251">TIteratorVectStep1616</a>(<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getPos().begin(), 0, step),
+01658 *<span class="keyword">this</span>,
+01659 numToProcess,
+01660 step,
+01661 opaque
+01662 );
+01663 }
+01664 }
+01665 <span class="keywordflow">else</span>
+01666 {
+01667 <span class="keywordflow">if</span> (step == (1 &lt;&lt; 16))
+01668 {
+01669 CPSConstraintMeshHelper::drawPrerotatedMeshs(<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getPos().begin(),
+01670 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp10">_IndexInPrecompBasis</a>.begin(),
+01671 *<span class="keyword">this</span>,
+01672 numToProcess,
+01673 step,
+01674 opaque,
+01675 ellapsedTime
+01676 );
+01677 }
+01678 <span class="keywordflow">else</span>
+01679 {
+01680 <span class="keyword">typedef</span> CAdvance1616Iterator&lt;CPSVector&lt;uint32&gt;::V::const_iterator, <a class="code" href="a04558.html#a11">uint32</a>&gt; TIndexIterator;
+01681 CPSConstraintMeshHelper::drawPrerotatedMeshs(<a class="code" href="a05363.html#a251">TIteratorVectStep1616</a>(<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getPos().begin(), 0, step),
+01682 TIndexIterator(<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp10">_IndexInPrecompBasis</a>.begin(), 0, step),
+01683 *<span class="keyword">this</span>,
+01684 numToProcess,
+01685 step,
+01686 opaque,
+01687 ellapsedTime
+01688 );
+01689 }
+01690 }
+01691
+01692
+01693 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshb11" doxytag="NL3D::CPSConstraintMesh::drawPreRotatedMeshs" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSConstraintMesh::drawPreRotatedMeshs </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>opaque</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a05363.html#a366">TAnimationTime</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>ellapsedTime</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+draw for pre-rotated meshs
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota8" doxytag="NL3D::CPSConstraintMesh::enableGlobalColorLighting" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSParticle::enableGlobalColorLighting </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>enabled</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06258.html#l00105">105</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a06258.html#l00184">NL3D::CPSParticle::_UsesGlobalColorLighting</a>.
+<p>
+<div class="fragment"><pre>00105 { _UsesGlobalColorLighting = enabled; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea9" doxytag="NL3D::CPSConstraintMesh::enumTexs" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void NL3D::CPSLocatedBindable::enumTexs </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">std::vector&lt; <a class="el" href="a03408.html">NLMISC::CSmartPtr</a>&lt; <a class="el" href="a03487.html">ITexture</a> &gt; &gt; &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>dest</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02434.html">IDriver</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>drv</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a03194.html#NL3D_1_1CPSFanLighta9">NL3D::CPSFanLight</a>, <a class="el" href="a03187.html#NL3D_1_1CPSQuada13">NL3D::CPSQuad</a>, <a class="el" href="a03226.html#NL3D_1_1CPSRibbona10">NL3D::CPSRibbon</a>, <a class="el" href="a03230.html#NL3D_1_1CPSRibbonLookAta10">NL3D::CPSRibbonLookAt</a>, and <a class="el" href="a03233.html#NL3D_1_1CPSShockWavea11">NL3D::CPSShockWave</a>.
+<p>
+Definition at line <a class="el" href="a06247.html#l00977">977</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+<div class="fragment"><pre>00977 {}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshb12" doxytag="NL3D::CPSConstraintMesh::fillIndexesInPrecompBasis" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSConstraintMesh::fillIndexesInPrecompBasis </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+fill _IndexInPrecompBasis with index in the range [0.. nb configurations[
+<p>
+
+<p>
+Definition at line <a class="el" href="a06250.html#l01339">1339</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l00369">NL3D::CPSLocated::getMaxSize()</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l01304">hintRotateTheSame()</a>.
+<p>
+<div class="fragment"><pre>01340 {
+01341 <span class="comment">// TODO : avoid code duplication with CPSFace ...</span>
+01342 <span class="keyword">const</span> <a class="code" href="a04558.html#a11">uint32</a> nbConf = <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp24">_PrecompBasis</a>.size();
+01343 <span class="keywordflow">if</span> (<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>)
+01344 {
+01345 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp10">_IndexInPrecompBasis</a>.resize( <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getMaxSize() );
+01346 }
+01347 <span class="keywordflow">for</span> (CPSVector&lt;uint32&gt;::V::iterator it = <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp10">_IndexInPrecompBasis</a>.begin(); it != <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp10">_IndexInPrecompBasis</a>.end(); ++it)
+01348 {
+01349 *it = rand() % nbConf;
+01350 }
+01351 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotz743_0" doxytag="NL3D::CPSConstraintMesh::finalize" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocatedBindable::finalize </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+this should be called before to delete any bindable inserted in a system, but this is done by the system, so you should never need calling it. This has been introduced because calls in dtor are not polymorphic to derived class (which are already destroyed anyway), and some infos are needed in some dtor. The default behaviour does nothing
+<p>
+Reimplemented in <a class="el" href="a02689.html#NL3D_1_1CPSZoneSpherea10">NL3D::CPSTargetLocatedBindable</a>.
+<p>
+Definition at line <a class="el" href="a06246.html#l01975">1975</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06151.html#l00111">NL3D::CParticleSystemProcess::getOwner()</a>, <a class="el" href="a06247.html#l00974">NL3D::CPSLocatedBindable::getUserMatrixUsageCount()</a>, and <a class="el" href="a06142.html#l01907">NL3D::CParticleSystem::releaseRefForUserSysCoordInfo()</a>.
+<p>
+<div class="fragment"><pre>01976 {
+01977 <span class="keywordflow">if</span> (<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a> &amp;&amp; <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner())
+01978 {
+01979 <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner()-&gt;releaseRefForUserSysCoordInfo(<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherea36">getUserMatrixUsageCount</a>());
+01980 }
+01981 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshz745_0" doxytag="NL3D::CPSConstraintMesh::forceGlobalAnimTimeResetOnNewElement" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSConstraintMesh::forceGlobalAnimTimeResetOnNewElement </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>force</em> = true </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Force the time counter for global anim to be reseted when a new mesh is created.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06251.html#l00360">360</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>.
+<p>
+References <a class="el" href="a06251.html#l00560">_ReinitGlobalAnimTimeOnNewElement</a>.
+<p>
+<div class="fragment"><pre>00360 { <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp25">_ReinitGlobalAnimTimeOnNewElement</a> = force; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMesha13" doxytag="NL3D::CPSConstraintMesh::forceStageModulationByColor" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSConstraintMesh::forceStageModulationByColor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>stage</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>force</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Force the n-th stage of all material to be modulated by the mesh color. This allow to put colors on meshs that haven't got material that allow them. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>stage</em>&nbsp;</td><td>The stage the modulation applies on. Range from 0 to IDRV_MAT_MAXTEXTURES - 1. </td></tr>
+ <tr><td valign=top><em>force</em>&nbsp;</td><td>True enable modulation, false disable it.</td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a06250.html#l01910">1910</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06251.html#l00550">_ModulatedStages</a>, <a class="el" href="a05969.html#l00047">NL3D::IDRV_MAT_MAXTEXTURES</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>01911 {
+01912 <a class="code" href="a04199.html#a6">nlassert</a>(stage &lt; IDRV_MAT_MAXTEXTURES);
+01913 <span class="keywordflow">if</span> (force)
+01914 {
+01915 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp17">_ModulatedStages</a> |= 1 &lt;&lt; stage;
+01916 }
+01917 <span class="keywordflow">else</span>
+01918 {
+01919 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp17">_ModulatedStages</a> &amp;= ~(1 &lt;&lt; stage);
+01920 }
+01921 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMesha14" doxytag="NL3D::CPSConstraintMesh::forceVertexColorLighting" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSConstraintMesh::forceVertexColorLighting </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>force</em> = true </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+force all material to use vertex color lighting
+<p>
+
+<p>
+Definition at line <a class="el" href="a06251.html#l00314">314</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>.
+<p>
+References <a class="el" href="a06251.html#l00558">_VertexColorLightingForced</a>.
+<p>
+<div class="fragment"><pre>00314 { <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp29">_VertexColorLightingForced</a> = force; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1ITrackKeyFramer_3_01CKeyVector_01_4a6" doxytag="NL3D::CPSConstraintMesh::getClassName" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual std::string NLMISC::IClassable::getClassName </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [pure virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Implemented in <a class="el" href="a02995.html#NLAIAGENT_1_1CNumericIndexz1699_0">NLAIAGENT::CNumericIndex</a>, <a class="el" href="a02145.html#NLAIAGENT_1_1VectorTypez1764_0">NLAIC::IPointerGestion</a>, <a class="el" href="a02650.html#NLAIC_1_1CIdentTypez1766_0">NLAIC::CIdentType</a>, and <a class="el" href="a02241.html#CAutomataDescz1896_0">CAutomataDesc</a>.
+<p>
+Referenced by <a class="el" href="a05549.html#l00091">NLMISC::CClassRegistry::checkObject()</a>, and <a class="el" href="a06525.html#l00039">NL3D::GetTextureSize()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota15" doxytag="NL3D::CPSConstraintMesh::getColor" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03337.html">NLMISC::CRGBA</a> NL3D::CPSColoredParticle::getColor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get the color.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06258.html#l00211">211</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+<div class="fragment"><pre>00211 { <span class="keywordflow">return</span> <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp1">_Color</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshb13" doxytag="NL3D::CPSConstraintMesh::getColorOwner" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="a03214.html">CPSLocated</a>* NL3D::CPSConstraintMesh::getColorOwner </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+deriver must return their owner there
+<p>
+
+<p>
+Implements <a class="el" href="a03157.html#NL3D_1_1CPSColoredParticleb1">NL3D::CPSColoredParticle</a>.
+<p>
+Definition at line <a class="el" href="a06251.html#l00384">384</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>.
+<p>
+<div class="fragment"><pre>00384 { <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota16" doxytag="NL3D::CPSConstraintMesh::getColorScheme" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a03136.html">CPSAttribMaker</a>&lt;<a class="el" href="a03337.html">CRGBA</a>&gt;* NL3D::CPSColoredParticle::getColorScheme </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get the color scheme (NULL if none) const version
+<p>
+
+<p>
+Definition at line <a class="el" href="a06258.html#l00205">205</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+<div class="fragment"><pre>00205 { <span class="keywordflow">return</span> <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota17" doxytag="NL3D::CPSConstraintMesh::getColorScheme" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03136.html">CPSAttribMaker</a>&lt;<a class="el" href="a03337.html">CRGBA</a>&gt;* NL3D::CPSColoredParticle::getColorScheme </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get the color scheme (NULL if none)
+<p>
+
+<p>
+Definition at line <a class="el" href="a06258.html#l00202">202</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+<div class="fragment"><pre>00202 { <span class="keywordflow">return</span> <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea14" doxytag="NL3D::CPSConstraintMesh::getDriver" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02434.html">IDriver</a>* NL3D::CPSLocatedBindable::getDriver </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+shortcut to get an instance of the driver
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00890">890</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06246.html#l00705">NL3D::CPSLocated::getDriver()</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l02038">NL3D::CPSLocatedBindable::displayIcon2d()</a>, <a class="el" href="a06283.html#l00242">NL3D::CPSTailDot::displayRibbons()</a>, <a class="el" href="a06277.html#l00319">NL3D::CPSRibbonLookAt::displayRibbons()</a>, <a class="el" href="a06273.html#l00471">NL3D::CPSRibbon::displayRibbons()</a>, <a class="el" href="a06226.html#l00122">NL3D::CPSDot::draw()</a>, <a class="el" href="a06231.html#l00055">NL3D::CPSFaceHelper::drawFaces()</a>, <a class="el" href="a06235.html#l00072">NL3D::CPSFanLightHelper::drawFanLight()</a>, <a class="el" href="a06233.html#l00379">NL3D::CPSFaceLookAtHelper::drawLookAt()</a>, <a class="el" href="a06233.html#l00089">NL3D::CPSFaceLookAtHelper::drawLookAtAlignOnMotion()</a>, <a class="el" href="a06250.html#l00521">NL3D::CPSConstraintMeshHelper::drawMeshs()</a>, <a class="el" href="a06250.html#l00793">NL3D::CPSConstraintMeshHelper::drawPrerotatedMeshs()</a>, <a class="el" href="a06287.html#l01375">NL3D::CPSZoneRectangle::show()</a>, <a class="el" href="a06287.html#l01160">NL3D::CPSZoneCylinder::show()</a>, <a class="el" href="a06287.html#l00625">NL3D::CPSZoneDisc::show()</a>, <a class="el" href="a06287.html#l00448">NL3D::CPSZoneSphere::show()</a>, <a class="el" href="a06287.html#l00140">NL3D::CPSZonePlane::show()</a>, <a class="el" href="a06244.html#l00363">NL3D::CPSLight::show()</a>, <a class="el" href="a06239.html#l00900">NL3D::CPSCylindricVortex::show()</a>, <a class="el" href="a06239.html#l00413">NL3D::CPSGravity::show()</a>, <a class="el" href="a06239.html#l00295">NL3D::CPSDirectionnalForce::show()</a>, <a class="el" href="a06229.html#l02491">NL3D::CPSSphericalEmitter::showTool()</a>, <a class="el" href="a06229.html#l02391">NL3D::CPSEmitterRectangle::showTool()</a>, and <a class="el" href="a06229.html#l00447">NL3D::CPSEmitter::showTool()</a>.
+<p>
+<div class="fragment"><pre>00891 {
+00892 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+00893 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getDriver());
+00894 <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getDriver();
+00895 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea15" doxytag="NL3D::CPSConstraintMesh::getExternID" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> NL3D::CPSLocatedBindable::getExternID </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get the extern ID of this located bindable
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00964">964</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06247.html#l01027">NL3D::CPSLocatedBindable::_ExternID</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l00751">NL3D::CPSLocated::bind()</a>, and <a class="el" href="a06142.html#l01096">NL3D::CParticleSystem::unregisterLocatedBindableExternID()</a>.
+<p>
+<div class="fragment"><pre>00964 { <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep3">_ExternID</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea16" doxytag="NL3D::CPSConstraintMesh::getFontGenerator" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a02541.html">CFontGenerator</a>* NL3D::CPSLocatedBindable::getFontGenerator </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Shortcut to get the font generator if one was set (const version).
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00904">904</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06150.html#l00071">NL3D::CParticleSystemProcess::getFontGenerator()</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+<div class="fragment"><pre>00905 {
+00906 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+00907 <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getFontGenerator();
+00908 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea17" doxytag="NL3D::CPSConstraintMesh::getFontGenerator" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02541.html">CFontGenerator</a>* NL3D::CPSLocatedBindable::getFontGenerator </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Shortcut to get the font generator if one was set.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00897">897</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06150.html#l00071">NL3D::CParticleSystemProcess::getFontGenerator()</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+Referenced by <a class="el" href="a06287.html#l01375">NL3D::CPSZoneRectangle::show()</a>, <a class="el" href="a06287.html#l01160">NL3D::CPSZoneCylinder::show()</a>, <a class="el" href="a06287.html#l00625">NL3D::CPSZoneDisc::show()</a>, <a class="el" href="a06287.html#l00140">NL3D::CPSZonePlane::show()</a>, <a class="el" href="a06239.html#l00900">NL3D::CPSCylindricVortex::show()</a>, <a class="el" href="a06239.html#l00413">NL3D::CPSGravity::show()</a>, and <a class="el" href="a06229.html#l02391">NL3D::CPSEmitterRectangle::showTool()</a>.
+<p>
+<div class="fragment"><pre>00898 {
+00899 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+00900 <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getFontGenerator();
+00901 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea18" doxytag="NL3D::CPSConstraintMesh::getFontManager" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a02542.html">CFontManager</a> * NL3D::CPSLocatedBindable::getFontManager </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Shortcut to get the font manager if one was set (const version).
+<p>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l02099">2099</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06150.html#l00085">NL3D::CParticleSystemProcess::getFontManager()</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+<div class="fragment"><pre>02100 {
+02101 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+02102 <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getFontManager();
+02103 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea19" doxytag="NL3D::CPSConstraintMesh::getFontManager" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02542.html">CFontManager</a> * NL3D::CPSLocatedBindable::getFontManager </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l02091">2091</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06150.html#l00085">NL3D::CParticleSystemProcess::getFontManager()</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+Referenced by <a class="el" href="a06287.html#l01375">NL3D::CPSZoneRectangle::show()</a>, <a class="el" href="a06287.html#l01160">NL3D::CPSZoneCylinder::show()</a>, <a class="el" href="a06287.html#l00625">NL3D::CPSZoneDisc::show()</a>, <a class="el" href="a06287.html#l00140">NL3D::CPSZonePlane::show()</a>, <a class="el" href="a06239.html#l00900">NL3D::CPSCylindricVortex::show()</a>, <a class="el" href="a06239.html#l00413">NL3D::CPSGravity::show()</a>, and <a class="el" href="a06229.html#l02391">NL3D::CPSEmitterRectangle::showTool()</a>.
+<p>
+<div class="fragment"><pre>02092 {
+02093 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+02094 <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getFontManager();
+02095 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshz745_1" doxytag="NL3D::CPSConstraintMesh::getGlobalTexAnim" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a03165.html">CPSConstraintMesh::CGlobalTexAnim</a> &amp; NL3D::CPSConstraintMesh::getGlobalTexAnim </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>stage</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get the properties of texture animation.Global animation should have been activated.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06250.html#l02189">2189</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06251.html#l00559">_GlobalAnimationEnabled</a>, <a class="el" href="a06251.html#l00573">_GlobalTexAnims</a>, <a class="el" href="a05969.html#l00047">NL3D::IDRV_MAT_MAXTEXTURES</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>02190 {
+02191 <a class="code" href="a04199.html#a6">nlassert</a>(_GlobalAnimationEnabled != 0);
+02192 <a class="code" href="a04199.html#a6">nlassert</a>(stage &lt; IDRV_MAT_MAXTEXTURES);
+02193 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp6">_GlobalTexAnims</a>.get());
+02194 <span class="keywordflow">return</span> <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp6">_GlobalTexAnims</a>-&gt;Anims[stage];
+02195 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea20" doxytag="NL3D::CPSConstraintMesh::getInvertedSysMat" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a02851.html">NLMISC::CMatrix</a> &amp; NL3D::CPSLocatedBindable::getInvertedSysMat </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+shortcut to get the inverted matrix of the system
+<p>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l02116">2116</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06143.html#l00190">NL3D::CParticleSystem::getInvertedSysMat()</a>, <a class="el" href="a06151.html#l00111">NL3D::CParticleSystemProcess::getOwner()</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+<div class="fragment"><pre>02117 {
+02118 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+02119 <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner()-&gt;getInvertedSysMat();
+02120
+02121 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea21" doxytag="NL3D::CPSConstraintMesh::getInvertedViewMat" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a02851.html">NLMISC::CMatrix</a> &amp; NL3D::CPSLocatedBindable::getInvertedViewMat </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+shortcut to get the inverted view matrix
+<p>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l02134">2134</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06143.html#l00223">NL3D::CParticleSystem::getInvertedViewMat()</a>, <a class="el" href="a06151.html#l00111">NL3D::CParticleSystemProcess::getOwner()</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+<div class="fragment"><pre>02135 {
+02136 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+02137 <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner()-&gt;getInvertedViewMat();
+02138 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea22" doxytag="NL3D::CPSConstraintMesh::getLocalToWorldMatrix" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a02851.html">NLMISC::CMatrix</a> &amp; NL3D::CPSLocatedBindable::getLocalToWorldMatrix </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Shortcut to get the local to world matrix.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l01144">1144</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06246.html#l00092">NL3D::CPSLocated::getLocalToWorldMatrix()</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+Referenced by <a class="el" href="a06277.html#l00319">NL3D::CPSRibbonLookAt::displayRibbons()</a>, <a class="el" href="a06281.html#l00355">NL3D::CPSSound::newElement()</a>, <a class="el" href="a06287.html#l01375">NL3D::CPSZoneRectangle::show()</a>, <a class="el" href="a06287.html#l01160">NL3D::CPSZoneCylinder::show()</a>, <a class="el" href="a06287.html#l00625">NL3D::CPSZoneDisc::show()</a>, <a class="el" href="a06287.html#l00140">NL3D::CPSZonePlane::show()</a>, <a class="el" href="a06244.html#l00363">NL3D::CPSLight::show()</a>, <a class="el" href="a06239.html#l00413">NL3D::CPSGravity::show()</a>, <a class="el" href="a06229.html#l02391">NL3D::CPSEmitterRectangle::showTool()</a>, <a class="el" href="a06244.html#l00146">NL3D::CPSLight::step()</a>, and <a class="el" href="a06250.html#l00295">NL3D::CPSMesh::updatePos()</a>.
+<p>
+<div class="fragment"><pre>01145 {
+01146 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+01147 <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getLocalToWorldMatrix();
+01148 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea23" doxytag="NL3D::CPSConstraintMesh::getLOD" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a05363.html#a558">TPSLod</a> NL3D::CPSLocatedBindable::getLOD </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get the valid lods for that object
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00954">954</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06247.html#l01029">NL3D::CPSLocatedBindable::_LOD</a>, and <a class="el" href="a06248.html#l00036">NL3D::TPSLod</a>.
+<p>
+<div class="fragment"><pre>00954 { <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep4">_LOD</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMesha29" doxytag="NL3D::CPSConstraintMesh::getMaxNumFaces" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> NL3D::CPSConstraintMesh::getMaxNumFaces </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+return the max number of faces needed for display. This is needed for LOD balancing
+<p>
+
+<p>
+Implements <a class="el" href="a03162.html#NL3D_1_1CPSRibbonBasea23">NL3D::CPSParticle</a>.
+<p>
+Definition at line <a class="el" href="a06250.html#l00954">954</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06251.html#l00471">_NumFaces</a>, <a class="el" href="a06247.html#l00369">NL3D::CPSLocated::getMaxSize()</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00955 {
+00956 <span class="comment">// nlassert(_ModelVb);</span>
+00957 <span class="keywordflow">return</span> <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp19">_NumFaces</a> * <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getMaxSize();
+00958
+00959 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMesha30" doxytag="NL3D::CPSConstraintMesh::getMorphScheme" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a03136.html">CPSAttribMaker</a>&lt; float &gt; * NL3D::CPSConstraintMesh::getMorphScheme </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get the current morphing scheme or NULL if no one was set. Const version.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06250.html#l01103">1103</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06251.html#l00580">_MorphScheme</a>.
+<p>
+<div class="fragment"><pre>01104 {
+01105 <span class="keywordflow">return</span> <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshz747_0">_MorphScheme</a>;
+01106 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMesha31" doxytag="NL3D::CPSConstraintMesh::getMorphScheme" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03136.html">CPSAttribMaker</a>&lt; float &gt; * NL3D::CPSConstraintMesh::getMorphScheme </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get the current morphing scheme or NULL if no one was set.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06250.html#l01097">1097</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06251.html#l00580">_MorphScheme</a>.
+<p>
+<div class="fragment"><pre>01098 {
+01099 <span class="keywordflow">return</span> <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshz747_0">_MorphScheme</a>;
+01100 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMesha32" doxytag="NL3D::CPSConstraintMesh::getMorphValue" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float NL3D::CPSConstraintMesh::getMorphValue </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get the value used for morphing.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06250.html#l01083">1083</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06251.html#l00579">_MorphValue</a>.
+<p>
+<div class="fragment"><pre>01084 {
+01085 <span class="keywordflow">return</span> <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshz747_1">_MorphValue</a>;
+01086 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea25" doxytag="NL3D::CPSConstraintMesh::getName" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::string NL3D::CPSLocatedBindable::getName </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get the located bindable name (edition purpose)
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00948">948</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+<div class="fragment"><pre>00948 { <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep5">_Name</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMesha34" doxytag="NL3D::CPSConstraintMesh::getNumShapes" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> NL3D::CPSConstraintMesh::getNumShapes </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get the number of shapes used.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06250.html#l01029">1029</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06251.html#l00467">_MeshShapeFileName</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>01030 {
+01031 <span class="keywordflow">if</span> (<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp27">_Touched</a>)
+01032 {
+01033 const_cast&lt;CPSConstraintMesh *&gt;(<span class="keyword">this</span>)-&gt;update();
+01034 }
+01035 <span class="keywordflow">return</span> <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp14">_MeshShapeFileName</a>.size();
+01036 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea28" doxytag="NL3D::CPSConstraintMesh::getOwner" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a03214.html">CPSLocated</a>* NL3D::CPSLocatedBindable::getOwner </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get the located that owns this bindable (const version)
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00944">944</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+<div class="fragment"><pre>00944 { <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea29" doxytag="NL3D::CPSConstraintMesh::getOwner" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03214.html">CPSLocated</a>* NL3D::CPSLocatedBindable::getOwner </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get the located that owns this bindable
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00942">942</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l01051">NL3D::CPSLocated::deleteElement()</a>, <a class="el" href="a06144.html#l00208">NL3D::CParticleSystemInstanceUser::emit()</a>, <a class="el" href="a06234.html#l00122">NL3D::CPSFaceLookAt::CSecondSize::getSizeOwner()</a>, <a class="el" href="a06281.html#l00355">NL3D::CPSSound::newElement()</a>, <a class="el" href="a06246.html#l01836">NL3D::CPSLocated::registerIntegrableForce()</a>, <a class="el" href="a06142.html#l01081">NL3D::CParticleSystem::registerLocatedBindableExternID()</a>, <a class="el" href="a06144.html#l00236">NL3D::CParticleSystemInstanceUser::removeByID()</a>, <a class="el" href="a06281.html#l00415">NL3D::CPSSound::resize()</a>, <a class="el" href="a06244.html#l00337">NL3D::CPSLight::resize()</a>, <a class="el" href="a06281.html#l00109">NL3D::CPSSound::step()</a>, <a class="el" href="a06246.html#l01851">NL3D::CPSLocated::unregisterIntegrableForce()</a>, and <a class="el" href="a06142.html#l01096">NL3D::CParticleSystem::unregisterLocatedBindableExternID()</a>.
+<p>
+<div class="fragment"><pre>00942 { <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSShockWavea37" doxytag="NL3D::CPSConstraintMesh::getPlaneBasis" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03083.html">CPlaneBasis</a> NL3D::CPSRotated3DPlaneParticle::getPlaneBasis </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get the constant basis
+<p>
+
+<p>
+Definition at line <a class="el" href="a06258.html#l00678">678</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a06258.html#l00697">NL3D::CPSRotated3DPlaneParticle::_PlaneBasis</a>.
+<p>
+<div class="fragment"><pre>00678 { <span class="keywordflow">return</span> <a class="code" href="a03163.html#NL3D_1_1CPSShockWavep11">_PlaneBasis</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshb14" doxytag="NL3D::CPSConstraintMesh::getPlaneBasisOwner" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="a03214.html">CPSLocated</a>* NL3D::CPSConstraintMesh::getPlaneBasisOwner </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+if this is false, constant size will be used instead of a scheme deriver must return their owner there
+<p>
+
+<p>
+Implements <a class="el" href="a03163.html#NL3D_1_1CPSRotated3DPlaneParticleb1">NL3D::CPSRotated3DPlaneParticle</a>.
+<p>
+Definition at line <a class="el" href="a06251.html#l00542">542</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>.
+<p>
+<div class="fragment"><pre>00542 { <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSShockWavea38" doxytag="NL3D::CPSConstraintMesh::getPlaneBasisScheme" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a03136.html">CPSAttribMaker</a>&lt;<a class="el" href="a03083.html">CPlaneBasis</a>&gt;* NL3D::CPSRotated3DPlaneParticle::getPlaneBasisScheme </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get the plane basis scheme, (NULL if none) const version
+<p>
+
+<p>
+Definition at line <a class="el" href="a06258.html#l00673">673</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a06258.html#l00695">NL3D::CPSRotated3DPlaneParticle::_PlaneBasisScheme</a>.
+<p>
+<div class="fragment"><pre>00673 { <span class="keywordflow">return</span> <a class="code" href="a03163.html#NL3D_1_1CPSShockWavep12">_PlaneBasisScheme</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSShockWavea39" doxytag="NL3D::CPSConstraintMesh::getPlaneBasisScheme" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03136.html">CPSAttribMaker</a>&lt;<a class="el" href="a03083.html">CPlaneBasis</a>&gt;* NL3D::CPSRotated3DPlaneParticle::getPlaneBasisScheme </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get the plane basis scheme, (NULL if none)
+<p>
+Set a constant basis for all particles <dl compact><dt><b>See also:</b></dt><dd>setPlaneBasisSchemeScheme()</dd></dl>
+
+<p>
+Definition at line <a class="el" href="a06258.html#l00670">670</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a06258.html#l00695">NL3D::CPSRotated3DPlaneParticle::_PlaneBasisScheme</a>.
+<p>
+<div class="fragment"><pre>00670 { <span class="keywordflow">return</span> <a class="code" href="a03163.html#NL3D_1_1CPSShockWavep12">_PlaneBasisScheme</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota33" doxytag="NL3D::CPSConstraintMesh::getPriority" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="a04558.html#a11">uint32</a> NL3D::CPSParticle::getPriority </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+return priority
+<p>
+
+<p>
+Implements <a class="el" href="a02691.html#NL3D_1_1CPSTargetLocatedBindablea25">NL3D::CPSLocatedBindable</a>.
+<p>
+Definition at line <a class="el" href="a06258.html#l00066">66</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00066 { <span class="keywordflow">return</span> 1000; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMesha41" doxytag="NL3D::CPSConstraintMesh::getShape" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const std::string &amp; NL3D::CPSConstraintMesh::getShape </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>index</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get a shape name by its index.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06250.html#l01061">1061</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06251.html#l00467">_MeshShapeFileName</a>, <a class="el" href="a05646.html#l00225">index</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>01062 {
+01063 <span class="keywordflow">if</span> (<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp27">_Touched</a>)
+01064 {
+01065 const_cast&lt;CPSConstraintMesh *&gt;(<span class="keyword">this</span>)-&gt;update();
+01066 }
+01067 <a class="code" href="a04199.html#a6">nlassert</a>(index &lt; <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp14">_MeshShapeFileName</a>.size());
+01068 <span class="keywordflow">return</span> <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp14">_MeshShapeFileName</a>[<a class="code" href="a04223.html#a566">index</a>];
+01069 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMesha42" doxytag="NL3D::CPSConstraintMesh::getShape" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::string NL3D::CPSConstraintMesh::getShape </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get the shape used for those particles. (must use no morphing or an assertion is raised).
+<p>
+
+<p>
+Implements <a class="el" href="a03232.html#NL3D_1_1CPSShapeParticlea0">NL3D::CPSShapeParticle</a>.
+<p>
+Definition at line <a class="el" href="a06250.html#l00999">999</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06251.html#l00467">_MeshShapeFileName</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+<div class="fragment"><pre>01000 {
+01001 <span class="keywordflow">if</span> (<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp27">_Touched</a>)
+01002 {
+01003 const_cast&lt;CPSConstraintMesh *&gt;(<span class="keyword">this</span>)-&gt;update();
+01004 }
+01005 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp14">_MeshShapeFileName</a>.size() == 1);
+01006 <span class="keywordflow">return</span> <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp14">_MeshShapeFileName</a>[0];
+01007 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMesha43" doxytag="NL3D::CPSConstraintMesh::getShapeNumVerts" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSConstraintMesh::getShapeNumVerts </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">std::vector&lt; <a class="el" href="a04558.html#a14">sint</a> &gt; &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>numVerts</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get number of vertices for each mesh, or an error code if loading failed (see TError enum) NB : this force the meshs to be reloaded
+<p>
+Definition at line <a class="el" href="a06250.html#l01127">1127</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06250.html#l01134">update()</a>.
+<p>
+<div class="fragment"><pre>01128 {
+01129 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp27">_Touched</a> = 1; <span class="comment">// force reload</span>
+01130 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshb32">update</a>(&amp;numVerts);
+01131 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMesha44" doxytag="NL3D::CPSConstraintMesh::getShapesNames" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSConstraintMesh::getShapesNames </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">std::string *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>shapesNames</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Retrieve the names of the shapes <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>shapesNames</em>&nbsp;</td><td>:A tab of shapes with enough spaces to store the names</td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a06250.html#l01039">1039</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06251.html#l00467">_MeshShapeFileName</a>.
+<p>
+<div class="fragment"><pre>01040 {
+01041 <span class="keywordflow">if</span> (<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp27">_Touched</a>)
+01042 {
+01043 const_cast&lt;CPSConstraintMesh *&gt;(<span class="keyword">this</span>)-&gt;update();
+01044 }
+01045 std::copy(<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp14">_MeshShapeFileName</a>.begin(), <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp14">_MeshShapeFileName</a>.end(), shapesNames);
+01046 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSSizedParticlea1" doxytag="NL3D::CPSConstraintMesh::getSize" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float NL3D::CPSSizedParticle::getSize </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get the constant size
+<p>
+
+<p>
+Definition at line <a class="el" href="a06258.html#l00274">274</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a06258.html#l00289">NL3D::CPSSizedParticle::_ParticleSize</a>.
+<p>
+Referenced by <a class="el" href="a06233.html#l00379">NL3D::CPSFaceLookAtHelper::drawLookAt()</a>, <a class="el" href="a06233.html#l00089">NL3D::CPSFaceLookAtHelper::drawLookAtAlignOnMotion()</a>, <a class="el" href="a06258.html#l00299">NL3D::CPSSizedParticle::resizeSize()</a>, and <a class="el" href="a06257.html#l00183">NL3D::CPSSizedParticle::setSizeScheme()</a>.
+<p>
+<div class="fragment"><pre>00274 { <span class="keywordflow">return</span> <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep0">_ParticleSize</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshb15" doxytag="NL3D::CPSConstraintMesh::getSizeOwner" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="a03214.html">CPSLocated</a>* NL3D::CPSConstraintMesh::getSizeOwner </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+deriver must return their owner there
+<p>
+
+<p>
+Implements <a class="el" href="a03164.html#NL3D_1_1CPSSizedParticleb1">NL3D::CPSSizedParticle</a>.
+<p>
+Definition at line <a class="el" href="a06251.html#l00541">541</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>.
+<p>
+<div class="fragment"><pre>00541 { <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSSizedParticlea2" doxytag="NL3D::CPSConstraintMesh::getSizeScheme" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a03136.html">CPSAttribMaker</a>&lt;float&gt;* NL3D::CPSSizedParticle::getSizeScheme </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get the size scheme (NULL if none) const version
+<p>
+
+<p>
+Definition at line <a class="el" href="a06258.html#l00268">268</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a06258.html#l00290">NL3D::CPSSizedParticle::_SizeScheme</a>.
+<p>
+<div class="fragment"><pre>00268 { <span class="keywordflow">return</span> <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSSizedParticlea3" doxytag="NL3D::CPSConstraintMesh::getSizeScheme" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03136.html">CPSAttribMaker</a>&lt;float&gt;* NL3D::CPSSizedParticle::getSizeScheme </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get the size scheme (NULL if none)
+<p>
+
+<p>
+Definition at line <a class="el" href="a06258.html#l00265">265</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a06258.html#l00290">NL3D::CPSSizedParticle::_SizeScheme</a>.
+<p>
+Referenced by <a class="el" href="a06233.html#l00379">NL3D::CPSFaceLookAtHelper::drawLookAt()</a>, and <a class="el" href="a06233.html#l00089">NL3D::CPSFaceLookAtHelper::drawLookAtAlignOnMotion()</a>.
+<p>
+<div class="fragment"><pre>00265 { <span class="keywordflow">return</span> <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea32" doxytag="NL3D::CPSConstraintMesh::getSysMat" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a02851.html">NLMISC::CMatrix</a> &amp; NL3D::CPSLocatedBindable::getSysMat </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l02108">2108</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06151.html#l00111">NL3D::CParticleSystemProcess::getOwner()</a>, <a class="el" href="a06143.html#l00184">NL3D::CParticleSystem::getSysMat()</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+<div class="fragment"><pre>02109 {
+02110 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+02111 <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner()-&gt;getSysMat();
+02112 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshz744_1" doxytag="NL3D::CPSConstraintMesh::getTexAnimType" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshz744_0">CPSConstraintMesh::TTexAnimType</a> NL3D::CPSConstraintMesh::getTexAnimType </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get the the type of texture animation.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06250.html#l02199">2199</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06251.html#l00559">_GlobalAnimationEnabled</a>, <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshz744_0NL3D_1_1CPSConstraintMeshw0">GlobalAnim</a>, <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshz744_0NL3D_1_1CPSConstraintMeshw2">NoAnim</a>, and <a class="el" href="a06251.html#l00325">TTexAnimType</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l02205">setTexAnimType()</a>.
+<p>
+<div class="fragment"><pre>02200 {
+02201 <span class="keywordflow">return</span> (<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshz744_0">TTexAnimType</a>) (<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp4">_GlobalAnimationEnabled</a> != 0 ? <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshz744_0NL3D_1_1CPSConstraintMeshw0">GlobalAnim</a> : <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshz744_0NL3D_1_1CPSConstraintMeshw2">NoAnim</a>);
+02202 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota35" doxytag="NL3D::CPSConstraintMesh::getType" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> NL3D::CPSParticle::getType </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+return this bindable type
+<p>
+
+<p>
+Implements <a class="el" href="a02691.html#NL3D_1_1CPSTargetLocatedBindablea29">NL3D::CPSLocatedBindable</a>.
+<p>
+Definition at line <a class="el" href="a06258.html#l00063">63</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a06247.html#l00806">NL3D::PSParticle</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00063 { <span class="keywordflow">return</span> <a class="code" href="a05363.html#a255">PSParticle</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea36" doxytag="NL3D::CPSConstraintMesh::getUserMatrixUsageCount" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual bool NL3D::CPSLocatedBindable::getUserMatrixUsageCount </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a03179.html#NL3D_1_1CPSSphericalEmittera46">NL3D::CPSEmitter</a>.
+<p>
+Definition at line <a class="el" href="a06247.html#l00974">974</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l01975">NL3D::CPSLocatedBindable::finalize()</a>, and <a class="el" href="a06246.html#l01948">NL3D::CPSLocatedBindable::setOwner()</a>.
+<p>
+<div class="fragment"><pre>00974 { <span class="keywordflow">return</span> 0; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea37" doxytag="NL3D::CPSConstraintMesh::getViewMat" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a02851.html">NLMISC::CMatrix</a> &amp; NL3D::CPSLocatedBindable::getViewMat </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+shortcut to get the view matrix
+<p>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l02125">2125</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06151.html#l00111">NL3D::CParticleSystemProcess::getOwner()</a>, <a class="el" href="a06143.html#l00220">NL3D::CParticleSystem::getViewMat()</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+Referenced by <a class="el" href="a06277.html#l00319">NL3D::CPSRibbonLookAt::displayRibbons()</a>, and <a class="el" href="a06233.html#l00379">NL3D::CPSFaceLookAtHelper::drawLookAt()</a>.
+<p>
+<div class="fragment"><pre>02126 {
+02127 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+02128 <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner()-&gt;getViewMat();
+02129 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea38" doxytag="NL3D::CPSConstraintMesh::hasEmitters" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual bool NL3D::CPSLocatedBindable::hasEmitters </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+tells wether there are alive emitters
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00958">958</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+<div class="fragment"><pre>00958 { <span class="keywordflow">return</span> <span class="keyword">false</span>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMesha53" doxytag="NL3D::CPSConstraintMesh::hasLightableFaces" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CPSConstraintMesh::hasLightableFaces </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+from <a class="el" href="a03162.html">CPSParticle</a> : return true if there are lightable faces in the object
+<p>
+
+<p>
+Implements <a class="el" href="a03162.html#NL3D_1_1CPSRibbonBasea33">NL3D::CPSParticle</a>.
+<p>
+Definition at line <a class="el" href="a06250.html#l00980">980</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06251.html#l00561">_HasLightableFaces</a>, and <a class="el" href="a06250.html#l01134">update()</a>.
+<p>
+<div class="fragment"><pre>00981 {
+00982 <span class="keywordflow">if</span> (!<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp27">_Touched</a>) <span class="keywordflow">return</span> <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp7">_HasLightableFaces</a> != 0;
+00983 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshb32">update</a>();
+00984 <span class="keywordflow">return</span> <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp7">_HasLightableFaces</a> != 0;
+00985 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMesha54" doxytag="NL3D::CPSConstraintMesh::hasOpaqueFaces" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CPSConstraintMesh::hasOpaqueFaces </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+return true if there are Opaque faces in the object
+<p>
+
+<p>
+Implements <a class="el" href="a03162.html#NL3D_1_1CPSRibbonBasea34">NL3D::CPSParticle</a>.
+<p>
+Definition at line <a class="el" href="a06250.html#l00972">972</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06251.html#l00557">_HasOpaqueFaces</a>, and <a class="el" href="a06250.html#l01134">update()</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l01614">step()</a>.
+<p>
+<div class="fragment"><pre>00973 {
+00974 <span class="keywordflow">if</span> (!<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp27">_Touched</a>) <span class="keywordflow">return</span> <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp8">_HasOpaqueFaces</a> != 0;
+00975 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshb32">update</a>();
+00976 <span class="keywordflow">return</span> <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp8">_HasOpaqueFaces</a> != 0;
+00977 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota41" doxytag="NL3D::CPSConstraintMesh::hasParticles" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual bool NL3D::CPSParticle::hasParticles </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+return true if this located bindable derived class holds alive particles
+<p>
+
+<p>
+Reimplemented from <a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherea39">NL3D::CPSLocatedBindable</a>.
+<p>
+Definition at line <a class="el" href="a06258.html#l00069">69</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a06247.html#l00361">NL3D::CPSLocated::getSize()</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+<div class="fragment"><pre>00069 { <a class="code" href="a04199.html#a6">nlassert</a>(_Owner); <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getSize() != 0; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMesha56" doxytag="NL3D::CPSConstraintMesh::hasTransparentFaces" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CPSConstraintMesh::hasTransparentFaces </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+return true if there are transparent faces in the object
+<p>
+we must update the mesh to know wether it has transparent faces
+<p>
+Implements <a class="el" href="a03162.html#NL3D_1_1CPSRibbonBasea36">NL3D::CPSParticle</a>.
+<p>
+Definition at line <a class="el" href="a06250.html#l00963">963</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06251.html#l00555">_HasTransparentFaces</a>, and <a class="el" href="a06250.html#l01134">update()</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l01614">step()</a>.
+<p>
+<div class="fragment"><pre>00964 {
+00965 <span class="keywordflow">if</span> (!<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp27">_Touched</a>) <span class="keywordflow">return</span> <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp9">_HasTransparentFaces</a> != 0;
+00967 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshb32">update</a>();
+00968 <span class="keywordflow">return</span> <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp9">_HasTransparentFaces</a> != 0;
+00969 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMesha57" doxytag="NL3D::CPSConstraintMesh::hintRotateTheSame" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSConstraintMesh::hintRotateTheSame </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>nbConfiguration</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>minAngularVelocity</em> = <a class="el" href="a05378.html#a44">NLMISC::Pi</a>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>maxAngularVelocity</em> = <a class="el" href="a05378.html#a44">NLMISC::Pi</a></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Tells that all meshs are turning in the same manner, and only have a rotationnal bias This is a lot faster then other method. Any previous set scheme for 3d rotation is kept. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em></em>&nbsp;</td><td>the number of rotation configuration we have. The more high it is, the slower it'll be If this is too low, a lot of particles will have the same orientation If it is 0, then the hint is disabled. This can't be higher than ConstraintMeshMaxNumPrerotatedModels </td></tr>
+ <tr><td valign=top><em>minAngularVelocity</em>&nbsp;</td><td>: the maximum angular velocity for particle rotation </td></tr>
+ <tr><td valign=top><em>maxAngularVelocity</em>&nbsp;</td><td>: the maximum angular velocity for particle rotation </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>See also:</b></dt><dd>CPSRotated3dPlaneParticle</dd></dl>
+
+<p>
+Implements <a class="el" href="a03206.html#NL3D_1_1CPSHintParticleRotateTheSamea2">NL3D::CPSHintParticleRotateTheSame</a>.
+<p>
+Definition at line <a class="el" href="a06250.html#l01304">1304</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06251.html#l00065">NL3D::ConstraintMeshMaxNumPrerotatedModels</a>, <a class="el" href="a06250.html#l01339">fillIndexesInPrecompBasis()</a>, <a class="el" href="a06231.html#l00317">NL3D::MakeRandomUnitVect()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05981.html#l00100">uint32</a>, and <a class="el" href="a05646.html#l00237">v</a>.
+<p>
+Referenced by <a class="el" href="a06251.html#l00266">disableHintRotateTheSame()</a>.
+<p>
+<div class="fragment"><pre>01308 {
+01309 <a class="code" href="a04199.html#a6">nlassert</a>(nbConfiguration &lt;= ConstraintMeshMaxNumPrerotatedModels);
+01310
+01311 <span class="comment">// TODO : avoid code duplication with CPSFace ...</span>
+01312 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp15">_MinAngularVelocity</a> = minAngularVelocity;
+01313 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp12">_MaxAngularVelocity</a> = maxAngularVelocity;
+01314
+01315
+01316
+01317 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp24">_PrecompBasis</a>.resize(nbConfiguration);
+01318
+01319 <span class="keywordflow">if</span> (nbConfiguration)
+01320 {
+01321 <span class="comment">// each precomp basis is created randomly;</span>
+01322 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> k = 0; k &lt; nbConfiguration; ++k)
+01323 {
+01324 CVector <a class="code" href="a04223.html#a576">v</a> = <a class="code" href="a05363.html#a485">MakeRandomUnitVect</a>();
+01325 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp24">_PrecompBasis</a>[k].Basis = CPlaneBasis(v);
+01326 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp24">_PrecompBasis</a>[k].Axis = <a class="code" href="a05363.html#a485">MakeRandomUnitVect</a>();
+01327 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp24">_PrecompBasis</a>[k].AngularVelocity = minAngularVelocity
+01328 + (rand() % 20000) / 20000.f * (maxAngularVelocity - minAngularVelocity);
+01329
+01330 }
+01331
+01332 <span class="comment">// we need to do this because nbConfs may have changed</span>
+01333 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshb12">fillIndexesInPrecompBasis</a>();
+01334 }
+01335 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshe0" doxytag="NL3D::CPSConstraintMesh::initPrerotVB" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSConstraintMesh::initPrerotVB </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Setup the buffers used with prerotated meshs. Must be called during initialization.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06250.html#l02021">2021</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06250.html#l00060">_PreRotatedMeshVB</a>, <a class="el" href="a06250.html#l00061">_PreRotatedMeshVBWithNormal</a>, <a class="el" href="a06251.html#l00065">NL3D::ConstraintMeshMaxNumPrerotatedModels</a>, <a class="el" href="a06251.html#l00063">NL3D::ConstraintMeshMaxNumVerts</a>, <a class="el" href="a06710.html#l00409">NL3D::CVertexBuffer::setNumVertices()</a>, and <a class="el" href="a06710.html#l00169">NL3D::CVertexBuffer::setVertexFormat()</a>.
+<p>
+<div class="fragment"><pre>02022 {
+02023 <span class="comment">// position, no normals</span>
+02024 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMesht1">_PreRotatedMeshVB</a>.setVertexFormat(CVertexBuffer::PositionFlag);
+02025 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMesht1">_PreRotatedMeshVB</a>.setNumVertices(ConstraintMeshMaxNumPrerotatedModels * ConstraintMeshMaxNumVerts);
+02026
+02027 <span class="comment">// position &amp; normals</span>
+02028 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMesht2">_PreRotatedMeshVBWithNormal</a>.setVertexFormat(CVertexBuffer::PositionFlag | CVertexBuffer::NormalFlag);
+02029 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMesht2">_PreRotatedMeshVBWithNormal</a>.setNumVertices(ConstraintMeshMaxNumPrerotatedModels * ConstraintMeshMaxNumVerts);
+02030 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea40" doxytag="NL3D::CPSConstraintMesh::isActive" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CPSLocatedBindable::isActive </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00844">844</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06247.html#l01033">NL3D::CPSLocatedBindable::_Active</a>.
+<p>
+Referenced by <a class="el" href="a06142.html#l01738">NL3D::CParticleSystem::hasActiveEmitters()</a>.
+<p>
+<div class="fragment"><pre>00844 { <span class="keywordflow">return</span> <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep0">_Active</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota44" doxytag="NL3D::CPSConstraintMesh::isAutoLODDisabled" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CPSParticle::isAutoLODDisabled </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Test wether Auto-LOD is disabled.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06258.html#l00140">140</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a06258.html#l00183">NL3D::CPSParticle::_DisableAutoLOD</a>.
+<p>
+<div class="fragment"><pre>00140 { <span class="keywordflow">return</span> _DisableAutoLOD; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshz745_2" doxytag="NL3D::CPSConstraintMesh::isGlobalAnimTimeResetOnNewElementForced" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CPSConstraintMesh::isGlobalAnimTimeResetOnNewElementForced </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Force the time counter for global anim to be reseted when a new mesh is created.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06251.html#l00361">361</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>.
+<p>
+References <a class="el" href="a06251.html#l00560">_ReinitGlobalAnimTimeOnNewElement</a>.
+<p>
+<div class="fragment"><pre>00361 { <span class="keywordflow">return</span> <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp25">_ReinitGlobalAnimTimeOnNewElement</a> != 0; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMesha60" doxytag="NL3D::CPSConstraintMesh::isStageModulationForced" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CPSConstraintMesh::isStageModulationForced </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>stage</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Test if the i-th stage of all materials is forced to be modulated with the mesh color.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06250.html#l01924">1924</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06251.html#l00550">_ModulatedStages</a>, <a class="el" href="a05969.html#l00047">NL3D::IDRV_MAT_MAXTEXTURES</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>01925 {
+01926 <a class="code" href="a04199.html#a6">nlassert</a>(stage &lt; IDRV_MAT_MAXTEXTURES);
+01927 <span class="keywordflow">return</span> (<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp17">_ModulatedStages</a> &amp; (1 &lt;&lt; stage)) != 0;
+01928 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMesha61" doxytag="NL3D::CPSConstraintMesh::isValidBuild" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CPSConstraintMesh::isValidBuild </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+test if mesh is correctly loaded and built (e.g all shape have been loaded and have compatible format) * NB : this force the meshs to be loaded
+<p>
+Definition at line <a class="el" href="a06250.html#l01010">1010</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06251.html#l00562">_ValidBuild</a>.
+<p>
+<div class="fragment"><pre>01011 {
+01012 <span class="keywordflow">if</span> (<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp27">_Touched</a>)
+01013 {
+01014 const_cast&lt;CPSConstraintMesh *&gt;(<span class="keyword">this</span>)-&gt;update();
+01015 }
+01016 <span class="keywordflow">return</span> <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp28">_ValidBuild</a> != 0;
+01017 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMesha62" doxytag="NL3D::CPSConstraintMesh::isVertexColorLightingForced" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CPSConstraintMesh::isVertexColorLightingForced </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+test wether vertex color lighting is forced.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06251.html#l00317">317</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>.
+<p>
+References <a class="el" href="a06251.html#l00558">_VertexColorLightingForced</a>.
+<p>
+<div class="fragment"><pre>00317 { <span class="keywordflow">return</span> <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp29">_VertexColorLightingForced</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshb16" doxytag="NL3D::CPSConstraintMesh::makePrerotatedVb" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03692.html">CVertexBuffer</a> &amp; NL3D::CPSConstraintMesh::makePrerotatedVb </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03692.html">CVertexBuffer</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>inVB</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a05363.html#a366">TAnimationTime</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>ellapsedTime</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+make a vb for the prerotated mesh from a source vb
+<p>
+
+<p>
+Definition at line <a class="el" href="a06250.html#l01531">1531</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06250.html#l00060">_PreRotatedMeshVB</a>, <a class="el" href="a06250.html#l00061">_PreRotatedMeshVBWithNormal</a>, <a class="el" href="a06249.html#l00039">CHECK_VERTEX_BUFFER</a>, <a class="el" href="a06711.html#l00338">NL3D::CVertexBuffer::getNormalOff()</a>, <a class="el" href="a06711.html#l00453">NL3D::CVertexBuffer::getNumVertices()</a>, <a class="el" href="a06710.html#l00438">NL3D::CVertexBuffer::getVertexCoordPointer()</a>, <a class="el" href="a06711.html#l00319">NL3D::CVertexBuffer::getVertexFormat()</a>, <a class="el" href="a06711.html#l00473">NL3D::CVertexBuffer::getVertexSize()</a>, <a class="el" href="a05972.html#l00200">NLMISC::CMatrix::identity()</a>, <a class="el" href="a05972.html#l01244">NLMISC::CMatrix::mulVector()</a>, <a class="el" href="a05972.html#l00618">NLMISC::CMatrix::rotate()</a>, <a class="el" href="a05972.html#l00209">NLMISC::CMatrix::setRot()</a>, <a class="el" href="a05454.html#l00044">NL3D::TAnimationTime</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00096">uint8</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l00793">NL3D::CPSConstraintMeshHelper::drawPrerotatedMeshs()</a>.
+<p>
+<div class="fragment"><pre>01532 {
+01533 <span class="comment">// get a VB that has positions and eventually normals</span>
+01534 CVertexBuffer &amp;prerotatedVb = inVb.getVertexFormat() &amp; CVertexBuffer::NormalFlag ? <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMesht2">_PreRotatedMeshVBWithNormal</a> : <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMesht1">_PreRotatedMeshVB</a>;
+01535
+01536 <span class="comment">// size of vertices for source VB</span>
+01537 <span class="keyword">const</span> <a class="code" href="a04558.html#a15">uint</a> vSize = inVb.getVertexSize();
+01538
+01539 <span class="comment">// size for vertices in prerotated model</span>
+01540 <span class="keyword">const</span> <a class="code" href="a04558.html#a15">uint</a> vpSize = prerotatedVb.getVertexSize();
+01541
+01542
+01543 <span class="comment">// offset of normals in vertices of the prerotated model, and source model </span>
+01544 <a class="code" href="a04558.html#a15">uint</a> normalOff=0;
+01545 <a class="code" href="a04558.html#a15">uint</a> pNormalOff=0;
+01546 <span class="keywordflow">if</span> (prerotatedVb.getVertexFormat() &amp; CVertexBuffer::NormalFlag)
+01547 {
+01548 normalOff = inVb.getNormalOff();
+01549 pNormalOff = prerotatedVb.getNormalOff();
+01550 }
+01551
+01552 <span class="keyword">const</span> <a class="code" href="a04558.html#a15">uint</a> nbVerticesInSource = inVb.getNumVertices();
+01553
+01554
+01555 <span class="comment">// rotate basis</span>
+01556 <span class="comment">// and compute the set of prerotated meshs that will then duplicated (with scale and translation) to create the Vb of what must be drawn</span>
+01557 <a class="code" href="a04558.html#a7">uint8</a> *outVertex = (<a class="code" href="a04558.html#a7">uint8</a> *) prerotatedVb.getVertexCoordPointer();
+01558 <span class="keywordflow">for</span> (CPSVector&lt;CPlaneBasisPair&gt;::V::iterator it = <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp24">_PrecompBasis</a>.begin(); it != <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp24">_PrecompBasis</a>.end(); ++it)
+01559 {
+01560 <span class="comment">// not optimized at all, but this will apply to very few elements anyway...</span>
+01561 CMatrix mat;
+01562 mat.rotate(CQuat(it-&gt;Axis, ellapsedTime * it-&gt;AngularVelocity));
+01563 CVector n = mat * it-&gt;Basis.getNormal();
+01564 it-&gt;Basis = CPlaneBasis(n);
+01565
+01566 mat.identity();
+01567 mat.setRot(it-&gt;Basis.X, it-&gt;Basis.Y, it-&gt;Basis.X ^ it-&gt;Basis.Y);
+01568
+01569 <a class="code" href="a04558.html#a7">uint8</a> *inVertex = (<a class="code" href="a04558.html#a7">uint8</a> *) inVb.getVertexCoordPointer();
+01570
+01571 <a class="code" href="a04558.html#a15">uint</a> k = nbVerticesInSource;
+01572
+01573 <span class="comment">// check wether we need to rotate normals as well...</span>
+01574 <span class="keywordflow">if</span> (inVb.getVertexFormat() &amp; CVertexBuffer::NormalFlag)
+01575 {
+01576
+01577 <span class="keywordflow">do</span>
+01578 {
+01579 <a class="code" href="a04826.html#a0">CHECK_VERTEX_BUFFER</a>(inVb, inVertex);
+01580 <a class="code" href="a04826.html#a0">CHECK_VERTEX_BUFFER</a>(inVb, inVertex + normalOff);
+01581 <a class="code" href="a04826.html#a0">CHECK_VERTEX_BUFFER</a>(prerotatedVb, outVertex);
+01582 <a class="code" href="a04826.html#a0">CHECK_VERTEX_BUFFER</a>(prerotatedVb, outVertex + pNormalOff);
+01583
+01584 * (CVector *) outVertex = mat.mulVector(* (CVector *) inVertex);
+01585 * (CVector *) (outVertex + normalOff) = mat.mulVector(* (CVector *) (inVertex + pNormalOff) );
+01586 outVertex += vpSize;
+01587 inVertex += vSize;
+01588
+01589 }
+01590 <span class="keywordflow">while</span> (--k);
+01591 }
+01592 <span class="keywordflow">else</span>
+01593 {
+01594 <span class="comment">// no normal included</span>
+01595 <span class="keywordflow">do</span>
+01596 {
+01597
+01598 <a class="code" href="a04826.html#a0">CHECK_VERTEX_BUFFER</a>(prerotatedVb, outVertex);
+01599 <a class="code" href="a04826.html#a0">CHECK_VERTEX_BUFFER</a>(inVb, inVertex);
+01600
+01601 * (CVector *) outVertex = mat.mulVector(* (CVector *) inVertex);
+01602 outVertex += vpSize;
+01603 inVertex += vSize;
+01604 }
+01605 <span class="keywordflow">while</span> (--k);
+01606
+01607 }
+01608 }
+01609 <span class="keywordflow">return</span> prerotatedVb;
+01610 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea41" doxytag="NL3D::CPSConstraintMesh::motionTypeChanged" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void NL3D::CPSLocatedBindable::motionTypeChanged </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>parametric</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+called when a located has switch between incrmental / parametric motion. The default does nothing
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a03227.html#NL3D_1_1CPSTailDotb11">NL3D::CPSRibbonBase</a>.
+<p>
+Definition at line <a class="el" href="a06247.html#l00971">971</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l00751">NL3D::CPSLocated::bind()</a>.
+<p>
+<div class="fragment"><pre>00971 {}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotb12" doxytag="NL3D::CPSConstraintMesh::newColorElement" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSColoredParticle::newColorElement </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03214.html">CPSLocated</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>emitterLocated</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>emitterIndex</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline, protected, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06258.html#l00233">233</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a06214.html#l00282">NL3D::CPSAttribMaker&lt; CRGBA &gt;::hasMemory()</a>, <a class="el" href="a06214.html#l00290">NL3D::CPSAttribMaker&lt; CRGBA &gt;::newElement()</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a06283.html#l00212">NL3D::CPSTailDot::newElement()</a>, <a class="el" href="a06279.html#l00451">NL3D::CPSShockWave::newElement()</a>, <a class="el" href="a06277.html#l00163">NL3D::CPSRibbonLookAt::newElement()</a>, <a class="el" href="a06273.html#l00313">NL3D::CPSRibbon::newElement()</a>, <a class="el" href="a06263.html#l00097">NL3D::CPSQuad::newElement()</a>, <a class="el" href="a06250.html#l01855">newElement()</a>, <a class="el" href="a06235.html#l00264">NL3D::CPSFanLight::newElement()</a>, and <a class="el" href="a06226.html#l00233">NL3D::CPSDot::newElement()</a>.
+<p>
+<div class="fragment"><pre>00234 {
+00235 <span class="keywordflow">if</span> (<a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a> &amp;&amp; <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a>-&gt;hasMemory()) <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a>-&gt;newElement(emitterLocated, emitterIndex);
+00236 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshb18" doxytag="NL3D::CPSConstraintMesh::newElement" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSConstraintMesh::newElement </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03214.html">CPSLocated</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>emitterLocated</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>emitterIndex</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Generate a new element.
+<p>
+Implements <a class="el" href="a03162.html#NL3D_1_1CPSParticleb4">NL3D::CPSParticle</a>.
+<p>
+Definition at line <a class="el" href="a06250.html#l01855">1855</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06251.html#l00559">_GlobalAnimationEnabled</a>, <a class="el" href="a06251.html#l00574">_GlobalAnimDate</a>, <a class="el" href="a06251.html#l00580">_MorphScheme</a>, <a class="el" href="a06251.html#l00560">_ReinitGlobalAnimTimeOnNewElement</a>, <a class="el" href="a06247.html#l00266">NL3D::CPSLocated::getNewElementIndex()</a>, <a class="el" href="a06151.html#l00111">NL3D::CParticleSystemProcess::getOwner()</a>, <a class="el" href="a06143.html#l00311">NL3D::CParticleSystem::getSystemDate()</a>, <a class="el" href="a06214.html#l00282">NL3D::CPSAttribMaker&lt; float &gt;::hasMemory()</a>, <a class="el" href="a06258.html#l00233">NL3D::CPSColoredParticle::newColorElement()</a>, <a class="el" href="a06214.html#l00290">NL3D::CPSAttribMaker&lt; float &gt;::newElement()</a>, <a class="el" href="a06258.html#l00699">NL3D::CPSRotated3DPlaneParticle::newPlaneBasisElement()</a>, <a class="el" href="a06258.html#l00291">NL3D::CPSSizedParticle::newSizeElement()</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>01856 {
+01857 <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticleb2">newSizeElement</a>(emitterLocated, emitterIndex);
+01858 <a class="code" href="a03163.html#NL3D_1_1CPSShockWaveb17">newPlaneBasisElement</a>(emitterLocated, emitterIndex);
+01859 <span class="comment">// TODO : avoid code cuplication with CPSFace ...</span>
+01860 <span class="keyword">const</span> <a class="code" href="a04558.html#a11">uint32</a> nbConf = <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp24">_PrecompBasis</a>.size();
+01861 <span class="keywordflow">if</span> (nbConf) <span class="comment">// do we use precomputed basis ?</span>
+01862 {
+01863 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp10">_IndexInPrecompBasis</a>[<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getNewElementIndex()] = rand() % nbConf;
+01864 }
+01865 <a class="code" href="a03157.html#NL3D_1_1CPSTailDotb12">newColorElement</a>(emitterLocated, emitterIndex);
+01866 <span class="keywordflow">if</span> (<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp4">_GlobalAnimationEnabled</a> &amp;&amp; <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp25">_ReinitGlobalAnimTimeOnNewElement</a>)
+01867 {
+01868 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp5">_GlobalAnimDate</a> = <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner()-&gt;getSystemDate();
+01869 }
+01870 <span class="keywordflow">if</span> (<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshz747_0">_MorphScheme</a> &amp;&amp; <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshz747_0">_MorphScheme</a>-&gt;hasMemory()) <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshz747_0">_MorphScheme</a>-&gt;newElement(emitterLocated, emitterIndex);
+01871 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSShockWaveb17" doxytag="NL3D::CPSConstraintMesh::newPlaneBasisElement" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSRotated3DPlaneParticle::newPlaneBasisElement </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03214.html">CPSLocated</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>emitterLocated</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>emitterIndex</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline, protected, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06258.html#l00699">699</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a06258.html#l00695">NL3D::CPSRotated3DPlaneParticle::_PlaneBasisScheme</a>, <a class="el" href="a06214.html#l00282">NL3D::CPSAttribMaker&lt; CPlaneBasis &gt;::hasMemory()</a>, <a class="el" href="a06214.html#l00290">NL3D::CPSAttribMaker&lt; CPlaneBasis &gt;::newElement()</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l01855">newElement()</a>, <a class="el" href="a06250.html#l00225">NL3D::CPSMesh::newElement()</a>, and <a class="el" href="a06231.html#l00368">NL3D::CPSFace::newElement()</a>.
+<p>
+<div class="fragment"><pre>00700 {
+00701 <span class="keywordflow">if</span> (<a class="code" href="a03163.html#NL3D_1_1CPSShockWavep12">_PlaneBasisScheme</a> &amp;&amp; <a class="code" href="a03163.html#NL3D_1_1CPSShockWavep12">_PlaneBasisScheme</a>-&gt;hasMemory()) <a class="code" href="a03163.html#NL3D_1_1CPSShockWavep12">_PlaneBasisScheme</a>-&gt;newElement(emitterLocated, emitterIndex);
+00702 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSSizedParticleb2" doxytag="NL3D::CPSConstraintMesh::newSizeElement" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSSizedParticle::newSizeElement </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03214.html">CPSLocated</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>emitterLocated</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>emitterIndex</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline, protected, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06258.html#l00291">291</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a06258.html#l00290">NL3D::CPSSizedParticle::_SizeScheme</a>, <a class="el" href="a06214.html#l00282">NL3D::CPSAttribMaker&lt; float &gt;::hasMemory()</a>, <a class="el" href="a06214.html#l00290">NL3D::CPSAttribMaker&lt; float &gt;::newElement()</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a06279.html#l00451">NL3D::CPSShockWave::newElement()</a>, <a class="el" href="a06277.html#l00163">NL3D::CPSRibbonLookAt::newElement()</a>, <a class="el" href="a06273.html#l00313">NL3D::CPSRibbon::newElement()</a>, <a class="el" href="a06263.html#l00097">NL3D::CPSQuad::newElement()</a>, <a class="el" href="a06250.html#l01855">newElement()</a>, <a class="el" href="a06250.html#l00225">NL3D::CPSMesh::newElement()</a>, and <a class="el" href="a06235.html#l00264">NL3D::CPSFanLight::newElement()</a>.
+<p>
+<div class="fragment"><pre>00292 {
+00293 <span class="keywordflow">if</span> (<a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a> &amp;&amp; <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a>-&gt;hasMemory()) <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a>-&gt;newElement(emitterLocated, emitterIndex);
+00294 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMesha64" doxytag="NL3D::CPSConstraintMesh::NLMISC_DECLARE_CLASS" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NL3D::CPSConstraintMesh::NLMISC_DECLARE_CLASS </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03161.html">CPSConstraintMesh</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotb14" doxytag="NL3D::CPSConstraintMesh::notifyOwnerMaxNumFacesChanged" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSParticle::notifyOwnerMaxNumFacesChanged </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, protected, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Shortcut to notify that the max number of faces has changed This must be called when a geometric property of the particle has been modified This needn't to be called during <a class="el" href="a03162.html#NL3D_1_1CPSParticleb6">CPSParticle::resize</a> overrides
+<p>
+Definition at line <a class="el" href="a06258.html#l00151">151</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a06246.html#l00422">NL3D::CPSLocated::notifyMaxNumFacesChanged()</a>.
+<p>
+Referenced by <a class="el" href="a06235.html#l00422">NL3D::CPSFanLight::setNbFans()</a>, <a class="el" href="a06279.html#l00218">NL3D::CPSShockWave::setNbSegs()</a>, and <a class="el" href="a06250.html#l01134">update()</a>.
+<p>
+<div class="fragment"><pre>00152 {
+00153 <span class="keywordflow">if</span> (<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>)
+00154 {
+00155 <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;notifyMaxNumFacesChanged();
+00156 }
+00157 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota46" doxytag="NL3D::CPSConstraintMesh::notifyTargetRemoved" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocatedBindable::notifyTargetRemoved </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03214.html">CPSLocated</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>ptr</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+Can be used by located bindable that have located as targets (emitter, collision zone, forces) to be notified that one of their target has been removed. To do this : The object that focus the target must call registerDTorObserver on the target, with himself as a parameter When the target is removed, this target will call this method for all registered <a class="el" href="a03214.html">CPSLocated</a> The default behaviour remove this object as an observer<p>
+<dl compact><dt><b>See also:</b></dt><dd>CPSLocated::registerDTorObserver()</dd></dl>
+
+<p>
+Reimplemented in <a class="el" href="a03179.html#NL3D_1_1CPSSphericalEmittera55">NL3D::CPSEmitter</a>, and <a class="el" href="a02689.html#NL3D_1_1CPSZoneSphereb5">NL3D::CPSTargetLocatedBindable</a>.
+<p>
+Definition at line <a class="el" href="a06246.html#l01996">1996</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06246.html#l00834">NL3D::CPSLocated::unregisterDtorObserver()</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l00185">NL3D::CPSLocated::releaseRefTo()</a>.
+<p>
+<div class="fragment"><pre>01997 {
+01998 ptr-&gt;unregisterDtorObserver(<span class="keyword">this</span>);
+01999 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshd1" doxytag="NL3D::CPSConstraintMesh::operator=" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03161.html">CPSConstraintMesh</a>&amp; NL3D::CPSConstraintMesh::operator= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03161.html">CPSConstraintMesh</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>other</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, private]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06251.html#l00584">584</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>.
+<p>
+References <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+<div class="fragment"><pre>00584 { <a class="code" href="a04199.html#a6">nlassert</a>(0); <span class="keywordflow">return</span> *<span class="keyword">this</span>; <span class="comment">/* not supported */</span> }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota47" doxytag="NL3D::CPSConstraintMesh::releaseAllRef" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocatedBindable::releaseAllRef </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+Release any reference this obj may have to other process of the system For example, this is used when detaching a located bindable from a system.
+<p>
+Reimplemented in <a class="el" href="a03179.html#NL3D_1_1CPSSphericalEmittera57">NL3D::CPSEmitter</a>, <a class="el" href="a03213.html#NL3D_1_1CPSLightb4">NL3D::CPSLight</a>, <a class="el" href="a02689.html#NL3D_1_1CPSZoneSpherea45">NL3D::CPSTargetLocatedBindable</a>, and <a class="el" href="a03218.html#NL3D_1_1CPSMeshb15">NL3D::CPSMesh</a>.
+<p>
+Definition at line <a class="el" href="a06246.html#l02170">2170</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l01948">NL3D::CPSLocatedBindable::setOwner()</a>.
+<p>
+<div class="fragment"><pre>02171 {
+02172 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota48" doxytag="NL3D::CPSConstraintMesh::releaseRefTo" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void NL3D::CPSLocatedBindable::releaseRefTo </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03054.html">CParticleSystemProcess</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>other</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Release any reference this obj may have on the given process. For example, this is used when detaching a located bindable from a system.
+<p>
+Reimplemented in <a class="el" href="a03179.html#NL3D_1_1CPSSphericalEmittera58">NL3D::CPSEmitter</a>, and <a class="el" href="a02689.html#NL3D_1_1CPSZoneSpherea46">NL3D::CPSTargetLocatedBindable</a>.
+<p>
+Definition at line <a class="el" href="a06247.html#l00871">871</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+<div class="fragment"><pre>00871 {}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshb22" doxytag="NL3D::CPSConstraintMesh::releaseShapes" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSConstraintMesh::releaseShapes </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+release the shapes used by this particle
+<p>
+
+<p>
+Definition at line <a class="el" href="a06250.html#l01508">1508</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06251.html#l00468">_Meshes</a>, <a class="el" href="a06251.html#l00474">_ModelBank</a>, and <a class="el" href="a06378.html#l00095">NL3D::CShapeBank::release()</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l01521">clean()</a>, and <a class="el" href="a06250.html#l01134">update()</a>.
+<p>
+<div class="fragment"><pre>01509 {
+01510 <span class="keywordflow">for</span> (TMeshVect::iterator it = <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp13">_Meshes</a>.begin(); it != <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp13">_Meshes</a>.end(); ++it)
+01511 {
+01512 <span class="keywordflow">if</span> (*it)
+01513 {
+01514 <span class="keywordflow">if</span> (<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp16">_ModelBank</a>) <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp16">_ModelBank</a>-&gt;release(*it);
+01515 }
+01516 }
+01517 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp13">_Meshes</a>.clear();
+01518 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshb23" doxytag="NL3D::CPSConstraintMesh::resize" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSConstraintMesh::resize </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>size</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Resize the bindable attributes containers. Size is the max number of element to be contained. DERIVERS MUST CALL THEIR PARENT VERSION should not be called directly. Call <a class="el" href="a03214.html#NL3D_1_1CPSLocateda79">CPSLocated::resize</a> instead
+<p>
+Implements <a class="el" href="a03162.html#NL3D_1_1CPSParticleb6">NL3D::CPSParticle</a>.
+<p>
+Definition at line <a class="el" href="a06250.html#l01889">1889</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06251.html#l00580">_MorphScheme</a>, <a class="el" href="a06247.html#l00361">NL3D::CPSLocated::getSize()</a>, <a class="el" href="a06214.html#l00282">NL3D::CPSAttribMaker&lt; float &gt;::hasMemory()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06214.html#l00296">NL3D::CPSAttribMaker&lt; float &gt;::resize()</a>, <a class="el" href="a06258.html#l00241">NL3D::CPSColoredParticle::resizeColor()</a>, <a class="el" href="a06258.html#l00707">NL3D::CPSRotated3DPlaneParticle::resizePlaneBasis()</a>, <a class="el" href="a06258.html#l00299">NL3D::CPSSizedParticle::resizeSize()</a>, <a class="el" href="a05646.html#l00645">size</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>01890 {
+01891 <a class="code" href="a04199.html#a6">nlassert</a>(size &lt; (1 &lt;&lt; 16));
+01892 <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticleb3">resizeSize</a>(size);
+01893 <a class="code" href="a03163.html#NL3D_1_1CPSShockWaveb24">resizePlaneBasis</a>(size);
+01894 <span class="comment">// TODO : avoid code cuplication with CPSFace ...</span>
+01895 <span class="keywordflow">if</span> (<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp24">_PrecompBasis</a>.size()) <span class="comment">// do we use precomputed basis ?</span>
+01896 {
+01897 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp10">_IndexInPrecompBasis</a>.resize(size);
+01898 }
+01899 <a class="code" href="a03157.html#NL3D_1_1CPSTailDotb17">resizeColor</a>(size);
+01900 <span class="keywordflow">if</span> (<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshz747_0">_MorphScheme</a> &amp;&amp; <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshz747_0">_MorphScheme</a>-&gt;hasMemory()) <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshz747_0">_MorphScheme</a>-&gt;resize(size, <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getSize());
+01901 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotb17" doxytag="NL3D::CPSConstraintMesh::resizeColor" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSColoredParticle::resizeColor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>size</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, protected, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06258.html#l00241">241</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a03157.html#NL3D_1_1CPSColoredParticleb1">NL3D::CPSColoredParticle::getColorOwner()</a>, <a class="el" href="a06214.html#l00282">NL3D::CPSAttribMaker&lt; CRGBA &gt;::hasMemory()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06214.html#l00296">NL3D::CPSAttribMaker&lt; CRGBA &gt;::resize()</a>, <a class="el" href="a05646.html#l00645">size</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a06283.html#l00228">NL3D::CPSTailDot::resize()</a>, <a class="el" href="a06279.html#l00469">NL3D::CPSShockWave::resize()</a>, <a class="el" href="a06277.html#l00181">NL3D::CPSRibbonLookAt::resize()</a>, <a class="el" href="a06273.html#l00331">NL3D::CPSRibbon::resize()</a>, <a class="el" href="a06262.html#l00276">NL3D::CPSQuad::resize()</a>, <a class="el" href="a06250.html#l01889">resize()</a>, <a class="el" href="a06235.html#l00432">NL3D::CPSFanLight::resize()</a>, and <a class="el" href="a06226.html#l00262">NL3D::CPSDot::resize()</a>.
+<p>
+<div class="fragment"><pre>00242 {
+00243 <a class="code" href="a04199.html#a6">nlassert</a>(size &lt; (1 &lt;&lt; 16));
+00244 <span class="keywordflow">if</span> (<a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a> &amp;&amp; <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a>-&gt;hasMemory()) <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a>-&gt;resize(size, <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshb13">getColorOwner</a>()-&gt;<a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlea1">getSize</a>());
+00245 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSShockWaveb24" doxytag="NL3D::CPSConstraintMesh::resizePlaneBasis" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSRotated3DPlaneParticle::resizePlaneBasis </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>size</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, protected, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06258.html#l00707">707</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a06258.html#l00695">NL3D::CPSRotated3DPlaneParticle::_PlaneBasisScheme</a>, <a class="el" href="a03163.html#NL3D_1_1CPSRotated3DPlaneParticleb1">NL3D::CPSRotated3DPlaneParticle::getPlaneBasisOwner()</a>, <a class="el" href="a06214.html#l00282">NL3D::CPSAttribMaker&lt; CPlaneBasis &gt;::hasMemory()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06214.html#l00296">NL3D::CPSAttribMaker&lt; CPlaneBasis &gt;::resize()</a>, <a class="el" href="a05646.html#l00645">size</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l01889">resize()</a>, <a class="el" href="a06250.html#l00423">NL3D::CPSMesh::resize()</a>, and <a class="el" href="a06231.html#l00392">NL3D::CPSFace::resize()</a>.
+<p>
+<div class="fragment"><pre>00708 {
+00709 <a class="code" href="a04199.html#a6">nlassert</a>(size &lt; (1 &lt;&lt; 16));
+00710 <span class="keywordflow">if</span> (<a class="code" href="a03163.html#NL3D_1_1CPSShockWavep12">_PlaneBasisScheme</a> &amp;&amp; <a class="code" href="a03163.html#NL3D_1_1CPSShockWavep12">_PlaneBasisScheme</a>-&gt;hasMemory()) <a class="code" href="a03163.html#NL3D_1_1CPSShockWavep12">_PlaneBasisScheme</a>-&gt;resize(size, <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshb14">getPlaneBasisOwner</a>()-&gt;<a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlea1">getSize</a>());
+00711 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSSizedParticleb3" doxytag="NL3D::CPSConstraintMesh::resizeSize" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSSizedParticle::resizeSize </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>size</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, protected, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06258.html#l00299">299</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a06258.html#l00290">NL3D::CPSSizedParticle::_SizeScheme</a>, <a class="el" href="a06258.html#l00274">NL3D::CPSSizedParticle::getSize()</a>, <a class="el" href="a03164.html#NL3D_1_1CPSSizedParticleb1">NL3D::CPSSizedParticle::getSizeOwner()</a>, <a class="el" href="a06214.html#l00282">NL3D::CPSAttribMaker&lt; float &gt;::hasMemory()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06214.html#l00296">NL3D::CPSAttribMaker&lt; float &gt;::resize()</a>, <a class="el" href="a05646.html#l00645">size</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a06279.html#l00469">NL3D::CPSShockWave::resize()</a>, <a class="el" href="a06277.html#l00181">NL3D::CPSRibbonLookAt::resize()</a>, <a class="el" href="a06273.html#l00331">NL3D::CPSRibbon::resize()</a>, <a class="el" href="a06262.html#l00276">NL3D::CPSQuad::resize()</a>, <a class="el" href="a06250.html#l01889">resize()</a>, <a class="el" href="a06250.html#l00423">NL3D::CPSMesh::resize()</a>, and <a class="el" href="a06235.html#l00432">NL3D::CPSFanLight::resize()</a>.
+<p>
+<div class="fragment"><pre>00300 {
+00301 <a class="code" href="a04199.html#a6">nlassert</a>(size &lt; (1 &lt;&lt; 16));
+00302 <span class="keywordflow">if</span> (<a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a> &amp;&amp; <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a>-&gt;hasMemory()) <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a>-&gt;resize(size, <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshb15">getSizeOwner</a>()-&gt;<a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlea1">getSize</a>());
+00303 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshb27" doxytag="NL3D::CPSConstraintMesh::restoreMaterials" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSConstraintMesh::restoreMaterials </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06250.html#l02238">2238</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesht0">_MeshDisplayShare</a>, <a class="el" href="a06251.html#l00468">_Meshes</a>, <a class="el" href="a06250.html#l02033">NL3D::CPSConstraintMesh::CMeshDisplayShare::getMeshDisplay()</a>, <a class="el" href="a06251.html#l00449">NL3D::CPSConstraintMesh::CMeshDisplay::RdrPasses</a>, <a class="el" href="a06251.html#l00444">TRdrPassSet</a>, and <a class="el" href="a06250.html#l01134">update()</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l02205">setTexAnimType()</a>.
+<p>
+<div class="fragment"><pre>02239 {
+02240 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshb32">update</a>();
+02241 CMeshDisplay &amp;md= <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMesht0">_MeshDisplayShare</a>.<a class="code" href="a03168.html#NL3D_1_1CPSConstraintMesh_1_1CMeshDisplaySharea1">getMeshDisplay</a>(_Meshes[0], _Meshes[0]-&gt;getVertexBuffer().getVertexFormat() | (_ColorScheme ? CVertexBuffer::PrimaryColorFlag : 0));
+02242 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshx4">TRdrPassSet</a> rdrPasses = md.RdrPasses;
+02243 <span class="comment">// render meshs : we process each rendering pass</span>
+02244 <span class="keywordflow">for</span> (TRdrPassSet::iterator rdrPassIt = rdrPasses.begin(); rdrPassIt != rdrPasses.end(); ++rdrPassIt)
+02245 {
+02246 rdrPassIt-&gt;Mat = rdrPassIt-&gt;SourceMat;
+02247 }
+02248 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMesha68" doxytag="NL3D::CPSConstraintMesh::serial" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSConstraintMesh::serial </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02270.html">NLMISC::IStream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>f</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> throw (<a class="el" href="a03781.html">NLMISC::EStream</a>)<code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+serialisation. Derivers must override this, and call their parent version
+<p>
+
+<p>
+Reimplemented from <a class="el" href="a03162.html#NL3D_1_1CPSParticlea42">NL3D::CPSParticle</a>.
+<p>
+Definition at line <a class="el" href="a06250.html#l01355">1355</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06251.html#l00572">PGlobalTexAnims</a>, <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a06251.html#l00463">TMeshNameVect</a>, <a class="el" href="a05646.html#l00243">transform</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>01356 {
+01357
+01358 <a class="code" href="a04558.html#a14">sint</a> ver = f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_8">serialVersion</a>(4);
+01359 <span class="keywordflow">if</span> (f.<a class="code" href="a02270.html#NLMISC_1_1IStreama0">isReading</a>())
+01360 {
+01361 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshb1">clean</a>();
+01362 }
+01363
+01364 CPSParticle::serial(f);
+01365 CPSSizedParticle::serialSizeScheme(f);
+01366 CPSRotated3DPlaneParticle::serialPlaneBasisScheme(f);
+01367
+01368 <span class="comment">// prerotations ...</span>
+01369
+01370 <span class="keywordflow">if</span> (f.<a class="code" href="a02270.html#NLMISC_1_1IStreama0">isReading</a>())
+01371 {
+01372 <a class="code" href="a04558.html#a11">uint32</a> nbConfigurations;
+01373 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(nbConfigurations);
+01374 <span class="keywordflow">if</span> (nbConfigurations)
+01375 {
+01376 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_MinAngularVelocity, _MaxAngularVelocity);
+01377 }
+01378 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMesha57">hintRotateTheSame</a>(nbConfigurations, _MinAngularVelocity, _MaxAngularVelocity);
+01379 }
+01380 <span class="keywordflow">else</span>
+01381 {
+01382 <a class="code" href="a04558.html#a11">uint32</a> nbConfigurations = <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp24">_PrecompBasis</a>.size();
+01383 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(nbConfigurations);
+01384 <span class="keywordflow">if</span> (nbConfigurations)
+01385 {
+01386 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_MinAngularVelocity, _MaxAngularVelocity);
+01387 }
+01388 }
+01389
+01390 <span class="comment">// saves the model file name, or an empty string if nothing has been set </span>
+01391 <span class="keyword">static</span> std::string emptyStr;
+01392
+01393 <span class="keywordflow">if</span> (ver &lt; 4) <span class="comment">// early version : no morphing support</span>
+01394 {
+01395 <span class="keywordflow">if</span> (!f.<a class="code" href="a02270.html#NLMISC_1_1IStreama0">isReading</a>())
+01396 {
+01397 <span class="keywordflow">if</span> (<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp14">_MeshShapeFileName</a>.size() &gt; 0)
+01398 {
+01399 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_MeshShapeFileName[0]);
+01400 }
+01401 <span class="keywordflow">else</span>
+01402 {
+01403 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(emptyStr);
+01404 }
+01405 }
+01406 <span class="keywordflow">else</span>
+01407 {
+01408 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp14">_MeshShapeFileName</a>.resize(1);
+01409 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_MeshShapeFileName[0]);
+01410 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp27">_Touched</a> = <span class="keyword">true</span>;
+01411 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp28">_ValidBuild</a> = 0;
+01412 }
+01413 }
+01414
+01415 <span class="keywordflow">if</span> (ver &gt; 1)
+01416 {
+01417 CPSColoredParticle::serialColorScheme(f);
+01418 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_ModulatedStages);
+01419 <span class="keywordflow">if</span> (f.<a class="code" href="a02270.html#NLMISC_1_1IStreama0">isReading</a>())
+01420 {
+01421 <span class="keywordtype">bool</span> vcEnabled;
+01422 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(vcEnabled);
+01423 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp29">_VertexColorLightingForced</a> = vcEnabled;
+01424 }
+01425 <span class="keywordflow">else</span>
+01426 {
+01427 <span class="keywordtype">bool</span> vcEnabled = (<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp29">_VertexColorLightingForced</a> != 0);
+01428 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(vcEnabled);
+01429 }
+01430 }
+01431
+01432 <span class="keywordflow">if</span> (ver &gt; 2) <span class="comment">// texture animation</span>
+01433 {
+01434 <span class="keywordflow">if</span> (f.<a class="code" href="a02270.html#NLMISC_1_1IStreama0">isReading</a>())
+01435 {
+01436 <span class="keywordtype">bool</span> gaEnabled;
+01437 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(gaEnabled);
+01438 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp4">_GlobalAnimationEnabled</a> = gaEnabled;
+01439 <span class="keywordflow">if</span> (gaEnabled)
+01440 {
+01441 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshx0">PGlobalTexAnims</a> newPtr(<span class="keyword">new</span> CGlobalTexAnims); <span class="comment">// create new</span>
+01442 std::swap(_GlobalTexAnims, newPtr); <span class="comment">// replace old</span>
+01443 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(*_GlobalTexAnims);
+01444 }
+01445
+01446 <span class="keywordtype">bool</span> rgt;
+01447 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(rgt);
+01448 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp25">_ReinitGlobalAnimTimeOnNewElement</a> = rgt;
+01449 }
+01450 <span class="keywordflow">else</span>
+01451 {
+01452 <span class="keywordtype">bool</span> gaEnabled = (<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp4">_GlobalAnimationEnabled</a> != 0);
+01453 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(gaEnabled);
+01454 <span class="keywordflow">if</span> (gaEnabled)
+01455 {
+01456 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(*_GlobalTexAnims);
+01457 }
+01458
+01459 <span class="keywordtype">bool</span> rgt = <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp25">_ReinitGlobalAnimTimeOnNewElement</a> != 0;
+01460 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(rgt);
+01461 }
+01462 }
+01463
+01464 <span class="keywordflow">if</span> (ver &gt; 3) <span class="comment">// mesh morphing</span>
+01465 {
+01466 <span class="keywordflow">if</span> (!f.<a class="code" href="a02270.html#NLMISC_1_1IStreama0">isReading</a>())
+01467 {
+01468 <span class="comment">// remove path</span>
+01469 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshx2">TMeshNameVect</a> meshNamesWithoutPath = <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp14">_MeshShapeFileName</a>;
+01470 <a class="code" href="a04223.html#a579">std::transform</a>(meshNamesWithoutPath.begin(), meshNamesWithoutPath.end(), meshNamesWithoutPath.begin(), std::ptr_fun(NLMISC::CFile::getFilename));
+01471 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2033_9">serialCont</a>(meshNamesWithoutPath);
+01472 }
+01473 <span class="keywordflow">else</span>
+01474 {
+01475 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2033_9">serialCont</a>(_MeshShapeFileName);
+01476 }
+01477 <span class="keywordtype">bool</span> useScheme;
+01478 <span class="keywordflow">if</span> (f.<a class="code" href="a02270.html#NLMISC_1_1IStreama0">isReading</a>())
+01479 {
+01480 <span class="keyword">delete</span> <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshz747_0">_MorphScheme</a>;
+01481 }
+01482 <span class="keywordflow">else</span>
+01483 {
+01484 useScheme = <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshz747_0">_MorphScheme</a> != NULL;
+01485 }
+01486 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(useScheme);
+01487 <span class="keywordflow">if</span> (useScheme)
+01488 {
+01489 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_6">serialPolyPtr</a>(_MorphScheme);
+01490 }
+01491 <span class="keywordflow">else</span>
+01492 {
+01493 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_MorphValue);
+01494 }
+01495 }
+01496 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota49" doxytag="NL3D::CPSConstraintMesh::serialColorScheme" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSColoredParticle::serialColorScheme </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02270.html">NLMISC::IStream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>f</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> throw (<a class="el" href="a03781.html">NLMISC::EStream</a>)<code> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+serialization.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06257.html#l00155">155</a> of file <a class="el" href="a06257.html">ps_particle_basic.cpp</a>.
+<p>
+<div class="fragment"><pre>00156 {
+00157 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_8">serialVersion</a>(1);
+00158 <span class="keywordflow">if</span> (f.<a class="code" href="a02270.html#NLMISC_1_1IStreama0">isReading</a>())
+00159 {
+00160 <span class="keywordflow">if</span> (<a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a>)
+00161 {
+00162 <span class="keyword">delete</span> <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a>;
+00163 <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a> = NULL;
+00164 }
+00165 }
+00166 <span class="keywordtype">bool</span> useColorScheme = <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a> != NULL;
+00167 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(useColorScheme);
+00168 <span class="keywordflow">if</span> (useColorScheme)
+00169 {
+00170 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_6">serialPolyPtr</a>(_ColorScheme);
+00171 }
+00172 <span class="keywordflow">else</span>
+00173 {
+00174 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_Color);
+00175 }
+00176 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSShockWavea74" doxytag="NL3D::CPSConstraintMesh::serialPlaneBasisScheme" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSRotated3DPlaneParticle::serialPlaneBasisScheme </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02270.html">NLMISC::IStream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>f</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> throw (<a class="el" href="a03781.html">NLMISC::EStream</a>)<code> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+===================================================================================
+<p>
+
+<p>
+Definition at line <a class="el" href="a06257.html#l00469">469</a> of file <a class="el" href="a06257.html">ps_particle_basic.cpp</a>.
+<p>
+<div class="fragment"><pre>00470 {
+00471 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_8">serialVersion</a>(1);
+00472 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_6">serialPolyPtr</a>(_PlaneBasisScheme);
+00473 <span class="keywordtype">bool</span> usePlaneBasisScheme = <a class="code" href="a03163.html#NL3D_1_1CPSShockWavep12">_PlaneBasisScheme</a> != NULL;
+00474 <span class="keywordflow">if</span> (!usePlaneBasisScheme)
+00475 {
+00476 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_PlaneBasis);
+00477 }
+00478 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSSizedParticlea4" doxytag="NL3D::CPSConstraintMesh::serialSizeScheme" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSSizedParticle::serialSizeScheme </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02270.html">NLMISC::IStream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>f</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> throw (<a class="el" href="a03781.html">NLMISC::EStream</a>)<code> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+serialization. We choose a different name because of multiple-inheritance
+<p>
+
+<p>
+Definition at line <a class="el" href="a06257.html#l00211">211</a> of file <a class="el" href="a06257.html">ps_particle_basic.cpp</a>.
+<p>
+<div class="fragment"><pre>00212 {
+00213 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_8">serialVersion</a>(1);
+00214 <span class="keywordflow">if</span> (f.<a class="code" href="a02270.html#NLMISC_1_1IStreama0">isReading</a>())
+00215 {
+00216 <span class="keywordflow">if</span> (<a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a>)
+00217 {
+00218 <span class="keyword">delete</span> <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a>;
+00219 <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a> = NULL;
+00220 }
+00221 }
+00222 <span class="keywordtype">bool</span> useSizeScheme = <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a> != NULL;
+00223 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(useSizeScheme);
+00224 <span class="keywordflow">if</span> (useSizeScheme)
+00225 {
+00226 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_6">serialPolyPtr</a>(_SizeScheme);
+00227 }
+00228 <span class="keywordflow">else</span>
+00229 {
+00230 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_ParticleSize);
+00231 }
+00232 };
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea49" doxytag="NL3D::CPSConstraintMesh::setActive" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocatedBindable::setActive </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>active</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Activate / Deactivate this object. When not active, the owning system won't try to call the 'step' method.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00843">843</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06247.html#l01033">NL3D::CPSLocatedBindable::_Active</a>.
+<p>
+Referenced by <a class="el" href="a06142.html#l01718">NL3D::CParticleSystem::activateEmitters()</a>, and <a class="el" href="a06144.html#l00320">NL3D::CParticleSystemInstanceUser::setActive()</a>.
+<p>
+<div class="fragment"><pre>00843 { <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep0">_Active</a> = active; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota53" doxytag="NL3D::CPSConstraintMesh::setColor" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSColoredParticle::setColor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03337.html">NLMISC::CRGBA</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>col</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set a constant color for the particles. remove any previous scheme.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06257.html#l00135">135</a> of file <a class="el" href="a06257.html">ps_particle_basic.cpp</a>.
+<p>
+References <a class="el" href="a03157.html#NL3D_1_1CPSColoredParticleb4">NL3D::CPSColoredParticle::updateMatAndVbForColor()</a>.
+<p>
+<div class="fragment"><pre>00136 {
+00137 <span class="keyword">delete</span> <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a>;
+00138 <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a> = NULL;
+00139 <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp1">_Color</a> = col;
+00140 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshb33">updateMatAndVbForColor</a>();
+00141 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota54" doxytag="NL3D::CPSConstraintMesh::setColorScheme" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSColoredParticle::setColorScheme </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03136.html">CPSAttribMaker</a>&lt; <a class="el" href="a03337.html">CRGBA</a> &gt; *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>col</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set an attribute maker that produce a color It must have been allocated by new It will be deleted by this object
+<p>
+Definition at line <a class="el" href="a06257.html#l00125">125</a> of file <a class="el" href="a06257.html">ps_particle_basic.cpp</a>.
+<p>
+References <a class="el" href="a03157.html#NL3D_1_1CPSColoredParticleb1">NL3D::CPSColoredParticle::getColorOwner()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06214.html#l00296">NL3D::CPSAttribMaker&lt; T &gt;::resize()</a>, and <a class="el" href="a03157.html#NL3D_1_1CPSColoredParticleb4">NL3D::CPSColoredParticle::updateMatAndVbForColor()</a>.
+<p>
+<div class="fragment"><pre>00126 {
+00127 <a class="code" href="a04199.html#a6">nlassert</a>(col);
+00128 <span class="keyword">delete</span> <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a>;
+00129 <a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a> = col;
+00130 <span class="keywordflow">if</span> (<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshb13">getColorOwner</a>() &amp;&amp; col-&gt;hasMemory()) col-&gt;resize(<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshb13">getColorOwner</a>()-&gt;getMaxSize(), <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshb13">getColorOwner</a>()-&gt;<a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlea1">getSize</a>());
+00131 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshb33">updateMatAndVbForColor</a>();
+00132 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea52" doxytag="NL3D::CPSConstraintMesh::setExternID" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocatedBindable::setExternID </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>id</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+set the extern ID of this located bindable. 0 means no extern access. The map of ID-locatedBindable. Is in th particle system, so this located bindable must have been attached to a particle system, otherwise an assertion is raised
+<p>
+Definition at line <a class="el" href="a06246.html#l02149">2149</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06247.html#l01027">NL3D::CPSLocatedBindable::_ExternID</a>, <a class="el" href="a06151.html#l00111">NL3D::CParticleSystemProcess::getOwner()</a>, <a class="el" href="a06142.html#l01081">NL3D::CParticleSystem::registerLocatedBindableExternID()</a>, <a class="el" href="a05981.html#l00100">uint32</a>, and <a class="el" href="a06142.html#l01096">NL3D::CParticleSystem::unregisterLocatedBindableExternID()</a>.
+<p>
+<div class="fragment"><pre>02150 {
+02151 <span class="keywordflow">if</span> (<span class="keywordtype">id</span> == <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep3">_ExternID</a>) <span class="keywordflow">return</span>;
+02152 CParticleSystem *ps = NULL;
+02153 <span class="keywordflow">if</span> (<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a> &amp;&amp; <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner())
+02154 {
+02155 ps = <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner();
+02156 }
+02157 <span class="keywordflow">if</span> (ps)
+02158 {
+02159 ps-&gt;unregisterLocatedBindableExternID(<span class="keyword">this</span>);
+02160 <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep3">_ExternID</a> = 0;
+02161 }
+02162 <span class="keywordflow">if</span> (<span class="keywordtype">id</span> != 0)
+02163 {
+02164 <span class="keywordflow">if</span> (ps) ps-&gt;registerLocatedBindableExternID(<span class="keywordtype">id</span>, <span class="keyword">this</span>);
+02165 <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep3">_ExternID</a> = <span class="keywordtype">id</span>;
+02166 }
+02167 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshz745_3" doxytag="NL3D::CPSConstraintMesh::setGlobalTexAnim" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSConstraintMesh::setGlobalTexAnim </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>stage</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a03165.html">CGlobalTexAnim</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>properties</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set the properties of texture animation for a texture stage. Global animation should have been activated.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06250.html#l02180">2180</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06251.html#l00559">_GlobalAnimationEnabled</a>, <a class="el" href="a06251.html#l00573">_GlobalTexAnims</a>, <a class="el" href="a05969.html#l00047">NL3D::IDRV_MAT_MAXTEXTURES</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>02181 {
+02182 <a class="code" href="a04199.html#a6">nlassert</a>(_GlobalAnimationEnabled != 0);
+02183 <a class="code" href="a04199.html#a6">nlassert</a>(stage &lt; IDRV_MAT_MAXTEXTURES);
+02184 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp6">_GlobalTexAnims</a>.get());
+02185 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp6">_GlobalTexAnims</a>-&gt;Anims[stage] = properties;
+02186 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea53" doxytag="NL3D::CPSConstraintMesh::setLOD" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocatedBindable::setLOD </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a05363.html#a558">TPSLod</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>lod</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+set the LODs that apply to that object (warning : it is based on the position of the system, and don't act on a per instance basis ...) To have per instance precision, you must use an attribute maker that has LOD as its input
+<p>
+Definition at line <a class="el" href="a06247.html#l00952">952</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+References <a class="el" href="a06247.html#l01029">NL3D::CPSLocatedBindable::_LOD</a>.
+<p>
+<div class="fragment"><pre>00952 { <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep4">_LOD</a> = lod; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMesha77" doxytag="NL3D::CPSConstraintMesh::setMorphScheme" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSConstraintMesh::setMorphScheme </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03136.html">CPSAttribMaker</a>&lt; float &gt; *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>scheme</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set a morphing scheme. The scheme is then owned by this object.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06250.html#l01089">1089</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06251.html#l00580">_MorphScheme</a>, <a class="el" href="a06247.html#l00369">NL3D::CPSLocated::getMaxSize()</a>, <a class="el" href="a06247.html#l00361">NL3D::CPSLocated::getSize()</a>, <a class="el" href="a06214.html#l00282">NL3D::CPSAttribMaker&lt; float &gt;::hasMemory()</a>, and <a class="el" href="a06214.html#l00296">NL3D::CPSAttribMaker&lt; float &gt;::resize()</a>.
+<p>
+<div class="fragment"><pre>01090 {
+01091 <span class="keyword">delete</span> <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshz747_0">_MorphScheme</a>;
+01092 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshz747_0">_MorphScheme</a> = scheme;
+01093 <span class="keywordflow">if</span> (<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshz747_0">_MorphScheme</a>-&gt;hasMemory()) <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshz747_0">_MorphScheme</a>-&gt;resize(<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getMaxSize(), <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getSize());
+01094 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMesha78" doxytag="NL3D::CPSConstraintMesh::setMorphValue" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSConstraintMesh::setMorphValue </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Use a constant value for morphing. This discard any scheme for the morph value. The value must range from 0 to numberOfShapes.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06250.html#l01074">1074</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06251.html#l00580">_MorphScheme</a>, <a class="el" href="a06251.html#l00579">_MorphValue</a>, and <a class="el" href="a05646.html#l01132">value</a>.
+<p>
+<div class="fragment"><pre>01075 {
+01076 <span class="keyword">delete</span> <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshz747_0">_MorphScheme</a>;
+01077 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshz747_0">_MorphScheme</a> = NULL;
+01078 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshz747_1">_MorphValue</a> = <a class="code" href="a04223.html#a658">value</a>;
+01079 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea55" doxytag="NL3D::CPSConstraintMesh::setName" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocatedBindable::setName </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>name</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+set the located bindable name (edition purpose)
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l00946">946</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+<div class="fragment"><pre>00946 { <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep5">_Name</a> = name; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSphereb7" doxytag="NL3D::CPSConstraintMesh::setOwner" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocatedBindable::setOwner </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03214.html">CPSLocated</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>psl</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a03179.html#NL3D_1_1CPSSphericalEmittera76">NL3D::CPSEmitter</a>.
+<p>
+Definition at line <a class="el" href="a06246.html#l01948">1948</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a06142.html#l01894">NL3D::CParticleSystem::addRefForUserSysCoordInfo()</a>, <a class="el" href="a02691.html#NL3D_1_1CPSZoneb1">NL3D::CPSLocatedBindable::deleteElement()</a>, <a class="el" href="a06151.html#l00111">NL3D::CParticleSystemProcess::getOwner()</a>, <a class="el" href="a06247.html#l00361">NL3D::CPSLocated::getSize()</a>, <a class="el" href="a06247.html#l00974">NL3D::CPSLocatedBindable::getUserMatrixUsageCount()</a>, <a class="el" href="a06246.html#l02170">NL3D::CPSLocatedBindable::releaseAllRef()</a>, <a class="el" href="a06142.html#l01907">NL3D::CParticleSystem::releaseRefForUserSysCoordInfo()</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l00751">NL3D::CPSLocated::bind()</a>, and <a class="el" href="a06246.html#l01902">NL3D::CPSLocated::unbind()</a>.
+<p>
+<div class="fragment"><pre>01949 {
+01950 <span class="keywordflow">if</span> (psl == <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>) <span class="keywordflow">return</span>;
+01951 <span class="keywordflow">if</span> (psl == NULL)
+01952 {
+01953 <a class="code" href="a02691.html#NL3D_1_1CPSTailDota47">releaseAllRef</a>();
+01954 <span class="keywordflow">if</span> (<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>)
+01955 {
+01956 <span class="comment">// empty this located bindable. Need to be empty if it must be rebound to another located.</span>
+01957 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> k = 0; k &lt; <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getSize(); ++k)
+01958 {
+01959 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshb5">deleteElement</a>(0);
+01960 }
+01961 }
+01962 }
+01963 <span class="keywordflow">if</span> (<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a> &amp;&amp; <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner())
+01964 {
+01965 <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner()-&gt;releaseRefForUserSysCoordInfo(<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherea36">getUserMatrixUsageCount</a>());
+01966 }
+01967 <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a> = psl;
+01968 <span class="keywordflow">if</span> (<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a> &amp;&amp; <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner())
+01969 {
+01970 <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner()-&gt;addRefForUserSysCoordInfo(<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherea36">getUserMatrixUsageCount</a>());
+01971 }
+01972 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSShockWavea87" doxytag="NL3D::CPSConstraintMesh::setPlaneBasis" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSRotated3DPlaneParticle::setPlaneBasis </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03083.html">CPlaneBasis</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>basis</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+===================================================================================
+<p>
+
+<p>
+Definition at line <a class="el" href="a06257.html#l00448">448</a> of file <a class="el" href="a06257.html">ps_particle_basic.cpp</a>.
+<p>
+References <a class="el" href="a06258.html#l00697">NL3D::CPSRotated3DPlaneParticle::_PlaneBasis</a>, and <a class="el" href="a06258.html#l00695">NL3D::CPSRotated3DPlaneParticle::_PlaneBasisScheme</a>.
+<p>
+<div class="fragment"><pre>00449 {
+00450 <span class="keyword">delete</span> <a class="code" href="a03163.html#NL3D_1_1CPSShockWavep12">_PlaneBasisScheme</a>;
+00451 <a class="code" href="a03163.html#NL3D_1_1CPSShockWavep12">_PlaneBasisScheme</a> = NULL;
+00452 <a class="code" href="a03163.html#NL3D_1_1CPSShockWavep11">_PlaneBasis</a> = basis;
+00453 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSShockWavea88" doxytag="NL3D::CPSConstraintMesh::setPlaneBasisScheme" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSRotated3DPlaneParticle::setPlaneBasisScheme </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03136.html">CPSAttribMaker</a>&lt; <a class="el" href="a03083.html">CPlaneBasis</a> &gt; *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>basisMaker</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+===================================================================================
+<p>
+Set an attribute maker that produce a basis It must have been allocated by new It will be deleted by this object
+<p>
+Definition at line <a class="el" href="a06257.html#l00439">439</a> of file <a class="el" href="a06257.html">ps_particle_basic.cpp</a>.
+<p>
+References <a class="el" href="a06258.html#l00695">NL3D::CPSRotated3DPlaneParticle::_PlaneBasisScheme</a>, <a class="el" href="a03163.html#NL3D_1_1CPSRotated3DPlaneParticleb1">NL3D::CPSRotated3DPlaneParticle::getPlaneBasisOwner()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a06214.html#l00296">NL3D::CPSAttribMaker&lt; T &gt;::resize()</a>.
+<p>
+<div class="fragment"><pre>00440 {
+00441 <a class="code" href="a04199.html#a6">nlassert</a>(basisMaker);
+00442 <span class="keyword">delete</span> <a class="code" href="a03163.html#NL3D_1_1CPSShockWavep12">_PlaneBasisScheme</a>;
+00443 <a class="code" href="a03163.html#NL3D_1_1CPSShockWavep12">_PlaneBasisScheme</a> = basisMaker;
+00444 <span class="keywordflow">if</span> (<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshb14">getPlaneBasisOwner</a>() &amp;&amp; basisMaker-&gt;hasMemory()) basisMaker-&gt;resize(<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshb14">getPlaneBasisOwner</a>()-&gt;getMaxSize(), <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshb14">getPlaneBasisOwner</a>()-&gt;<a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlea1">getSize</a>());
+00445 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMesha82" doxytag="NL3D::CPSConstraintMesh::setShape" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSConstraintMesh::setShape </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>index</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>shapeName</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set a shape by its index.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06250.html#l01051">1051</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06251.html#l00467">_MeshShapeFileName</a>, <a class="el" href="a06251.html#l00562">_ValidBuild</a>, <a class="el" href="a05646.html#l00225">index</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>01052 {
+01053 <a class="code" href="a04199.html#a6">nlassert</a>(index &lt; <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp14">_MeshShapeFileName</a>.size());
+01054 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp14">_MeshShapeFileName</a>[<a class="code" href="a04223.html#a566">index</a>] = shapeName;
+01055 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp27">_Touched</a> = 1;
+01056 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp28">_ValidBuild</a> = 0;
+01057 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMesha83" doxytag="NL3D::CPSConstraintMesh::setShape" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSConstraintMesh::setShape </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>meshFileName</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Construct the mesh by using the given mesh shape file. No morphing is applied. The mesh is used 'as it'.
+<p>
+Implements <a class="el" href="a03232.html#NL3D_1_1CPSShapeParticlea1">NL3D::CPSShapeParticle</a>.
+<p>
+Definition at line <a class="el" href="a06250.html#l00989">989</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06251.html#l00467">_MeshShapeFileName</a>, and <a class="el" href="a06251.html#l00562">_ValidBuild</a>.
+<p>
+<div class="fragment"><pre>00990 {
+00991 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp14">_MeshShapeFileName</a>.resize(1);
+00992 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp14">_MeshShapeFileName</a>[0] = meshFileName;
+00993 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp27">_Touched</a> = 1;
+00994 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp28">_ValidBuild</a> = 0;
+00995 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMesha84" doxytag="NL3D::CPSConstraintMesh::setShapes" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSConstraintMesh::setShapes </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string *&nbsp;</td>
+ <td class="mdname" nowrap> <em>shapesNames</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>numShapes</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Setup the mesh for morphing use. There are several restrictions :<ul>
+<li>All meshs must have the same number of vertices</li><li>All meshes must have the same vertex format If these conditions are not met, a 'dummy' mesh will be used instead. If there's only one mesh, no morphing is performed. NB : Morphing not supported with precomputed rotations. First mesh is used instead <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>shapesNames</em>&nbsp;</td><td>A tab of string containing the names of the shapes </td></tr>
+ <tr><td valign=top><em>numShapes</em>&nbsp;</td><td></td></tr>
+ </table>
+</dl>
+</li></ul>
+
+<p>
+Definition at line <a class="el" href="a06250.html#l01020">1020</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06251.html#l00467">_MeshShapeFileName</a>, <a class="el" href="a06251.html#l00562">_ValidBuild</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>01021 {
+01022 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp14">_MeshShapeFileName</a>.resize(numShapes);
+01023 std::copy(shapesNames, shapesNames + numShapes, <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp14">_MeshShapeFileName</a>.begin());
+01024 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp27">_Touched</a> = 1;
+01025 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp28">_ValidBuild</a> = 0;
+01026 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSSizedParticlea5" doxytag="NL3D::CPSConstraintMesh::setSize" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSSizedParticle::setSize </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>size</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set a constant size for the particles.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06257.html#l00192">192</a> of file <a class="el" href="a06257.html">ps_particle_basic.cpp</a>.
+<p>
+References <a class="el" href="a06258.html#l00289">NL3D::CPSSizedParticle::_ParticleSize</a>, <a class="el" href="a06258.html#l00290">NL3D::CPSSizedParticle::_SizeScheme</a>, and <a class="el" href="a05646.html#l00645">size</a>.
+<p>
+<div class="fragment"><pre>00193 {
+00194 <span class="keyword">delete</span> <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a>;
+00195 <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a> = NULL;
+00196 <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep0">_ParticleSize</a> = <a class="code" href="a04223.html#a587">size</a>;
+00197 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSSizedParticlea6" doxytag="NL3D::CPSConstraintMesh::setSizeScheme" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSSizedParticle::setSizeScheme </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03136.html">CPSAttribMaker</a>&lt; float &gt; *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>size</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set an attribute maker that produce a size It must have been allocated by new It will be deleted by this object
+<p>
+Definition at line <a class="el" href="a06257.html#l00183">183</a> of file <a class="el" href="a06257.html">ps_particle_basic.cpp</a>.
+<p>
+References <a class="el" href="a06258.html#l00290">NL3D::CPSSizedParticle::_SizeScheme</a>, <a class="el" href="a06258.html#l00274">NL3D::CPSSizedParticle::getSize()</a>, <a class="el" href="a03164.html#NL3D_1_1CPSSizedParticleb1">NL3D::CPSSizedParticle::getSizeOwner()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05646.html#l00645">size</a>.
+<p>
+<div class="fragment"><pre>00184 {
+00185 <a class="code" href="a04199.html#a6">nlassert</a>(size != NULL);
+00186 <span class="keyword">delete</span> <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a>;
+00187 <a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlep1">_SizeScheme</a> = <a class="code" href="a04223.html#a587">size</a>;
+00188 <span class="keywordflow">if</span> (<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshb15">getSizeOwner</a>() &amp;&amp; <a class="code" href="a04223.html#a587">size</a>-&gt;hasMemory()) <a class="code" href="a04223.html#a587">size</a>-&gt;resize(<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshb15">getSizeOwner</a>()-&gt;getMaxSize(), <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshb15">getSizeOwner</a>()-&gt;<a class="code" href="a03164.html#NL3D_1_1CPSSizedParticlea1">getSize</a>());
+00189 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshz744_2" doxytag="NL3D::CPSConstraintMesh::setTexAnimType" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSConstraintMesh::setTexAnimType </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshz744_0">TTexAnimType</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>type</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set the type of texture animation to use. None is the default. Setting a new value discard the previous change.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06250.html#l02205">2205</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06251.html#l00559">_GlobalAnimationEnabled</a>, <a class="el" href="a06251.html#l00573">_GlobalTexAnims</a>, <a class="el" href="a06250.html#l02199">getTexAnimType()</a>, <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshz744_0NL3D_1_1CPSConstraintMeshw0">GlobalAnim</a>, <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshz744_0NL3D_1_1CPSConstraintMeshw1">Last</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshz744_0NL3D_1_1CPSConstraintMeshw2">NoAnim</a>, <a class="el" href="a06251.html#l00572">PGlobalTexAnims</a>, <a class="el" href="a06250.html#l02238">restoreMaterials()</a>, and <a class="el" href="a05646.html#l00244">type</a>.
+<p>
+<div class="fragment"><pre>02206 {
+02207 <a class="code" href="a04199.html#a6">nlassert</a>(type &lt; Last);
+02208 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a581">type</a> == <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshz744_1">getTexAnimType</a>()) <span class="keywordflow">return</span>; <span class="comment">// does the type of animation change ?</span>
+02209 <span class="keywordflow">switch</span> (<a class="code" href="a04223.html#a581">type</a>)
+02210 {
+02211 <span class="keywordflow">case</span> <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshz744_0NL3D_1_1CPSConstraintMeshw2">NoAnim</a>:
+02212 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp6">_GlobalTexAnims</a>.reset();
+02213 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshb27">restoreMaterials</a>();
+02214 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp4">_GlobalAnimationEnabled</a> = 0;
+02215 <span class="keywordflow">break</span>;
+02216 <span class="keywordflow">case</span> <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshz744_0NL3D_1_1CPSConstraintMeshw0">GlobalAnim</a>:
+02217 {
+02218 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshx0">PGlobalTexAnims</a> newPtr(<span class="keyword">new</span> CGlobalTexAnims);
+02219 std::swap(_GlobalTexAnims, newPtr);
+02220 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp4">_GlobalAnimationEnabled</a> = 1;
+02221 }
+02222 <span class="keywordflow">break</span>;
+02223 <span class="keywordflow">default</span>: <span class="keywordflow">break</span>;
+02224 }
+02225 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea59" doxytag="NL3D::CPSConstraintMesh::setupDriverModelMatrix" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSLocatedBindable::setupDriverModelMatrix </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+shortcut to setup the model matrix (system basis or world basis)
+<p>
+
+<p>
+Definition at line <a class="el" href="a06246.html#l02142">2142</a> of file <a class="el" href="a06246.html">ps_located.cpp</a>.
+<p>
+References <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a06246.html#l01775">NL3D::CPSLocated::setupDriverModelMatrix()</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l02038">NL3D::CPSLocatedBindable::displayIcon2d()</a>, <a class="el" href="a06283.html#l00242">NL3D::CPSTailDot::displayRibbons()</a>, <a class="el" href="a06277.html#l00319">NL3D::CPSRibbonLookAt::displayRibbons()</a>, <a class="el" href="a06273.html#l00471">NL3D::CPSRibbon::displayRibbons()</a>, <a class="el" href="a06226.html#l00122">NL3D::CPSDot::draw()</a>, <a class="el" href="a06231.html#l00055">NL3D::CPSFaceHelper::drawFaces()</a>, <a class="el" href="a06235.html#l00072">NL3D::CPSFanLightHelper::drawFanLight()</a>, <a class="el" href="a06233.html#l00379">NL3D::CPSFaceLookAtHelper::drawLookAt()</a>, <a class="el" href="a06233.html#l00089">NL3D::CPSFaceLookAtHelper::drawLookAtAlignOnMotion()</a>, <a class="el" href="a06250.html#l00521">NL3D::CPSConstraintMeshHelper::drawMeshs()</a>, <a class="el" href="a06250.html#l00793">NL3D::CPSConstraintMeshHelper::drawPrerotatedMeshs()</a>, <a class="el" href="a06287.html#l01375">NL3D::CPSZoneRectangle::show()</a>, <a class="el" href="a06287.html#l01160">NL3D::CPSZoneCylinder::show()</a>, <a class="el" href="a06287.html#l00625">NL3D::CPSZoneDisc::show()</a>, <a class="el" href="a06287.html#l00448">NL3D::CPSZoneSphere::show()</a>, <a class="el" href="a06287.html#l00140">NL3D::CPSZonePlane::show()</a>, <a class="el" href="a06239.html#l00900">NL3D::CPSCylindricVortex::show()</a>, <a class="el" href="a06239.html#l00295">NL3D::CPSDirectionnalForce::show()</a>, <a class="el" href="a06229.html#l02491">NL3D::CPSSphericalEmitter::showTool()</a>, <a class="el" href="a06229.html#l02391">NL3D::CPSEmitterRectangle::showTool()</a>, and <a class="el" href="a06229.html#l00447">NL3D::CPSEmitter::showTool()</a>.
+<p>
+<div class="fragment"><pre>02143 {
+02144 <a class="code" href="a04199.html#a6">nlassert</a>(_Owner);
+02145 <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;setupDriverModelMatrix();
+02146 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshb29" doxytag="NL3D::CPSConstraintMesh::setupMaterialColor" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSConstraintMesh::setupMaterialColor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02839.html">CMaterial</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>destMat</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02839.html">CMaterial</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>srcMat</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Setup material so that global or per mesh color is taken in account. Useful if material hasn't been setup correctly in the export
+<p>
+Definition at line <a class="el" href="a06250.html#l01696">1696</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06251.html#l00550">_ModulatedStages</a>, <a class="el" href="a05969.html#l00254">NL3D::CMaterial::getShader()</a>, <a class="el" href="a05641.html#l00277">NL3D::CMaterial::getTexEnvMode()</a>, <a class="el" href="a05969.html#l00047">NL3D::IDRV_MAT_MAXTEXTURES</a>, <a class="el" href="a05969.html#l00371">NL3D::CMaterial::isLighted()</a>, <a class="el" href="a05641.html#l00118">NL3D::CMaterial::setColor()</a>, <a class="el" href="a05641.html#l00164">NL3D::CMaterial::setDiffuse()</a>, <a class="el" href="a05641.html#l00284">NL3D::CMaterial::setTexEnvMode()</a>, <a class="el" href="a05641.html#l00247">NL3D::CMaterial::texEnvArg0Alpha()</a>, <a class="el" href="a05641.html#l00221">NL3D::CMaterial::texEnvArg0RGB()</a>, <a class="el" href="a05641.html#l00256">NL3D::CMaterial::texEnvArg1Alpha()</a>, <a class="el" href="a05641.html#l00229">NL3D::CMaterial::texEnvArg1RGB()</a>, <a class="el" href="a05641.html#l00240">NL3D::CMaterial::texEnvOpAlpha()</a>, <a class="el" href="a05641.html#l00214">NL3D::CMaterial::texEnvOpRGB()</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l01729">setupRenderPasses()</a>.
+<p>
+<div class="fragment"><pre>01697 {
+01698 <span class="keywordflow">if</span> (destMat.getShader() != CMaterial::Normal) <span class="keywordflow">return</span>;
+01699 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> k = 0; k &lt; <a class="code" href="a05363.html#a83">IDRV_MAT_MAXTEXTURES</a>; ++k)
+01700 {
+01701 <span class="keywordflow">if</span> (<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp17">_ModulatedStages</a> &amp; (1 &lt;&lt; k))
+01702 {
+01703 destMat.texEnvArg0RGB(k, CMaterial::Texture, CMaterial::SrcColor);
+01704 destMat.texEnvArg0Alpha(k, CMaterial::Texture, CMaterial::SrcAlpha);
+01705 destMat.texEnvArg1RGB(k, CMaterial::Diffuse, CMaterial::SrcColor);
+01706 destMat.texEnvArg1Alpha(k, CMaterial::Diffuse, CMaterial::SrcAlpha);
+01707 destMat.texEnvOpRGB(k, CMaterial::Modulate);
+01708 destMat.texEnvOpAlpha(k, CMaterial::Modulate);
+01709 }
+01710 <span class="keywordflow">else</span> <span class="comment">// restore from source material</span>
+01711 {
+01712 destMat.setTexEnvMode(k, srcMat.getTexEnvMode(k));
+01713 }
+01714 }
+01715 <span class="keywordflow">if</span> (<a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a> == NULL) <span class="comment">// per mesh color ?</span>
+01716 {
+01717 destMat.setColor(_Color);
+01718 <span class="keywordflow">if</span> (destMat.isLighted())
+01719 {
+01720 destMat.setDiffuse(_Color);
+01721 }
+01722 }
+01723 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshb30" doxytag="NL3D::CPSConstraintMesh::setupRenderPasses" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSConstraintMesh::setupRenderPasses </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname" nowrap> <em>date</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshx4">TRdrPassSet</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>rdrPasses</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>opaque</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Setup a set of rendering passes (set good textures matrix / material colors).
+<p>
+check wether this material has to be rendered<p>
+force vertex lighting<p>
+global texture animation
+<p>
+Force modulation for some stages &amp; setup global color
+<p>
+Definition at line <a class="el" href="a06250.html#l01729">1729</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06251.html#l00559">_GlobalAnimationEnabled</a>, <a class="el" href="a06251.html#l00573">_GlobalTexAnims</a>, <a class="el" href="a06251.html#l00558">_VertexColorLightingForced</a>, <a class="el" href="a05641.html#l00337">NL3D::CMaterial::enableUserTexMat()</a>, <a class="el" href="a05641.html#l00201">NL3D::CMaterial::getLightedVertexColor()</a>, <a class="el" href="a05641.html#l00046">NL3D::CMaterial::getTexture()</a>, <a class="el" href="a05969.html#l00335">NL3D::CMaterial::getZWrite()</a>, <a class="el" href="a05969.html#l00047">NL3D::IDRV_MAT_MAXTEXTURES</a>, <a class="el" href="a05641.html#l00191">NL3D::CMaterial::setLightedVertexColor()</a>, <a class="el" href="a06250.html#l01696">setupMaterialColor()</a>, <a class="el" href="a05641.html#l00369">NL3D::CMaterial::setUserTexMat()</a>, <a class="el" href="a06251.html#l00444">TRdrPassSet</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l00521">NL3D::CPSConstraintMeshHelper::drawMeshs()</a>, and <a class="el" href="a06250.html#l00793">NL3D::CPSConstraintMeshHelper::drawPrerotatedMeshs()</a>.
+<p>
+<div class="fragment"><pre>01730 {
+01731 <span class="comment">// render meshs : we process each rendering pass</span>
+01732 <span class="keywordflow">for</span> (TRdrPassSet::iterator rdrPassIt = rdrPasses.begin();
+01733 rdrPassIt != rdrPasses.end(); ++rdrPassIt)
+01734 {
+01735
+01736 CMaterial &amp;Mat = rdrPassIt-&gt;Mat;
+01737 CMaterial &amp;SourceMat = rdrPassIt-&gt;SourceMat;
+01738
+01739
+01741 <span class="keywordflow">if</span> ((opaque &amp;&amp; Mat.getZWrite()) || (!opaque &amp;&amp; ! Mat.getZWrite()))
+01742 {
+01743
+01744
+01745 <span class="comment">// has to setup material constant color ?</span>
+01746 <span class="comment">// global color not supported for mesh</span>
+01747 <span class="comment">/* CParticleSystem &amp;ps = *(_Owner-&gt;getOwner());</span>
+01748 <span class="comment"> if (!_ColorScheme) </span>
+01749 <span class="comment"> { </span>
+01750 <span class="comment"> NLMISC::CRGBA col;</span>
+01751 <span class="comment"> col.modulateFromColor(SourceMat.getColor(), _Color);</span>
+01752 <span class="comment"> if (ps.getColorAttenuationScheme() == NULL || ps.isUserColorUsed())</span>
+01753 <span class="comment"> {</span>
+01754 <span class="comment"> col.modulateFromColor(col, ps.getGlobalColor());</span>
+01755 <span class="comment"> }</span>
+01756 <span class="comment"> Mat.setColor(col); </span>
+01757 <span class="comment"> }</span>
+01758 <span class="comment"> else</span>
+01759 <span class="comment"> { </span>
+01760 <span class="comment"> Mat.setColor(ps.getGlobalColor());</span>
+01761 <span class="comment"> }*/</span>
+01762
+01765 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshb29">setupMaterialColor</a>(Mat, SourceMat);
+01766
+01768 <span class="keywordtype">bool</span> forceVertexcolorLighting;
+01769 <span class="keywordflow">if</span> (<a class="code" href="a03157.html#NL3D_1_1CPSTailDotp2">_ColorScheme</a> != NULL)
+01770 {
+01771 forceVertexcolorLighting = <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp29">_VertexColorLightingForced</a> != 0 ? <span class="keyword">true</span> : SourceMat.getLightedVertexColor();
+01772 }
+01773 <span class="keywordflow">else</span>
+01774 {
+01775 forceVertexcolorLighting = <span class="keyword">false</span>;
+01776 }
+01777 <span class="keywordflow">if</span> (forceVertexcolorLighting != Mat.getLightedVertexColor()) <span class="comment">// avoid to touch mat if not needed</span>
+01778 {
+01779 Mat.setLightedVertexColor(forceVertexcolorLighting);
+01780 }
+01781
+01783 <span class="keywordflow">if</span> (<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp4">_GlobalAnimationEnabled</a> != 0)
+01784 {
+01785 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> k = 0; k &lt; <a class="code" href="a05363.html#a83">IDRV_MAT_MAXTEXTURES</a>; ++k)
+01786 {
+01787 <span class="keywordflow">if</span> (Mat.getTexture(k) != NULL)
+01788 {
+01789 Mat.enableUserTexMat(k, <span class="keyword">true</span>);
+01790 CMatrix mat;
+01791 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp6">_GlobalTexAnims</a>-&gt;Anims[k].buildMatrix(date, mat);
+01792 Mat.setUserTexMat(k ,mat);
+01793 }
+01794 }
+01795 }
+01796 }
+01797 }
+01798
+01799 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMesha88" doxytag="NL3D::CPSConstraintMesh::setZBias" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void NL3D::CPSConstraintMesh::setZBias </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Implements <a class="el" href="a03162.html#NL3D_1_1CPSRibbonBasea51">NL3D::CPSParticle</a>.
+<p>
+Definition at line <a class="el" href="a06251.html#l00379">379</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>.
+<p>
+References <a class="el" href="a05646.html#l01132">value</a>.
+<p>
+<div class="fragment"><pre>00379 {}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota61" doxytag="NL3D::CPSConstraintMesh::showTool" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSParticle::showTool </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+draw the particles for edition mode. The default behaviour just draw a wireframe model
+<p>
+
+<p>
+Definition at line <a class="el" href="a06257.html#l00055">55</a> of file <a class="el" href="a06257.html">ps_particle_basic.cpp</a>.
+<p>
+References <a class="el" href="a06246.html#l02038">NL3D::CPSLocatedBindable::displayIcon2d()</a>, <a class="el" href="a06152.html#l00060">PARTICLES_CHECK_MEM</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06258.html#l00074">NL3D::CPSParticle::step()</a>, <a class="el" href="a06250.html#l01614">step()</a>, <a class="el" href="a06250.html#l00280">NL3D::CPSMesh::step()</a>, and <a class="el" href="a06231.html#l00212">NL3D::CPSFace::step()</a>.
+<p>
+<div class="fragment"><pre>00056 {
+00057 <a class="code" href="a04729.html#a0">PARTICLES_CHECK_MEM</a>;
+00058
+00059 CVector I = CVector::I;
+00060 CVector J = CVector::J;
+00061
+00062 <span class="keyword">const</span> CVector tab[] = { 2 * J, I + J
+00063 , I + J, 2 * I + J
+00064 , 2 * I + J, I
+00065 , I, 2 * I - J
+00066 , 2 * I - J, - .5f * J
+00067 , - .5f * J, -2 * I - J
+00068 , -2 * I - J, - I
+00069 , - I, -2 * I + J
+00070 , -2 * I + J, - I + J
+00071 , - I + J, 2 * J
+00072 };
+00073 <span class="keyword">const</span> <a class="code" href="a04558.html#a15">uint</a> tabSize = <span class="keyword">sizeof</span>(tab) / (2 * <span class="keyword">sizeof</span>(CVector));
+00074
+00075 <span class="keyword">const</span> <span class="keywordtype">float</span> sSize = 0.1f;
+00076 <a class="code" href="a02691.html#NL3D_1_1CPSZoneSphereb3">displayIcon2d</a>(tab, tabSize, sSize);
+00077
+00078 <a class="code" href="a04729.html#a0">PARTICLES_CHECK_MEM</a>;
+00079 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshb31" doxytag="NL3D::CPSConstraintMesh::step" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSConstraintMesh::step </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a05363.html#a556">TPSProcessPass</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>pass</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a05363.html#a366">TAnimationTime</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>ellapsedTime</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a05363.html#a366">TAnimationTime</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>realEt</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+process one pass for the particles. The default behaviour shows the particles
+<p>
+Reimplemented from <a class="el" href="a03162.html#NL3D_1_1CPSShockWavea100">NL3D::CPSParticle</a>.
+<p>
+Definition at line <a class="el" href="a06250.html#l01614">1614</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06250.html#l01631">draw()</a>, <a class="el" href="a06250.html#l00972">hasOpaqueFaces()</a>, <a class="el" href="a06250.html#l00963">hasTransparentFaces()</a>, <a class="el" href="a05363.html#a556a216">NL3D::PSBlendRender</a>, <a class="el" href="a05363.html#a556a215">NL3D::PSSolidRender</a>, <a class="el" href="a05363.html#a556a217">NL3D::PSToolRender</a>, <a class="el" href="a06257.html#l00055">NL3D::CPSParticle::showTool()</a>, and <a class="el" href="a05454.html#l00044">NL3D::TAnimationTime</a>.
+<p>
+<div class="fragment"><pre>01615 {
+01616 <span class="keywordflow">if</span> (
+01617 (pass == <a class="code" href="a05363.html#a556a216">PSBlendRender</a> &amp;&amp; <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMesha56">hasTransparentFaces</a>())
+01618 || (pass == <a class="code" href="a05363.html#a556a215">PSSolidRender</a> &amp;&amp; <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMesha54">hasOpaqueFaces</a>())
+01619 )
+01620 {
+01621 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshb10">draw</a>(pass == PSSolidRender, ellapsedTime);
+01622 }
+01623 <span class="keywordflow">else</span>
+01624 <span class="keywordflow">if</span> (pass == <a class="code" href="a05363.html#a556a217">PSToolRender</a>) <span class="comment">// edition mode only</span>
+01625 {
+01626 <a class="code" href="a03162.html#NL3D_1_1CPSTailDota61">showTool</a>();
+01627 }
+01628 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMesha90" doxytag="NL3D::CPSConstraintMesh::supportGlobalColorLighting" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual bool NL3D::CPSConstraintMesh::supportGlobalColorLighting </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Implements <a class="el" href="a03162.html#NL3D_1_1CPSRibbonBasea54">NL3D::CPSParticle</a>.
+<p>
+Definition at line <a class="el" href="a06251.html#l00376">376</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>.
+<p>
+<div class="fragment"><pre>00376 { <span class="keywordflow">return</span> <span class="keyword">false</span>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherea65" doxytag="NL3D::CPSConstraintMesh::systemDateChanged" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void NL3D::CPSLocatedBindable::systemDateChanged </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, virtual, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+PRIVATE USE : called by the system when its date has been manually changed. This his usually for object that expect time to be always increasing, so that they can reset their datas
+<p>
+Reimplemented in <a class="el" href="a03227.html#NL3D_1_1CPSRibbonBased6">NL3D::CPSRibbonBase</a>.
+<p>
+Definition at line <a class="el" href="a06247.html#l01038">1038</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+<div class="fragment"><pre>01038 {}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshb32" doxytag="NL3D::CPSConstraintMesh::update" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CPSConstraintMesh::update </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">std::vector&lt; <a class="el" href="a04558.html#a14">sint</a> &gt; *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>numVerts</em> = NULL </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Build the mesh data, if the 'touch' flag is set. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>numVerts,if</em>&nbsp;</td><td>not NULL, the dest vector will be filled with the number of vertices of each mesh (or a TError enumerated value if loading failed) </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>true if the mesh could be found and match the requirement</dd></dl>
+
+<p>
+Definition at line <a class="el" href="a06250.html#l01134">1134</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+References <a class="el" href="a06251.html#l00574">_GlobalAnimDate</a>, <a class="el" href="a06251.html#l00561">_HasLightableFaces</a>, <a class="el" href="a06251.html#l00557">_HasOpaqueFaces</a>, <a class="el" href="a06251.html#l00555">_HasTransparentFaces</a>, <a class="el" href="a06251.html#l00468">_Meshes</a>, <a class="el" href="a06251.html#l00467">_MeshShapeFileName</a>, <a class="el" href="a06251.html#l00474">_ModelBank</a>, <a class="el" href="a06251.html#l00471">_NumFaces</a>, <a class="el" href="a06251.html#l00562">_ValidBuild</a>, <a class="el" href="a06378.html#l00059">NL3D::CShapeBank::addRef()</a>, <a class="el" href="a06250.html#l00501">NL3D::CheckForLightableFacesInMesh()</a>, <a class="el" href="a06250.html#l00480">NL3D::CheckForOpaqueAndTransparentFacesInMesh()</a>, <a class="el" href="a06250.html#l01521">clean()</a>, <a class="el" href="a06251.html#l00063">NL3D::ConstraintMeshMaxNumVerts</a>, <a class="el" href="a05363.html#a492">NL3D::DummyShapeName()</a>, <a class="el" href="a06250.html#l01110">NL3D::GetDummyMeshFromBank()</a>, <a class="el" href="a06250.html#l00462">NL3D::getMeshNumTri()</a>, <a class="el" href="a06711.html#l00453">NL3D::CVertexBuffer::getNumVertices()</a>, <a class="el" href="a06151.html#l00111">NL3D::CParticleSystemProcess::getOwner()</a>, <a class="el" href="a06246.html#l00492">NL3D::CPSLocated::getScene()</a>, <a class="el" href="a06349.html#l00231">NL3D::CScene::getShapeBank()</a>, <a class="el" href="a06143.html#l00311">NL3D::CParticleSystem::getSystemDate()</a>, <a class="el" href="a05989.html#l02432">NL3D::CMesh::getVertexBuffer()</a>, <a class="el" href="a06711.html#l00319">NL3D::CVertexBuffer::getVertexFormat()</a>, <a class="el" href="a06378.html#l00397">NL3D::CShapeBank::isPresent()</a>, <a class="el" href="a06378.html#l00427">NL3D::CShapeBank::load()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05622.html#l00135">nlwarning</a>, <a class="el" href="a06258.html#l00151">NL3D::CPSParticle::notifyOwnerMaxNumFacesChanged()</a>, <a class="el" href="a06378.html#l00095">NL3D::CShapeBank::release()</a>, <a class="el" href="a06250.html#l01508">releaseShapes()</a>, <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshw6NL3D_1_1CPSConstraintMeshw3">ShapeFileIsNotAMesh</a>, <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshw6NL3D_1_1CPSConstraintMeshw4">ShapeFileNotLoaded</a>, <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshw6NL3D_1_1CPSConstraintMeshw5">ShapeHasTooMuchVertices</a>, <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05981.html#l00100">uint32</a>, and <a class="el" href="a05981.html#l00096">uint8</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l01631">draw()</a>, <a class="el" href="a06250.html#l01127">getShapeNumVerts()</a>, <a class="el" href="a06250.html#l00980">hasLightableFaces()</a>, <a class="el" href="a06250.html#l00972">hasOpaqueFaces()</a>, <a class="el" href="a06250.html#l00963">hasTransparentFaces()</a>, and <a class="el" href="a06250.html#l02238">restoreMaterials()</a>.
+<p>
+<div class="fragment"><pre>01135 {
+01136 <span class="keywordtype">bool</span> ok = <span class="keyword">true</span>;
+01137 <span class="keywordflow">if</span> (!<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp27">_Touched</a>) <span class="keywordflow">return</span> ok;
+01138
+01139 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshb1">clean</a>();
+01140
+01141 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getScene());
+01142
+01143 CScene *scene = <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getScene();
+01144 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp16">_ModelBank</a> = scene-&gt;getShapeBank();
+01145 IShape *is;
+01146
+01147
+01148 <a class="code" href="a04558.html#a11">uint32</a> vFormat = 0;
+01149 <a class="code" href="a04558.html#a15">uint</a> numVerts = 0;
+01150 <a class="code" href="a04558.html#a7">uint8</a> uvRouting[CVertexBuffer::MaxStage];
+01151
+01152 <span class="keywordflow">if</span> (<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp14">_MeshShapeFileName</a>.size() == 0)
+01153 {
+01154 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp14">_MeshShapeFileName</a>.resize(1);
+01155 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp14">_MeshShapeFileName</a>[0] = <a class="code" href="a05363.html#a492">DummyShapeName</a>;
+01156 }
+01157
+01158
+01159 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp13">_Meshes</a>.resize(<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp14">_MeshShapeFileName</a>.size());
+01160 <span class="keywordflow">if</span> (numVertsVect) numVertsVect-&gt;resize(<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp14">_MeshShapeFileName</a>.size());
+01161 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> k = 0; k &lt; <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp14">_MeshShapeFileName</a>.size(); ++k)
+01162 {
+01163 <span class="keywordflow">if</span> (<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp16">_ModelBank</a>-&gt;isPresent(_MeshShapeFileName[k]) == CShapeBank::Present)
+01164 {
+01165 CMesh *mesh = dynamic_cast&lt;CMesh *&gt;( <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp16">_ModelBank</a>-&gt;addRef(_MeshShapeFileName[k]));
+01166 <span class="keywordflow">if</span> (!mesh)
+01167 {
+01168 <a class="code" href="a04199.html#a2">nlwarning</a>(<span class="stringliteral">"Tried to bind a shape that is not a mesh to a mesh particle : %s"</span>, _MeshShapeFileName[k].c_str());
+01169 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp16">_ModelBank</a>-&gt;release(is);
+01170 ok = <span class="keyword">false</span>;
+01171 <span class="keywordflow">if</span> (numVertsVect) (*numVertsVect)[k] = <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshw6NL3D_1_1CPSConstraintMeshw3">ShapeFileIsNotAMesh</a>;
+01172 }
+01173 <span class="keywordflow">else</span>
+01174 {
+01175 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp13">_Meshes</a>[k] = mesh;
+01177 <span class="keywordflow">if</span> (k == 0)
+01178 {
+01179 vFormat = mesh-&gt;getVertexBuffer().getVertexFormat();
+01180 numVerts = mesh-&gt;getVertexBuffer().getNumVertices();
+01181 std::copy(mesh-&gt;getVertexBuffer().getUVRouting(), mesh-&gt;getVertexBuffer().getUVRouting() + CVertexBuffer::MaxStage, uvRouting);
+01182 <span class="keywordflow">if</span> (numVertsVect) (*numVertsVect)[k] = (<a class="code" href="a04558.html#a14">sint</a>) numVerts;
+01183 }
+01184 <span class="keywordflow">else</span>
+01185 {
+01186 <span class="keywordflow">if</span> (vFormat != mesh-&gt;getVertexBuffer().getVertexFormat())
+01187 {
+01188 <a class="code" href="a04199.html#a2">nlwarning</a>(<span class="stringliteral">"Vertex format differs between meshs"</span>);
+01189 ok = <span class="keyword">false</span>;
+01190 }
+01191 <span class="keywordflow">if</span> (numVerts != mesh-&gt;getVertexBuffer().getNumVertices())
+01192 {
+01193 <a class="code" href="a04199.html#a2">nlwarning</a>(<span class="stringliteral">"Num vertices differs between meshs"</span>);
+01194 ok = <span class="keyword">false</span>;
+01195 }
+01196 <span class="keywordflow">if</span> (!std::equal(mesh-&gt;getVertexBuffer().getUVRouting(), mesh-&gt;getVertexBuffer().getUVRouting() + CVertexBuffer::MaxStage, uvRouting))
+01197 {
+01198 <a class="code" href="a04199.html#a2">nlwarning</a>(<span class="stringliteral">"UV routing differs between meshs"</span>);
+01199 ok = <span class="keyword">false</span>;
+01200 }
+01201 <span class="keywordflow">if</span> (numVertsVect) (*numVertsVect)[k] = (<a class="code" href="a04558.html#a14">sint</a>) mesh-&gt;getVertexBuffer().getNumVertices();
+01202 }
+01203 }
+01204 }
+01205 <span class="keywordflow">else</span>
+01206 {
+01207 <span class="keywordflow">try</span>
+01208 {
+01209 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp16">_ModelBank</a>-&gt;load(_MeshShapeFileName[k]);
+01210 }
+01211 <span class="keywordflow">catch</span> (<a class="code" href="a03800.html">NLMISC::EPathNotFound</a> &amp;)
+01212 {
+01213 <a class="code" href="a04199.html#a2">nlwarning</a>(<span class="stringliteral">"mesh not found : %s; used as a constraint mesh particle"</span>, _MeshShapeFileName[k].c_str());
+01214 <span class="comment">// shape not found, so not present in the shape bank -&gt; we create a dummy shape</span>
+01215 }
+01216
+01217 <span class="keywordflow">if</span> (<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp16">_ModelBank</a>-&gt;isPresent(_MeshShapeFileName[k]) != CShapeBank::Present)
+01218 {
+01219 ok = <span class="keyword">false</span>;
+01220 <span class="keywordflow">if</span> (numVertsVect) (*numVertsVect)[k] = <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshw6NL3D_1_1CPSConstraintMeshw4">ShapeFileNotLoaded</a>;
+01221 }
+01222 <span class="keywordflow">else</span>
+01223 {
+01224 is = <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp16">_ModelBank</a>-&gt;addRef(_MeshShapeFileName[k]);
+01225 <span class="keywordflow">if</span> (!dynamic_cast&lt;CMesh *&gt;(is)) <span class="comment">// is it a mesh</span>
+01226 {
+01227 <a class="code" href="a04199.html#a2">nlwarning</a>(<span class="stringliteral">"Tried to bind a shape that is not a mesh to a mesh particle : %s"</span>, _MeshShapeFileName[k].c_str());
+01228 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp16">_ModelBank</a>-&gt;release(is);
+01229 ok = <span class="keyword">false</span>;
+01230 <span class="keywordflow">if</span> (numVertsVect) (*numVertsVect)[k] = <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshw6NL3D_1_1CPSConstraintMeshw3">ShapeFileIsNotAMesh</a>;
+01231 }
+01232 <span class="keywordflow">else</span>
+01233 {
+01234 CMesh &amp;m = * NLMISC::safe_cast&lt;CMesh *&gt;(is);
+01236 <span class="keywordflow">if</span> (m.getVertexBuffer().getNumVertices() &gt; <a class="code" href="a05363.html#a263">ConstraintMeshMaxNumVerts</a>)
+01237 {
+01238 <a class="code" href="a04199.html#a2">nlwarning</a>(<span class="stringliteral">"Tried to bind a mesh that has more than %d vertices to a particle mesh: %s"</span>, (<span class="keywordtype">int</span>) ConstraintMeshMaxNumVerts, _MeshShapeFileName[k].c_str());
+01239 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp16">_ModelBank</a>-&gt;release(is);
+01240 ok = <span class="keyword">false</span>;
+01241 <span class="keywordflow">if</span> (numVertsVect) (*numVertsVect)[k] = <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshw6NL3D_1_1CPSConstraintMeshw5">ShapeHasTooMuchVertices</a>;
+01242 }
+01243 <span class="keywordflow">else</span>
+01244 {
+01245 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp13">_Meshes</a>[k] = &amp;m;
+01246 <span class="keywordflow">if</span> (k == 0)
+01247 {
+01248 vFormat = m.getVertexBuffer().getVertexFormat();
+01249 numVerts = m.getVertexBuffer().getNumVertices();
+01250 std::copy(m.getVertexBuffer().getUVRouting(), m.getVertexBuffer().getUVRouting() + CVertexBuffer::MaxStage, uvRouting);
+01251 <span class="keywordflow">if</span> (numVertsVect) (*numVertsVect)[k] = numVerts;
+01252 }
+01253 <span class="keywordflow">else</span>
+01254 {
+01255 <a class="code" href="a04558.html#a11">uint32</a> otherVFormat = m.getVertexBuffer().getVertexFormat();
+01256 <a class="code" href="a04558.html#a15">uint</a> otherNumVerts = m.getVertexBuffer().getNumVertices();
+01257 <span class="keywordflow">if</span> (otherVFormat != vFormat ||
+01258 otherNumVerts != numVerts ||
+01259 !(std::equal(m.getVertexBuffer().getUVRouting(), m.getVertexBuffer().getUVRouting() + CVertexBuffer::MaxStage, uvRouting)))
+01260 {
+01261 ok = <span class="keyword">false</span>;
+01262 }
+01263 <span class="keywordflow">if</span> (numVertsVect) (*numVertsVect)[k] = otherNumVerts;
+01264 }
+01265 }
+01266 }
+01267 }
+01268 }
+01269
+01270 <span class="keywordflow">if</span> (!ok)
+01271 {
+01272 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshb22">releaseShapes</a>();
+01273 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp13">_Meshes</a>.resize(1);
+01274 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp13">_Meshes</a>[0] = <a class="code" href="a05363.html#a497">GetDummyMeshFromBank</a>(*_ModelBank);
+01275 <span class="keywordflow">if</span> (!numVertsVect) <span class="keywordflow">break</span>;
+01276 }
+01277 }
+01278
+01279
+01280 <span class="keyword">const</span> CMesh &amp;m = *<a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp13">_Meshes</a>[0];
+01281
+01283 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp19">_NumFaces</a> = <a class="code" href="a05363.html#a494">getMeshNumTri</a>(m);
+01284 <a class="code" href="a03162.html#NL3D_1_1CPSTailDotb14">notifyOwnerMaxNumFacesChanged</a>();
+01285
+01287 <span class="keywordtype">bool</span> <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMesha56">hasTransparentFaces</a>, <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMesha54">hasOpaqueFaces</a>;
+01288 <a class="code" href="a05363.html#a495">CheckForOpaqueAndTransparentFacesInMesh</a>(m, hasTransparentFaces, hasOpaqueFaces);
+01289 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp9">_HasTransparentFaces</a> = hasTransparentFaces;
+01290 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp8">_HasOpaqueFaces</a> = hasOpaqueFaces;
+01291 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp7">_HasLightableFaces</a> = <a class="code" href="a05363.html#a496">CheckForLightableFacesInMesh</a>(m);
+01292 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp5">_GlobalAnimDate</a> = <a class="code" href="a02691.html#NL3D_1_1CPSZoneSpherep6">_Owner</a>-&gt;getOwner()-&gt;getSystemDate();
+01293 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp27">_Touched</a> = 0;
+01294 <a class="code" href="a03161.html#NL3D_1_1CPSConstraintMeshp28">_ValidBuild</a> = ok ? 1 : 0;
+01295 <a class="code" href="a04199.html#a6">nlassert</a>(_Meshes.size() &gt; 0);
+01296
+01297 <span class="keywordflow">return</span> ok;
+01298
+01299 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshb33" doxytag="NL3D::CPSConstraintMesh::updateMatAndVbForColor" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPSConstraintMesh::updateMatAndVbForColor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Update the material and the vb and the like so that they match the color scheme.
+<p>
+
+<p>
+Implements <a class="el" href="a03157.html#NL3D_1_1CPSColoredParticleb4">NL3D::CPSColoredParticle</a>.
+<p>
+Definition at line <a class="el" href="a06250.html#l01904">1904</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+<div class="fragment"><pre>01905 {
+01906 <span class="comment">// nothing to do for us...</span>
+01907 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDota64" doxytag="NL3D::CPSConstraintMesh::usesGlobalColorLighting" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CPSParticle::usesGlobalColorLighting </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns true if the object can use global lighting color. (example : 'lookat' particle do not have normals, so they use global lighting color instead
+<p>
+Definition at line <a class="el" href="a06258.html#l00103">103</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+References <a class="el" href="a06258.html#l00184">NL3D::CPSParticle::_UsesGlobalColorLighting</a>.
+<p>
+Referenced by <a class="el" href="a06283.html#l00242">NL3D::CPSTailDot::displayRibbons()</a>, <a class="el" href="a06277.html#l00319">NL3D::CPSRibbonLookAt::displayRibbons()</a>, <a class="el" href="a06273.html#l00471">NL3D::CPSRibbon::displayRibbons()</a>, <a class="el" href="a06279.html#l00286">NL3D::CPSShockWave::draw()</a>, <a class="el" href="a06226.html#l00122">NL3D::CPSDot::draw()</a>, <a class="el" href="a06283.html#l00508">NL3D::CPSTailDot::setupGlobalColor()</a>, <a class="el" href="a06235.html#l00286">NL3D::CPSFanLight::setupMaterial()</a>, <a class="el" href="a06273.html#l01026">NL3D::CPSRibbon::setupTexturedGlobalColor()</a>, <a class="el" href="a06273.html#l00984">NL3D::CPSRibbon::setupUntexturedGlobalColor()</a>, <a class="el" href="a06283.html#l00165">NL3D::CPSTailDot::step()</a>, <a class="el" href="a06277.html#l00119">NL3D::CPSRibbonLookAt::step()</a>, <a class="el" href="a06273.html#l00266">NL3D::CPSRibbon::step()</a>, <a class="el" href="a06262.html#l00520">NL3D::CPSQuad::updateMatBeforeRendering()</a>, <a class="el" href="a06283.html#l00443">NL3D::CPSTailDot::updateMaterial()</a>, <a class="el" href="a06273.html#l00890">NL3D::CPSRibbon::updateTexturedMaterial()</a>, and <a class="el" href="a06273.html#l00824">NL3D::CPSRibbon::updateUntexturedMaterial()</a>.
+<p>
+<div class="fragment"><pre>00103 { <span class="keywordflow">return</span> _UsesGlobalColorLighting; }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Friends And Related Function Documentation</h2>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshn0" doxytag="NL3D::CPSConstraintMesh::CMeshDisplayShare" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> friend class <a class="el" href="a03168.html">CMeshDisplayShare</a><code> [friend]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06251.html#l00505">505</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshn1" doxytag="NL3D::CPSConstraintMesh::CPSConstraintMeshHelper" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> friend class <a class="el" href="a03172.html">CPSConstraintMeshHelper</a><code> [friend]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06251.html#l00382">382</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpheren0" doxytag="NL3D::CPSConstraintMesh::CPSLocated" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> friend class <a class="el" href="a03214.html">CPSLocated</a><code> [friend, inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a02690.html#NL3D_1_1CPSTurbuln1">NL3D::CPSForce</a>.
+<p>
+Definition at line <a class="el" href="a06247.html#l00986">986</a> of file <a class="el" href="a06247.html">ps_located.h</a>. </td>
+ </tr>
+</table>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherep0" doxytag="NL3D::CPSConstraintMesh::_Active" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool <a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherep0">NL3D::CPSLocatedBindable::_Active</a><code> [protected, inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l01033">1033</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+Referenced by <a class="el" href="a06247.html#l00844">NL3D::CPSLocatedBindable::isActive()</a>, and <a class="el" href="a06247.html#l00843">NL3D::CPSLocatedBindable::setActive()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotp1" doxytag="NL3D::CPSConstraintMesh::_Color" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03337.html">CRGBA</a> <a class="el" href="a03157.html#NL3D_1_1CPSTailDotp1">NL3D::CPSColoredParticle::_Color</a><code> [protected, inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06258.html#l00226">226</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSTailDotp2" doxytag="NL3D::CPSConstraintMesh::_ColorScheme" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03136.html">CPSAttribMaker</a>&lt;<a class="el" href="a03337.html">CRGBA</a>&gt;* <a class="el" href="a03157.html#NL3D_1_1CPSTailDotp2">NL3D::CPSColoredParticle::_ColorScheme</a><code> [protected, inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06258.html#l00228">228</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+Referenced by <a class="el" href="a06235.html#l00072">NL3D::CPSFanLightHelper::drawFanLight()</a>, <a class="el" href="a06250.html#l00521">NL3D::CPSConstraintMeshHelper::drawMeshs()</a>, and <a class="el" href="a06250.html#l00793">NL3D::CPSConstraintMeshHelper::drawPrerotatedMeshs()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherep3" doxytag="NL3D::CPSConstraintMesh::_ExternID" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherep3">NL3D::CPSLocatedBindable::_ExternID</a><code> [protected, inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l01027">1027</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+Referenced by <a class="el" href="a06247.html#l00964">NL3D::CPSLocatedBindable::getExternID()</a>, <a class="el" href="a06246.html#l02149">NL3D::CPSLocatedBindable::setExternID()</a>, and <a class="el" href="a06246.html#l01984">NL3D::CPSLocatedBindable::~CPSLocatedBindable()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshp4" doxytag="NL3D::CPSConstraintMesh::_GlobalAnimationEnabled" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a7">uint8</a> <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshp4">NL3D::CPSConstraintMesh::_GlobalAnimationEnabled</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06251.html#l00559">559</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l02189">getGlobalTexAnim()</a>, <a class="el" href="a06250.html#l02199">getTexAnimType()</a>, <a class="el" href="a06250.html#l01855">newElement()</a>, <a class="el" href="a06250.html#l02180">setGlobalTexAnim()</a>, <a class="el" href="a06250.html#l02205">setTexAnimType()</a>, and <a class="el" href="a06250.html#l01729">setupRenderPasses()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshp5" doxytag="NL3D::CPSConstraintMesh::_GlobalAnimDate" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshp5">NL3D::CPSConstraintMesh::_GlobalAnimDate</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06251.html#l00574">574</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l00521">NL3D::CPSConstraintMeshHelper::drawMeshs()</a>, <a class="el" href="a06250.html#l00793">NL3D::CPSConstraintMeshHelper::drawPrerotatedMeshs()</a>, <a class="el" href="a06250.html#l01855">newElement()</a>, and <a class="el" href="a06250.html#l01134">update()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshp6" doxytag="NL3D::CPSConstraintMesh::_GlobalTexAnims" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshx0">PGlobalTexAnims</a> <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshp6">NL3D::CPSConstraintMesh::_GlobalTexAnims</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06251.html#l00573">573</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l02189">getGlobalTexAnim()</a>, <a class="el" href="a06250.html#l02180">setGlobalTexAnim()</a>, <a class="el" href="a06250.html#l02205">setTexAnimType()</a>, and <a class="el" href="a06250.html#l01729">setupRenderPasses()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshp7" doxytag="NL3D::CPSConstraintMesh::_HasLightableFaces" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a7">uint8</a> <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshp7">NL3D::CPSConstraintMesh::_HasLightableFaces</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06251.html#l00561">561</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l00980">hasLightableFaces()</a>, and <a class="el" href="a06250.html#l01134">update()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshp8" doxytag="NL3D::CPSConstraintMesh::_HasOpaqueFaces" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a7">uint8</a> <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshp8">NL3D::CPSConstraintMesh::_HasOpaqueFaces</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06251.html#l00557">557</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l00972">hasOpaqueFaces()</a>, and <a class="el" href="a06250.html#l01134">update()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshp9" doxytag="NL3D::CPSConstraintMesh::_HasTransparentFaces" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a7">uint8</a> <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshp9">NL3D::CPSConstraintMesh::_HasTransparentFaces</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06251.html#l00555">555</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l00963">hasTransparentFaces()</a>, and <a class="el" href="a06250.html#l01134">update()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshp10" doxytag="NL3D::CPSConstraintMesh::_IndexInPrecompBasis" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03254.html">CPSVector</a>&lt;<a class="el" href="a04558.html#a11">uint32</a>&gt;::<a class="el" href="a03254.html">V</a> <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshp10">NL3D::CPSConstraintMesh::_IndexInPrecompBasis</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+this contain an index in _PrecompBasis for each particle
+<p>
+
+<p>
+Definition at line <a class="el" href="a06251.html#l00533">533</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherep4" doxytag="NL3D::CPSConstraintMesh::_LOD" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a05363.html#a558">TPSLod</a> <a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherep4">NL3D::CPSLocatedBindable::_LOD</a><code> [protected, inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+tells when this object must be dealt with
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l01029">1029</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+Referenced by <a class="el" href="a06247.html#l00954">NL3D::CPSLocatedBindable::getLOD()</a>, and <a class="el" href="a06247.html#l00952">NL3D::CPSLocatedBindable::setLOD()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshp12" doxytag="NL3D::CPSConstraintMesh::_MaxAngularVelocity" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshp12">NL3D::CPSConstraintMesh::_MaxAngularVelocity</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06251.html#l00518">518</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMesht0" doxytag="NL3D::CPSConstraintMesh::_MeshDisplayShare" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03168.html">CPSConstraintMesh::CMeshDisplayShare</a> <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesht0">NL3D::CPSConstraintMesh::_MeshDisplayShare</a><code> [static, protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+manage vertex buffers and primitive blocks used for rendering
+<p>
+
+<p>
+Referenced by <a class="el" href="a06250.html#l00521">NL3D::CPSConstraintMeshHelper::drawMeshs()</a>, <a class="el" href="a06250.html#l00793">NL3D::CPSConstraintMeshHelper::drawPrerotatedMeshs()</a>, and <a class="el" href="a06250.html#l02238">restoreMaterials()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshp13" doxytag="NL3D::CPSConstraintMesh::_Meshes" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03254.html">TMeshVect</a> <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshp13">NL3D::CPSConstraintMesh::_Meshes</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06251.html#l00468">468</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l00521">NL3D::CPSConstraintMeshHelper::drawMeshs()</a>, <a class="el" href="a06250.html#l00793">NL3D::CPSConstraintMeshHelper::drawPrerotatedMeshs()</a>, <a class="el" href="a06250.html#l01508">releaseShapes()</a>, <a class="el" href="a06250.html#l02238">restoreMaterials()</a>, and <a class="el" href="a06250.html#l01134">update()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshp14" doxytag="NL3D::CPSConstraintMesh::_MeshShapeFileName" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03254.html">TMeshNameVect</a> <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshp14">NL3D::CPSConstraintMesh::_MeshShapeFileName</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06251.html#l00467">467</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l01029">getNumShapes()</a>, <a class="el" href="a06250.html#l00999">getShape()</a>, <a class="el" href="a06250.html#l01039">getShapesNames()</a>, <a class="el" href="a06250.html#l00989">setShape()</a>, <a class="el" href="a06250.html#l01020">setShapes()</a>, and <a class="el" href="a06250.html#l01134">update()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshp15" doxytag="NL3D::CPSConstraintMesh::_MinAngularVelocity" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshp15">NL3D::CPSConstraintMesh::_MinAngularVelocity</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06251.html#l00517">517</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshp16" doxytag="NL3D::CPSConstraintMesh::_ModelBank" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03376.html">CShapeBank</a>* <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshp16">NL3D::CPSConstraintMesh::_ModelBank</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06251.html#l00474">474</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l01521">clean()</a>, <a class="el" href="a06250.html#l01508">releaseShapes()</a>, and <a class="el" href="a06250.html#l01134">update()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshp17" doxytag="NL3D::CPSConstraintMesh::_ModulatedStages" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a7">uint8</a> <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshp17">NL3D::CPSConstraintMesh::_ModulatedStages</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A 'bitfield' to force some stage to be modulated with the primary color.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06251.html#l00550">550</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l01910">forceStageModulationByColor()</a>, <a class="el" href="a06250.html#l01924">isStageModulationForced()</a>, and <a class="el" href="a06250.html#l01696">setupMaterialColor()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshz747_0" doxytag="NL3D::CPSConstraintMesh::_MorphScheme" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03136.html">CPSAttribMaker</a>&lt;float&gt;* <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshz747_0">NL3D::CPSConstraintMesh::_MorphScheme</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06251.html#l00580">580</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l01874">deleteElement()</a>, <a class="el" href="a06250.html#l00521">NL3D::CPSConstraintMeshHelper::drawMeshs()</a>, <a class="el" href="a06250.html#l01097">getMorphScheme()</a>, <a class="el" href="a06250.html#l01855">newElement()</a>, <a class="el" href="a06250.html#l01889">resize()</a>, <a class="el" href="a06250.html#l01089">setMorphScheme()</a>, <a class="el" href="a06250.html#l01074">setMorphValue()</a>, and <a class="el" href="a06250.html#l01499">~CPSConstraintMesh()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshz747_1" doxytag="NL3D::CPSConstraintMesh::_MorphValue" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshz747_1">NL3D::CPSConstraintMesh::_MorphValue</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06251.html#l00579">579</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l00521">NL3D::CPSConstraintMeshHelper::drawMeshs()</a>, <a class="el" href="a06250.html#l01083">getMorphValue()</a>, and <a class="el" href="a06250.html#l01074">setMorphValue()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherep5" doxytag="NL3D::CPSConstraintMesh::_Name" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::string <a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherep5">NL3D::CPSLocatedBindable::_Name</a><code> [protected, inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l01031">1031</a> of file <a class="el" href="a06247.html">ps_located.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshp19" doxytag="NL3D::CPSConstraintMesh::_NumFaces" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshp19">NL3D::CPSConstraintMesh::_NumFaces</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06251.html#l00471">471</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l00954">getMaxNumFaces()</a>, and <a class="el" href="a06250.html#l01134">update()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSZoneSpherep6" doxytag="NL3D::CPSConstraintMesh::_Owner" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03214.html">CPSLocated</a>* <a class="el" href="a02691.html#NL3D_1_1CPSZoneSpherep6">NL3D::CPSLocatedBindable::_Owner</a><code> [protected, inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06247.html#l01026">1026</a> of file <a class="el" href="a06247.html">ps_located.h</a>.
+<p>
+Referenced by <a class="el" href="a06231.html#l00055">NL3D::CPSFaceHelper::drawFaces()</a>, <a class="el" href="a06235.html#l00072">NL3D::CPSFanLightHelper::drawFanLight()</a>, <a class="el" href="a06233.html#l00379">NL3D::CPSFaceLookAtHelper::drawLookAt()</a>, <a class="el" href="a06233.html#l00089">NL3D::CPSFaceLookAtHelper::drawLookAtAlignOnMotion()</a>, <a class="el" href="a06250.html#l00521">NL3D::CPSConstraintMeshHelper::drawMeshs()</a>, and <a class="el" href="a06250.html#l00793">NL3D::CPSConstraintMeshHelper::drawPrerotatedMeshs()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSSizedParticlep0" doxytag="NL3D::CPSConstraintMesh::_ParticleSize" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float <a class="el" href="a03164.html#NL3D_1_1CPSSizedParticlep0">NL3D::CPSSizedParticle::_ParticleSize</a><code> [protected, inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06258.html#l00289">289</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+Referenced by <a class="el" href="a06231.html#l00055">NL3D::CPSFaceHelper::drawFaces()</a>, <a class="el" href="a06235.html#l00072">NL3D::CPSFanLightHelper::drawFanLight()</a>, <a class="el" href="a06233.html#l00379">NL3D::CPSFaceLookAtHelper::drawLookAt()</a>, <a class="el" href="a06233.html#l00089">NL3D::CPSFaceLookAtHelper::drawLookAtAlignOnMotion()</a>, <a class="el" href="a06250.html#l00521">NL3D::CPSConstraintMeshHelper::drawMeshs()</a>, <a class="el" href="a06250.html#l00793">NL3D::CPSConstraintMeshHelper::drawPrerotatedMeshs()</a>, <a class="el" href="a06258.html#l00274">NL3D::CPSSizedParticle::getSize()</a>, and <a class="el" href="a06257.html#l00192">NL3D::CPSSizedParticle::setSize()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSShockWavep11" doxytag="NL3D::CPSConstraintMesh::_PlaneBasis" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03083.html">CPlaneBasis</a> <a class="el" href="a03163.html#NL3D_1_1CPSShockWavep11">NL3D::CPSRotated3DPlaneParticle::_PlaneBasis</a><code> [protected, inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06258.html#l00697">697</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+Referenced by <a class="el" href="a06257.html#l00456">NL3D::CPSRotated3DPlaneParticle::CPSRotated3DPlaneParticle()</a>, <a class="el" href="a06231.html#l00055">NL3D::CPSFaceHelper::drawFaces()</a>, <a class="el" href="a06250.html#l00521">NL3D::CPSConstraintMeshHelper::drawMeshs()</a>, <a class="el" href="a06258.html#l00678">NL3D::CPSRotated3DPlaneParticle::getPlaneBasis()</a>, and <a class="el" href="a06257.html#l00448">NL3D::CPSRotated3DPlaneParticle::setPlaneBasis()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSShockWavep12" doxytag="NL3D::CPSConstraintMesh::_PlaneBasisScheme" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03136.html">CPSAttribMaker</a>&lt;<a class="el" href="a03083.html">CPlaneBasis</a>&gt;* <a class="el" href="a03163.html#NL3D_1_1CPSShockWavep12">NL3D::CPSRotated3DPlaneParticle::_PlaneBasisScheme</a><code> [protected, inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06258.html#l00695">695</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+Referenced by <a class="el" href="a06258.html#l00703">NL3D::CPSRotated3DPlaneParticle::deletePlaneBasisElement()</a>, <a class="el" href="a06231.html#l00055">NL3D::CPSFaceHelper::drawFaces()</a>, <a class="el" href="a06250.html#l00521">NL3D::CPSConstraintMeshHelper::drawMeshs()</a>, <a class="el" href="a06258.html#l00670">NL3D::CPSRotated3DPlaneParticle::getPlaneBasisScheme()</a>, <a class="el" href="a06258.html#l00699">NL3D::CPSRotated3DPlaneParticle::newPlaneBasisElement()</a>, <a class="el" href="a06258.html#l00707">NL3D::CPSRotated3DPlaneParticle::resizePlaneBasis()</a>, <a class="el" href="a06257.html#l00448">NL3D::CPSRotated3DPlaneParticle::setPlaneBasis()</a>, <a class="el" href="a06257.html#l00439">NL3D::CPSRotated3DPlaneParticle::setPlaneBasisScheme()</a>, and <a class="el" href="a06257.html#l00463">NL3D::CPSRotated3DPlaneParticle::~CPSRotated3DPlaneParticle()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshp24" doxytag="NL3D::CPSConstraintMesh::_PrecompBasis" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03254.html">CPSVector</a>&lt;<a class="el" href="a03170.html">CPlaneBasisPair</a>&gt;::<a class="el" href="a03254.html">V</a> <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshp24">NL3D::CPSConstraintMesh::_PrecompBasis</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+a set of precomp basis, before and after transfomation in world space, used if the hint 'RotateTheSame' has been called
+<p>
+
+<p>
+Definition at line <a class="el" href="a06251.html#l00530">530</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMesht1" doxytag="NL3D::CPSConstraintMesh::_PreRotatedMeshVB" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03692.html">CVertexBuffer</a> <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesht1">NL3D::CPSConstraintMesh::_PreRotatedMeshVB</a><code> [static, protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+vertex buffer used with prerotated meshs
+<p>
+
+<p>
+Definition at line <a class="el" href="a06250.html#l00060">60</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l02021">initPrerotVB()</a>, and <a class="el" href="a06250.html#l01531">makePrerotatedVb()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMesht2" doxytag="NL3D::CPSConstraintMesh::_PreRotatedMeshVBWithNormal" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03692.html">CVertexBuffer</a> <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMesht2">NL3D::CPSConstraintMesh::_PreRotatedMeshVBWithNormal</a><code> [static, protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06250.html#l00061">61</a> of file <a class="el" href="a06250.html">ps_mesh.cpp</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l02021">initPrerotVB()</a>, and <a class="el" href="a06250.html#l01531">makePrerotatedVb()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshp25" doxytag="NL3D::CPSConstraintMesh::_ReinitGlobalAnimTimeOnNewElement" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a7">uint8</a> <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshp25">NL3D::CPSConstraintMesh::_ReinitGlobalAnimTimeOnNewElement</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06251.html#l00560">560</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>.
+<p>
+Referenced by <a class="el" href="a06251.html#l00360">forceGlobalAnimTimeResetOnNewElement()</a>, <a class="el" href="a06251.html#l00361">isGlobalAnimTimeResetOnNewElementForced()</a>, and <a class="el" href="a06250.html#l01855">newElement()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSSizedParticlep1" doxytag="NL3D::CPSConstraintMesh::_SizeScheme" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03136.html">CPSAttribMaker</a>&lt;float&gt;* <a class="el" href="a03164.html#NL3D_1_1CPSSizedParticlep1">NL3D::CPSSizedParticle::_SizeScheme</a><code> [protected, inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06258.html#l00290">290</a> of file <a class="el" href="a06258.html">ps_particle_basic.h</a>.
+<p>
+Referenced by <a class="el" href="a06258.html#l00295">NL3D::CPSSizedParticle::deleteSizeElement()</a>, <a class="el" href="a06231.html#l00055">NL3D::CPSFaceHelper::drawFaces()</a>, <a class="el" href="a06235.html#l00072">NL3D::CPSFanLightHelper::drawFanLight()</a>, <a class="el" href="a06233.html#l00379">NL3D::CPSFaceLookAtHelper::drawLookAt()</a>, <a class="el" href="a06233.html#l00089">NL3D::CPSFaceLookAtHelper::drawLookAtAlignOnMotion()</a>, <a class="el" href="a06250.html#l00521">NL3D::CPSConstraintMeshHelper::drawMeshs()</a>, <a class="el" href="a06250.html#l00793">NL3D::CPSConstraintMeshHelper::drawPrerotatedMeshs()</a>, <a class="el" href="a06258.html#l00265">NL3D::CPSSizedParticle::getSizeScheme()</a>, <a class="el" href="a06258.html#l00291">NL3D::CPSSizedParticle::newSizeElement()</a>, <a class="el" href="a06258.html#l00299">NL3D::CPSSizedParticle::resizeSize()</a>, <a class="el" href="a06257.html#l00192">NL3D::CPSSizedParticle::setSize()</a>, <a class="el" href="a06257.html#l00183">NL3D::CPSSizedParticle::setSizeScheme()</a>, and <a class="el" href="a06257.html#l00205">NL3D::CPSSizedParticle::~CPSSizedParticle()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshp27" doxytag="NL3D::CPSConstraintMesh::_Touched" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a7">uint8</a> <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshp27">NL3D::CPSConstraintMesh::_Touched</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06251.html#l00553">553</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshp28" doxytag="NL3D::CPSConstraintMesh::_ValidBuild" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a7">uint8</a> <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshp28">NL3D::CPSConstraintMesh::_ValidBuild</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06251.html#l00562">562</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l01010">isValidBuild()</a>, <a class="el" href="a06250.html#l00989">setShape()</a>, <a class="el" href="a06250.html#l01020">setShapes()</a>, and <a class="el" href="a06250.html#l01134">update()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPSConstraintMeshp29" doxytag="NL3D::CPSConstraintMesh::_VertexColorLightingForced" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a7">uint8</a> <a class="el" href="a03161.html#NL3D_1_1CPSConstraintMeshp29">NL3D::CPSConstraintMesh::_VertexColorLightingForced</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06251.html#l00558">558</a> of file <a class="el" href="a06251.html">ps_mesh.h</a>.
+<p>
+Referenced by <a class="el" href="a06251.html#l00314">forceVertexColorLighting()</a>, <a class="el" href="a06251.html#l00317">isVertexColorLightingForced()</a>, and <a class="el" href="a06250.html#l01729">setupRenderPasses()</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a06251.html">ps_mesh.h</a><li><a class="el" href="a06250.html">ps_mesh.cpp</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 07:06:20 2004 for NeL by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
+</a>1.3.6 </small></address>
+</body>
+</html>