aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/a02890.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/doxygen/nel/a02890.html')
-rw-r--r--docs/doxygen/nel/a02890.html1082
1 files changed, 1082 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a02890.html b/docs/doxygen/nel/a02890.html
new file mode 100644
index 00000000..3eb09714
--- /dev/null
+++ b/docs/doxygen/nel/a02890.html
@@ -0,0 +1,1082 @@
+<!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::CMeshMorpher 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::CMeshMorpher Class Reference</h1><code>#include &lt;<a class="el" href="a06004.html">mesh_morpher.h</a>&gt;</code>
+<p>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Utility to blend shapes <dl compact><dt><b>Author:</b></dt><dd>Matthieu 'TrapII' Besson <p>
+Nevrax France </dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>2001 </dd></dl>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06004.html#l00066">66</a> of file <a class="el" href="a06004.html">mesh_morpher.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>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02890.html#NL3D_1_1CMeshMorphera0">CMeshMorpher</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02890.html#NL3D_1_1CMeshMorphera1">init</a> (<a class="el" href="a03692.html">CVertexBuffer</a> *vbOri, <a class="el" href="a03692.html">CVertexBuffer</a> *vbDst, <a class="el" href="a03694.html">IVertexBufferHard</a> *vbDstHrd, bool hasTgSpace)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02890.html#NL3D_1_1CMeshMorphera2">initSkinned</a> (<a class="el" href="a03692.html">CVertexBuffer</a> *vbOri, <a class="el" href="a03692.html">CVertexBuffer</a> *vbDst, <a class="el" href="a03694.html">IVertexBufferHard</a> *vbDstHrd, bool hasTgSpace, std::vector&lt; <a class="el" href="a03128.html">CVector</a> &gt; *vVertices, std::vector&lt; <a class="el" href="a03128.html">CVector</a> &gt; *vNormals, std::vector&lt; <a class="el" href="a03128.html">CVector</a> &gt; *vTgSpace, bool bSkinApplied)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02890.html#NL3D_1_1CMeshMorphera3">serial</a> (<a class="el" href="a02270.html">NLMISC::IStream</a> &amp;f) throw (NLMISC::EStream)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02890.html#NL3D_1_1CMeshMorphera4">update</a> (std::vector&lt; <a class="el" href="a02200.html">CAnimatedMorph</a> &gt; *pBSFactor)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02890.html#NL3D_1_1CMeshMorphera5">updateRawSkin</a> (<a class="el" href="a03692.html">CVertexBuffer</a> *vbOri, const <a class="el" href="a03000.html">NLMISC::CObjectVector</a>&lt; <a class="el" href="a03308.html">CRawSkinVertex</a> *, false &gt; &amp;vertexRemap, std::vector&lt; <a class="el" href="a02200.html">CAnimatedMorph</a> &gt; *pBSFactor)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02890.html#NL3D_1_1CMeshMorphera6">updateSkinned</a> (std::vector&lt; <a class="el" href="a02200.html">CAnimatedMorph</a> &gt; *pBSFactor)</td></tr>
+
+<tr><td colspan=2><br><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::vector&lt; <a class="el" href="a02273.html">CBlendShape</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02890.html#NL3D_1_1CMeshMorphero0">BlendShapes</a></td></tr>
+
+<tr><td colspan=2><br><h2>Private 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="a02890.html#NL3D_1_1CMeshMorphery3">TState</a> { <a class="el" href="a02890.html#NL3D_1_1CMeshMorphery3NL3D_1_1CMeshMorphery1">OriginalAll</a> = 0,
+<a class="el" href="a02890.html#NL3D_1_1CMeshMorphery3NL3D_1_1CMeshMorphery2">OriginalVBDst</a>,
+<a class="el" href="a02890.html#NL3D_1_1CMeshMorphery3NL3D_1_1CMeshMorphery0">Modified</a>
+ }</td></tr>
+
+<tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::vector&lt; <a class="el" href="a04558.html#a7">uint8</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02890.html#NL3D_1_1CMeshMorpherr0">_Flags</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="a02890.html#NL3D_1_1CMeshMorpherr1">_Normals</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02890.html#NL3D_1_1CMeshMorpherr2">_SkinApplied</a>: 1</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="a02890.html#NL3D_1_1CMeshMorpherr3">_TgSpace</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02890.html#NL3D_1_1CMeshMorpherr4">_UseTgSpace</a>: 1</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="a02890.html#NL3D_1_1CMeshMorpherr5">_VBDst</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03694.html">IVertexBufferHard</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02890.html#NL3D_1_1CMeshMorpherr6">_VBDstHrd</a></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="a02890.html#NL3D_1_1CMeshMorpherr7">_VBOri</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="a02890.html#NL3D_1_1CMeshMorpherr8">_Vertices</a></td></tr>
+
+</table>
+<hr><h2>Member Enumeration Documentation</h2>
+<a class="anchor" name="NL3D_1_1CMeshMorphery3" doxytag="NL3D::CMeshMorpher::TState" ></a><p>
+<table class="mdTable" 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="a02890.html#NL3D_1_1CMeshMorphery3">NL3D::CMeshMorpher::TState</a><code> [private]</code>
+ </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_1CMeshMorphery3NL3D_1_1CMeshMorphery1" doxytag="OriginalAll" ></a>OriginalAll</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMeshMorphery3NL3D_1_1CMeshMorphery2" doxytag="OriginalVBDst" ></a>OriginalVBDst</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMeshMorphery3NL3D_1_1CMeshMorphery0" doxytag="Modified" ></a>Modified</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a06004.html#l00068">68</a> of file <a class="el" href="a06004.html">mesh_morpher.h</a>.
+<p>
+<div class="fragment"><pre>00069 {
+00070 <a class="code" href="a02890.html#NL3D_1_1CMeshMorphery3NL3D_1_1CMeshMorphery1">OriginalAll</a>=0, <span class="comment">// The vertex is the same as original into VBDst and VBHard</span>
+00071 <a class="code" href="a02890.html#NL3D_1_1CMeshMorphery3NL3D_1_1CMeshMorphery2">OriginalVBDst</a>, <span class="comment">// The vertex is the same as original into VBDst</span>
+00072 <a class="code" href="a02890.html#NL3D_1_1CMeshMorphery3NL3D_1_1CMeshMorphery0">Modified</a>, <span class="comment">// Vertex modified</span>
+00073 } <a class="code" href="a02890.html#NL3D_1_1CMeshMorphery3">TState</a>;
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="NL3D_1_1CMeshMorphera0" doxytag="NL3D::CMeshMorpher::CMeshMorpher" ></a><p>
+<table class="mdTable" 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::CMeshMorpher::CMeshMorpher </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>
+
+<p>
+Definition at line <a class="el" href="a06003.html#l00060">60</a> of file <a class="el" href="a06003.html">mesh_morpher.cpp</a>.
+<p>
+References <a class="el" href="a06004.html#l00112">_SkinApplied</a>, <a class="el" href="a06004.html#l00109">_TgSpace</a>, <a class="el" href="a06004.html#l00104">_VBDst</a>, <a class="el" href="a06004.html#l00105">_VBDstHrd</a>, <a class="el" href="a06004.html#l00103">_VBOri</a>, and <a class="el" href="a06004.html#l00107">_Vertices</a>.
+<p>
+<div class="fragment"><pre>00061 {
+00062 <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr7">_VBOri</a> = NULL;
+00063 <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr5">_VBDst</a> = NULL;
+00064 <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr6">_VBDstHrd</a> = NULL;
+00065
+00066 <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr8">_Vertices</a> = NULL;
+00067 <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr1">_Normals</a> = NULL;
+00068 <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr3">_TgSpace</a>= NULL;
+00069 <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr2">_SkinApplied</a>= <span class="keyword">false</span>;
+00070 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="NL3D_1_1CMeshMorphera1" doxytag="NL3D::CMeshMorpher::init" ></a><p>
+<table class="mdTable" 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::CMeshMorpher::init </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03692.html">CVertexBuffer</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>vbOri</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a03692.html">CVertexBuffer</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>vbDst</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a03694.html">IVertexBufferHard</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>vbDstHrd</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>hasTgSpace</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>
+
+<p>
+Definition at line <a class="el" href="a06003.html#l00073">73</a> of file <a class="el" href="a06003.html">mesh_morpher.cpp</a>.
+<p>
+References <a class="el" href="a06004.html#l00113">_UseTgSpace</a>, <a class="el" href="a06004.html#l00104">_VBDst</a>, <a class="el" href="a06004.html#l00105">_VBDstHrd</a>, and <a class="el" href="a06004.html#l00103">_VBOri</a>.
+<p>
+Referenced by <a class="el" href="a06005.html#l00927">NL3D::CMeshMRMGeom::render()</a>, and <a class="el" href="a05989.html#l00598">NL3D::CMeshGeom::render()</a>.
+<p>
+<div class="fragment"><pre>00074 {
+00075 <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr7">_VBOri</a> = vbOri;
+00076 <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr5">_VBDst</a> = vbDst;
+00077 <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr6">_VBDstHrd</a> = vbDstHrd;
+00078 <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr4">_UseTgSpace</a> = hasTgSpace;
+00079 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshMorphera2" doxytag="NL3D::CMeshMorpher::initSkinned" ></a><p>
+<table class="mdTable" 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::CMeshMorpher::initSkinned </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03692.html">CVertexBuffer</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>vbOri</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a03692.html">CVertexBuffer</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>vbDst</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a03694.html">IVertexBufferHard</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>vbDstHrd</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>hasTgSpace</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>std::vector&lt; <a class="el" href="a03128.html">CVector</a> &gt; *&nbsp;</td>
+ <td class="mdname" nowrap> <em>vVertices</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>std::vector&lt; <a class="el" href="a03128.html">CVector</a> &gt; *&nbsp;</td>
+ <td class="mdname" nowrap> <em>vNormals</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>std::vector&lt; <a class="el" href="a03128.html">CVector</a> &gt; *&nbsp;</td>
+ <td class="mdname" nowrap> <em>vTgSpace</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>bSkinApplied</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>
+
+<p>
+Definition at line <a class="el" href="a06003.html#l00082">82</a> of file <a class="el" href="a06003.html">mesh_morpher.cpp</a>.
+<p>
+References <a class="el" href="a06004.html#l00112">_SkinApplied</a>, <a class="el" href="a06004.html#l00109">_TgSpace</a>, <a class="el" href="a06004.html#l00113">_UseTgSpace</a>, <a class="el" href="a06004.html#l00104">_VBDst</a>, <a class="el" href="a06004.html#l00105">_VBDstHrd</a>, <a class="el" href="a06004.html#l00103">_VBOri</a>, and <a class="el" href="a06004.html#l00107">_Vertices</a>.
+<p>
+Referenced by <a class="el" href="a06005.html#l00927">NL3D::CMeshMRMGeom::render()</a>, <a class="el" href="a05989.html#l00598">NL3D::CMeshGeom::render()</a>, <a class="el" href="a06005.html#l01146">NL3D::CMeshMRMGeom::renderSkin()</a>, and <a class="el" href="a05989.html#l00788">NL3D::CMeshGeom::renderSkin()</a>.
+<p>
+<div class="fragment"><pre>00090 {
+00091 <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr7">_VBOri</a> = vbOri;
+00092 <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr5">_VBDst</a> = vbDst;
+00093 <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr6">_VBDstHrd</a> = vbDstHrd;
+00094 <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr4">_UseTgSpace</a> = hasTgSpace;
+00095
+00096 <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr8">_Vertices</a> = vVertices;
+00097 <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr1">_Normals</a> = vNormals;
+00098 <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr3">_TgSpace</a> = vTgSpace;
+00099 <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr2">_SkinApplied</a> = bSkinApplied;
+00100 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshMorphera3" doxytag="NL3D::CMeshMorpher::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::CMeshMorpher::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>)</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="a06003.html#l00386">386</a> of file <a class="el" href="a06003.html">mesh_morpher.cpp</a>.
+<p>
+<div class="fragment"><pre>00387 {
+00388 (<span class="keywordtype">void</span>)f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_8">serialVersion</a> (0);
+00389
+00390 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2033_9">serialCont</a> (BlendShapes);
+00391 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshMorphera4" doxytag="NL3D::CMeshMorpher::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"> void NL3D::CMeshMorpher::update </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">std::vector&lt; <a class="el" href="a02200.html">CAnimatedMorph</a> &gt; *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>pBSFactor</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>
+
+<p>
+Definition at line <a class="el" href="a06003.html#l00103">103</a> of file <a class="el" href="a06003.html">mesh_morpher.cpp</a>.
+<p>
+References <a class="el" href="a06004.html#l00113">_UseTgSpace</a>, <a class="el" href="a06004.html#l00104">_VBDst</a>, <a class="el" href="a06004.html#l00105">_VBDstHrd</a>, <a class="el" href="a06004.html#l00103">_VBOri</a>, <a class="el" href="a06340.html#l00661">NLMISC::CRGBAF::A</a>, <a class="el" href="a06340.html#l00659">NLMISC::CRGBAF::B</a>, <a class="el" href="a05587.html#l00115">NLMISC::clamp()</a>, <a class="el" href="a06004.html#l00052">NL3D::CBlendShape::deltaCol</a>, <a class="el" href="a06004.html#l00049">NL3D::CBlendShape::deltaNorm</a>, <a class="el" href="a06004.html#l00048">NL3D::CBlendShape::deltaPos</a>, <a class="el" href="a06004.html#l00050">NL3D::CBlendShape::deltaTgSpace</a>, <a class="el" href="a06004.html#l00051">NL3D::CBlendShape::deltaUV</a>, <a class="el" href="a06340.html#l00657">NLMISC::CRGBAF::G</a>, <a class="el" href="a06710.html#l00465">NL3D::CVertexBuffer::getColorPointer()</a>, <a class="el" href="a06710.html#l00449">NL3D::CVertexBuffer::getNormalCoordPointer()</a>, <a class="el" href="a06710.html#l00976">NL3D::CVertexBuffer::getNumTexCoordUsed()</a>, <a class="el" href="a06711.html#l00453">NL3D::CVertexBuffer::getNumVertices()</a>, <a class="el" href="a06710.html#l00497">NL3D::CVertexBuffer::getTexCoordPointer()</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="a03694.html#NL3D_1_1IVertexBufferHardGLz1154_0">NL3D::IVertexBufferHard::lock()</a>, <a class="el" href="a02890.html#NL3D_1_1CMeshMorphery3NL3D_1_1CMeshMorphery0">Modified</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a02890.html#NL3D_1_1CMeshMorphery3NL3D_1_1CMeshMorphery1">OriginalAll</a>, <a class="el" href="a02890.html#NL3D_1_1CMeshMorphery3NL3D_1_1CMeshMorphery2">OriginalVBDst</a>, <a class="el" href="a06340.html#l00655">NLMISC::CRGBAF::R</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05981.html#l00100">uint32</a>, <a class="el" href="a05981.html#l00096">uint8</a>, <a class="el" href="a03694.html#NL3D_1_1IVertexBufferHardGLz1154_3">NL3D::IVertexBufferHard::unlock()</a>, and <a class="el" href="a06004.html#l00054">NL3D::CBlendShape::VertRefs</a>.
+<p>
+Referenced by <a class="el" href="a06005.html#l00927">NL3D::CMeshMRMGeom::render()</a>, and <a class="el" href="a05989.html#l00598">NL3D::CMeshGeom::render()</a>.
+<p>
+<div class="fragment"><pre>00104 {
+00105 <a class="code" href="a04558.html#a11">uint32</a> i, j;
+00106
+00107 <span class="keywordflow">if</span> (<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr7">_VBOri</a> == NULL)
+00108 <span class="keywordflow">return</span>;
+00109 <span class="keywordflow">if</span> (<a class="code" href="a02890.html#NL3D_1_1CMeshMorphero0">BlendShapes</a>.size() == 0)
+00110 <span class="keywordflow">return</span>;
+00111
+00112 <span class="keywordflow">if</span> (<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr7">_VBOri</a>-&gt;getNumVertices() != <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr5">_VBDst</a>-&gt;getNumVertices())
+00113 { <span class="comment">// Because the original vertex buffer is not initialized by default</span>
+00114 <span class="comment">// we must init it here (if there are some blendshapes)</span>
+00115 *<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr7">_VBOri</a> = *<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr5">_VBDst</a>;
+00116 }
+00117
+00118 <span class="comment">// Does the flags are reserved ?</span>
+00119 <span class="keywordflow">if</span> (<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr0">_Flags</a>.size() != <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr7">_VBOri</a>-&gt;getNumVertices())
+00120 {
+00121 <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr0">_Flags</a>.resize (<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr7">_VBOri</a>-&gt;getNumVertices());
+00122 <span class="keywordflow">for</span> (i = 0; i &lt; <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr0">_Flags</a>.size(); ++i)
+00123 <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr0">_Flags</a>[i] = <a class="code" href="a02890.html#NL3D_1_1CMeshMorphery3NL3D_1_1CMeshMorphery0">Modified</a>; <span class="comment">// Modified to update all</span>
+00124 }
+00125
+00126 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr7">_VBOri</a>-&gt;getVertexFormat() == <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr5">_VBDst</a>-&gt;getVertexFormat());
+00127
+00128 <span class="comment">// Cleaning with original vertex buffer</span>
+00129 <a class="code" href="a04558.html#a11">uint32</a> VBVertexSize = <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr7">_VBOri</a>-&gt;getVertexSize();
+00130 <a class="code" href="a04558.html#a7">uint8</a> *pOri = (<a class="code" href="a04558.html#a7">uint8</a>*)<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr7">_VBOri</a>-&gt;getVertexCoordPointer ();
+00131 <a class="code" href="a04558.html#a7">uint8</a> *pDst = (<a class="code" href="a04558.html#a7">uint8</a>*)<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr5">_VBDst</a>-&gt;getVertexCoordPointer ();
+00132
+00133 <span class="keywordflow">for</span> (i= 0; i &lt; <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr0">_Flags</a>.size(); ++i)
+00134 <span class="keywordflow">if</span> (<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr0">_Flags</a>[i] &gt;= <a class="code" href="a02890.html#NL3D_1_1CMeshMorphery3NL3D_1_1CMeshMorphery0">Modified</a>)
+00135 {
+00136 <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr0">_Flags</a>[i] = <a class="code" href="a02890.html#NL3D_1_1CMeshMorphery3NL3D_1_1CMeshMorphery2">OriginalVBDst</a>;
+00137
+00138 <span class="keywordflow">for</span>(j = 0; j &lt; VBVertexSize; ++j)
+00139 pDst[j+i*VBVertexSize] = pOri[j+i*VBVertexSize];
+00140 }
+00141
+00142 <a class="code" href="a04558.html#a15">uint</a> tgSpaceStage = 0;
+00143 <span class="keywordflow">if</span> (<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr4">_UseTgSpace</a>)
+00144 {
+00145 tgSpaceStage = <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr5">_VBDst</a>-&gt;getNumTexCoordUsed() - 1;
+00146 }
+00147
+00148 <span class="comment">// Blending with blendshape</span>
+00149 <span class="keywordflow">for</span> (i = 0; i &lt; <a class="code" href="a02890.html#NL3D_1_1CMeshMorphero0">BlendShapes</a>.size(); ++i)
+00150 {
+00151 CBlendShape &amp;rBS = <a class="code" href="a02890.html#NL3D_1_1CMeshMorphero0">BlendShapes</a>[i];
+00152 <span class="keywordtype">float</span> rFactor = pBSFactor-&gt;operator[](i).getFactor()/100.0f;
+00153
+00154 <span class="comment">// todo hulud check it works</span>
+00155 <span class="comment">// if (rFactor &gt; 0.0f)</span>
+00156 <span class="keywordflow">if</span> (rFactor != 0.0f)
+00157 <span class="keywordflow">for</span> (j = 0; j &lt; rBS.VertRefs.size(); ++j)
+00158 {
+00159 <a class="code" href="a04558.html#a11">uint32</a> vp = rBS.VertRefs[j];
+00160
+00161 <span class="comment">// Modify Pos/Norm/TgSpace.</span>
+00162 <span class="comment">//------------</span>
+00163 <span class="keywordflow">if</span> (<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr5">_VBDst</a>-&gt;getVertexFormat() &amp; CVertexBuffer::PositionFlag)
+00164 <span class="keywordflow">if</span> (rBS.deltaPos.size() &gt; 0)
+00165 {
+00166 CVector *pV = (CVector*)<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr5">_VBDst</a>-&gt;getVertexCoordPointer (vp);
+00167 *pV += rBS.deltaPos[j] * rFactor;
+00168 }
+00169
+00170 <span class="keywordflow">if</span> (<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr5">_VBDst</a>-&gt;getVertexFormat() &amp; CVertexBuffer::NormalFlag)
+00171 <span class="keywordflow">if</span> (rBS.deltaNorm.size() &gt; 0)
+00172 {
+00173 CVector *pV = (CVector*)<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr5">_VBDst</a>-&gt;getNormalCoordPointer (vp);
+00174 *pV += rBS.deltaNorm[j] * rFactor;
+00175 }
+00176
+00177 <span class="keywordflow">if</span> (<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr4">_UseTgSpace</a>)
+00178 <span class="keywordflow">if</span> (rBS.deltaTgSpace.size() &gt; 0)
+00179 {
+00180 CVector *pV = (CVector*)<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr5">_VBDst</a>-&gt;getTexCoordPointer (vp, tgSpaceStage);
+00181 *pV += rBS.deltaTgSpace[j] * rFactor;
+00182 }
+00183
+00184 <span class="comment">// Modify UV0 / Color</span>
+00185 <span class="comment">//------------</span>
+00186 <span class="keywordflow">if</span> (<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr5">_VBDst</a>-&gt;getVertexFormat() &amp; CVertexBuffer::TexCoord0Flag)
+00187 <span class="keywordflow">if</span> (rBS.deltaUV.size() &gt; 0)
+00188 {
+00189 CUV *pUV = (CUV*)<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr5">_VBDst</a>-&gt;getTexCoordPointer (vp);
+00190 *pUV += rBS.deltaUV[j] * rFactor;
+00191 }
+00192
+00193 <span class="keywordflow">if</span> (<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr5">_VBDst</a>-&gt;getVertexFormat() &amp; CVertexBuffer::PrimaryColorFlag)
+00194 <span class="keywordflow">if</span> (rBS.deltaCol.size() &gt; 0)
+00195 {
+00196 <a class="code" href="a03337.html">CRGBA</a> *pRGBA = (<a class="code" href="a03337.html">CRGBA</a>*)<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr5">_VBDst</a>-&gt;getColorPointer (vp);
+00197 <a class="code" href="a03338.html">CRGBAF</a> rgbf(*pRGBA);
+00198 rgbf.<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo3">R</a> += rBS.deltaCol[j].R * rFactor;
+00199 rgbf.<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo2">G</a> += rBS.deltaCol[j].G * rFactor;
+00200 rgbf.<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo1">B</a> += rBS.deltaCol[j].B * rFactor;
+00201 rgbf.<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo0">A</a> += rBS.deltaCol[j].A * rFactor;
+00202 <a class="code" href="a05378.html#a374">clamp</a>(rgbf.<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo3">R</a>, 0.0f, 1.0f);
+00203 <a class="code" href="a05378.html#a374">clamp</a>(rgbf.<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo2">G</a>, 0.0f, 1.0f);
+00204 <a class="code" href="a05378.html#a374">clamp</a>(rgbf.<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo1">B</a>, 0.0f, 1.0f);
+00205 <a class="code" href="a05378.html#a374">clamp</a>(rgbf.<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo0">A</a>, 0.0f, 1.0f);
+00206 *pRGBA = rgbf;
+00207 }
+00208
+00209 <span class="comment">// Modified</span>
+00210 <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr0">_Flags</a>[vp] = <a class="code" href="a02890.html#NL3D_1_1CMeshMorphery3NL3D_1_1CMeshMorphery0">Modified</a>;
+00211 }
+00212 }
+00213
+00214 <span class="comment">// Copying to hardware vertex buffer if some</span>
+00215 <span class="keywordflow">if</span> (<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr6">_VBDstHrd</a> != NULL)
+00216 {
+00217 <a class="code" href="a04558.html#a7">uint8</a> *pDstHrd = (<a class="code" href="a04558.html#a7">uint8</a>*)<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr6">_VBDstHrd</a>-&gt;lock();
+00218 <span class="keywordflow">for</span> (i = 0; i &lt; <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr0">_Flags</a>.size(); ++i)
+00219 {
+00220 <span class="keywordflow">if</span> (<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr0">_Flags</a>[i] != <a class="code" href="a02890.html#NL3D_1_1CMeshMorphery3NL3D_1_1CMeshMorphery1">OriginalAll</a>) <span class="comment">// Not OriginalAll ?</span>
+00221 {
+00222 <span class="keywordflow">for</span>(j = 0; j &lt; VBVertexSize; ++j)
+00223 pDstHrd[j+i*VBVertexSize] = pDst[j+i*VBVertexSize];
+00224 }
+00225 <span class="comment">// if this vertex is original in the VBDst</span>
+00226 <span class="keywordflow">if</span> (<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr0">_Flags</a>[i] == <a class="code" href="a02890.html#NL3D_1_1CMeshMorphery3NL3D_1_1CMeshMorphery2">OriginalVBDst</a>)
+00227 <span class="comment">// then it is now copied into the VBHard</span>
+00228 <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr0">_Flags</a>[i] = <a class="code" href="a02890.html#NL3D_1_1CMeshMorphery3NL3D_1_1CMeshMorphery1">OriginalAll</a>;
+00229 }
+00230 <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr6">_VBDstHrd</a>-&gt;unlock();
+00231 }
+00232 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshMorphera5" doxytag="NL3D::CMeshMorpher::updateRawSkin" ></a><p>
+<table class="mdTable" 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::CMeshMorpher::updateRawSkin </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03692.html">CVertexBuffer</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>vbOri</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a03000.html">NLMISC::CObjectVector</a>&lt; <a class="el" href="a03308.html">CRawSkinVertex</a> *, false &gt; &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>vertexRemap</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>std::vector&lt; <a class="el" href="a02200.html">CAnimatedMorph</a> &gt; *&nbsp;</td>
+ <td class="mdname" nowrap> <em>pBSFactor</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>
+
+<p>
+Definition at line <a class="el" href="a06003.html#l00399">399</a> of file <a class="el" href="a06003.html">mesh_morpher.cpp</a>.
+<p>
+References <a class="el" href="a06004.html#l00049">NL3D::CBlendShape::deltaNorm</a>, <a class="el" href="a06004.html#l00048">NL3D::CBlendShape::deltaPos</a>, <a class="el" href="a06004.html#l00051">NL3D::CBlendShape::deltaUV</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="a06116.html#l00195">NLMISC::CObjectVector&lt; T, EnableObjectBehavior &gt;::getPtr()</a>, <a class="el" href="a06711.html#l00339">NL3D::CVertexBuffer::getTexCoordOff()</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="a06003.html#l00395">NL3D_RAWSKIN_NORMAL_OFF</a>, <a class="el" href="a06003.html#l00396">NL3D_RAWSKIN_UV_OFF</a>, <a class="el" href="a06003.html#l00397">NL3D_RAWSKIN_VERTEX_SIZE</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06314.html#l00049">NL3D::CRawSkinVertex::Normal</a>, <a class="el" href="a06314.html#l00048">NL3D::CRawSkinVertex::Pos</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05981.html#l00100">uint32</a>, <a class="el" href="a05981.html#l00096">uint8</a>, <a class="el" href="a06314.html#l00050">NL3D::CRawSkinVertex::UV</a>, and <a class="el" href="a06004.html#l00054">NL3D::CBlendShape::VertRefs</a>.
+<p>
+Referenced by <a class="el" href="a06005.html#l01318">NL3D::CMeshMRMGeom::renderSkinGroupGeom()</a>.
+<p>
+<div class="fragment"><pre>00402 {
+00403 <a class="code" href="a04558.html#a11">uint32</a> i, j;
+00404
+00405 <span class="keywordflow">if</span> (vbOri == NULL)
+00406 <span class="keywordflow">return</span>;
+00407 <span class="keywordflow">if</span> (<a class="code" href="a02890.html#NL3D_1_1CMeshMorphero0">BlendShapes</a>.size() == 0)
+00408 <span class="keywordflow">return</span>;
+00409
+00410 <a class="code" href="a04199.html#a6">nlassert</a>(vbOri-&gt;getVertexFormat() == (CVertexBuffer::PositionFlag | CVertexBuffer::NormalFlag |CVertexBuffer::TexCoord0Flag) );
+00411 <a class="code" href="a04199.html#a6">nlassert</a>(NL3D_RAWSKIN_VERTEX_SIZE == vbOri-&gt;getVertexSize());
+00412 <a class="code" href="a04199.html#a6">nlassert</a>(NL3D_RAWSKIN_NORMAL_OFF == vbOri-&gt;getNormalOff());
+00413 <a class="code" href="a04199.html#a6">nlassert</a>(NL3D_RAWSKIN_UV_OFF == vbOri-&gt;getTexCoordOff(0));
+00414
+00415 <span class="comment">// Cleaning with original vertex buffer</span>
+00416 <a class="code" href="a04558.html#a7">uint8</a> *pOri = (<a class="code" href="a04558.html#a7">uint8</a>*)vbOri-&gt;getVertexCoordPointer ();
+00417 CRawSkinVertex **vRemap= vertexRemap.<a class="code" href="a03000.html#NLMISC_1_1CObjectVectorz1984_1">getPtr</a>();
+00418 <a class="code" href="a04558.html#a15">uint</a> numVertices= vbOri-&gt;getNumVertices();
+00419
+00420 <span class="comment">// Update only the vertices of this lod</span>
+00421 <span class="keywordflow">for</span> (i= 0; i &lt; numVertices; ++i)
+00422 {
+00423 <span class="keywordflow">if</span>(*vRemap)
+00424 {
+00425 (*vRemap)-&gt;Pos= *(CVector*)(pOri);
+00426 (*vRemap)-&gt;Normal= *(CVector*)(pOri + <a class="code" href="a04580.html#a0">NL3D_RAWSKIN_NORMAL_OFF</a>);
+00427 (*vRemap)-&gt;UV= *(CUV*)(pOri + <a class="code" href="a04580.html#a1">NL3D_RAWSKIN_UV_OFF</a>);
+00428 }
+00429 pOri+= <a class="code" href="a04580.html#a2">NL3D_RAWSKIN_VERTEX_SIZE</a>;
+00430 vRemap++;
+00431 }
+00432
+00433 <span class="comment">// Blending with blendshape</span>
+00434 <span class="keywordflow">for</span> (i = 0; i &lt; <a class="code" href="a02890.html#NL3D_1_1CMeshMorphero0">BlendShapes</a>.size(); ++i)
+00435 {
+00436 CBlendShape &amp;rBS = <a class="code" href="a02890.html#NL3D_1_1CMeshMorphero0">BlendShapes</a>[i];
+00437 <span class="keywordtype">float</span> rFactor = pBSFactor-&gt;operator[](i).getFactor();
+00438
+00439 <span class="keywordflow">if</span> (rFactor != 0.0f)
+00440 {
+00441 rFactor*= 0.01f;
+00442 <a class="code" href="a04558.html#a11">uint32</a> numVertices= rBS.VertRefs.size();
+00443 <span class="comment">// don't know why, but cases happen where deltaNorm not empty while deltaPos is </span>
+00444 <span class="keywordtype">bool</span> hasPos= rBS.deltaPos.size()&gt;0;
+00445 <span class="keywordtype">bool</span> hasNorm= rBS.deltaNorm.size()&gt;0;
+00446 <span class="keywordtype">bool</span> hasUV= rBS.deltaUV.size()&gt;0;
+00447 <span class="keywordflow">for</span> (j = 0; j &lt; numVertices; ++j)
+00448 {
+00449 <span class="comment">// Get the vertex Index in the VBufferFinal</span>
+00450 <a class="code" href="a04558.html#a15">uint</a> vid= rBS.VertRefs[j];
+00451 <span class="comment">// Then get the RawSkin vertex to modify </span>
+00452 CRawSkinVertex *rsVert= vertexRemap[vid];
+00453
+00454 <span class="comment">// If exist in this Lod RawSkin, apply</span>
+00455 <span class="keywordflow">if</span>(rsVert)
+00456 {
+00457 <span class="keywordflow">if</span>(hasPos)
+00458 rsVert-&gt;Pos+= rBS.deltaPos[j] * rFactor;
+00459 <span class="keywordflow">if</span>(hasNorm)
+00460 rsVert-&gt;Normal+= rBS.deltaNorm[j] * rFactor;
+00461 <span class="keywordflow">if</span>(hasUV)
+00462 rsVert-&gt;UV+= rBS.deltaUV[j] * rFactor;
+00463 }
+00464 }
+00465 }
+00466
+00467 }
+00468
+00469 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshMorphera6" doxytag="NL3D::CMeshMorpher::updateSkinned" ></a><p>
+<table class="mdTable" 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::CMeshMorpher::updateSkinned </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">std::vector&lt; <a class="el" href="a02200.html">CAnimatedMorph</a> &gt; *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>pBSFactor</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>
+
+<p>
+Definition at line <a class="el" href="a06003.html#l00236">236</a> of file <a class="el" href="a06003.html">mesh_morpher.cpp</a>.
+<p>
+References <a class="el" href="a06004.html#l00112">_SkinApplied</a>, <a class="el" href="a06004.html#l00109">_TgSpace</a>, <a class="el" href="a06004.html#l00113">_UseTgSpace</a>, <a class="el" href="a06004.html#l00104">_VBDst</a>, <a class="el" href="a06004.html#l00105">_VBDstHrd</a>, <a class="el" href="a06004.html#l00103">_VBOri</a>, <a class="el" href="a06004.html#l00107">_Vertices</a>, <a class="el" href="a06340.html#l00661">NLMISC::CRGBAF::A</a>, <a class="el" href="a06340.html#l00659">NLMISC::CRGBAF::B</a>, <a class="el" href="a05587.html#l00115">NLMISC::clamp()</a>, <a class="el" href="a06004.html#l00052">NL3D::CBlendShape::deltaCol</a>, <a class="el" href="a06004.html#l00049">NL3D::CBlendShape::deltaNorm</a>, <a class="el" href="a06004.html#l00048">NL3D::CBlendShape::deltaPos</a>, <a class="el" href="a06004.html#l00050">NL3D::CBlendShape::deltaTgSpace</a>, <a class="el" href="a06004.html#l00051">NL3D::CBlendShape::deltaUV</a>, <a class="el" href="a06340.html#l00657">NLMISC::CRGBAF::G</a>, <a class="el" href="a06710.html#l00465">NL3D::CVertexBuffer::getColorPointer()</a>, <a class="el" href="a06710.html#l00976">NL3D::CVertexBuffer::getNumTexCoordUsed()</a>, <a class="el" href="a06711.html#l00453">NL3D::CVertexBuffer::getNumVertices()</a>, <a class="el" href="a06711.html#l00339">NL3D::CVertexBuffer::getTexCoordOff()</a>, <a class="el" href="a06710.html#l00497">NL3D::CVertexBuffer::getTexCoordPointer()</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="a03694.html#NL3D_1_1IVertexBufferHardGLz1154_0">NL3D::IVertexBufferHard::lock()</a>, <a class="el" href="a02890.html#NL3D_1_1CMeshMorphery3NL3D_1_1CMeshMorphery0">Modified</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a02890.html#NL3D_1_1CMeshMorphery3NL3D_1_1CMeshMorphery1">OriginalAll</a>, <a class="el" href="a02890.html#NL3D_1_1CMeshMorphery3NL3D_1_1CMeshMorphery2">OriginalVBDst</a>, <a class="el" href="a06340.html#l00655">NLMISC::CRGBAF::R</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05981.html#l00100">uint32</a>, <a class="el" href="a05981.html#l00096">uint8</a>, <a class="el" href="a03694.html#NL3D_1_1IVertexBufferHardGLz1154_3">NL3D::IVertexBufferHard::unlock()</a>, and <a class="el" href="a06004.html#l00054">NL3D::CBlendShape::VertRefs</a>.
+<p>
+Referenced by <a class="el" href="a06005.html#l00927">NL3D::CMeshMRMGeom::render()</a>, <a class="el" href="a05989.html#l00598">NL3D::CMeshGeom::render()</a>, <a class="el" href="a06005.html#l01146">NL3D::CMeshMRMGeom::renderSkin()</a>, and <a class="el" href="a05989.html#l00788">NL3D::CMeshGeom::renderSkin()</a>.
+<p>
+<div class="fragment"><pre>00237 {
+00238 <a class="code" href="a04558.html#a11">uint32</a> i, j;
+00239
+00240 <span class="keywordflow">if</span> (<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr7">_VBOri</a> == NULL)
+00241 <span class="keywordflow">return</span>;
+00242 <span class="keywordflow">if</span> (<a class="code" href="a02890.html#NL3D_1_1CMeshMorphero0">BlendShapes</a>.size() == 0)
+00243 <span class="keywordflow">return</span>;
+00244
+00245 <span class="keywordflow">if</span> (<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr7">_VBOri</a>-&gt;getNumVertices() != <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr5">_VBDst</a>-&gt;getNumVertices())
+00246 { <span class="comment">// Because the original vertex buffer is not initialized by default</span>
+00247 <span class="comment">// we must init it here (if there are some blendshapes)</span>
+00248 *<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr7">_VBOri</a> = *<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr5">_VBDst</a>;
+00249 }
+00250
+00251 <span class="comment">// Does the flags are reserved ?</span>
+00252 <span class="keywordflow">if</span> (<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr0">_Flags</a>.size() != <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr7">_VBOri</a>-&gt;getNumVertices())
+00253 {
+00254 <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr0">_Flags</a>.resize (<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr7">_VBOri</a>-&gt;getNumVertices());
+00255 <span class="keywordflow">for</span> (i = 0; i &lt; <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr0">_Flags</a>.size(); ++i)
+00256 <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr0">_Flags</a>[i] = <a class="code" href="a02890.html#NL3D_1_1CMeshMorphery3NL3D_1_1CMeshMorphery0">Modified</a>; <span class="comment">// Modified to update all</span>
+00257 }
+00258
+00259 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr7">_VBOri</a>-&gt;getVertexFormat() == <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr5">_VBDst</a>-&gt;getVertexFormat());
+00260
+00261 <a class="code" href="a04558.html#a15">uint</a> tgSpaceStage;
+00262 <a class="code" href="a04558.html#a15">uint</a> tgSpaceOff = 0;
+00263 <span class="keywordflow">if</span> (<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr4">_UseTgSpace</a> &amp;&amp; <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr3">_TgSpace</a>)
+00264 {
+00265 tgSpaceStage = <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr5">_VBDst</a>-&gt;getNumTexCoordUsed() - 1;
+00266 tgSpaceOff = <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr5">_VBDst</a>-&gt;getTexCoordOff(tgSpaceStage);
+00267 }
+00268
+00269 <span class="comment">// Cleaning with original vertex buffer</span>
+00270 <a class="code" href="a04558.html#a11">uint32</a> VBVertexSize = <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr7">_VBOri</a>-&gt;getVertexSize();
+00271 <a class="code" href="a04558.html#a7">uint8</a> *pOri = (<a class="code" href="a04558.html#a7">uint8</a>*)<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr7">_VBOri</a>-&gt;getVertexCoordPointer ();
+00272 <a class="code" href="a04558.html#a7">uint8</a> *pDst = (<a class="code" href="a04558.html#a7">uint8</a>*)<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr5">_VBDst</a>-&gt;getVertexCoordPointer ();
+00273
+00274 <span class="keywordflow">for</span> (i= 0; i &lt; <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr0">_Flags</a>.size(); ++i)
+00275 <span class="keywordflow">if</span> (<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr0">_Flags</a>[i] &gt;= <a class="code" href="a02890.html#NL3D_1_1CMeshMorphery3NL3D_1_1CMeshMorphery0">Modified</a>)
+00276 {
+00277 <span class="keywordflow">for</span>(j = 0; j &lt; VBVertexSize; ++j)
+00278 pDst[j+i*VBVertexSize] = pOri[j+i*VBVertexSize];
+00279
+00280 <span class="keywordflow">if</span> (<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr8">_Vertices</a> != NULL)
+00281 <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr8">_Vertices</a>-&gt;operator[](i) = ((CVector*)(pOri+i*VBVertexSize))[0];
+00282
+00283 <span class="keywordflow">if</span> (<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr1">_Normals</a> != NULL)
+00284 <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr1">_Normals</a>-&gt;operator[](i) = ((CVector*)(pOri+i*VBVertexSize))[1];
+00285
+00286 <span class="keywordflow">if</span> (<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr3">_TgSpace</a> != NULL)
+00287 (*_TgSpace)[i] = * (CVector*)(pOri + i * VBVertexSize + tgSpaceOff);
+00288
+00289 <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr0">_Flags</a>[i] = <a class="code" href="a02890.html#NL3D_1_1CMeshMorphery3NL3D_1_1CMeshMorphery2">OriginalVBDst</a>;
+00290 }
+00291
+00292 <span class="comment">// Blending with blendshape</span>
+00293 <span class="keywordflow">for</span> (i = 0; i &lt; <a class="code" href="a02890.html#NL3D_1_1CMeshMorphero0">BlendShapes</a>.size(); ++i)
+00294 {
+00295 CBlendShape &amp;rBS = <a class="code" href="a02890.html#NL3D_1_1CMeshMorphero0">BlendShapes</a>[i];
+00296 <span class="keywordtype">float</span> rFactor = pBSFactor-&gt;operator[](i).getFactor()/100.0f;
+00297
+00298 <span class="keywordflow">if</span> (rFactor != 0.0f)
+00299 <span class="keywordflow">for</span> (j = 0; j &lt; rBS.VertRefs.size(); ++j)
+00300 {
+00301 <a class="code" href="a04558.html#a11">uint32</a> vp = rBS.VertRefs[j];
+00302
+00303 <span class="comment">// Modify Pos/Norm/TgSpace.</span>
+00304 <span class="comment">//------------</span>
+00305 <span class="keywordflow">if</span> (<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr8">_Vertices</a> != NULL)
+00306 <span class="keywordflow">if</span> (rBS.deltaPos.size() &gt; 0)
+00307 {
+00308 CVector *pV = &amp;(<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr8">_Vertices</a>-&gt;operator[](vp));
+00309 *pV += rBS.deltaPos[j] * rFactor;
+00310 }
+00311
+00312 <span class="keywordflow">if</span> (<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr1">_Normals</a> != NULL)
+00313 <span class="keywordflow">if</span> (rBS.deltaNorm.size() &gt; 0)
+00314 {
+00315 CVector *pV = &amp;(<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr1">_Normals</a>-&gt;operator[](vp));
+00316 *pV += rBS.deltaNorm[j] * rFactor;
+00317 }
+00318
+00319 <span class="keywordflow">if</span> (<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr4">_UseTgSpace</a> &amp;&amp; <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr3">_TgSpace</a> != NULL)
+00320 <span class="keywordflow">if</span> (rBS.deltaTgSpace.size() &gt; 0)
+00321 {
+00322 CVector *pV = &amp;((*_TgSpace)[vp]);
+00323 *pV += rBS.deltaTgSpace[j] * rFactor;
+00324 }
+00325
+00326 <span class="comment">// Modify UV0 / Color</span>
+00327 <span class="comment">//------------</span>
+00328 <span class="keywordflow">if</span> (<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr5">_VBDst</a>-&gt;getVertexFormat() &amp; CVertexBuffer::TexCoord0Flag)
+00329 <span class="keywordflow">if</span> (rBS.deltaUV.size() &gt; 0)
+00330 {
+00331 CUV *pUV = (CUV*)<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr5">_VBDst</a>-&gt;getTexCoordPointer (vp);
+00332 *pUV += rBS.deltaUV[j] * rFactor;
+00333 }
+00334
+00335 <span class="keywordflow">if</span> (<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr5">_VBDst</a>-&gt;getVertexFormat() &amp; CVertexBuffer::PrimaryColorFlag)
+00336 <span class="keywordflow">if</span> (rBS.deltaCol.size() &gt; 0)
+00337 {
+00338 <a class="code" href="a03337.html">CRGBA</a> *pRGBA = (<a class="code" href="a03337.html">CRGBA</a>*)<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr5">_VBDst</a>-&gt;getColorPointer (vp);
+00339 <a class="code" href="a03338.html">CRGBAF</a> rgbf(*pRGBA);
+00340 rgbf.<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo3">R</a> += rBS.deltaCol[j].R * rFactor;
+00341 rgbf.<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo2">G</a> += rBS.deltaCol[j].G * rFactor;
+00342 rgbf.<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo1">B</a> += rBS.deltaCol[j].B * rFactor;
+00343 rgbf.<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo0">A</a> += rBS.deltaCol[j].A * rFactor;
+00344 <a class="code" href="a05378.html#a374">clamp</a>(rgbf.<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo3">R</a>, 0.0f, 1.0f);
+00345 <a class="code" href="a05378.html#a374">clamp</a>(rgbf.<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo2">G</a>, 0.0f, 1.0f);
+00346 <a class="code" href="a05378.html#a374">clamp</a>(rgbf.<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo1">B</a>, 0.0f, 1.0f);
+00347 <a class="code" href="a05378.html#a374">clamp</a>(rgbf.<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo0">A</a>, 0.0f, 1.0f);
+00348 *pRGBA = rgbf;
+00349 }
+00350
+00351 <span class="comment">// Modified</span>
+00352 <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr0">_Flags</a>[vp] = <a class="code" href="a02890.html#NL3D_1_1CMeshMorphery3NL3D_1_1CMeshMorphery0">Modified</a>;
+00353 }
+00354 }
+00355
+00356 <span class="comment">// Do some transfert to the VBHard if exist.</span>
+00357 <span class="keywordflow">if</span> (<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr6">_VBDstHrd</a> != NULL)
+00358 {
+00359 <span class="comment">// lock.</span>
+00360 <a class="code" href="a04558.html#a7">uint8</a> *pDstHrd = (<a class="code" href="a04558.html#a7">uint8</a>*)<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr6">_VBDstHrd</a>-&gt;lock();
+00361
+00362 <span class="comment">// If the skin is applied we have nothing to do </span>
+00363 <span class="comment">// Because the skinning will transfert ALL the vertices of interest</span>
+00364 <span class="keywordflow">if</span> (!<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr2">_SkinApplied</a>)
+00365 {
+00366 <span class="keywordflow">for</span> (i = 0; i &lt; <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr0">_Flags</a>.size(); ++i)
+00367 {
+00368 <span class="keywordflow">if</span> (<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr0">_Flags</a>[i] != <a class="code" href="a02890.html#NL3D_1_1CMeshMorphery3NL3D_1_1CMeshMorphery1">OriginalAll</a>) <span class="comment">// Not OriginalAll ?</span>
+00369 {
+00370 <span class="comment">// We must write the whole vertex because the skinning may not copy </span>
+00371 <span class="comment">// vertex and normal changes into VBHard</span>
+00372 <span class="keywordflow">for</span>(j = 0; j &lt; VBVertexSize; ++j)
+00373 pDstHrd[j+i*VBVertexSize] = pDst[j+i*VBVertexSize];
+00374 }
+00375 <span class="keywordflow">if</span> (<a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr0">_Flags</a>[i] == <a class="code" href="a02890.html#NL3D_1_1CMeshMorphery3NL3D_1_1CMeshMorphery2">OriginalVBDst</a>) <span class="comment">// OriginalVBDst ?</span>
+00376 <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr0">_Flags</a>[i] = <a class="code" href="a02890.html#NL3D_1_1CMeshMorphery3NL3D_1_1CMeshMorphery1">OriginalAll</a>; <span class="comment">// So OriginalAll !</span>
+00377 }
+00378 }
+00379
+00380 <span class="comment">// unlock.</span>
+00381 <a class="code" href="a02890.html#NL3D_1_1CMeshMorpherr6">_VBDstHrd</a>-&gt;unlock();
+00382 }
+00383 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="NL3D_1_1CMeshMorpherr0" doxytag="NL3D::CMeshMorpher::_Flags" ></a><p>
+<table class="mdTable" 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#a7">uint8</a>&gt; <a class="el" href="a02890.html#NL3D_1_1CMeshMorpherr0">NL3D::CMeshMorpher::_Flags</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="a06004.html#l00115">115</a> of file <a class="el" href="a06004.html">mesh_morpher.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshMorpherr1" doxytag="NL3D::CMeshMorpher::_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="a02890.html#NL3D_1_1CMeshMorpherr1">NL3D::CMeshMorpher::_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="a06004.html#l00108">108</a> of file <a class="el" href="a06004.html">mesh_morpher.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshMorpherr2" doxytag="NL3D::CMeshMorpher::_SkinApplied" ></a><p>
+<table class="mdTable" 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="a02890.html#NL3D_1_1CMeshMorpherr2">NL3D::CMeshMorpher::_SkinApplied</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="a06004.html#l00112">112</a> of file <a class="el" href="a06004.html">mesh_morpher.h</a>.
+<p>
+Referenced by <a class="el" href="a06003.html#l00060">CMeshMorpher()</a>, <a class="el" href="a06003.html#l00082">initSkinned()</a>, and <a class="el" href="a06003.html#l00236">updateSkinned()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshMorpherr3" doxytag="NL3D::CMeshMorpher::_TgSpace" ></a><p>
+<table class="mdTable" 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="a02890.html#NL3D_1_1CMeshMorpherr3">NL3D::CMeshMorpher::_TgSpace</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="a06004.html#l00109">109</a> of file <a class="el" href="a06004.html">mesh_morpher.h</a>.
+<p>
+Referenced by <a class="el" href="a06003.html#l00060">CMeshMorpher()</a>, <a class="el" href="a06003.html#l00082">initSkinned()</a>, and <a class="el" href="a06003.html#l00236">updateSkinned()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshMorpherr4" doxytag="NL3D::CMeshMorpher::_UseTgSpace" ></a><p>
+<table class="mdTable" 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="a02890.html#NL3D_1_1CMeshMorpherr4">NL3D::CMeshMorpher::_UseTgSpace</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="a06004.html#l00113">113</a> of file <a class="el" href="a06004.html">mesh_morpher.h</a>.
+<p>
+Referenced by <a class="el" href="a06003.html#l00073">init()</a>, <a class="el" href="a06003.html#l00082">initSkinned()</a>, <a class="el" href="a06003.html#l00103">update()</a>, and <a class="el" href="a06003.html#l00236">updateSkinned()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshMorpherr5" doxytag="NL3D::CMeshMorpher::_VBDst" ></a><p>
+<table class="mdTable" 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="a02890.html#NL3D_1_1CMeshMorpherr5">NL3D::CMeshMorpher::_VBDst</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="a06004.html#l00104">104</a> of file <a class="el" href="a06004.html">mesh_morpher.h</a>.
+<p>
+Referenced by <a class="el" href="a06003.html#l00060">CMeshMorpher()</a>, <a class="el" href="a06003.html#l00073">init()</a>, <a class="el" href="a06003.html#l00082">initSkinned()</a>, <a class="el" href="a06003.html#l00103">update()</a>, and <a class="el" href="a06003.html#l00236">updateSkinned()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshMorpherr6" doxytag="NL3D::CMeshMorpher::_VBDstHrd" ></a><p>
+<table class="mdTable" 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="a03694.html">IVertexBufferHard</a>* <a class="el" href="a02890.html#NL3D_1_1CMeshMorpherr6">NL3D::CMeshMorpher::_VBDstHrd</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="a06004.html#l00105">105</a> of file <a class="el" href="a06004.html">mesh_morpher.h</a>.
+<p>
+Referenced by <a class="el" href="a06003.html#l00060">CMeshMorpher()</a>, <a class="el" href="a06003.html#l00073">init()</a>, <a class="el" href="a06003.html#l00082">initSkinned()</a>, <a class="el" href="a06003.html#l00103">update()</a>, and <a class="el" href="a06003.html#l00236">updateSkinned()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshMorpherr7" doxytag="NL3D::CMeshMorpher::_VBOri" ></a><p>
+<table class="mdTable" 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="a02890.html#NL3D_1_1CMeshMorpherr7">NL3D::CMeshMorpher::_VBOri</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="a06004.html#l00103">103</a> of file <a class="el" href="a06004.html">mesh_morpher.h</a>.
+<p>
+Referenced by <a class="el" href="a06003.html#l00060">CMeshMorpher()</a>, <a class="el" href="a06003.html#l00073">init()</a>, <a class="el" href="a06003.html#l00082">initSkinned()</a>, <a class="el" href="a06003.html#l00103">update()</a>, and <a class="el" href="a06003.html#l00236">updateSkinned()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshMorpherr8" doxytag="NL3D::CMeshMorpher::_Vertices" ></a><p>
+<table class="mdTable" 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="a02890.html#NL3D_1_1CMeshMorpherr8">NL3D::CMeshMorpher::_Vertices</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="a06004.html#l00107">107</a> of file <a class="el" href="a06004.html">mesh_morpher.h</a>.
+<p>
+Referenced by <a class="el" href="a06003.html#l00060">CMeshMorpher()</a>, <a class="el" href="a06003.html#l00082">initSkinned()</a>, and <a class="el" href="a06003.html#l00236">updateSkinned()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMeshMorphero0" doxytag="NL3D::CMeshMorpher::BlendShapes" ></a><p>
+<table class="mdTable" 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="a02273.html">CBlendShape</a>&gt; <a class="el" href="a02890.html#NL3D_1_1CMeshMorphero0">NL3D::CMeshMorpher::BlendShapes</a>
+ </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="a06004.html#l00077">77</a> of file <a class="el" href="a06004.html">mesh_morpher.h</a>.
+<p>
+Referenced by <a class="el" href="a06005.html#l00246">NL3D::CMeshMRMGeom::build()</a>, <a class="el" href="a05989.html#l00172">NL3D::CMeshGeom::build()</a>, <a class="el" href="a06005.html#l02554">NL3D::CMeshMRMGeom::compileRunTime()</a>, <a class="el" href="a05989.html#l01062">NL3D::CMeshGeom::compileRunTime()</a>, <a class="el" href="a06006.html#l00222">NL3D::CMeshMRMGeom::getNbBlendShapes()</a>, <a class="el" href="a05990.html#l00419">NL3D::CMeshGeom::getNbBlendShapes()</a>, <a class="el" href="a06005.html#l00927">NL3D::CMeshMRMGeom::render()</a>, <a class="el" href="a05989.html#l00598">NL3D::CMeshGeom::render()</a>, <a class="el" href="a06005.html#l01146">NL3D::CMeshMRMGeom::renderSkin()</a>, <a class="el" href="a05989.html#l00788">NL3D::CMeshGeom::renderSkin()</a>, <a class="el" href="a06005.html#l01318">NL3D::CMeshMRMGeom::renderSkinGroupGeom()</a>, <a class="el" href="a05989.html#l00449">NL3D::CMeshGeom::setBlendShapes()</a>, <a class="el" href="a06005.html#l03060">NL3D::CMeshMRMGeom::updateRawSkinNormal()</a>, <a class="el" href="a06005.html#l02224">NL3D::CMeshMRMGeom::updateVertexBufferHard()</a>, and <a class="el" href="a05989.html#l00523">NL3D::CMeshGeom::updateVertexBufferHard()</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a06004.html">mesh_morpher.h</a><li><a class="el" href="a06003.html">mesh_morpher.cpp</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 06:52:43 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>