aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/a03358.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/doxygen/nel/a03358.html')
-rw-r--r--docs/doxygen/nel/a03358.html408
1 files changed, 408 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a03358.html b/docs/doxygen/nel/a03358.html
new file mode 100644
index 00000000..61fd94a1
--- /dev/null
+++ b/docs/doxygen/nel/a03358.html
@@ -0,0 +1,408 @@
+<!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::CSegRemanence::CRibbon 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::CSegRemanence::CRibbon Class Reference</h1><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="a03358.html#NL3D_1_1CSegRemanence_1_1CRibbona0">CRibbon</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03358.html#NL3D_1_1CSegRemanence_1_1CRibbona1">duplicateFirstPos</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03358.html#NL3D_1_1CSegRemanence_1_1CRibbona2">fillVB</a> (<a class="el" href="a04558.html#a7">uint8</a> *dest, <a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a582">stride</a>, <a class="el" href="a04558.html#a15">uint</a> nbSegs, float sliceTime)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03358.html#NL3D_1_1CSegRemanence_1_1CRibbona3">samplePos</a> (const <a class="el" href="a03128.html">NLMISC::CVector</a> &amp;pos, float date, float sliceDuration)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03358.html#NL3D_1_1CSegRemanence_1_1CRibbona4">setNumSlices</a> (<a class="el" href="a04558.html#a15">uint</a> numSlices)</td></tr>
+
+<tr><td colspan=2><br><h2>Private Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>typedef std::deque&lt; <a class="el" href="a03359.html">CSampledPos</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03358.html#NL3D_1_1CSegRemanence_1_1CRibbony0">TSampledPosVect</a></td></tr>
+
+<tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03358.html#NL3D_1_1CSegRemanence_1_1CRibbonr0">_LastSamplingDate</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03358.html#NL3D_1_1CSegRemanence_1_1CRibbony0">TSampledPosVect</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03358.html#NL3D_1_1CSegRemanence_1_1CRibbonr1">_Ribbon</a></td></tr>
+
+</table>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="NL3D_1_1CSegRemanence_1_1CRibbony0" doxytag="NL3D::CSegRemanence::CRibbon::TSampledPosVect" ></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::deque&lt;<a class="el" href="a03359.html">CSampledPos</a>&gt; <a class="el" href="a03358.html#NL3D_1_1CSegRemanence_1_1CRibbony0">NL3D::CSegRemanence::CRibbon::TSampledPosVect</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="a06359.html#l00153">153</a> of file <a class="el" href="a06359.html">seg_remanence.h</a>. </td>
+ </tr>
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="NL3D_1_1CSegRemanence_1_1CRibbona0" doxytag="NL3D::CSegRemanence::CRibbon::CRibbon" ></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::CSegRemanence::CRibbon::CRibbon </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="a06358.html#l00210">210</a> of file <a class="el" href="a06358.html">seg_remanence.cpp</a>.
+<p>
+<div class="fragment"><pre>00210 : <a class="code" href="a03358.html#NL3D_1_1CSegRemanence_1_1CRibbonr0">_LastSamplingDate</a>(0)
+00211 {
+00212 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="NL3D_1_1CSegRemanence_1_1CRibbona1" doxytag="NL3D::CSegRemanence::CRibbon::duplicateFirstPos" ></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::CSegRemanence::CRibbon::duplicateFirstPos </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="a06358.html#l00274">274</a> of file <a class="el" href="a06358.html">seg_remanence.cpp</a>.
+<p>
+References <a class="el" href="a06359.html#l00154">_Ribbon</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>00275 {
+00276 <a class="code" href="a04558.html#a15">uint</a> ribSize = <a class="code" href="a03358.html#NL3D_1_1CSegRemanence_1_1CRibbonr1">_Ribbon</a>.size();
+00277 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a15">uint</a> k = 1; k &lt; ribSize; ++k)
+00278 {
+00279 <a class="code" href="a03358.html#NL3D_1_1CSegRemanence_1_1CRibbonr1">_Ribbon</a>[k] = <a class="code" href="a03358.html#NL3D_1_1CSegRemanence_1_1CRibbonr1">_Ribbon</a>[0];
+00280 }
+00281 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CSegRemanence_1_1CRibbona2" doxytag="NL3D::CSegRemanence::CRibbon::fillVB" ></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::CSegRemanence::CRibbon::fillVB </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a7">uint8</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>dest</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>stride</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>nbSegs</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>sliceTime</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>
+compute a location
+<p>
+Definition at line <a class="el" href="a06358.html#l00215">215</a> of file <a class="el" href="a06358.html">seg_remanence.cpp</a>.
+<p>
+References <a class="el" href="a06359.html#l00154">_Ribbon</a>, <a class="el" href="a06275.html#l00040">NL3D::BuildHermiteVector()</a>, <a class="el" href="a05646.html#l00244">stride</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00096">uint8</a>.
+<p>
+<div class="fragment"><pre>00216 {
+00217 TSampledPosVect::iterator currIt = <a class="code" href="a03358.html#NL3D_1_1CSegRemanence_1_1CRibbonr1">_Ribbon</a>.begin();
+00218
+00219 <a class="code" href="a03128.html">NLMISC::CVector</a> t0 = (currIt + 1)-&gt;Pos - currIt-&gt;Pos;
+00220 <a class="code" href="a03128.html">NLMISC::CVector</a> t1 = 0.5f * ((currIt + 2)-&gt;Pos - currIt-&gt;Pos);
+00221
+00222 <a class="code" href="a04558.html#a15">uint</a> leftToDo = nbSegs + 1;
+00223
+00224 <span class="keywordtype">float</span> lambda = 0.f;
+00225 <span class="keywordtype">float</span> lambdaStep = 1.f;
+00226
+00227 <span class="comment">/* nlinfo("===============================");</span>
+00228 <span class="comment"> for(uint k = 0; k &lt; _Ribbon.size(); ++k)</span>
+00229 <span class="comment"> {</span>
+00230 <span class="comment"> nlinfo("pos = (%.2f, %.2f, %.2f)", _Ribbon[k].Pos.x, _Ribbon[k].Pos.y, _Ribbon[k].Pos.z);</span>
+00231 <span class="comment"> }*/</span>
+00232
+00233 <span class="keywordflow">for</span> (;;)
+00234 {
+00235 <span class="keywordtype">float</span> dt = currIt-&gt;SamplingDate - (currIt + 1)-&gt;SamplingDate;
+00236
+00237 <span class="keywordflow">if</span> (dt &lt; 10E-6f) <span class="comment">// we reached the start of ribbon</span>
+00238 {
+00239
+00240 <span class="keywordflow">do</span>
+00241 {
+00242 (<a class="code" href="a03128.html">NLMISC::CVector</a> &amp;) *dest = currIt-&gt;Pos;
+00243 dest += <a class="code" href="a04223.html#a582">stride</a>;
+00244 }
+00245 <span class="keywordflow">while</span> (--leftToDo);
+00246 <span class="keywordflow">return</span>;
+00247 }
+00248
+00249 <span class="keywordtype">float</span> newLambdaStep = sliceTime / dt;
+00250 <span class="comment">// readapt lambda</span>
+00251 lambda *= newLambdaStep / lambdaStep;
+00252 lambdaStep = newLambdaStep;
+00253 <span class="keywordflow">for</span>(;;)
+00254 {
+00255 <span class="keywordflow">if</span> (lambda &gt;= 1.f) <span class="keywordflow">break</span>;
+00257 <a class="code" href="a05363.html#a514">BuildHermiteVector</a>(currIt-&gt;Pos, (currIt + 1)-&gt;Pos, t0, t1, (<a class="code" href="a03128.html">NLMISC::CVector</a> &amp;) *dest, lambda);
+00258 dest += <a class="code" href="a04223.html#a582">stride</a>;
+00259 -- leftToDo;
+00260 <span class="keywordflow">if</span> (!leftToDo) <span class="keywordflow">return</span>;
+00261 lambda += lambdaStep;
+00262 }
+00263
+00264 lambda -= 1.f;
+00265
+00266 <span class="comment">// Start new segment and compute new tangents</span>
+00267 t0 = t1;
+00268 ++currIt;
+00269 t1 = 0.5f * ((currIt + 2)-&gt;Pos - currIt-&gt;Pos);
+00270 }
+00271 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CSegRemanence_1_1CRibbona3" doxytag="NL3D::CSegRemanence::CRibbon::samplePos" ></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::CSegRemanence::CRibbon::samplePos </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="mdname" nowrap> <em>pos</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>date</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>sliceDuration</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="a06358.html#l00308">308</a> of file <a class="el" href="a06358.html">seg_remanence.cpp</a>.
+<p>
+References <a class="el" href="a06359.html#l00155">_LastSamplingDate</a>, <a class="el" href="a06359.html#l00154">_Ribbon</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+<div class="fragment"><pre>00309 {
+00310 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a03358.html#NL3D_1_1CSegRemanence_1_1CRibbonr1">_Ribbon</a>.size() != 0);
+00311 <span class="keywordflow">if</span> (date - <a class="code" href="a03358.html#NL3D_1_1CSegRemanence_1_1CRibbonr0">_LastSamplingDate</a> &gt; sliceDuration)
+00312 {
+00313 <a class="code" href="a03358.html#NL3D_1_1CSegRemanence_1_1CRibbonr1">_Ribbon</a>.pop_back();
+00314 CSampledPos sp(pos, date);
+00315 <a class="code" href="a03358.html#NL3D_1_1CSegRemanence_1_1CRibbonr1">_Ribbon</a>.push_front(sp);
+00316 <a class="code" href="a03358.html#NL3D_1_1CSegRemanence_1_1CRibbonr0">_LastSamplingDate</a> = date;
+00317 }
+00318 <span class="keywordflow">else</span>
+00319 {
+00320 <a class="code" href="a03358.html#NL3D_1_1CSegRemanence_1_1CRibbonr1">_Ribbon</a>.front().Pos = pos;
+00321 <a class="code" href="a03358.html#NL3D_1_1CSegRemanence_1_1CRibbonr1">_Ribbon</a>.front().SamplingDate = date;
+00322 }
+00323 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CSegRemanence_1_1CRibbona4" doxytag="NL3D::CSegRemanence::CRibbon::setNumSlices" ></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::CSegRemanence::CRibbon::setNumSlices </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>numSlices</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="a06358.html#l00302">302</a> of file <a class="el" href="a06358.html">seg_remanence.cpp</a>.
+<p>
+References <a class="el" href="a06359.html#l00154">_Ribbon</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>00303 {
+00304 <a class="code" href="a03358.html#NL3D_1_1CSegRemanence_1_1CRibbonr1">_Ribbon</a>.resize(numSegs + 3);
+00305 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="NL3D_1_1CSegRemanence_1_1CRibbonr0" doxytag="NL3D::CSegRemanence::CRibbon::_LastSamplingDate" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float <a class="el" href="a03358.html#NL3D_1_1CSegRemanence_1_1CRibbonr0">NL3D::CSegRemanence::CRibbon::_LastSamplingDate</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="a06359.html#l00155">155</a> of file <a class="el" href="a06359.html">seg_remanence.h</a>.
+<p>
+Referenced by <a class="el" href="a06358.html#l00308">samplePos()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CSegRemanence_1_1CRibbonr1" doxytag="NL3D::CSegRemanence::CRibbon::_Ribbon" ></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="a03358.html#NL3D_1_1CSegRemanence_1_1CRibbony0">TSampledPosVect</a> <a class="el" href="a03358.html#NL3D_1_1CSegRemanence_1_1CRibbonr1">NL3D::CSegRemanence::CRibbon::_Ribbon</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="a06359.html#l00154">154</a> of file <a class="el" href="a06359.html">seg_remanence.h</a>.
+<p>
+Referenced by <a class="el" href="a06358.html#l00274">duplicateFirstPos()</a>, <a class="el" href="a06358.html#l00215">fillVB()</a>, <a class="el" href="a06358.html#l00308">samplePos()</a>, and <a class="el" href="a06358.html#l00302">setNumSlices()</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a06359.html">seg_remanence.h</a><li><a class="el" href="a06358.html">seg_remanence.cpp</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 07:42:24 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>