aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/a02379.html
diff options
context:
space:
mode:
authorneodarz <neodarz@neodarz.net>2018-08-11 20:21:34 +0200
committerneodarz <neodarz@neodarz.net>2018-08-11 20:21:34 +0200
commit0ea5fc66924303d1bf73ba283a383e2aadee02f2 (patch)
tree2568e71a7ccc44ec23b8bb3f0ff97fb6bf2ed709 /docs/doxygen/nel/a02379.html
downloadnevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.tar.xz
nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.zip
Initial commit
Diffstat (limited to '')
-rw-r--r--docs/doxygen/nel/a02379.html472
1 files changed, 472 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a02379.html b/docs/doxygen/nel/a02379.html
new file mode 100644
index 00000000..9e652c79
--- /dev/null
+++ b/docs/doxygen/nel/a02379.html
@@ -0,0 +1,472 @@
+<!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: NLPACS::CCollisionMeshBuild 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>NLPACS::CCollisionMeshBuild Class Reference</h1><code>#include &lt;<a class="el" href="a05579.html">collision_mesh_build.h</a>&gt;</code>
+<p>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+The collision intermediate mesh, used to build the real collision meshes. <dl compact><dt><b>Author:</b></dt><dd>Benjamin Legros <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="a05579.html#l00107">107</a> of file <a class="el" href="a05579.html">collision_mesh_build.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><a class="el" href="a03128.html">NLMISC::CVector</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02379.html#NLPACS_1_1CCollisionMeshBuilda0">computeTrivialTranslation</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02379.html#NLPACS_1_1CCollisionMeshBuilda1">link</a> (bool linkInterior, std::vector&lt; std::string &gt; &amp;errors)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02379.html#NLPACS_1_1CCollisionMeshBuilda2">serial</a> (<a class="el" href="a02270.html">NLMISC::IStream</a> &amp;f)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02379.html#NLPACS_1_1CCollisionMeshBuilda3">transform</a> (const <a class="el" href="a02851.html">NLMISC::CMatrix</a> &amp;tranfo)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02379.html#NLPACS_1_1CCollisionMeshBuilda4">translate</a> (const <a class="el" href="a03128.html">NLMISC::CVector</a> &amp;translation)</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="a02378.html">CCollisionFace</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02379.html#NLPACS_1_1CCollisionMeshBuildo0">Faces</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The faces of the mesh. <a href="#NLPACS_1_1CCollisionMeshBuildo0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::vector&lt; <a class="el" href="a03128.html">NLMISC::CVector</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02379.html#NLPACS_1_1CCollisionMeshBuildo1">Vertices</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The vertices of the mesh. <a href="#NLPACS_1_1CCollisionMeshBuildo1"></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 TLinkRelloc::iterator&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02379.html#NLPACS_1_1CCollisionMeshBuildy0">ItTLinkRelloc</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>typedef std::map&lt; <a class="el" href="a02381.html">CEdgeKey</a>,<br>
+ <a class="el" href="a02380.html">CEdgeInfo</a>, <a class="el" href="a02381.html">CEdgeKey</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02379.html#NLPACS_1_1CCollisionMeshBuildy1">TLinkRelloc</a></td></tr>
+
+</table>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="NLPACS_1_1CCollisionMeshBuildy0" doxytag="NLPACS::CCollisionMeshBuild::ItTLinkRelloc" ></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 TLinkRelloc::iterator <a class="el" href="a02379.html#NLPACS_1_1CCollisionMeshBuildy0">NLPACS::CCollisionMeshBuild::ItTLinkRelloc</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="a05579.html#l00135">135</a> of file <a class="el" href="a05579.html">collision_mesh_build.h</a>.
+<p>
+Referenced by <a class="el" href="a05579.html#l00185">link()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLPACS_1_1CCollisionMeshBuildy1" doxytag="NLPACS::CCollisionMeshBuild::TLinkRelloc" ></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;<a class="el" href="a02381.html">CEdgeKey</a>, <a class="el" href="a02380.html">CEdgeInfo</a>, <a class="el" href="a02381.html">CEdgeKey</a>&gt; <a class="el" href="a02379.html#NLPACS_1_1CCollisionMeshBuildy1">NLPACS::CCollisionMeshBuild::TLinkRelloc</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="a05579.html#l00134">134</a> of file <a class="el" href="a05579.html">collision_mesh_build.h</a>.
+<p>
+Referenced by <a class="el" href="a05579.html#l00185">link()</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="NLPACS_1_1CCollisionMeshBuilda0" doxytag="NLPACS::CCollisionMeshBuild::computeTrivialTranslation" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03128.html">NLMISC::CVector</a> NLPACS::CCollisionMeshBuild::computeTrivialTranslation </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>
+
+<p>
+Definition at line <a class="el" href="a05579.html#l00169">169</a> of file <a class="el" href="a05579.html">collision_mesh_build.h</a>.
+<p>
+References <a class="el" href="a05384.html#l00215">NLMISC::CAABBox::extend()</a>, <a class="el" href="a05385.html#l00090">NLMISC::CAABBox::getCenter()</a>, <a class="el" href="a05385.html#l00066">NLMISC::CAABBox::setCenter()</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a05522.html#l00627">NLPACS::computeRetriever()</a>.
+<p>
+<div class="fragment"><pre>00170 {
+00171 <a class="code" href="a04558.html#a15">uint</a> i;
+00172 <a class="code" href="a02156.html">NLMISC::CAABBox</a> bbox;
+00173
+00174 <span class="keywordflow">if</span> (!<a class="code" href="a02379.html#NLPACS_1_1CCollisionMeshBuildo1">Vertices</a>.empty())
+00175 {
+00176 bbox.<a class="code" href="a02156.html#NLMISC_1_1CAABBoxz1902_1">setCenter</a>(Vertices[0]);
+00177 <span class="keywordflow">for</span> (i=1; i&lt;<a class="code" href="a02379.html#NLPACS_1_1CCollisionMeshBuildo1">Vertices</a>.size(); ++i)
+00178 bbox.<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtz1902_0">extend</a>(Vertices[i]);
+00179 }
+00180
+00181 <span class="keywordflow">return</span> -bbox.<a class="code" href="a02156.html#NLMISC_1_1CAABBoxz1904_0">getCenter</a>();
+00182 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLPACS_1_1CCollisionMeshBuilda1" doxytag="NLPACS::CCollisionMeshBuild::link" ></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 NLPACS::CCollisionMeshBuild::link </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>linkInterior</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>std::vector&lt; std::string &gt; &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>errors</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05579.html#l00185">185</a> of file <a class="el" href="a05579.html">collision_mesh_build.h</a>.
+<p>
+References <a class="el" href="a05579.html#l00135">ItTLinkRelloc</a>, <a class="el" href="a05579.html#l00059">NLPACS::CCollisionFace::Material</a>, <a class="el" href="a05981.html#l00099">sint32</a>, <a class="el" href="a05579.html#l00056">NLPACS::CCollisionFace::Surface</a>, <a class="el" href="a05579.html#l00134">TLinkRelloc</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05981.html#l00100">uint32</a>, <a class="el" href="a05579.html#l00050">NLPACS::CCollisionFace::V</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::x</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::y</a>, and <a class="el" href="a06673.html#l00051">NLMISC::CVector::z</a>.
+<p>
+Referenced by <a class="el" href="a05522.html#l00627">NLPACS::computeRetriever()</a>.
+<p>
+<div class="fragment"><pre>00186 {
+00187 <a class="code" href="a04558.html#a15">uint</a> i, j;
+00188 <a class="code" href="a02379.html#NLPACS_1_1CCollisionMeshBuildy1">TLinkRelloc</a> relloc;
+00189
+00190
+00191 <span class="comment">// check each edge of each face</span>
+00192 <span class="keywordflow">for</span> (i=0; i&lt;<a class="code" href="a02379.html#NLPACS_1_1CCollisionMeshBuildo0">Faces</a>.size(); ++i)
+00193 {
+00194 <span class="keywordflow">if</span> (<a class="code" href="a02379.html#NLPACS_1_1CCollisionMeshBuildo0">Faces</a>[i].Surface == CCollisionFace::ExteriorSurface &amp;&amp; linkInterior ||
+00195 <a class="code" href="a02379.html#NLPACS_1_1CCollisionMeshBuildo0">Faces</a>[i].Surface &gt;= CCollisionFace::InteriorSurfaceFirst &amp;&amp; !linkInterior)
+00196 <span class="keywordflow">continue</span>;
+00197
+00198 <span class="keywordflow">for</span> (j=0; j&lt;3; ++j)
+00199 {
+00200 <a class="code" href="a02379.html#NLPACS_1_1CCollisionMeshBuildo0">Faces</a>[i].Edge[j] = -1;
+00201
+00202 <a class="code" href="a04558.html#a15">uint</a> edge = (j+2)%3;
+00203 <a class="code" href="a04558.html#a11">uint32</a> va = <a class="code" href="a02379.html#NLPACS_1_1CCollisionMeshBuildo0">Faces</a>[i].V[j],
+00204 vb = Faces[i].V[(j+1)%3];
+00205
+00206 <a class="code" href="a02379.html#NLPACS_1_1CCollisionMeshBuildy0">ItTLinkRelloc</a> it;
+00207 <span class="keywordflow">if</span> ((it = relloc.find(CEdgeKey(va, vb))) != relloc.end())
+00208 {
+00209 CCollisionFace &amp;left0 = Faces[(*it).second.Left];
+00210 CCollisionFace &amp;left1 = Faces[i];
+00211 <span class="comment">// in this case, the left triangle of the edge has already been found.</span>
+00212 <span class="comment">// should throw an error</span>
+00213 <a class="code" href="a03128.html">NLMISC::CVector</a> eva = <a class="code" href="a02379.html#NLPACS_1_1CCollisionMeshBuildo1">Vertices</a>[va], evb = Vertices[vb];
+00214 <span class="keyword">static</span> <span class="keywordtype">char</span> buf[512];
+00215 sprintf(buf, <span class="stringliteral">"Edge issue: (%.2f,%.2f,%.2f)-(%.2f,%.2f,%.2f) [left face already found]\n"</span>
+00216 <span class="stringliteral">"left.0:%d: v0:(%.2f,%.2f) v1:(%.2f,%.2f), v2:(%.2f,%.2f) surf=%d material=%d\n"</span>
+00217 <span class="stringliteral">"left.1:%d: v0:(%.2f,%.2f) v1:(%.2f,%.2f), v2:(%.2f,%.2f) surf=%d material=%d"</span>,
+00218 eva.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a>, eva.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a>, eva.<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a>, evb.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a>, evb.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a>, evb.<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a>,
+00219 (*it).second.Left, Vertices[left0.V[0]].x, Vertices[left0.V[0]].y, Vertices[left0.V[1]].x, Vertices[left0.V[1]].y, Vertices[left0.V[2]].x, Vertices[left0.V[2]].y, Faces[(*it).second.Left].Surface, Faces[(*it).second.Left].Material,
+00220 i, Vertices[left1.V[0]].x, Vertices[left1.V[0]].y, Vertices[left1.V[1]].x, Vertices[left1.V[1]].y, Vertices[left1.V[2]].x, Vertices[left1.V[2]].y, Faces[i].Surface, Faces[i].Material);
+00221 errors.push_back(std::string(buf));
+00222 <span class="keywordflow">continue</span>;
+00223 <span class="comment">/* nlerror("On face %d, edge %d: left side of edge (%d,%d) already linked to face %d",</span>
+00224 <span class="comment"> i, edge, va, vb, (*it).second.Left);*/</span>
+00225 }
+00226 <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((it = relloc.find(CEdgeKey(vb, va))) != relloc.end())
+00227 {
+00228 <span class="comment">// in this case, we must check the right face has been set yet</span>
+00229 <span class="keywordflow">if</span> ((*it).second.Right != -1)
+00230 {
+00231 CCollisionFace &amp;right0 = Faces[(*it).second.Right];
+00232 CCollisionFace &amp;right1 = Faces[i];
+00233 <a class="code" href="a03128.html">NLMISC::CVector</a> eva = Vertices[va], evb = Vertices[vb];
+00234 <span class="keyword">static</span> <span class="keywordtype">char</span> buf[512];
+00235 sprintf(buf, <span class="stringliteral">"Edge issue: (%.2f,%.2f,%.2f)-(%.2f,%.2f,%.2f) [right face already found]\n"</span>
+00236 <span class="stringliteral">"right.0:%d: v0:(%.2f,%.2f) v1:(%.2f,%.2f), v2:(%.2f,%.2f)\n"</span>
+00237 <span class="stringliteral">"right.1:%d: v0:(%.2f,%.2f) v1:(%.2f,%.2f), v2:(%.2f,%.2f)"</span>,
+00238 eva.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a>, eva.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a>, eva.<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a>, evb.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a>, evb.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a>, evb.<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a>,
+00239 (*it).second.Right, Vertices[right0.V[0]].x, Vertices[right0.V[0]].y, Vertices[right0.V[1]].x, Vertices[right0.V[1]].y, Vertices[right0.V[2]].x, Vertices[right0.V[2]].y,
+00240 i, Vertices[right1.V[0]].x, Vertices[right1.V[0]].y, Vertices[right1.V[1]].x, Vertices[right1.V[1]].y, Vertices[right1.V[2]].x, Vertices[right1.V[2]].y);
+00241 errors.push_back(std::string(buf));
+00242 <span class="keywordflow">continue</span>;
+00243 <span class="comment">/* nlerror("On face %d, edge %d: right side of edge (%d,%d) already linked to face %d",</span>
+00244 <span class="comment"> i, edge, vb, va, (*it).second.Right);*/</span>
+00245 }
+00246
+00247 (*it).second.Right = i;
+00248 (*it).second.RightEdge = edge;
+00249 }
+00250 <span class="keywordflow">else</span>
+00251 {
+00252 <span class="comment">// if the edge wasn't present yet, create it and set it up.</span>
+00253 relloc.insert(std::make_pair(CEdgeKey(va, vb), CEdgeInfo(i, edge, -1, -1)));
+00254 }
+00255 }
+00256 }
+00257
+00258 <span class="comment">// for each checked edge, update the edge info inside the faces</span>
+00259 <a class="code" href="a02379.html#NLPACS_1_1CCollisionMeshBuildy0">ItTLinkRelloc</a> it;
+00260 <span class="keywordflow">for</span> (it=relloc.begin(); it!=relloc.end(); ++it)
+00261 {
+00262 <a class="code" href="a04558.html#a10">sint32</a> left, leftEdge;
+00263 <a class="code" href="a04558.html#a10">sint32</a> right, rightEdge;
+00264
+00265 <span class="comment">// get the link info on the edge</span>
+00266 left = (*it).second.Left;
+00267 leftEdge = (*it).second.LeftEdge;
+00268 right = (*it).second.Right;
+00269 rightEdge = (*it).second.RightEdge;
+00270
+00271 <span class="comment">// update both faces</span>
+00272 <span class="keywordflow">if</span> (left != -1)
+00273 Faces[left].Edge[leftEdge] = right;
+00274 <span class="keywordflow">if</span> (right != -1)
+00275 Faces[right].Edge[rightEdge] = left;
+00276 }
+00277 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLPACS_1_1CCollisionMeshBuilda2" doxytag="NLPACS::CCollisionMeshBuild::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 NLPACS::CCollisionMeshBuild::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><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05579.html#l00149">149</a> of file <a class="el" href="a05579.html">collision_mesh_build.h</a>.
+<p>
+References <a class="el" href="a06462.html#l00324">NLMISC::IStream::serialCont()</a>.
+<p>
+<div class="fragment"><pre>00150 {
+00151 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2033_9">serialCont</a>(Vertices);
+00152 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2033_9">serialCont</a>(Faces);
+00153 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLPACS_1_1CCollisionMeshBuilda3" doxytag="NLPACS::CCollisionMeshBuild::transform" ></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 NLPACS::CCollisionMeshBuild::transform </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a02851.html">NLMISC::CMatrix</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>tranfo</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05579.html#l00162">162</a> of file <a class="el" href="a05579.html">collision_mesh_build.h</a>.
+<p>
+References <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>00163 {
+00164 <a class="code" href="a04558.html#a15">uint</a> i;
+00165 <span class="keywordflow">for</span> (i=0; i&lt;<a class="code" href="a02379.html#NLPACS_1_1CCollisionMeshBuildo1">Vertices</a>.size(); ++i)
+00166 <a class="code" href="a02379.html#NLPACS_1_1CCollisionMeshBuildo1">Vertices</a>[i] = tranfo * <a class="code" href="a02379.html#NLPACS_1_1CCollisionMeshBuildo1">Vertices</a>[i];
+00167 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLPACS_1_1CCollisionMeshBuilda4" doxytag="NLPACS::CCollisionMeshBuild::translate" ></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 NLPACS::CCollisionMeshBuild::translate </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">NLMISC::CVector</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>translation</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05579.html#l00155">155</a> of file <a class="el" href="a05579.html">collision_mesh_build.h</a>.
+<p>
+References <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a05522.html#l00627">NLPACS::computeRetriever()</a>.
+<p>
+<div class="fragment"><pre>00156 {
+00157 <a class="code" href="a04558.html#a15">uint</a> i;
+00158 <span class="keywordflow">for</span> (i=0; i&lt;<a class="code" href="a02379.html#NLPACS_1_1CCollisionMeshBuildo1">Vertices</a>.size(); ++i)
+00159 <a class="code" href="a02379.html#NLPACS_1_1CCollisionMeshBuildo1">Vertices</a>[i] += translation;
+00160 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="NLPACS_1_1CCollisionMeshBuildo0" doxytag="NLPACS::CCollisionMeshBuild::Faces" ></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="a02378.html">CCollisionFace</a>&gt; <a class="el" href="a02379.html#NLPACS_1_1CCollisionMeshBuildo0">NLPACS::CCollisionMeshBuild::Faces</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The faces of the mesh.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05579.html#l00145">145</a> of file <a class="el" href="a05579.html">collision_mesh_build.h</a>.
+<p>
+Referenced by <a class="el" href="a05522.html#l00431">NLPACS::buildExteriorMesh()</a>, <a class="el" href="a05522.html#l00405">NLPACS::buildSnapping()</a>, <a class="el" href="a05522.html#l00240">NLPACS::computeSurfaceBorders()</a>, <a class="el" href="a05522.html#l00331">NLPACS::computeSurfaceQuadTree()</a>, <a class="el" href="a05522.html#l00109">NLPACS::floodFillSurfaces()</a>, <a class="el" href="a05522.html#l00173">NLPACS::followBorder()</a>, <a class="el" href="a05522.html#l00068">NLPACS::CInteriorSurface::getFace()</a>, <a class="el" href="a05522.html#l00069">NLPACS::CInteriorSurface::getNeighbor()</a>, and <a class="el" href="a05522.html#l00160">NLPACS::resetEdgeFlags()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLPACS_1_1CCollisionMeshBuildo1" doxytag="NLPACS::CCollisionMeshBuild::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">NLMISC::CVector</a>&gt; <a class="el" href="a02379.html#NLPACS_1_1CCollisionMeshBuildo1">NLPACS::CCollisionMeshBuild::Vertices</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The vertices of the mesh.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05579.html#l00142">142</a> of file <a class="el" href="a05579.html">collision_mesh_build.h</a>.
+<p>
+Referenced by <a class="el" href="a05522.html#l00431">NLPACS::buildExteriorMesh()</a>, <a class="el" href="a05522.html#l00405">NLPACS::buildSnapping()</a>, <a class="el" href="a05522.html#l00304">NLPACS::computeSurfaceCenter()</a>, <a class="el" href="a05522.html#l00331">NLPACS::computeSurfaceQuadTree()</a>, and <a class="el" href="a05522.html#l00173">NLPACS::followBorder()</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a05579.html">collision_mesh_build.h</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 14:10:12 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>