aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/a02801.html
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--docs/doxygen/nel/a02801.html1357
1 files changed, 1357 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a02801.html b/docs/doxygen/nel/a02801.html
new file mode 100644
index 00000000..3fc1e207
--- /dev/null
+++ b/docs/doxygen/nel/a02801.html
@@ -0,0 +1,1357 @@
+<!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::CLodCharacterShape 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::CLodCharacterShape Class Reference</h1><code>#include &lt;<a class="el" href="a05938.html">lod_character_shape.h</a>&gt;</code>
+<p>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A very Small Shape with anims encoded as Key Meshes. Used for Lod of skinned meshes NB: normals are not skinned (for anim size consideration). <dl compact><dt><b>Author:</b></dt><dd>Lionel Berenguier <p>
+Nevrax France </dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>2002 </dd></dl>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05938.html#l00130">130</a> of file <a class="el" href="a05938.html">lod_character_shape.h</a>.<table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02801.html#NL3D_1_1CLodCharacterShapea0">addAnim</a> (const <a class="el" href="a02803.html">CAnimBuild</a> &amp;animBuild)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02801.html#NL3D_1_1CLodCharacterShapea1">buildMesh</a> (const std::string &amp;name, const <a class="el" href="a02808.html">CLodCharacterShapeBuild</a> &amp;lodBuild)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02801.html#NL3D_1_1CLodCharacterShapea2">CLodCharacterShape</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <a href="#NL3D_1_1CLodCharacterShapea2"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a14">sint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02801.html#NL3D_1_1CLodCharacterShapea3">getAnimIdByName</a> (const std::string &amp;name) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the animId from a name. -1 if not found <a href="#NL3D_1_1CLodCharacterShapea3"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02805.html">CVector3s</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02801.html#NL3D_1_1CLodCharacterShapea4">getAnimKey</a> (<a class="el" href="a04558.html#a15">uint</a> animId, <a class="el" href="a05363.html#a367">TGlobalAnimationTime</a> time, bool wrapMode, <a class="el" href="a03128.html">CVector</a> &amp;unPackScaleFactor) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a14">sint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02801.html#NL3D_1_1CLodCharacterShapea5">getBoneIdByName</a> (const std::string &amp;name) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get a bone id, according to its name. -1 if not found <a href="#NL3D_1_1CLodCharacterShapea5"></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="a02801.html#NL3D_1_1CLodCharacterShapea6">getName</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get name of this lod. <a href="#NL3D_1_1CLodCharacterShapea6"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03128.html">CVector</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02801.html#NL3D_1_1CLodCharacterShapea7">getNormals</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get a ptr to the triangles indices <a href="#NL3D_1_1CLodCharacterShapea7"></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="a02801.html#NL3D_1_1CLodCharacterShapea8">getNumBones</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the number of bones <a href="#NL3D_1_1CLodCharacterShapea8"></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="a02801.html#NL3D_1_1CLodCharacterShapea9">getNumTriangles</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the number of triangles of this mesh <a href="#NL3D_1_1CLodCharacterShapea9"></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="a02801.html#NL3D_1_1CLodCharacterShapea10">getNumVertices</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the number of vertices of this mesh <a href="#NL3D_1_1CLodCharacterShapea10"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a04558.html#a11">uint32</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02801.html#NL3D_1_1CLodCharacterShapea11">getTriangleArray</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get a ptr to the triangles indices <a href="#NL3D_1_1CLodCharacterShapea11"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03640.html">CUV</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02801.html#NL3D_1_1CLodCharacterShapea12">getUVs</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get a ptr on the UVs. <a href="#NL3D_1_1CLodCharacterShapea12"></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="a02801.html#NL3D_1_1CLodCharacterShapea13">serial</a> (<a class="el" href="a02270.html">NLMISC::IStream</a> &amp;f)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">serial this shape <a href="#NL3D_1_1CLodCharacterShapea13"></a><br><br></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Vertex per Bone AlphaTesting</div></td></tr>
+<tr><td colspan="2"><div class="groupText">This system is used for example to remove weapon of a Lod, using AlphaTesting (ie the polygons of the weapons are still drawn, but with alpha==0 =&gt; invisible) <br><br></div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02801.html#NL3D_1_1CLodCharacterShapez354_0">addBoneAlpha</a> (<a class="el" href="a04558.html#a15">uint</a> boneId, std::vector&lt; <a class="el" href="a04558.html#a7">uint8</a> &gt; &amp;tmpAlphas) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a bone alpha influence to tmpAlpha. <a href="#NL3D_1_1CLodCharacterShapez354_0"></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="a02801.html#NL3D_1_1CLodCharacterShapez354_1">startBoneAlpha</a> (std::vector&lt; <a class="el" href="a04558.html#a7">uint8</a> &gt; &amp;tmpAlphas) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">init the process by resize-ing a tmp uint8 vector of <a class="el" href="a02801.html#NL3D_1_1CLodCharacterShapea10">getNumVertices()</a> size, and reset to 0 <a href="#NL3D_1_1CLodCharacterShapez354_1"></a><br><br></td></tr>
+<tr><td colspan=2><br><h2>Private Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>typedef TStrIdMap::const_iterator&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02801.html#NL3D_1_1CLodCharacterShapey0">CstItStrIdMap</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>typedef TStrIdMap::iterator&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02801.html#NL3D_1_1CLodCharacterShapey1">ItStrIdMap</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>typedef std::map&lt; std::string,<br>
+ <a class="el" href="a04558.html#a11">uint32</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02801.html#NL3D_1_1CLodCharacterShapey2">TStrIdMap</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Map name To Id. <a href="#NL3D_1_1CLodCharacterShapey2"></a><br><br></td></tr>
+<tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02801.html#NL3D_1_1CLodCharacterShapey2">TStrIdMap</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02801.html#NL3D_1_1CLodCharacterShaper0">_AnimMap</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::vector&lt; <a class="el" href="a02802.html">CAnim</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02801.html#NL3D_1_1CLodCharacterShaper1">_Anims</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">List of animation. <a href="#NL3D_1_1CLodCharacterShaper1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02801.html#NL3D_1_1CLodCharacterShapey2">TStrIdMap</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02801.html#NL3D_1_1CLodCharacterShaper2">_BoneMap</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::vector&lt; <a class="el" href="a02804.html">CBoneInfluence</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02801.html#NL3D_1_1CLodCharacterShaper3">_Bones</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">List of bones and vertices they influence. <a href="#NL3D_1_1CLodCharacterShaper3"></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="a02801.html#NL3D_1_1CLodCharacterShaper4">_Name</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::vector&lt; <a class="el" href="a03128.html">CVector</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02801.html#NL3D_1_1CLodCharacterShaper5">_Normals</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="a02801.html#NL3D_1_1CLodCharacterShaper6">_NumTriangles</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="a02801.html#NL3D_1_1CLodCharacterShaper7">_NumVertices</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::vector&lt; <a class="el" href="a04558.html#a11">uint32</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02801.html#NL3D_1_1CLodCharacterShaper8">_TriangleIndices</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">numTriangles * 3. <a href="#NL3D_1_1CLodCharacterShaper8"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::vector&lt; <a class="el" href="a03640.html">CUV</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02801.html#NL3D_1_1CLodCharacterShaper9">_UVs</a></td></tr>
+
+</table>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="NL3D_1_1CLodCharacterShapey0" doxytag="NL3D::CLodCharacterShape::CstItStrIdMap" ></a><p>
+<table class="mdTable" 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 TStrIdMap::const_iterator <a class="el" href="a02801.html#NL3D_1_1CLodCharacterShapey0">NL3D::CLodCharacterShape::CstItStrIdMap</a><code> [private]</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="a05938.html#l00278">278</a> of file <a class="el" href="a05938.html">lod_character_shape.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CLodCharacterShapey1" doxytag="NL3D::CLodCharacterShape::ItStrIdMap" ></a><p>
+<table class="mdTable" 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 TStrIdMap::iterator <a class="el" href="a02801.html#NL3D_1_1CLodCharacterShapey1">NL3D::CLodCharacterShape::ItStrIdMap</a><code> [private]</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="a05938.html#l00277">277</a> of file <a class="el" href="a05938.html">lod_character_shape.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CLodCharacterShapey2" doxytag="NL3D::CLodCharacterShape::TStrIdMap" ></a><p>
+<table class="mdTable" 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::map&lt;std::string, <a class="el" href="a04558.html#a11">uint32</a>&gt; <a class="el" href="a02801.html#NL3D_1_1CLodCharacterShapey2">NL3D::CLodCharacterShape::TStrIdMap</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Map name To Id.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05938.html#l00276">276</a> of file <a class="el" href="a05938.html">lod_character_shape.h</a>. </td>
+ </tr>
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="NL3D_1_1CLodCharacterShapea2" doxytag="NL3D::CLodCharacterShape::CLodCharacterShape" ></a><p>
+<table class="mdTable" 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::CLodCharacterShape::CLodCharacterShape </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>
+Constructor.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05937.html#l00330">330</a> of file <a class="el" href="a05937.html">lod_character_shape.cpp</a>.
+<p>
+References <a class="el" href="a05938.html#l00283">_NumTriangles</a>, and <a class="el" href="a05938.html#l00282">_NumVertices</a>.
+<p>
+<div class="fragment"><pre>00331 {
+00332 <a class="code" href="a02801.html#NL3D_1_1CLodCharacterShaper7">_NumVertices</a>= 0;
+00333 <a class="code" href="a02801.html#NL3D_1_1CLodCharacterShaper6">_NumTriangles</a>= 0;
+00334 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="NL3D_1_1CLodCharacterShapea0" doxytag="NL3D::CLodCharacterShape::addAnim" ></a><p>
+<table class="mdTable" 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::CLodCharacterShape::addAnim </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a02803.html">CAnimBuild</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>animBuild</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>
+Add an animation. many nlAssert to verify array size etc... return false, if same AnimName exist. NB: the entire animation is compressed to <a class="el" href="a02805.html">CVector3s</a> internally.
+<p>
+Definition at line <a class="el" href="a05937.html#l00411">411</a> of file <a class="el" href="a05937.html">lod_character_shape.cpp</a>.
+<p>
+References <a class="el" href="a05938.html#l00300">_AnimMap</a>, <a class="el" href="a05938.html#l00297">_Anims</a>, <a class="el" href="a05938.html#l00282">_NumVertices</a>, <a class="el" href="a05938.html#l00142">NL3D::CLodCharacterShape::CAnimBuild::AnimLength</a>, <a class="el" href="a05938.html#l00238">NL3D::CLodCharacterShape::CAnim::AnimLength</a>, <a class="el" href="a05587.html#l00115">NLMISC::clamp()</a>, <a class="el" href="a05937.html#l00541">getAnimIdByName()</a>, <a class="el" href="a05938.html#l00244">NL3D::CLodCharacterShape::CAnim::Keys</a>, <a class="el" href="a05938.html#l00145">NL3D::CLodCharacterShape::CAnimBuild::Keys</a>, <a class="el" href="a06682.html#l00192">NLMISC::CVector::maxof()</a>, <a class="el" href="a05938.html#l00234">NL3D::CLodCharacterShape::CAnim::Name</a>, <a class="el" href="a05938.html#l00138">NL3D::CLodCharacterShape::CAnimBuild::Name</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05938.html#l00140">NL3D::CLodCharacterShape::CAnimBuild::NumKeys</a>, <a class="el" href="a05938.html#l00236">NL3D::CLodCharacterShape::CAnim::NumKeys</a>, <a class="el" href="a05938.html#l00239">NL3D::CLodCharacterShape::CAnim::OOAnimLength</a>, <a class="el" href="a05981.html#l00097">sint16</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05938.html#l00241">NL3D::CLodCharacterShape::CAnim::UnPackScaleFactor</a>, <a class="el" href="a05646.html#l00237">v</a>, <a class="el" href="a05938.html#l00151">NL3D::CLodCharacterShape::CVector3s::x</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::x</a>, <a class="el" href="a06684.html#l00047">NLMISC::CVectorD::x</a>, <a class="el" href="a05938.html#l00151">NL3D::CLodCharacterShape::CVector3s::y</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::y</a>, <a class="el" href="a06684.html#l00047">NLMISC::CVectorD::y</a>, <a class="el" href="a05938.html#l00151">NL3D::CLodCharacterShape::CVector3s::z</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::z</a>, and <a class="el" href="a06684.html#l00047">NLMISC::CVectorD::z</a>.
+<p>
+Referenced by <a class="el" href="a05931.html#l00111">NL3D::CLodCharacterBuilder::addAnim()</a>.
+<p>
+<div class="fragment"><pre>00412 {
+00413 <span class="comment">// first, verify don't exist.</span>
+00414 <span class="keywordflow">if</span>(<a class="code" href="a02801.html#NL3D_1_1CLodCharacterShapea3">getAnimIdByName</a>(animBuild.Name)!=-1)
+00415 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00416
+00417 <span class="comment">// build basics of the animation</span>
+00418 CAnim dstAnim;
+00419 dstAnim.Name= animBuild.Name;
+00420 dstAnim.AnimLength= animBuild.AnimLength;
+00421 <span class="comment">// Possible to have an Anim with just one key. setup an epsilon for animLength if 0.</span>
+00422 <span class="keywordflow">if</span>(dstAnim.AnimLength&lt;=0)
+00423 dstAnim.AnimLength= 0.001f;
+00424 dstAnim.OOAnimLength= 1.0f / animBuild.AnimLength;
+00425 dstAnim.NumKeys= animBuild.NumKeys;
+00426 <span class="comment">// verify size of the array</span>
+00427 <a class="code" href="a04199.html#a6">nlassert</a>(dstAnim.NumKeys&gt;0);
+00428 <a class="code" href="a04199.html#a6">nlassert</a>(dstAnim.NumKeys * _NumVertices == animBuild.Keys.size());
+00429 <span class="comment">// resize dest array</span>
+00430 dstAnim.Keys.resize(animBuild.Keys.size());
+00431
+00432
+00433 <span class="comment">// Pack animation. 1st pass: compute max size over the animation vertices</span>
+00434 <a class="code" href="a04558.html#a15">uint</a> i;
+00435 <span class="comment">// minimum shape size is , say, 1 cm :)</span>
+00436 CVector maxSize(0.01f, 0.01f, 0.01f);
+00437 <span class="keywordflow">for</span>(i=0;i&lt;animBuild.Keys.size();i++)
+00438 {
+00439 <span class="comment">// take the maxSize of the abs values</span>
+00440 maxSize.maxof(maxSize, -animBuild.Keys[i]);
+00441 maxSize.maxof(maxSize, animBuild.Keys[i]);
+00442 }
+00443
+00444 <span class="comment">// compute the UnPackScaleFactor ie maxSize, to be multiplied by max Abs value of a sint16</span>
+00445 dstAnim.UnPackScaleFactor= maxSize * (1.0f/32767);
+00446
+00447 <span class="comment">// Pack animation. 2st pass: pack.</span>
+00448 <a class="code" href="a03664.html">CVectorD</a> packScaleFactor;
+00449 packScaleFactor.<a class="code" href="a03664.html#NLMISC_1_1CVectorDo0">x</a>= 1.0 / dstAnim.UnPackScaleFactor.x;
+00450 packScaleFactor.<a class="code" href="a03664.html#NLMISC_1_1CVectorDo1">y</a>= 1.0 / dstAnim.UnPackScaleFactor.y;
+00451 packScaleFactor.<a class="code" href="a03664.html#NLMISC_1_1CVectorDo2">z</a>= 1.0 / dstAnim.UnPackScaleFactor.z;
+00452 <span class="comment">// For all key vertices</span>
+00453 <span class="keywordflow">for</span>(i=0;i&lt;animBuild.Keys.size();i++)
+00454 {
+00455 CVector <a class="code" href="a04223.html#a576">v</a>= animBuild.Keys[i];
+00456 CVector3s &amp;dstV= dstAnim.Keys[i];
+00457
+00458 <span class="comment">// compress</span>
+00459 <a class="code" href="a04223.html#a576">v</a>.x= float(<a class="code" href="a04223.html#a576">v</a>.x*packScaleFactor.<a class="code" href="a03664.html#NLMISC_1_1CVectorDo0">x</a>);
+00460 <a class="code" href="a04223.html#a576">v</a>.y= float(<a class="code" href="a04223.html#a576">v</a>.y*packScaleFactor.<a class="code" href="a03664.html#NLMISC_1_1CVectorDo1">y</a>);
+00461 <a class="code" href="a04223.html#a576">v</a>.z= float(<a class="code" href="a04223.html#a576">v</a>.z*packScaleFactor.<a class="code" href="a03664.html#NLMISC_1_1CVectorDo2">z</a>);
+00462 <span class="comment">// clamp to sint16 limits (for float precision problems).</span>
+00463 <a class="code" href="a05378.html#a374">clamp</a>(<a class="code" href="a04223.html#a576">v</a>.x, -32767, 32767);
+00464 <a class="code" href="a05378.html#a374">clamp</a>(<a class="code" href="a04223.html#a576">v</a>.y, -32767, 32767);
+00465 <a class="code" href="a05378.html#a374">clamp</a>(<a class="code" href="a04223.html#a576">v</a>.z, -32767, 32767);
+00466 <span class="comment">// get into the vector3s</span>
+00467 dstV.x= (<a class="code" href="a04558.html#a8">sint16</a>)floor(<a class="code" href="a04223.html#a576">v</a>.x);
+00468 dstV.y= (<a class="code" href="a04558.html#a8">sint16</a>)floor(<a class="code" href="a04223.html#a576">v</a>.y);
+00469 dstV.z= (<a class="code" href="a04558.html#a8">sint16</a>)floor(<a class="code" href="a04223.html#a576">v</a>.z);
+00470 }
+00471
+00472
+00473 <span class="comment">// Add the anim to the array, and add an entry to the map</span>
+00474 <a class="code" href="a02801.html#NL3D_1_1CLodCharacterShaper1">_Anims</a>.push_back(dstAnim);
+00475 <a class="code" href="a02801.html#NL3D_1_1CLodCharacterShaper0">_AnimMap</a>.insert(make_pair(dstAnim.Name, <a class="code" href="a02801.html#NL3D_1_1CLodCharacterShaper1">_Anims</a>.size()-1));
+00476
+00477 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00478 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CLodCharacterShapez354_0" doxytag="NL3D::CLodCharacterShape::addBoneAlpha" ></a><p>
+<table class="mdTable" 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::CLodCharacterShape::addBoneAlpha </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>boneId</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>std::vector&lt; <a class="el" href="a04558.html#a7">uint8</a> &gt; &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>tmpAlphas</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Add a bone alpha influence to tmpAlpha.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05937.html#l00641">641</a> of file <a class="el" href="a05937.html">lod_character_shape.cpp</a>.
+<p>
+References <a class="el" href="a05938.html#l00288">_Bones</a>, <a class="el" href="a05938.html#l00270">NL3D::CLodCharacterShape::CBoneInfluence::InfVertices</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05938.html#l00252">NL3D::CLodCharacterShape::CVertexInf::VertexId</a>.
+<p>
+Referenced by <a class="el" href="a06393.html#l01043">NL3D::CSkeletonModel::computeCLodVertexAlpha()</a>.
+<p>
+<div class="fragment"><pre>00642 {
+00643 <span class="comment">// Yoyo: This is an error to not have the same skeleton that the one stored in the lod shape. But must not crash</span>
+00644 <span class="keywordflow">if</span>(boneId&gt;=<a class="code" href="a02801.html#NL3D_1_1CLodCharacterShaper3">_Bones</a>.size())
+00645 <span class="keywordflow">return</span>;
+00646 <span class="keyword">const</span> CBoneInfluence &amp;bone= <a class="code" href="a02801.html#NL3D_1_1CLodCharacterShaper3">_Bones</a>[boneId];
+00647
+00648 <span class="comment">// for all vertices influenced by this bone, must set the alpha to full</span>
+00649 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a15">uint</a> i=0; i&lt;bone.InfVertices.size(); i++)
+00650 {
+00651 <span class="keyword">const</span> CVertexInf &amp;vInf= bone.InfVertices[i];
+00652 tmpAlphas[vInf.VertexId]= 255;
+00653 }
+00654 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CLodCharacterShapea1" doxytag="NL3D::CLodCharacterShape::buildMesh" ></a><p>
+<table class="mdTable" 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::CLodCharacterShape::buildMesh </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>name</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a02808.html">CLodCharacterShapeBuild</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>lodBuild</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>
+build the Mesh base information NB: SkinWeights array tells for each vertex what bone to use (for alpha test removing)
+<p>
+Definition at line <a class="el" href="a05937.html#l00337">337</a> of file <a class="el" href="a05937.html">lod_character_shape.cpp</a>.
+<p>
+References <a class="el" href="a05938.html#l00300">_AnimMap</a>, <a class="el" href="a05938.html#l00297">_Anims</a>, <a class="el" href="a05938.html#l00291">_BoneMap</a>, <a class="el" href="a05938.html#l00288">_Bones</a>, <a class="el" href="a05938.html#l00286">_Normals</a>, <a class="el" href="a05938.html#l00283">_NumTriangles</a>, <a class="el" href="a05938.html#l00282">_NumVertices</a>, <a class="el" href="a05938.html#l00294">_TriangleIndices</a>, <a class="el" href="a05938.html#l00089">NL3D::CLodCharacterShapeBuild::BonesNames</a>, <a class="el" href="a05938.html#l00254">NL3D::CLodCharacterShape::CVertexInf::Influence</a>, <a class="el" href="a05990.html#l00063">NL3D_MESH_SKINNING_MAX_MATRIX</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05938.html#l00086">NL3D::CLodCharacterShapeBuild::Normals</a>, <a class="el" href="a05938.html#l00080">NL3D::CLodCharacterShapeBuild::SkinWeights</a>, <a class="el" href="a05938.html#l00092">NL3D::CLodCharacterShapeBuild::TriangleIndices</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05938.html#l00083">NL3D::CLodCharacterShapeBuild::UVs</a>, <a class="el" href="a05938.html#l00252">NL3D::CLodCharacterShape::CVertexInf::VertexId</a>, and <a class="el" href="a05938.html#l00077">NL3D::CLodCharacterShapeBuild::Vertices</a>.
+<p>
+Referenced by <a class="el" href="a05931.html#l00064">NL3D::CLodCharacterBuilder::setShape()</a>.
+<p>
+<div class="fragment"><pre>00338 {
+00339 <a class="code" href="a04558.html#a15">uint</a> numVertices= lodBuild.Vertices.size();
+00340 <span class="keyword">const</span> vector&lt;uint32&gt; &amp;triangleIndices= lodBuild.TriangleIndices;
+00341 <span class="keyword">const</span> vector&lt;CMesh::CSkinWeight&gt; &amp;skinWeights= lodBuild.SkinWeights;
+00342 <span class="keyword">const</span> vector&lt;CUV&gt; &amp;uvs= lodBuild.UVs;
+00343 <span class="keyword">const</span> vector&lt;CVector&gt; &amp;normals= lodBuild.Normals;
+00344
+00345 <a class="code" href="a04199.html#a6">nlassert</a>(numVertices&gt;0);
+00346 <a class="code" href="a04199.html#a6">nlassert</a>(triangleIndices.size()&gt;0);
+00347 <a class="code" href="a04199.html#a6">nlassert</a>((triangleIndices.size()%3)==0);
+00348 <a class="code" href="a04199.html#a6">nlassert</a>(skinWeights.size() == numVertices);
+00349 <a class="code" href="a04199.html#a6">nlassert</a>(uvs.size() == numVertices);
+00350 <a class="code" href="a04199.html#a6">nlassert</a>(normals.size() == numVertices);
+00351
+00352 <span class="comment">// reset data</span>
+00353 <a class="code" href="a05378.html#a381">contReset</a>(_Anims);
+00354 <a class="code" href="a05378.html#a381">contReset</a>(_AnimMap);
+00355 <a class="code" href="a05378.html#a381">contReset</a>(_Bones);
+00356 <a class="code" href="a05378.html#a381">contReset</a>(_BoneMap);
+00357 <a class="code" href="a05378.html#a381">contReset</a>(_TriangleIndices);
+00358 <a class="code" href="a05378.html#a381">contReset</a>(_UVs);
+00359 <a class="code" href="a05378.html#a381">contReset</a>(_Normals);
+00360
+00361 <span class="comment">// Copy data.</span>
+00362 <a class="code" href="a02801.html#NL3D_1_1CLodCharacterShaper4">_Name</a>= name;
+00363 <a class="code" href="a02801.html#NL3D_1_1CLodCharacterShaper7">_NumVertices</a>= numVertices;
+00364 <a class="code" href="a02801.html#NL3D_1_1CLodCharacterShaper6">_NumTriangles</a>= triangleIndices.size()/3;
+00365 <a class="code" href="a02801.html#NL3D_1_1CLodCharacterShaper8">_TriangleIndices</a>= triangleIndices;
+00366 <a class="code" href="a02801.html#NL3D_1_1CLodCharacterShaper9">_UVs</a>= uvs;
+00367 <a class="code" href="a02801.html#NL3D_1_1CLodCharacterShaper5">_Normals</a>= normals;
+00368
+00369 <span class="comment">// check indices.</span>
+00370 <a class="code" href="a04558.html#a15">uint</a> i;
+00371 <span class="keywordflow">for</span>(i=0;i&lt;triangleIndices.size();i++)
+00372 {
+00373 <a class="code" href="a04199.html#a6">nlassert</a>(triangleIndices[i]&lt;_NumVertices);
+00374 }
+00375
+00376 <span class="comment">// Copy bone names, and compute bone Map</span>
+00377 <a class="code" href="a02801.html#NL3D_1_1CLodCharacterShaper3">_Bones</a>.resize(lodBuild.BonesNames.size());
+00378 <span class="keywordflow">for</span>(i=0; i&lt;<a class="code" href="a02801.html#NL3D_1_1CLodCharacterShaper3">_Bones</a>.size(); i++)
+00379 {
+00380 <a class="code" href="a02801.html#NL3D_1_1CLodCharacterShaper3">_Bones</a>[i].Name= lodBuild.BonesNames[i];
+00381 <a class="code" href="a02801.html#NL3D_1_1CLodCharacterShaper2">_BoneMap</a>.insert( make_pair(_Bones[i].Name, i) );
+00382 }
+00383
+00384 <span class="comment">// "Normalize" SkinWeights for CLodCharacterShape</span>
+00385 <span class="keywordflow">for</span>(i=0;i&lt;skinWeights.size();i++)
+00386 {
+00387 <a class="code" href="a04199.html#a6">nlassert</a>(skinWeights[i].Weights[0]&gt;0);
+00388 <span class="comment">// for all slots not 0</span>
+00389 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a15">uint</a> j=0;j&lt;<a class="code" href="a04567.html#a0">NL3D_MESH_SKINNING_MAX_MATRIX</a>;j++)
+00390 {
+00391 <span class="comment">// if this this slot is used.</span>
+00392 <span class="keywordflow">if</span>(skinWeights[i].Weights[j]&gt;0)
+00393 {
+00394 <a class="code" href="a04558.html#a15">uint</a> boneId= skinWeights[i].MatrixId[j];
+00395 <a class="code" href="a04199.html#a6">nlassert</a>(boneId &lt; <a class="code" href="a02801.html#NL3D_1_1CLodCharacterShaper3">_Bones</a>.size());
+00396 <span class="comment">// init the vInf data</span>
+00397 CVertexInf vInf;
+00398 vInf.VertexId= i;
+00399 vInf.Influence= skinWeights[i].Weights[j];
+00400 <span class="comment">// Insert this vertex influence in the bone.</span>
+00401 <a class="code" href="a02801.html#NL3D_1_1CLodCharacterShaper3">_Bones</a>[boneId].InfVertices.push_back(vInf);
+00402 }
+00403 <span class="keywordflow">else</span>
+00404 <span class="comment">// stop for this vertex.</span>
+00405 <span class="keywordflow">break</span>;
+00406 }
+00407 }
+00408 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CLodCharacterShapea3" doxytag="NL3D::CLodCharacterShape::getAnimIdByName" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a14">sint</a> NL3D::CLodCharacterShape::getAnimIdByName </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> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get the animId from a name. -1 if not found
+<p>
+
+<p>
+Definition at line <a class="el" href="a05937.html#l00541">541</a> of file <a class="el" href="a05937.html">lod_character_shape.cpp</a>.
+<p>
+References <a class="el" href="a05938.html#l00300">_AnimMap</a>, and <a class="el" href="a05981.html#l00104">sint</a>.
+<p>
+Referenced by <a class="el" href="a05937.html#l00411">addAnim()</a>, and <a class="el" href="a06352.html#l00531">NL3D::CSceneUser::getCLodAnimIdByName()</a>.
+<p>
+<div class="fragment"><pre>00542 {
+00543 <a class="code" href="a02801.html#NL3D_1_1CLodCharacterShapey0">CstItStrIdMap</a> it= <a class="code" href="a02801.html#NL3D_1_1CLodCharacterShaper0">_AnimMap</a>.find(name);
+00544 <span class="keywordflow">if</span>(it == <a class="code" href="a02801.html#NL3D_1_1CLodCharacterShaper0">_AnimMap</a>.end())
+00545 <span class="keywordflow">return</span> -1;
+00546 <span class="keywordflow">else</span>
+00547 <span class="keywordflow">return</span> it-&gt;second;
+00548 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CLodCharacterShapea4" doxytag="NL3D::CLodCharacterShape::getAnimKey" ></a><p>
+<table class="mdTable" 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="a02805.html">CLodCharacterShape::CVector3s</a> * NL3D::CLodCharacterShape::getAnimKey </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>animId</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a05363.html#a367">TGlobalAnimationTime</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>time</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>wrapMode</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a03128.html">CVector</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>unPackScaleFactor</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get a ptr to the vertices of the key according to animId and time. NB: the anim Loop if wrapMode is true <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>unPackScaleFactor</em>&nbsp;</td><td>return value is the scale factor which to multiply </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>NULL if animId is not valid</dd></dl>
+
+<p>
+Definition at line <a class="el" href="a05937.html#l00572">572</a> of file <a class="el" href="a05937.html">lod_character_shape.cpp</a>.
+<p>
+References <a class="el" href="a05938.html#l00297">_Anims</a>, <a class="el" href="a05938.html#l00282">_NumVertices</a>, <a class="el" href="a05938.html#l00238">NL3D::CLodCharacterShape::CAnim::AnimLength</a>, <a class="el" href="a05587.html#l00115">NLMISC::clamp()</a>, <a class="el" href="a05788.html#l00056">H_AUTO</a>, <a class="el" href="a05938.html#l00244">NL3D::CLodCharacterShape::CAnim::Keys</a>, <a class="el" href="a05938.html#l00236">NL3D::CLodCharacterShape::CAnim::NumKeys</a>, <a class="el" href="a05938.html#l00239">NL3D::CLodCharacterShape::CAnim::OOAnimLength</a>, <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a05454.html#l00045">NL3D::TGlobalAnimationTime</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05938.html#l00241">NL3D::CLodCharacterShape::CAnim::UnPackScaleFactor</a>.
+<p>
+Referenced by <a class="el" href="a05935.html#l00359">NL3D::CLodCharacterManager::addRenderCharacterKey()</a>.
+<p>
+<div class="fragment"><pre>00573 {
+00574 <a class="code" href="a04365.html#a4">H_AUTO</a>( NL3D_LodCharacterShape_getAnimKey )
+00575
+00576 <span class="keywordtype">float</span> localTime;
+00577
+00578 <span class="keywordflow">if</span>(animId&gt;=<a class="code" href="a02801.html#NL3D_1_1CLodCharacterShaper1">_Anims</a>.size())
+00579 <span class="keywordflow">return</span> NULL;
+00580
+00581 <span class="comment">// get the anim.</span>
+00582 <span class="keyword">const</span> CAnim &amp;anim= <a class="code" href="a02801.html#NL3D_1_1CLodCharacterShaper1">_Anims</a>[animId];
+00583
+00584 <span class="comment">// scale info</span>
+00585 unPackScaleFactor= anim.UnPackScaleFactor;
+00586
+00587 <span class="comment">// Loop mgt.</span>
+00588 <span class="keywordflow">if</span>(wrapMode)
+00589 localTime= (<span class="keywordtype">float</span>)fmod(time, anim.AnimLength);
+00590 <span class="keywordflow">else</span>
+00591 localTime= (<span class="keywordtype">float</span>)time;
+00592
+00593 <span class="comment">// Clamp to the range.</span>
+00594 <a class="code" href="a05378.html#a374">clamp</a>(localTime, 0, anim.AnimLength);
+00595
+00596 <span class="comment">// get the key.</span>
+00597 <a class="code" href="a04558.html#a14">sint</a> keyId= (<a class="code" href="a04558.html#a14">sint</a>)floor( (localTime*anim.OOAnimLength) * anim.NumKeys );
+00598 <a class="code" href="a05378.html#a374">clamp</a>(keyId, 0, <a class="code" href="a05167.html#a16">sint</a>(anim.NumKeys-1));
+00599
+00600 <span class="comment">// return the key.</span>
+00601 <span class="keywordflow">return</span> &amp;anim.Keys[keyId * <a class="code" href="a02801.html#NL3D_1_1CLodCharacterShaper7">_NumVertices</a>];
+00602 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CLodCharacterShapea5" doxytag="NL3D::CLodCharacterShape::getBoneIdByName" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a14">sint</a> NL3D::CLodCharacterShape::getBoneIdByName </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> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get a bone id, according to its name. -1 if not found
+<p>
+
+<p>
+Definition at line <a class="el" href="a05937.html#l00552">552</a> of file <a class="el" href="a05937.html">lod_character_shape.cpp</a>.
+<p>
+References <a class="el" href="a05938.html#l00291">_BoneMap</a>, and <a class="el" href="a05981.html#l00104">sint</a>.
+<p>
+Referenced by <a class="el" href="a06393.html#l01043">NL3D::CSkeletonModel::computeCLodVertexAlpha()</a>.
+<p>
+<div class="fragment"><pre>00553 {
+00554 <a class="code" href="a02801.html#NL3D_1_1CLodCharacterShapey0">CstItStrIdMap</a> it= <a class="code" href="a02801.html#NL3D_1_1CLodCharacterShaper2">_BoneMap</a>.find(name);
+00555 <span class="keywordflow">if</span>(it == <a class="code" href="a02801.html#NL3D_1_1CLodCharacterShaper2">_BoneMap</a>.end())
+00556 <span class="keywordflow">return</span> -1;
+00557 <span class="keywordflow">else</span>
+00558 <span class="keywordflow">return</span> it-&gt;second;
+00559 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CLodCharacterShapea6" doxytag="NL3D::CLodCharacterShape::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"> const std::string&amp; NL3D::CLodCharacterShape::getName </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>
+Get name of this lod.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05938.html#l00178">178</a> of file <a class="el" href="a05938.html">lod_character_shape.h</a>.
+<p>
+Referenced by <a class="el" href="a05935.html#l00212">NL3D::CLodCharacterManager::compile()</a>.
+<p>
+<div class="fragment"><pre>00178 {<span class="keywordflow">return</span> <a class="code" href="a02801.html#NL3D_1_1CLodCharacterShaper4">_Name</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CLodCharacterShapea7" doxytag="NL3D::CLodCharacterShape::getNormals" ></a><p>
+<table class="mdTable" 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="a03128.html">CVector</a> * NL3D::CLodCharacterShape::getNormals </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 a ptr to the triangles indices
+<p>
+
+<p>
+Definition at line <a class="el" href="a05937.html#l00614">614</a> of file <a class="el" href="a05937.html">lod_character_shape.cpp</a>.
+<p>
+References <a class="el" href="a05938.html#l00286">_Normals</a>, and <a class="el" href="a05938.html#l00282">_NumVertices</a>.
+<p>
+Referenced by <a class="el" href="a05935.html#l00359">NL3D::CLodCharacterManager::addRenderCharacterKey()</a>.
+<p>
+<div class="fragment"><pre>00615 {
+00616 <span class="keywordflow">if</span>(<a class="code" href="a02801.html#NL3D_1_1CLodCharacterShaper7">_NumVertices</a>==0)
+00617 <span class="keywordflow">return</span> NULL;
+00618
+00619 <span class="keywordflow">return</span> &amp;<a class="code" href="a02801.html#NL3D_1_1CLodCharacterShaper5">_Normals</a>[0];
+00620 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CLodCharacterShapea8" doxytag="NL3D::CLodCharacterShape::getNumBones" ></a><p>
+<table class="mdTable" 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::CLodCharacterShape::getNumBones </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>
+get the number of bones
+<p>
+
+<p>
+Definition at line <a class="el" href="a05938.html#l00190">190</a> of file <a class="el" href="a05938.html">lod_character_shape.h</a>.
+<p>
+References <a class="el" href="a05938.html#l00288">_Bones</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>00190 {<span class="keywordflow">return</span> <a class="code" href="a02801.html#NL3D_1_1CLodCharacterShaper3">_Bones</a>.size();}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CLodCharacterShapea9" doxytag="NL3D::CLodCharacterShape::getNumTriangles" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> NL3D::CLodCharacterShape::getNumTriangles </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>
+get the number of triangles of this mesh
+<p>
+
+<p>
+Definition at line <a class="el" href="a05938.html#l00187">187</a> of file <a class="el" href="a05938.html">lod_character_shape.h</a>.
+<p>
+References <a class="el" href="a05938.html#l00283">_NumTriangles</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a05935.html#l00359">NL3D::CLodCharacterManager::addRenderCharacterKey()</a>.
+<p>
+<div class="fragment"><pre>00187 {<span class="keywordflow">return</span> <a class="code" href="a02801.html#NL3D_1_1CLodCharacterShaper6">_NumTriangles</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CLodCharacterShapea10" doxytag="NL3D::CLodCharacterShape::getNumVertices" ></a><p>
+<table class="mdTable" 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::CLodCharacterShape::getNumVertices </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>
+get the number of vertices of this mesh
+<p>
+
+<p>
+Definition at line <a class="el" href="a05938.html#l00184">184</a> of file <a class="el" href="a05938.html">lod_character_shape.h</a>.
+<p>
+References <a class="el" href="a05938.html#l00282">_NumVertices</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a05931.html#l00111">NL3D::CLodCharacterBuilder::addAnim()</a>, <a class="el" href="a05935.html#l00359">NL3D::CLodCharacterManager::addRenderCharacterKey()</a>, <a class="el" href="a05935.html#l00844">NL3D::CLodCharacterManager::initInstance()</a>, and <a class="el" href="a05937.html#l00632">startBoneAlpha()</a>.
+<p>
+<div class="fragment"><pre>00184 {<span class="keywordflow">return</span> <a class="code" href="a02801.html#NL3D_1_1CLodCharacterShaper7">_NumVertices</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CLodCharacterShapea11" doxytag="NL3D::CLodCharacterShape::getTriangleArray" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a04558.html#a11">uint32</a> * NL3D::CLodCharacterShape::getTriangleArray </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 a ptr to the triangles indices
+<p>
+
+<p>
+Definition at line <a class="el" href="a05937.html#l00563">563</a> of file <a class="el" href="a05937.html">lod_character_shape.cpp</a>.
+<p>
+References <a class="el" href="a05938.html#l00283">_NumTriangles</a>, <a class="el" href="a05938.html#l00294">_TriangleIndices</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a05935.html#l00359">NL3D::CLodCharacterManager::addRenderCharacterKey()</a>.
+<p>
+<div class="fragment"><pre>00564 {
+00565 <span class="keywordflow">if</span>(<a class="code" href="a02801.html#NL3D_1_1CLodCharacterShaper6">_NumTriangles</a>)
+00566 <span class="keywordflow">return</span> &amp;<a class="code" href="a02801.html#NL3D_1_1CLodCharacterShaper8">_TriangleIndices</a>[0];
+00567 <span class="keywordflow">else</span>
+00568 <span class="keywordflow">return</span> NULL;
+00569 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CLodCharacterShapea12" doxytag="NL3D::CLodCharacterShape::getUVs" ></a><p>
+<table class="mdTable" 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="a03640.html">CUV</a> * NL3D::CLodCharacterShape::getUVs </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 a ptr on the UVs.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05937.html#l00605">605</a> of file <a class="el" href="a05937.html">lod_character_shape.cpp</a>.
+<p>
+References <a class="el" href="a05938.html#l00282">_NumVertices</a>.
+<p>
+Referenced by <a class="el" href="a05935.html#l00844">NL3D::CLodCharacterManager::initInstance()</a>.
+<p>
+<div class="fragment"><pre>00606 {
+00607 <span class="keywordflow">if</span>(<a class="code" href="a02801.html#NL3D_1_1CLodCharacterShaper7">_NumVertices</a>==0)
+00608 <span class="keywordflow">return</span> NULL;
+00609
+00610 <span class="keywordflow">return</span> &amp;<a class="code" href="a02801.html#NL3D_1_1CLodCharacterShaper9">_UVs</a>[0];
+00611 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CLodCharacterShapea13" doxytag="NL3D::CLodCharacterShape::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::CLodCharacterShape::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></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+serial this shape
+<p>
+
+<p>
+Definition at line <a class="el" href="a05937.html#l00505">505</a> of file <a class="el" href="a05937.html">lod_character_shape.cpp</a>.
+<p>
+References <a class="el" href="a05938.html#l00300">_AnimMap</a>, <a class="el" href="a05938.html#l00297">_Anims</a>, <a class="el" href="a05938.html#l00291">_BoneMap</a>, <a class="el" href="a05938.html#l00288">_Bones</a>, <a class="el" href="a05938.html#l00286">_Normals</a>, <a class="el" href="a05938.html#l00283">_NumTriangles</a>, <a class="el" href="a05938.html#l00282">_NumVertices</a>, <a class="el" href="a05938.html#l00294">_TriangleIndices</a>, <a class="el" href="a06462.html#l00232">NLMISC::IStream::serial()</a>, <a class="el" href="a06462.html#l00520">NLMISC::IStream::serialCheck()</a>, <a class="el" href="a06462.html#l00324">NLMISC::IStream::serialCont()</a>, <a class="el" href="a06461.html#l00266">NLMISC::IStream::serialVersion()</a>, <a class="el" href="a05981.html#l00104">sint</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00506 {
+00507 <span class="comment">// NEL_CLODSHAP</span>
+00508 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_0">serialCheck</a>((<a class="code" href="a04558.html#a11">uint32</a>)'_LEN');
+00509 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_0">serialCheck</a>((<a class="code" href="a04558.html#a11">uint32</a>)'DOLC');
+00510 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_0">serialCheck</a>((<a class="code" href="a04558.html#a11">uint32</a>)'PAHS');
+00511
+00512 <span class="comment">/*</span>
+00513 <span class="comment"> Version 1:</span>
+00514 <span class="comment"> - UVs and Normals.</span>
+00515 <span class="comment"> */</span>
+00516 <a class="code" href="a04558.html#a14">sint</a> ver= f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_8">serialVersion</a>(1);
+00517
+00518 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_Name);
+00519 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_NumVertices);
+00520 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_NumTriangles);
+00521 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2033_9">serialCont</a>(_Bones);
+00522 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2033_9">serialCont</a>(_BoneMap);
+00523 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2033_9">serialCont</a>(_TriangleIndices);
+00524 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2033_9">serialCont</a>(_Anims);
+00525 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2033_9">serialCont</a>(_AnimMap);
+00526
+00527 <span class="keywordflow">if</span>(ver&gt;=1)
+00528 {
+00529 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2033_9">serialCont</a>(_UVs);
+00530 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2033_9">serialCont</a>(_Normals);
+00531 }
+00532 <span class="keywordflow">else</span>
+00533 {
+00534 <span class="comment">// Must init dummy UVs/normals</span>
+00535 <a class="code" href="a02801.html#NL3D_1_1CLodCharacterShaper9">_UVs</a>.resize(_NumVertices, CUV(0,0));
+00536 <a class="code" href="a02801.html#NL3D_1_1CLodCharacterShaper5">_Normals</a>.resize(_NumVertices, CVector::K);
+00537 }
+00538 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CLodCharacterShapez354_1" doxytag="NL3D::CLodCharacterShape::startBoneAlpha" ></a><p>
+<table class="mdTable" 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::CLodCharacterShape::startBoneAlpha </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">std::vector&lt; <a class="el" href="a04558.html#a7">uint8</a> &gt; &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>tmpAlphas</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>
+init the process by resize-ing a tmp uint8 vector of <a class="el" href="a02801.html#NL3D_1_1CLodCharacterShapea10">getNumVertices()</a> size, and reset to 0
+<p>
+
+<p>
+Definition at line <a class="el" href="a05937.html#l00632">632</a> of file <a class="el" href="a05937.html">lod_character_shape.cpp</a>.
+<p>
+References <a class="el" href="a05938.html#l00184">getNumVertices()</a>.
+<p>
+Referenced by <a class="el" href="a06393.html#l01043">NL3D::CSkeletonModel::computeCLodVertexAlpha()</a>.
+<p>
+<div class="fragment"><pre>00633 {
+00634 <span class="comment">// clear</span>
+00635 tmpAlphas.clear();
+00636 <span class="comment">// alocate, and fill</span>
+00637 tmpAlphas.resize(<a class="code" href="a02801.html#NL3D_1_1CLodCharacterShapea10">getNumVertices</a>(), 0);
+00638 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="NL3D_1_1CLodCharacterShaper0" doxytag="NL3D::CLodCharacterShape::_AnimMap" ></a><p>
+<table class="mdTable" 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="a02801.html#NL3D_1_1CLodCharacterShapey2">TStrIdMap</a> <a class="el" href="a02801.html#NL3D_1_1CLodCharacterShaper0">NL3D::CLodCharacterShape::_AnimMap</a><code> [private]</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="a05938.html#l00300">300</a> of file <a class="el" href="a05938.html">lod_character_shape.h</a>.
+<p>
+Referenced by <a class="el" href="a05937.html#l00411">addAnim()</a>, <a class="el" href="a05937.html#l00337">buildMesh()</a>, <a class="el" href="a05937.html#l00541">getAnimIdByName()</a>, and <a class="el" href="a05937.html#l00505">serial()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CLodCharacterShaper1" doxytag="NL3D::CLodCharacterShape::_Anims" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::vector&lt;<a class="el" href="a02802.html">CAnim</a>&gt; <a class="el" href="a02801.html#NL3D_1_1CLodCharacterShaper1">NL3D::CLodCharacterShape::_Anims</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+List of animation.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05938.html#l00297">297</a> of file <a class="el" href="a05938.html">lod_character_shape.h</a>.
+<p>
+Referenced by <a class="el" href="a05937.html#l00411">addAnim()</a>, <a class="el" href="a05937.html#l00337">buildMesh()</a>, <a class="el" href="a05937.html#l00572">getAnimKey()</a>, and <a class="el" href="a05937.html#l00505">serial()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CLodCharacterShaper2" doxytag="NL3D::CLodCharacterShape::_BoneMap" ></a><p>
+<table class="mdTable" 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="a02801.html#NL3D_1_1CLodCharacterShapey2">TStrIdMap</a> <a class="el" href="a02801.html#NL3D_1_1CLodCharacterShaper2">NL3D::CLodCharacterShape::_BoneMap</a><code> [private]</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="a05938.html#l00291">291</a> of file <a class="el" href="a05938.html">lod_character_shape.h</a>.
+<p>
+Referenced by <a class="el" href="a05937.html#l00337">buildMesh()</a>, <a class="el" href="a05937.html#l00552">getBoneIdByName()</a>, and <a class="el" href="a05937.html#l00505">serial()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CLodCharacterShaper3" doxytag="NL3D::CLodCharacterShape::_Bones" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::vector&lt;<a class="el" href="a02804.html">CBoneInfluence</a>&gt; <a class="el" href="a02801.html#NL3D_1_1CLodCharacterShaper3">NL3D::CLodCharacterShape::_Bones</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+List of bones and vertices they influence.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05938.html#l00288">288</a> of file <a class="el" href="a05938.html">lod_character_shape.h</a>.
+<p>
+Referenced by <a class="el" href="a05937.html#l00641">addBoneAlpha()</a>, <a class="el" href="a05937.html#l00337">buildMesh()</a>, <a class="el" href="a05938.html#l00190">getNumBones()</a>, and <a class="el" href="a05937.html#l00505">serial()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CLodCharacterShaper4" doxytag="NL3D::CLodCharacterShape::_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="a02801.html#NL3D_1_1CLodCharacterShaper4">NL3D::CLodCharacterShape::_Name</a><code> [private]</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="a05938.html#l00281">281</a> of file <a class="el" href="a05938.html">lod_character_shape.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CLodCharacterShaper5" doxytag="NL3D::CLodCharacterShape::_Normals" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::vector&lt;<a class="el" href="a03128.html">CVector</a>&gt; <a class="el" href="a02801.html#NL3D_1_1CLodCharacterShaper5">NL3D::CLodCharacterShape::_Normals</a><code> [private]</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="a05938.html#l00286">286</a> of file <a class="el" href="a05938.html">lod_character_shape.h</a>.
+<p>
+Referenced by <a class="el" href="a05937.html#l00337">buildMesh()</a>, <a class="el" href="a05937.html#l00614">getNormals()</a>, and <a class="el" href="a05937.html#l00505">serial()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CLodCharacterShaper6" doxytag="NL3D::CLodCharacterShape::_NumTriangles" ></a><p>
+<table class="mdTable" 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="a02801.html#NL3D_1_1CLodCharacterShaper6">NL3D::CLodCharacterShape::_NumTriangles</a><code> [private]</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="a05938.html#l00283">283</a> of file <a class="el" href="a05938.html">lod_character_shape.h</a>.
+<p>
+Referenced by <a class="el" href="a05937.html#l00337">buildMesh()</a>, <a class="el" href="a05937.html#l00330">CLodCharacterShape()</a>, <a class="el" href="a05938.html#l00187">getNumTriangles()</a>, <a class="el" href="a05937.html#l00563">getTriangleArray()</a>, and <a class="el" href="a05937.html#l00505">serial()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CLodCharacterShaper7" doxytag="NL3D::CLodCharacterShape::_NumVertices" ></a><p>
+<table class="mdTable" 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="a02801.html#NL3D_1_1CLodCharacterShaper7">NL3D::CLodCharacterShape::_NumVertices</a><code> [private]</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="a05938.html#l00282">282</a> of file <a class="el" href="a05938.html">lod_character_shape.h</a>.
+<p>
+Referenced by <a class="el" href="a05937.html#l00411">addAnim()</a>, <a class="el" href="a05937.html#l00337">buildMesh()</a>, <a class="el" href="a05937.html#l00330">CLodCharacterShape()</a>, <a class="el" href="a05937.html#l00572">getAnimKey()</a>, <a class="el" href="a05937.html#l00614">getNormals()</a>, <a class="el" href="a05938.html#l00184">getNumVertices()</a>, <a class="el" href="a05937.html#l00605">getUVs()</a>, and <a class="el" href="a05937.html#l00505">serial()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CLodCharacterShaper8" doxytag="NL3D::CLodCharacterShape::_TriangleIndices" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::vector&lt;<a class="el" href="a04558.html#a11">uint32</a>&gt; <a class="el" href="a02801.html#NL3D_1_1CLodCharacterShaper8">NL3D::CLodCharacterShape::_TriangleIndices</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+numTriangles * 3.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05938.html#l00294">294</a> of file <a class="el" href="a05938.html">lod_character_shape.h</a>.
+<p>
+Referenced by <a class="el" href="a05937.html#l00337">buildMesh()</a>, <a class="el" href="a05937.html#l00563">getTriangleArray()</a>, and <a class="el" href="a05937.html#l00505">serial()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CLodCharacterShaper9" doxytag="NL3D::CLodCharacterShape::_UVs" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::vector&lt;<a class="el" href="a03640.html">CUV</a>&gt; <a class="el" href="a02801.html#NL3D_1_1CLodCharacterShaper9">NL3D::CLodCharacterShape::_UVs</a><code> [private]</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="a05938.html#l00285">285</a> of file <a class="el" href="a05938.html">lod_character_shape.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a05938.html">lod_character_shape.h</a><li><a class="el" href="a05937.html">lod_character_shape.cpp</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 06:49:57 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>