aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/a03439.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/a03439.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/a03439.html633
1 files changed, 633 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a03439.html b/docs/doxygen/nel/a03439.html
new file mode 100644
index 00000000..4b40727f
--- /dev/null
+++ b/docs/doxygen/nel/a03439.html
@@ -0,0 +1,633 @@
+<!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: TemplateNL3D::CStaticQuadGrid&lt; T &gt; 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::CStaticQuadGrid&lt; T &gt; Class Template Reference</h1><code>#include &lt;<a class="el" href="a06436.html">static_quad_grid.h</a>&gt;</code>
+<p>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;class T&gt;<br>
+ class NL3D::CStaticQuadGrid&lt; T &gt;</h3>
+
+This class is builded from a <a class="el" href="a03273.html">CQuadGrid</a>, and is to be used when:<ul>
+<li>sizeof(T) is small (ie a pointer)</li><li>no dynamic insertion are made (builded from a <a class="el" href="a03273.html">CQuadGrid</a>)</li><li>selection is made with a point, not a BBox.</li></ul>
+<p>
+Because elements are duplicated all over cells and only one cell can be selected at a time.<p>
+<dl compact><dt><b>Author:</b></dt><dd>Lionel Berenguier <p>
+Nevrax France </dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>2002 </dd></dl>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06436.html#l00051">51</a> of file <a class="el" href="a06436.html">static_quad_grid.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="a03439.html#NL3D_1_1CStaticQuadGrida0">CStaticQuadGrid</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <a href="#NL3D_1_1CStaticQuadGrida0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03439.html#NL3D_1_1CStaticQuadGrida1">~CStaticQuadGrid</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">dtor. <a href="#NL3D_1_1CStaticQuadGrida1"></a><br><br></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Initialization</div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03439.html#NL3D_1_1CStaticQuadGridz962_0">build</a> (<a class="el" href="a03273.html">CQuadGrid</a>&lt; T &gt; &amp;quadGrid)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03439.html#NL3D_1_1CStaticQuadGridz962_1">clear</a> ()</td></tr>
+
+<tr><td colspan="2"><div class="groupHeader">Selection</div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const T *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03439.html#NL3D_1_1CStaticQuadGridz964_0">select</a> (const <a class="el" href="a03128.html">NLMISC::CVector</a> &amp;point, <a class="el" href="a04558.html#a15">uint</a> &amp;numElts)</td></tr>
+
+<tr><td colspan=2><br><h2>Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03439.html#NL3D_1_1CStaticQuadGridd0">selectPoint</a> (<a class="el" href="a03128.html">CVector</a> point, <a class="el" href="a04558.html#a14">sint</a> &amp;x0, <a class="el" href="a04558.html#a14">sint</a> &amp;y0)</td></tr>
+
+<tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02851.html">NLMISC::CMatrix</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03439.html#NL3D_1_1CStaticQuadGridr0">_ChangeBasis</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::vector&lt; T &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03439.html#NL3D_1_1CStaticQuadGridr1">_Elements</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03439.html#NL3D_1_1CStaticQuadGridr2">_EltSize</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::vector&lt; <a class="el" href="a03440.html">CQuadNode</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03439.html#NL3D_1_1CStaticQuadGridr3">_Grid</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a14">sint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03439.html#NL3D_1_1CStaticQuadGridr4">_Size</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a14">sint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03439.html#NL3D_1_1CStaticQuadGridr5">_SizePower</a></td></tr>
+
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="NL3D_1_1CStaticQuadGrida0" doxytag="NL3D::CStaticQuadGrid::CStaticQuadGrid" ></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" colspan="4">
+template&lt;class T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03439.html">NL3D::CStaticQuadGrid</a>&lt; T &gt;::<a class="el" href="a03439.html">CStaticQuadGrid</a> </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06436.html#l00146">146</a> of file <a class="el" href="a06436.html">static_quad_grid.h</a>.
+<p>
+References <a class="el" href="a05972.html#l00200">NLMISC::CMatrix::identity()</a>.
+<p>
+<div class="fragment"><pre>00147 {
+00148 <a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridr5">_SizePower</a>=4;
+00149 <a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridr4">_Size</a>=1&lt;&lt;<a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridr5">_SizePower</a>;
+00150 <a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridr2">_EltSize</a>=1;
+00151 <a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridr0">_ChangeBasis</a>.<a class="code" href="a02851.html#NLMISC_1_1CMatrixz1961_0">identity</a>();
+00152 <a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridr3">_Grid</a>.resize(_Size * _Size);
+00153 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CStaticQuadGrida1" doxytag="NL3D::CStaticQuadGrid::~CStaticQuadGrid" ></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" colspan="4">
+template&lt;class T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03439.html">NL3D::CStaticQuadGrid</a>&lt; T &gt;::~<a class="el" href="a03439.html">CStaticQuadGrid</a> </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>
+dtor.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06436.html#l00156">156</a> of file <a class="el" href="a06436.html">static_quad_grid.h</a>.
+<p>
+References <a class="el" href="a06436.html#l00164">NL3D::CStaticQuadGrid&lt; T &gt;::clear()</a>.
+<p>
+<div class="fragment"><pre>00157 {
+00158 <a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridz962_1">clear</a>();
+00159 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="NL3D_1_1CStaticQuadGridz962_0" doxytag="NL3D::CStaticQuadGrid::build" ></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" colspan="4">
+template&lt;class T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> void <a class="el" href="a03439.html">NL3D::CStaticQuadGrid</a>&lt; T &gt;::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03273.html">CQuadGrid</a>&lt; T &gt; &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>quadGrid</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>
+build from a <a class="el" href="a03273.html">CQuadGrid</a>. Elements are copied, not referenced Elements may be duplicated in all cells they lie into. quadGrid selection is cleared
+<p>
+Definition at line <a class="el" href="a06436.html#l00181">181</a> of file <a class="el" href="a06436.html">static_quad_grid.h</a>.
+<p>
+References <a class="el" href="a06300.html#l00641">NL3D::CQuadGrid&lt; T &gt;::begin()</a>, <a class="el" href="a06436.html#l00164">NL3D::CStaticQuadGrid&lt; T &gt;::clear()</a>, <a class="el" href="a06300.html#l00567">NL3D::CQuadGrid&lt; T &gt;::clearSelection()</a>, <a class="el" href="a06300.html#l00646">NL3D::CQuadGrid&lt; T &gt;::end()</a>, <a class="el" href="a06300.html#l00119">NL3D::CQuadGrid&lt; T &gt;::getBasis()</a>, <a class="el" href="a06300.html#l00121">NL3D::CQuadGrid&lt; T &gt;::getEltSize()</a>, <a class="el" href="a05586.html#l00358">NLMISC::getPowerOf2()</a>, <a class="el" href="a06300.html#l00120">NL3D::CQuadGrid&lt; T &gt;::getSize()</a>, <a class="el" href="a05972.html#l01090">NLMISC::CMatrix::inverted()</a>, <a class="el" href="a06300.html#l00613">NL3D::CQuadGrid&lt; T &gt;::select()</a>, <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::x</a>, <a class="el" href="a05646.html#l00236">x</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::y</a>, <a class="el" href="a05646.html#l00236">y</a>, and <a class="el" href="a06673.html#l00051">NLMISC::CVector::z</a>.
+<p>
+<div class="fragment"><pre>00182 {
+00183 <a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridz962_1">clear</a>();
+00184 <a class="code" href="a05378.html#a381">contReset</a>(_Grid);
+00185
+00186 <span class="comment">// Copy from quadGrid, and init quads</span>
+00187 <a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridr4">_Size</a>= quadGrid.getSize();
+00188 <a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridr5">_SizePower</a>= <a class="code" href="a05378.html#a263">getPowerOf2</a>(_Size);
+00189 <a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridr2">_EltSize</a>= quadGrid.getEltSize();
+00190 <a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridr0">_ChangeBasis</a>= quadGrid.getBasis();
+00191 <a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridr3">_Grid</a>.resize(_Size * _Size);
+00192
+00193 <a class="code" href="a02851.html">NLMISC::CMatrix</a> invBasis= <a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridr0">_ChangeBasis</a>.<a class="code" href="a02851.html#NLMISC_1_1CMatrixz1967_1">inverted</a>();
+00194
+00195 <span class="comment">// Count number of elements per cell, and total copies of elements</span>
+00196 <a class="code" href="a04558.html#a15">uint</a> totalDupElt= 0;
+00197 <a class="code" href="a04558.html#a14">sint</a> <a class="code" href="a04223.html#a572">x</a>,<a class="code" href="a04223.html#a573">y</a>;
+00198 <span class="keywordflow">for</span>(<a class="code" href="a04223.html#a573">y</a>=0; <a class="code" href="a04223.html#a573">y</a>&lt;<a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridr4">_Size</a>; <a class="code" href="a04223.html#a573">y</a>++)
+00199 {
+00200 <span class="keywordflow">for</span>(<a class="code" href="a04223.html#a572">x</a>=0; <a class="code" href="a04223.html#a572">x</a>&lt;_Size; <a class="code" href="a04223.html#a572">x</a>++)
+00201 {
+00202 <span class="comment">// Select the center of the case</span>
+00203 CVector pos;
+00204 pos.x= (<a class="code" href="a04223.html#a572">x</a>+0.5f)*<a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridr2">_EltSize</a>;
+00205 pos.y= (<a class="code" href="a04223.html#a573">y</a>+0.5f)*<a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridr2">_EltSize</a>;
+00206 pos.z= 0.f;
+00207 <span class="comment">// mul by invBasis</span>
+00208 pos= invBasis * pos;
+00209 quadGrid.select(pos, pos);
+00210
+00211 <span class="comment">// Count elements.</span>
+00212 <a class="code" href="a04558.html#a15">uint</a> n= 0;
+00213 <span class="keyword">typename</span> CQuadGrid&lt;T&gt;::CIterator it;
+00214 <span class="keywordflow">for</span>(it= quadGrid.begin(); it!=quadGrid.end(); it++)
+00215 {
+00216 n++;
+00217 }
+00218
+00219 <span class="comment">// store.</span>
+00220 <a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridr3">_Grid</a>[<a class="code" href="a04223.html#a573">y</a>*_Size + <a class="code" href="a04223.html#a572">x</a>].NumNodes= n;
+00221 totalDupElt+= n;
+00222 }
+00223 }
+00224
+00225 <span class="comment">// Resize array copy.</span>
+00226 <a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridr1">_Elements</a>.resize(totalDupElt);
+00227
+00228
+00229 <span class="comment">// Then reparse all array, filling _Elements and setup quadNodes ptr.</span>
+00230 <a class="code" href="a04558.html#a15">uint</a> curDupElt= 0;
+00231 <span class="keywordflow">for</span>(<a class="code" href="a04223.html#a573">y</a>=0; <a class="code" href="a04223.html#a573">y</a>&lt;_Size; <a class="code" href="a04223.html#a573">y</a>++)
+00232 {
+00233 <span class="keywordflow">for</span>(<a class="code" href="a04223.html#a572">x</a>=0; <a class="code" href="a04223.html#a572">x</a>&lt;_Size; <a class="code" href="a04223.html#a572">x</a>++)
+00234 {
+00235 <span class="comment">// Select the center of the case</span>
+00236 CVector pos;
+00237 pos.x= (<a class="code" href="a04223.html#a572">x</a>+0.5f)*<a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridr2">_EltSize</a>;
+00238 pos.y= (<a class="code" href="a04223.html#a573">y</a>+0.5f)*<a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridr2">_EltSize</a>;
+00239 pos.z= 0.f;
+00240 <span class="comment">// mul by invBasis</span>
+00241 pos= invBasis * pos;
+00242 quadGrid.select(pos, pos);
+00243
+00244 <span class="comment">// Setup quadNode ptr.</span>
+00245 <span class="keywordflow">if</span> (curDupElt &lt; <a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridr1">_Elements</a>.size())
+00246 <a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridr3">_Grid</a>[<a class="code" href="a04223.html#a573">y</a>*_Size + <a class="code" href="a04223.html#a572">x</a>].Nodes= &amp;<a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridr1">_Elements</a>[curDupElt];
+00247
+00248 <span class="comment">// For all elements.</span>
+00249 <span class="keyword">typename</span> CQuadGrid&lt;T&gt;::CIterator it;
+00250 <span class="keywordflow">for</span>(it= quadGrid.begin(); it!=quadGrid.end(); it++)
+00251 {
+00252 <span class="comment">// Copy elt in array.</span>
+00253 <a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridr1">_Elements</a>[curDupElt]= *it;
+00254
+00255 <span class="comment">// Next elt in array.</span>
+00256 curDupElt++;
+00257 }
+00258 }
+00259 }
+00260
+00261
+00262 <span class="comment">// clean up.</span>
+00263 quadGrid.clearSelection();
+00264 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CStaticQuadGridz962_1" doxytag="NL3D::CStaticQuadGrid::clear" ></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" colspan="4">
+template&lt;class T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> void <a class="el" href="a03439.html">NL3D::CStaticQuadGrid</a>&lt; T &gt;::clear </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>
+Clear all the container. Elements are deleted, and the quadgrid is erased.
+<p>
+Definition at line <a class="el" href="a06436.html#l00164">164</a> of file <a class="el" href="a06436.html">static_quad_grid.h</a>.
+<p>
+References <a class="el" href="a05972.html#l00200">NLMISC::CMatrix::identity()</a>.
+<p>
+Referenced by <a class="el" href="a06436.html#l00181">NL3D::CStaticQuadGrid&lt; T &gt;::build()</a>, and <a class="el" href="a06436.html#l00156">NL3D::CStaticQuadGrid&lt; T &gt;::~CStaticQuadGrid()</a>.
+<p>
+<div class="fragment"><pre>00165 {
+00166 <span class="comment">// Just clear all vectors</span>
+00167 <a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridr1">_Elements</a>.clear();
+00168 <a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridr3">_Grid</a>.clear();
+00169
+00170 <span class="comment">// reset</span>
+00171 <a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridr5">_SizePower</a>=4;
+00172 <a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridr4">_Size</a>=1&lt;&lt;<a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridr5">_SizePower</a>;
+00173 <a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridr2">_EltSize</a>=1;
+00174 <a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridr0">_ChangeBasis</a>.<a class="code" href="a02851.html#NLMISC_1_1CMatrixz1961_0">identity</a>();
+00175 <a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridr3">_Grid</a>.resize(_Size * _Size);
+00176 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CStaticQuadGridz964_0" doxytag="NL3D::CStaticQuadGrid::select" ></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" colspan="4">
+template&lt;class T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> const T * <a class="el" href="a03439.html">NL3D::CStaticQuadGrid</a>&lt; T &gt;::select </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>point</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> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>numElts</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>
+Select elements at a given point Speed is in O(1), because the array of the cell is returned. NULL if size==0.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>point</em>&nbsp;</td><td>is the point used to select </td></tr>
+ <tr><td valign=top><em>numElts</em>&nbsp;</td><td>number of elements returned </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>a ptr on array of elements</dd></dl>
+
+<p>
+Definition at line <a class="el" href="a06436.html#l00269">269</a> of file <a class="el" href="a06436.html">static_quad_grid.h</a>.
+<p>
+References <a class="el" href="a06436.html#l00094">NL3D::CStaticQuadGrid&lt; T &gt;::CQuadNode::Nodes</a>, <a class="el" href="a06436.html#l00095">NL3D::CStaticQuadGrid&lt; T &gt;::CQuadNode::NumNodes</a>, <a class="el" href="a06436.html#l00114">NL3D::CStaticQuadGrid&lt; T &gt;::selectPoint()</a>, <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05646.html#l00236">x</a>, and <a class="el" href="a05646.html#l00236">y</a>.
+<p>
+<div class="fragment"><pre>00270 {
+00271 CVector point= <a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridr0">_ChangeBasis</a> * pointIn;
+00272
+00273 <span class="comment">// Select the case.</span>
+00274 <a class="code" href="a04558.html#a14">sint</a> <a class="code" href="a04223.html#a572">x</a>, <a class="code" href="a04223.html#a573">y</a>;
+00275 <a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridd0">selectPoint</a>(point, x, y);
+00276
+00277 <span class="comment">// get ref on the selection</span>
+00278 CQuadNode &amp;quadNode= <a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridr3">_Grid</a>[<a class="code" href="a04223.html#a573">y</a>*<a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridr4">_Size</a> + <a class="code" href="a04223.html#a572">x</a>];
+00279 numElts= quadNode.NumNodes;
+00280
+00281 <span class="keywordflow">return</span> quadNode.Nodes;
+00282 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CStaticQuadGridd0" doxytag="NL3D::CStaticQuadGrid::selectPoint" ></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" colspan="4">
+template&lt;class T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> void <a class="el" href="a03439.html">NL3D::CStaticQuadGrid</a>&lt; T &gt;::selectPoint </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03128.html">CVector</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>point</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a14">sint</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>x0</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a14">sint</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>y0</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline, private]</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="a06436.html#l00114">114</a> of file <a class="el" href="a06436.html">static_quad_grid.h</a>.
+<p>
+Referenced by <a class="el" href="a06436.html#l00269">NL3D::CStaticQuadGrid&lt; T &gt;::select()</a>.
+<p>
+<div class="fragment"><pre>00115 {
+00116 point/= <a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridr2">_EltSize</a>;
+00117 x0= (<a class="code" href="a04558.html#a14">sint</a>)(floor(point.x));
+00118 y0= (<a class="code" href="a04558.html#a14">sint</a>)(floor(point.y));
+00119
+00120 x0&amp;= <a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridr4">_Size</a>-1;
+00121 y0&amp;= <a class="code" href="a03439.html#NL3D_1_1CStaticQuadGridr4">_Size</a>-1;
+00122 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="NL3D_1_1CStaticQuadGridr0" doxytag="NL3D::CStaticQuadGrid::_ChangeBasis" ></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" colspan="4">
+template&lt;class T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02851.html">NLMISC::CMatrix</a> <a class="el" href="a03439.html">NL3D::CStaticQuadGrid</a>&lt; T &gt;::<a class="el" href="a03439.html#NL3D_1_1CStaticQuadGridr0">_ChangeBasis</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="a06436.html#l00110">110</a> of file <a class="el" href="a06436.html">static_quad_grid.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CStaticQuadGridr1" doxytag="NL3D::CStaticQuadGrid::_Elements" ></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" colspan="4">
+template&lt;class T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> std::vector&lt;T&gt; <a class="el" href="a03439.html">NL3D::CStaticQuadGrid</a>&lt; T &gt;::<a class="el" href="a03439.html#NL3D_1_1CStaticQuadGridr1">_Elements</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="a06436.html#l00105">105</a> of file <a class="el" href="a06436.html">static_quad_grid.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CStaticQuadGridr2" doxytag="NL3D::CStaticQuadGrid::_EltSize" ></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" colspan="4">
+template&lt;class T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> float <a class="el" href="a03439.html">NL3D::CStaticQuadGrid</a>&lt; T &gt;::<a class="el" href="a03439.html#NL3D_1_1CStaticQuadGridr2">_EltSize</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="a06436.html#l00109">109</a> of file <a class="el" href="a06436.html">static_quad_grid.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CStaticQuadGridr3" doxytag="NL3D::CStaticQuadGrid::_Grid" ></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" colspan="4">
+template&lt;class T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> std::vector&lt;<a class="el" href="a03440.html">CQuadNode</a>&gt; <a class="el" href="a03439.html">NL3D::CStaticQuadGrid</a>&lt; T &gt;::<a class="el" href="a03439.html#NL3D_1_1CStaticQuadGridr3">_Grid</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="a06436.html#l00106">106</a> of file <a class="el" href="a06436.html">static_quad_grid.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CStaticQuadGridr4" doxytag="NL3D::CStaticQuadGrid::_Size" ></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" colspan="4">
+template&lt;class T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a14">sint</a> <a class="el" href="a03439.html">NL3D::CStaticQuadGrid</a>&lt; T &gt;::<a class="el" href="a03439.html#NL3D_1_1CStaticQuadGridr4">_Size</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="a06436.html#l00107">107</a> of file <a class="el" href="a06436.html">static_quad_grid.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CStaticQuadGridr5" doxytag="NL3D::CStaticQuadGrid::_SizePower" ></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" colspan="4">
+template&lt;class T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a14">sint</a> <a class="el" href="a03439.html">NL3D::CStaticQuadGrid</a>&lt; T &gt;::<a class="el" href="a03439.html#NL3D_1_1CStaticQuadGridr5">_SizePower</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="a06436.html#l00108">108</a> of file <a class="el" href="a06436.html">static_quad_grid.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a06436.html">static_quad_grid.h</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 07:47:26 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>