diff options
Diffstat (limited to 'docs/doxygen/nel/a03358.html')
-rw-r--r-- | docs/doxygen/nel/a03358.html | 408 |
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 Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related Pages</a> | <span class="search"><u>S</u>earch for <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> </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 </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 </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 </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> &pos, float date, float sliceDuration)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </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< <a class="el" href="a03359.html">CSampledPos</a> > </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 </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> </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<<a class="el" href="a03359.html">CSampledPos</a>> <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> + + </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 & 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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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 < 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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a7">uint8</a> * </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> </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> </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 </td> + <td class="mdname" nowrap> <em>sliceTime</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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)->Pos - currIt->Pos; +00220 <a class="code" href="a03128.html">NLMISC::CVector</a> t1 = 0.5f * ((currIt + 2)->Pos - currIt->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 < _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->SamplingDate - (currIt + 1)->SamplingDate; +00236 +00237 <span class="keywordflow">if</span> (dt < 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> &) *dest = currIt->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 >= 1.f) <span class="keywordflow">break</span>; +00257 <a class="code" href="a05363.html#a514">BuildHermiteVector</a>(currIt->Pos, (currIt + 1)->Pos, t0, t1, (<a class="code" href="a03128.html">NLMISC::CVector</a> &) *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)->Pos - currIt->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">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">NLMISC::CVector</a> & </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 </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 </td> + <td class="mdname" nowrap> <em>sliceDuration</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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> > 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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname1" valign="top" nowrap> <em>numSlices</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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> + + </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> + + </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> |