aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/a03294.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/a03294.html
downloadnevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.tar.xz
nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.zip
Initial commit
Diffstat (limited to 'docs/doxygen/nel/a03294.html')
-rw-r--r--docs/doxygen/nel/a03294.html1132
1 files changed, 1132 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a03294.html b/docs/doxygen/nel/a03294.html
new file mode 100644
index 00000000..c4a97126
--- /dev/null
+++ b/docs/doxygen/nel/a03294.html
@@ -0,0 +1,1132 @@
+<!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::CQuadTree&lt; T &gt;::CQuadNode 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::CQuadTree&lt; T &gt;::CQuadNode Class Reference</h1><h3>template&lt;class T&gt;<br>
+ class NL3D::CQuadTree&lt; T &gt;::CQuadNode</h3>
+
+<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>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodea0">addElement</a> (<a class="el" href="a03293.html">CNode</a> *newNode)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodea1">clear</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodea2">CQuadNode</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodea3">includeBoxQuad</a> (const <a class="el" href="a03128.html">NLMISC::CVector</a> &amp;boxmin, const <a class="el" href="a03128.html">NLMISC::CVector</a> &amp;boxmax)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodea4">insert</a> (const <a class="el" href="a03128.html">NLMISC::CVector</a> &amp;boxmin, const <a class="el" href="a03128.html">NLMISC::CVector</a> &amp;boxmax, <a class="el" href="a04558.html#a15">uint</a> wantdepth, <a class="el" href="a03293.html">CNode</a> *newNode)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodea5">intersectBox</a> (std::vector&lt; <a class="el" href="a03082.html">NLMISC::CPlane</a> &gt; &amp;BVolume)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodea6">intersectBox</a> (const <a class="el" href="a03128.html">NLMISC::CVector</a> &amp;boxmin, const <a class="el" href="a03128.html">NLMISC::CVector</a> &amp;boxmax)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodea7">intersectBoxQuad</a> (const <a class="el" href="a03128.html">NLMISC::CVector</a> &amp;boxmin, const <a class="el" href="a03128.html">NLMISC::CVector</a> &amp;boxmax)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodea8">isLeaf</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodea9">select</a> (<a class="el" href="a03290.html">CBaseNode</a> &amp;selroot, std::vector&lt; <a class="el" href="a03082.html">NLMISC::CPlane</a> &gt; &amp;BVolume)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodea10">select</a> (<a class="el" href="a03290.html">CBaseNode</a> &amp;selroot, const <a class="el" href="a03128.html">NLMISC::CVector</a> &amp;bboxmin, const <a class="el" href="a03128.html">NLMISC::CVector</a> &amp;bboxmax)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodea11">selectAll</a> (<a class="el" href="a03290.html">CBaseNode</a> &amp;selroot)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodea12">selectLocalNodes</a> (<a class="el" href="a03290.html">CBaseNode</a> &amp;selroot)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodea13">split</a> ()</td></tr>
+
+<tr><td colspan=2><br><h2>Data Fields</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="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo0">BBoxMax</a></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="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo1">BBoxMin</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo2">BBoxNeverRescale</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo3">Level</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo4">ListIndex</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03290.html">CBaseNode</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo5">RootNode</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03294.html">CQuadNode</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a> [4]</td></tr>
+
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="NL3D_1_1CQuadTree_1_1CQuadNodea2" doxytag="NL3D::CQuadTree::CQuadNode::CQuadNode" ></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="a03289.html">NL3D::CQuadTree</a>&lt; T &gt;::CQuadNode::CQuadNode </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><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="a06306.html#l00310">310</a> of file <a class="el" href="a06306.html">quad_tree.h</a>.
+<p>
+References <a class="el" href="a06306.html#l00297">NL3D::CQuadTree&lt; T &gt;::CQuadNode::BBoxNeverRescale</a>, and <a class="el" href="a06306.html#l00300">NL3D::CQuadTree&lt; T &gt;::CQuadNode::ListIndex</a>.
+<p>
+<div class="fragment"><pre>00311 {
+00312 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo3">Level</a>=0; <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[0]= <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[1]= Sons[2]= Sons[3]= NULL;
+00313 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo4">ListIndex</a>= 0;
+00314 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo2">BBoxNeverRescale</a>=<span class="keyword">true</span>;
+00315 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="NL3D_1_1CQuadTree_1_1CQuadNodea0" doxytag="NL3D::CQuadTree::CQuadNode::addElement" ></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="a03289.html">NL3D::CQuadTree</a>&lt; T &gt;::CQuadNode::addElement </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03293.html">CNode</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>newNode</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="a06306.html#l00432">432</a> of file <a class="el" href="a06306.html">quad_tree.h</a>.
+<p>
+References <a class="el" href="a06306.html#l00300">NL3D::CQuadTree&lt; T &gt;::CQuadNode::ListIndex</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06306.html#l00239">NL3D::CQuadTree&lt; T &gt;::CBaseNode::QuadNexts</a>, and <a class="el" href="a06306.html#l00238">NL3D::CQuadTree&lt; T &gt;::CBaseNode::QuadPrevs</a>.
+<p>
+Referenced by <a class="el" href="a06306.html#l00443">NL3D::CQuadTree&lt; T &gt;::CQuadNode::insert()</a>.
+<p>
+<div class="fragment"><pre>00433 {
+00434 <a class="code" href="a04199.html#a6">nlassert</a>(newNode-&gt;QuadNexts[ListIndex]==NULL);
+00435 newNode-&gt;QuadPrevs[<a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo4">ListIndex</a>]= &amp;<a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo5">RootNode</a>;
+00436 newNode-&gt;QuadNexts[<a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo4">ListIndex</a>]= <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo5">RootNode</a>.QuadNexts[<a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo4">ListIndex</a>];
+00437 <span class="keywordflow">if</span>(<a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo5">RootNode</a>.QuadNexts[<a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo4">ListIndex</a>])
+00438 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo5">RootNode</a>.QuadNexts[<a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo4">ListIndex</a>]-&gt;QuadPrevs[<a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo4">ListIndex</a>]= newNode;
+00439 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo5">RootNode</a>.QuadNexts[<a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo4">ListIndex</a>]= newNode;
+00440 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CQuadTree_1_1CQuadNodea1" doxytag="NL3D::CQuadTree::CQuadNode::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="a03289.html">NL3D::CQuadTree</a>&lt; T &gt;::CQuadNode::clear </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </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="a06306.html#l00322">322</a> of file <a class="el" href="a06306.html">quad_tree.h</a>.
+<p>
+References <a class="el" href="a06306.html#l00250">NL3D::CQuadTree&lt; T &gt;::CBaseNode::clear()</a>, <a class="el" href="a06306.html#l00300">NL3D::CQuadTree&lt; T &gt;::CQuadNode::ListIndex</a>, <a class="el" href="a06306.html#l00239">NL3D::CQuadTree&lt; T &gt;::CBaseNode::QuadNexts</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06306.html#l00679">NL3D::CQuadTree&lt; T &gt;::clear()</a>.
+<p>
+<div class="fragment"><pre>00323 {
+00324 <span class="comment">// Deletons les element dans ce quad node.</span>
+00325 CBaseNode *p;
+00326 <span class="keywordflow">while</span>( (p=<a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo5">RootNode</a>.QuadNexts[<a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo4">ListIndex</a>]) )
+00327 {
+00328 p-&gt;clear(); <span class="comment">// On clear les links. =&gt; RootNode.QuadNexts[ListIndex] modifié implicitement.</span>
+00329 <span class="keyword">delete</span> p; <span class="comment">// On delete cet element!!</span>
+00330 }
+00331
+00332 <span class="comment">// Deletons les quad fils.</span>
+00333 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a15">uint</a> i=0;i&lt;4;i++)
+00334 {
+00335 <span class="keywordflow">if</span>(<a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[i])
+00336 {
+00337 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[i]-&gt;clear();
+00338 <span class="keyword">delete</span> <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[i];
+00339 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[i]= NULL;
+00340 }
+00341 }
+00342 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CQuadTree_1_1CQuadNodea3" doxytag="NL3D::CQuadTree::CQuadNode::includeBoxQuad" ></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"> bool <a class="el" href="a03289.html">NL3D::CQuadTree</a>&lt; T &gt;::CQuadNode::includeBoxQuad </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>boxmin</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a03128.html">NLMISC::CVector</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>boxmax</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="a06306.html#l00374">374</a> of file <a class="el" href="a06306.html">quad_tree.h</a>.
+<p>
+References <a class="el" href="a06306.html#l00296">NL3D::CQuadTree&lt; T &gt;::CQuadNode::BBoxMax</a>, <a class="el" href="a06306.html#l00296">NL3D::CQuadTree&lt; T &gt;::CQuadNode::BBoxMin</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::x</a>, and <a class="el" href="a06673.html#l00051">NLMISC::CVector::z</a>.
+<p>
+Referenced by <a class="el" href="a06306.html#l00443">NL3D::CQuadTree&lt; T &gt;::CQuadNode::insert()</a>.
+<p>
+<div class="fragment"><pre>00375 {
+00376 <span class="keywordflow">if</span>( <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo1">BBoxMin</a>.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a>&lt;= boxmin.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a> &amp;&amp; <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo0">BBoxMax</a>.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a>&gt;= boxmax.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a> &amp;&amp;
+00377 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo1">BBoxMin</a>.<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a>&lt;= boxmin.<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a> &amp;&amp; <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo0">BBoxMax</a>.<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a>&gt;= boxmax.<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a>)
+00378 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00379 <span class="keywordflow">else</span>
+00380 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00381 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CQuadTree_1_1CQuadNodea4" doxytag="NL3D::CQuadTree::CQuadNode::insert" ></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="a03289.html">NL3D::CQuadTree</a>&lt; T &gt;::CQuadNode::insert </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>boxmin</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a03128.html">NLMISC::CVector</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>boxmax</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>wantdepth</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a03293.html">CNode</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>newNode</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="a06306.html#l00443">443</a> of file <a class="el" href="a06306.html">quad_tree.h</a>.
+<p>
+References <a class="el" href="a06306.html#l00432">NL3D::CQuadTree&lt; T &gt;::CQuadNode::addElement()</a>, <a class="el" href="a06306.html#l00296">NL3D::CQuadTree&lt; T &gt;::CQuadNode::BBoxMax</a>, <a class="el" href="a06306.html#l00296">NL3D::CQuadTree&lt; T &gt;::CQuadNode::BBoxMin</a>, <a class="el" href="a06306.html#l00297">NL3D::CQuadTree&lt; T &gt;::CQuadNode::BBoxNeverRescale</a>, <a class="el" href="a06306.html#l00374">NL3D::CQuadTree&lt; T &gt;::CQuadNode::includeBoxQuad()</a>, <a class="el" href="a06306.html#l00383">NL3D::CQuadTree&lt; T &gt;::CQuadNode::intersectBoxQuad()</a>, <a class="el" href="a06306.html#l00317">NL3D::CQuadTree&lt; T &gt;::CQuadNode::isLeaf()</a>, <a class="el" href="a05484.html#l00038">min</a>, <a class="el" href="a06306.html#l00344">NL3D::CQuadTree&lt; T &gt;::CQuadNode::split()</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a06673.html#l00051">NLMISC::CVector::y</a>.
+<p>
+Referenced by <a class="el" href="a06306.html#l00736">NL3D::CQuadTree&lt; T &gt;::insert()</a>.
+<p>
+<div class="fragment"><pre>00444 {
+00445 <span class="keywordflow">if</span>(<a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo3">Level</a>==0)
+00446 {
+00447 <span class="comment">// Tous les elements qui sortent du quadtree sont forcément dans le noeud root.</span>
+00448 <span class="keywordflow">if</span>(!<a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodea3">includeBoxQuad</a>(boxmin, boxmax))
+00449 {
+00450 <span class="comment">// Il faut agrandir la BBox en Y du quadnode.</span>
+00451 <span class="keywordflow">if</span>(<a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo2">BBoxNeverRescale</a>)
+00452 {
+00453 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo1">BBoxMin</a>.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a>= boxmin.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a>;
+00454 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo0">BBoxMax</a>.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a>= boxmax.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a>;
+00455 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo2">BBoxNeverRescale</a>= <span class="keyword">false</span>;
+00456 }
+00457 <span class="keywordflow">else</span>
+00458 {
+00459 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo1">BBoxMin</a>.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a>= <a class="code" href="a04061.html#a0">std::min</a>(boxmin.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a>, <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo1">BBoxMin</a>.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a>);
+00460 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo0">BBoxMax</a>.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a>= std::max(boxmax.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a>, <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo0">BBoxMax</a>.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a>);
+00461 }
+00462 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodea0">addElement</a>(newNode);
+00463 <span class="keywordflow">return</span>;
+00464 }
+00465 }
+00466
+00467 <span class="comment">// Si au moins une partie de l'element n'est pas dans le noeud de ce quad, exit.</span>
+00468 <span class="keywordflow">if</span>(!<a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodea7">intersectBoxQuad</a>(boxmin, boxmax))
+00469 <span class="keywordflow">return</span>;
+00470
+00471 <span class="comment">// Que l'on insere ici ou dans les fils, il faut agrandir la BBox en Y du quadnode.</span>
+00472 <span class="keywordflow">if</span>(<a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo2">BBoxNeverRescale</a>)
+00473 {
+00474 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo1">BBoxMin</a>.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a>= boxmin.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a>;
+00475 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo0">BBoxMax</a>.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a>= boxmax.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a>;
+00476 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo2">BBoxNeverRescale</a>= <span class="keyword">false</span>;
+00477 }
+00478 <span class="keywordflow">else</span>
+00479 {
+00480 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo1">BBoxMin</a>.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a>= <a class="code" href="a04061.html#a0">std::min</a>(boxmin.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a>, <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo1">BBoxMin</a>.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a>);
+00481 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo0">BBoxMax</a>.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a>= std::max(boxmax.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a>, <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo0">BBoxMax</a>.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a>);
+00482 }
+00483
+00484 <span class="comment">// Si on est au bon, niveau, on a plus qu'à l'insérer dans ce node.</span>
+00485 <span class="keywordflow">if</span>(wantdepth==<a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo3">Level</a>)
+00486 {
+00487 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodea0">addElement</a>(newNode);
+00488 }
+00489 <span class="keywordflow">else</span>
+00490 {
+00491 <span class="comment">// Si le quad est une feuille, il faut le splitter (car on est pas encore arrivé au bon niveau).</span>
+00492 <span class="keywordflow">if</span>(<a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodea8">isLeaf</a>())
+00493 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodea13">split</a>();
+00494
+00495 <span class="comment">// Et on cherche à mettre l'élément dans un de ces noeuds.</span>
+00496 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[0]-&gt;insert(boxmin, boxmax, wantdepth, newNode);
+00497 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[1]-&gt;insert(boxmin, boxmax, wantdepth, newNode);
+00498 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[2]-&gt;insert(boxmin, boxmax, wantdepth, newNode);
+00499 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[3]-&gt;insert(boxmin, boxmax, wantdepth, newNode);
+00500 }
+00501
+00502 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CQuadTree_1_1CQuadNodea5" doxytag="NL3D::CQuadTree::CQuadNode::intersectBox" ></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"> bool <a class="el" href="a03289.html">NL3D::CQuadTree</a>&lt; T &gt;::CQuadNode::intersectBox </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">std::vector&lt; <a class="el" href="a03082.html">NLMISC::CPlane</a> &gt; &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>BVolume</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="a06306.html#l00405">405</a> of file <a class="el" href="a06306.html">quad_tree.h</a>.
+<p>
+References <a class="el" href="a06306.html#l00296">NL3D::CQuadTree&lt; T &gt;::CQuadNode::BBoxMax</a>, <a class="el" href="a06306.html#l00296">NL3D::CQuadTree&lt; T &gt;::CQuadNode::BBoxMin</a>, <a class="el" href="a05981.html#l00104">sint</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>
+<div class="fragment"><pre>00406 {
+00407 <span class="keyword">const</span> <a class="code" href="a03128.html">NLMISC::CVector</a> &amp;b1=<a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo1">BBoxMin</a>;
+00408 <span class="keyword">const</span> <a class="code" href="a03128.html">NLMISC::CVector</a> &amp;b2=<a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo0">BBoxMax</a>;
+00409
+00410 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a14">sint</a> i=0;i&lt;(<span class="keywordtype">int</span>)BVolume.size();i++)
+00411 {
+00412 <span class="keyword">const</span> <a class="code" href="a03082.html">NLMISC::CPlane</a> &amp;plane=BVolume[i];
+00413 <span class="comment">// If only one of the box vertex is IN the plane, then all the box is IN this plane.</span>
+00414 <span class="keywordflow">if</span>(plane* <a class="code" href="a03128.html">NLMISC::CVector</a>(b1.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a>, b1.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a>, b1.<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a>)&lt;=0) <span class="keywordflow">continue</span>;
+00415 <span class="keywordflow">if</span>(plane* NLMISC::CVector(b1.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a>, b1.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a>, b2.<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a>)&lt;=0) <span class="keywordflow">continue</span>;
+00416 <span class="keywordflow">if</span>(plane* NLMISC::CVector(b1.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a>, b2.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a>, b1.<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a>)&lt;=0) <span class="keywordflow">continue</span>;
+00417 <span class="keywordflow">if</span>(plane* NLMISC::CVector(b1.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a>, b2.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a>, b2.<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a>)&lt;=0) <span class="keywordflow">continue</span>;
+00418 <span class="keywordflow">if</span>(plane* NLMISC::CVector(b2.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a>, b1.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a>, b1.<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a>)&lt;=0) <span class="keywordflow">continue</span>;
+00419 <span class="keywordflow">if</span>(plane* NLMISC::CVector(b2.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a>, b1.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a>, b2.<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a>)&lt;=0) <span class="keywordflow">continue</span>;
+00420 <span class="keywordflow">if</span>(plane* NLMISC::CVector(b2.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a>, b2.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a>, b1.<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a>)&lt;=0) <span class="keywordflow">continue</span>;
+00421 <span class="keywordflow">if</span>(plane* NLMISC::CVector(b2.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a>, b2.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a>, b2.<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a>)&lt;=0) <span class="keywordflow">continue</span>;
+00422 <span class="comment">// If ALL box vertices are OUT of this plane, then the box is OUT of the entire volume.</span>
+00423 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00424 }
+00425 <span class="comment">// TODO. This is a simple box detection. The box is not really clipped and sometimes, the box will said</span>
+00426 <span class="comment">// it intersect but it is not the case... Here, We should test the real box volume, against BVolume.</span>
+00427 <span class="comment">// But this is more expensive...</span>
+00428 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00429 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CQuadTree_1_1CQuadNodea6" doxytag="NL3D::CQuadTree::CQuadNode::intersectBox" ></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"> bool <a class="el" href="a03289.html">NL3D::CQuadTree</a>&lt; T &gt;::CQuadNode::intersectBox </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>boxmin</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a03128.html">NLMISC::CVector</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>boxmax</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="a06306.html#l00393">393</a> of file <a class="el" href="a06306.html">quad_tree.h</a>.
+<p>
+References <a class="el" href="a06306.html#l00296">NL3D::CQuadTree&lt; T &gt;::CQuadNode::BBoxMax</a>, <a class="el" href="a06306.html#l00296">NL3D::CQuadTree&lt; T &gt;::CQuadNode::BBoxMin</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="a06306.html#l00536">NL3D::CQuadTree&lt; T &gt;::CQuadNode::select()</a>.
+<p>
+<div class="fragment"><pre>00394 {
+00395 <span class="comment">// inequality and equality is very important, to ensure that a element box will not fit in too many quad boxes.</span>
+00396 <span class="keywordflow">if</span>(boxmin.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a> &gt; <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo0">BBoxMax</a>.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00397 <span class="keywordflow">if</span>(boxmin.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a> &gt; <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo0">BBoxMax</a>.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00398 <span class="keywordflow">if</span>(boxmin.<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a> &gt; <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo0">BBoxMax</a>.<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00399 <span class="keywordflow">if</span>(boxmax.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a> &lt;= <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo1">BBoxMin</a>.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00400 <span class="keywordflow">if</span>(boxmax.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a> &lt;= <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo1">BBoxMin</a>.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00401 <span class="keywordflow">if</span>(boxmax.<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a> &lt;= <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo1">BBoxMin</a>.<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00402 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00403 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CQuadTree_1_1CQuadNodea7" doxytag="NL3D::CQuadTree::CQuadNode::intersectBoxQuad" ></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"> bool <a class="el" href="a03289.html">NL3D::CQuadTree</a>&lt; T &gt;::CQuadNode::intersectBoxQuad </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>boxmin</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a03128.html">NLMISC::CVector</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>boxmax</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="a06306.html#l00383">383</a> of file <a class="el" href="a06306.html">quad_tree.h</a>.
+<p>
+References <a class="el" href="a06306.html#l00296">NL3D::CQuadTree&lt; T &gt;::CQuadNode::BBoxMax</a>, <a class="el" href="a06306.html#l00296">NL3D::CQuadTree&lt; T &gt;::CQuadNode::BBoxMin</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::x</a>, and <a class="el" href="a06673.html#l00051">NLMISC::CVector::z</a>.
+<p>
+Referenced by <a class="el" href="a06306.html#l00443">NL3D::CQuadTree&lt; T &gt;::CQuadNode::insert()</a>.
+<p>
+<div class="fragment"><pre>00384 {
+00385 <span class="comment">// inequality and equality is very important, to ensure that a element box will not fit in too many quad boxes.</span>
+00386 <span class="keywordflow">if</span>(boxmin.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a> &gt; <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo0">BBoxMax</a>.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00387 <span class="keywordflow">if</span>(boxmin.<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a> &gt; <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo0">BBoxMax</a>.<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00388 <span class="keywordflow">if</span>(boxmax.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a> &lt;= <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo1">BBoxMin</a>.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00389 <span class="keywordflow">if</span>(boxmax.<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a> &lt;= <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo1">BBoxMin</a>.<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00390 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00391 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CQuadTree_1_1CQuadNodea8" doxytag="NL3D::CQuadTree::CQuadNode::isLeaf" ></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"> bool <a class="el" href="a03289.html">NL3D::CQuadTree</a>&lt; T &gt;::CQuadNode::isLeaf </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><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="a06306.html#l00317">317</a> of file <a class="el" href="a06306.html">quad_tree.h</a>.
+<p>
+Referenced by <a class="el" href="a06306.html#l00443">NL3D::CQuadTree&lt; T &gt;::CQuadNode::insert()</a>, <a class="el" href="a06306.html#l00536">NL3D::CQuadTree&lt; T &gt;::CQuadNode::select()</a>, <a class="el" href="a06306.html#l00524">NL3D::CQuadTree&lt; T &gt;::CQuadNode::selectAll()</a>, and <a class="el" href="a06306.html#l00344">NL3D::CQuadTree&lt; T &gt;::CQuadNode::split()</a>.
+<p>
+<div class="fragment"><pre>00318 {
+00319 <span class="keywordflow">return</span> <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[0]==NULL;
+00320 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CQuadTree_1_1CQuadNodea9" doxytag="NL3D::CQuadTree::CQuadNode::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"> void <a class="el" href="a03289.html">NL3D::CQuadTree</a>&lt; T &gt;::CQuadNode::select </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03290.html">CBaseNode</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>selroot</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>std::vector&lt; <a class="el" href="a03082.html">NLMISC::CPlane</a> &gt; &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>BVolume</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="a06306.html#l00552">552</a> of file <a class="el" href="a06306.html">quad_tree.h</a>.
+<p>
+References <a class="el" href="a06306.html#l00393">NL3D::CQuadTree&lt; T &gt;::CQuadNode::intersectBox()</a>, <a class="el" href="a06306.html#l00317">NL3D::CQuadTree&lt; T &gt;::CQuadNode::isLeaf()</a>, <a class="el" href="a06306.html#l00536">NL3D::CQuadTree&lt; T &gt;::CQuadNode::select()</a>, and <a class="el" href="a06306.html#l00507">NL3D::CQuadTree&lt; T &gt;::CQuadNode::selectLocalNodes()</a>.
+<p>
+<div class="fragment"><pre>00553 {
+00554 <span class="comment">// TODO:</span>
+00555 <span class="comment">// ya un bug avec le level0: en effet la bbox n'a pas été agrandie pour contenir les elements.</span>
+00556 <span class="keywordflow">if</span>(!<a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodea6">intersectBox</a>(BVolume))
+00557 <span class="keywordflow">return</span>;
+00558 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodea12">selectLocalNodes</a>(selroot);
+00559 <span class="keywordflow">if</span>(!<a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodea8">isLeaf</a>())
+00560 {
+00561 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[0]-&gt;select(selroot, BVolume);
+00562 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[1]-&gt;select(selroot, BVolume);
+00563 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[2]-&gt;select(selroot, BVolume);
+00564 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[3]-&gt;select(selroot, BVolume);
+00565 }
+00566 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CQuadTree_1_1CQuadNodea10" doxytag="NL3D::CQuadTree::CQuadNode::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"> void <a class="el" href="a03289.html">NL3D::CQuadTree</a>&lt; T &gt;::CQuadNode::select </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03290.html">CBaseNode</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>selroot</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a03128.html">NLMISC::CVector</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>bboxmin</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a03128.html">NLMISC::CVector</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>bboxmax</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="a06306.html#l00536">536</a> of file <a class="el" href="a06306.html">quad_tree.h</a>.
+<p>
+References <a class="el" href="a06306.html#l00393">NL3D::CQuadTree&lt; T &gt;::CQuadNode::intersectBox()</a>, <a class="el" href="a06306.html#l00317">NL3D::CQuadTree&lt; T &gt;::CQuadNode::isLeaf()</a>, and <a class="el" href="a06306.html#l00507">NL3D::CQuadTree&lt; T &gt;::CQuadNode::selectLocalNodes()</a>.
+<p>
+Referenced by <a class="el" href="a06306.html#l00793">NL3D::CQuadTree&lt; T &gt;::select()</a>, and <a class="el" href="a06306.html#l00552">NL3D::CQuadTree&lt; T &gt;::CQuadNode::select()</a>.
+<p>
+<div class="fragment"><pre>00537 {
+00538 <span class="comment">// TODO:</span>
+00539 <span class="comment">// ya un bug avec le level0: en effet la bbox n'a pas été agrandie pour contenir les elements.</span>
+00540 <span class="keywordflow">if</span>(!<a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodea6">intersectBox</a>(bboxmin, bboxmax))
+00541 <span class="keywordflow">return</span>;
+00542 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodea12">selectLocalNodes</a>(selroot);
+00543 <span class="keywordflow">if</span>(!<a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodea8">isLeaf</a>())
+00544 {
+00545 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[0]-&gt;select(selroot, bboxmin, bboxmax);
+00546 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[1]-&gt;select(selroot, bboxmin, bboxmax);
+00547 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[2]-&gt;select(selroot, bboxmin, bboxmax);
+00548 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[3]-&gt;select(selroot, bboxmin, bboxmax);
+00549 }
+00550 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CQuadTree_1_1CQuadNodea11" doxytag="NL3D::CQuadTree::CQuadNode::selectAll" ></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="a03289.html">NL3D::CQuadTree</a>&lt; T &gt;::CQuadNode::selectAll </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03290.html">CBaseNode</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>selroot</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="a06306.html#l00524">524</a> of file <a class="el" href="a06306.html">quad_tree.h</a>.
+<p>
+References <a class="el" href="a06306.html#l00317">NL3D::CQuadTree&lt; T &gt;::CQuadNode::isLeaf()</a>, and <a class="el" href="a06306.html#l00507">NL3D::CQuadTree&lt; T &gt;::CQuadNode::selectLocalNodes()</a>.
+<p>
+Referenced by <a class="el" href="a06306.html#l00787">NL3D::CQuadTree&lt; T &gt;::selectAll()</a>.
+<p>
+<div class="fragment"><pre>00525 {
+00526 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodea12">selectLocalNodes</a>(selroot);
+00527 <span class="keywordflow">if</span>(!<a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodea8">isLeaf</a>())
+00528 {
+00529 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[0]-&gt;selectAll(selroot);
+00530 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[1]-&gt;selectAll(selroot);
+00531 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[2]-&gt;selectAll(selroot);
+00532 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[3]-&gt;selectAll(selroot);
+00533 }
+00534 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CQuadTree_1_1CQuadNodea12" doxytag="NL3D::CQuadTree::CQuadNode::selectLocalNodes" ></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="a03289.html">NL3D::CQuadTree</a>&lt; T &gt;::CQuadNode::selectLocalNodes </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03290.html">CBaseNode</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>selroot</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="a06306.html#l00507">507</a> of file <a class="el" href="a06306.html">quad_tree.h</a>.
+<p>
+References <a class="el" href="a06306.html#l00265">NL3D::CQuadTree&lt; T &gt;::CBaseNode::isSelected()</a>, <a class="el" href="a06306.html#l00300">NL3D::CQuadTree&lt; T &gt;::CQuadNode::ListIndex</a>, <a class="el" href="a06306.html#l00236">NL3D::CQuadTree&lt; T &gt;::CBaseNode::Next</a>, <a class="el" href="a06306.html#l00236">NL3D::CQuadTree&lt; T &gt;::CBaseNode::Prev</a>, and <a class="el" href="a06306.html#l00239">NL3D::CQuadTree&lt; T &gt;::CBaseNode::QuadNexts</a>.
+<p>
+Referenced by <a class="el" href="a06306.html#l00536">NL3D::CQuadTree&lt; T &gt;::CQuadNode::select()</a>, and <a class="el" href="a06306.html#l00524">NL3D::CQuadTree&lt; T &gt;::CQuadNode::selectAll()</a>.
+<p>
+<div class="fragment"><pre>00508 {
+00509 CBaseNode *p= <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo5">RootNode</a>.QuadNexts[<a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo4">ListIndex</a>];
+00510 <span class="keywordflow">while</span>(p)
+00511 {
+00512 <span class="keywordflow">if</span>(!p-&gt;isSelected())
+00513 {
+00514 p-&gt;Prev= &amp;selroot;
+00515 p-&gt;Next= selroot.Next;
+00516 <span class="keywordflow">if</span>(selroot.Next)
+00517 selroot.Next-&gt;Prev= p;
+00518 selroot.Next= p;
+00519 }
+00520 p=p-&gt;QuadNexts[<a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo4">ListIndex</a>];
+00521 }
+00522 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CQuadTree_1_1CQuadNodea13" doxytag="NL3D::CQuadTree::CQuadNode::split" ></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="a03289.html">NL3D::CQuadTree</a>&lt; T &gt;::CQuadNode::split </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><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="a06306.html#l00344">344</a> of file <a class="el" href="a06306.html">quad_tree.h</a>.
+<p>
+References <a class="el" href="a06306.html#l00296">NL3D::CQuadTree&lt; T &gt;::CQuadNode::BBoxMax</a>, <a class="el" href="a06306.html#l00296">NL3D::CQuadTree&lt; T &gt;::CQuadNode::BBoxMin</a>, <a class="el" href="a06306.html#l00317">NL3D::CQuadTree&lt; T &gt;::CQuadNode::isLeaf()</a>, <a class="el" href="a06306.html#l00295">NL3D::CQuadTree&lt; T &gt;::CQuadNode::Level</a>, <a class="el" href="a06306.html#l00300">NL3D::CQuadTree&lt; T &gt;::CQuadNode::ListIndex</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::x</a>, and <a class="el" href="a06673.html#l00051">NLMISC::CVector::z</a>.
+<p>
+Referenced by <a class="el" href="a06306.html#l00443">NL3D::CQuadTree&lt; T &gt;::CQuadNode::insert()</a>.
+<p>
+<div class="fragment"><pre>00345 {
+00346 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodea8">isLeaf</a>());
+00347 <a class="code" href="a04558.html#a14">sint</a> i;
+00348
+00349 <span class="keywordflow">for</span>(i=0;i&lt;4;i++)
+00350 {
+00351 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[i]= <span class="keyword">new</span> <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodea2">CQuadNode</a>;
+00352 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[i]-&gt;Level= <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo3">Level</a>+1;
+00353 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[i]-&gt;ListIndex= i;
+00354 }
+00355 <span class="comment">// Middle compute.</span>
+00356 <a class="code" href="a03128.html">NLMISC::CVector</a> MidLeft(0,0,0), MidRight(0,0,0), MidTop(0,0,0), MidBottom(0,0,0), Middle(0,0,0);
+00357 MidLeft.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a> = <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo1">BBoxMin</a>.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a>; MidLeft.<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a> = (<a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo1">BBoxMin</a>.<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a> + <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo0">BBoxMax</a>.<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a>)/2;
+00358 MidRight.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a> = <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo0">BBoxMax</a>.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a>; MidRight.<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a> = (<a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo1">BBoxMin</a>.<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a> + <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo0">BBoxMax</a>.<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a>)/2;
+00359 MidTop.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a> = (<a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo1">BBoxMin</a>.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a> + <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo0">BBoxMax</a>.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a>)/2; MidTop.<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a> = <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo1">BBoxMin</a>.<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a>;
+00360 MidBottom.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a>= (<a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo1">BBoxMin</a>.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a> + <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo0">BBoxMax</a>.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a>)/2; MidBottom.<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a>= <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo0">BBoxMax</a>.<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a>;
+00361 Middle.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a> = MidTop.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a>; Middle.<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a> = MidLeft.<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a>;
+00362 <span class="comment">// Sons compute.</span>
+00363 <span class="comment">// Don't care of Y.</span>
+00364 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[0]-&gt;BBoxMin = <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo1">BBoxMin</a>; <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[0]-&gt;BBoxMax = Middle;
+00365 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[1]-&gt;BBoxMin = MidTop ; <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[1]-&gt;BBoxMax = MidRight;
+00366 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[2]-&gt;BBoxMin = MidLeft; <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[2]-&gt;BBoxMax = MidBottom;
+00367 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[3]-&gt;BBoxMin = Middle; <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[3]-&gt;BBoxMax = <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo0">BBoxMax</a>;
+00368
+00369 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="NL3D_1_1CQuadTree_1_1CQuadNodeo0" doxytag="NL3D::CQuadTree::CQuadNode::BBoxMax" ></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="a03128.html">NLMISC::CVector</a> <a class="el" href="a03289.html">NL3D::CQuadTree</a>&lt; T &gt;::<a class="el" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo0">CQuadNode::BBoxMax</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06306.html#l00296">296</a> of file <a class="el" href="a06306.html">quad_tree.h</a>.
+<p>
+Referenced by <a class="el" href="a06306.html#l00658">NL3D::CQuadTree&lt; T &gt;::CQuadTree()</a>, <a class="el" href="a06306.html#l00685">NL3D::CQuadTree&lt; T &gt;::create()</a>, <a class="el" href="a06306.html#l00374">NL3D::CQuadTree&lt; T &gt;::CQuadNode::includeBoxQuad()</a>, <a class="el" href="a06306.html#l00443">NL3D::CQuadTree&lt; T &gt;::CQuadNode::insert()</a>, <a class="el" href="a06306.html#l00393">NL3D::CQuadTree&lt; T &gt;::CQuadNode::intersectBox()</a>, <a class="el" href="a06306.html#l00383">NL3D::CQuadTree&lt; T &gt;::CQuadNode::intersectBoxQuad()</a>, and <a class="el" href="a06306.html#l00344">NL3D::CQuadTree&lt; T &gt;::CQuadNode::split()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CQuadTree_1_1CQuadNodeo1" doxytag="NL3D::CQuadTree::CQuadNode::BBoxMin" ></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="a03128.html">NLMISC::CVector</a> <a class="el" href="a03289.html">NL3D::CQuadTree</a>&lt; T &gt;::<a class="el" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo1">CQuadNode::BBoxMin</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06306.html#l00296">296</a> of file <a class="el" href="a06306.html">quad_tree.h</a>.
+<p>
+Referenced by <a class="el" href="a06306.html#l00658">NL3D::CQuadTree&lt; T &gt;::CQuadTree()</a>, <a class="el" href="a06306.html#l00685">NL3D::CQuadTree&lt; T &gt;::create()</a>, <a class="el" href="a06306.html#l00374">NL3D::CQuadTree&lt; T &gt;::CQuadNode::includeBoxQuad()</a>, <a class="el" href="a06306.html#l00443">NL3D::CQuadTree&lt; T &gt;::CQuadNode::insert()</a>, <a class="el" href="a06306.html#l00393">NL3D::CQuadTree&lt; T &gt;::CQuadNode::intersectBox()</a>, <a class="el" href="a06306.html#l00383">NL3D::CQuadTree&lt; T &gt;::CQuadNode::intersectBoxQuad()</a>, and <a class="el" href="a06306.html#l00344">NL3D::CQuadTree&lt; T &gt;::CQuadNode::split()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CQuadTree_1_1CQuadNodeo2" doxytag="NL3D::CQuadTree::CQuadNode::BBoxNeverRescale" ></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"> bool <a class="el" href="a03289.html">NL3D::CQuadTree</a>&lt; T &gt;::<a class="el" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo2">CQuadNode::BBoxNeverRescale</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06306.html#l00297">297</a> of file <a class="el" href="a06306.html">quad_tree.h</a>.
+<p>
+Referenced by <a class="el" href="a06306.html#l00310">NL3D::CQuadTree&lt; T &gt;::CQuadNode::CQuadNode()</a>, and <a class="el" href="a06306.html#l00443">NL3D::CQuadTree&lt; T &gt;::CQuadNode::insert()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CQuadTree_1_1CQuadNodeo3" doxytag="NL3D::CQuadTree::CQuadNode::Level" ></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#a15">uint</a> <a class="el" href="a03289.html">NL3D::CQuadTree</a>&lt; T &gt;::<a class="el" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo3">CQuadNode::Level</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06306.html#l00295">295</a> of file <a class="el" href="a06306.html">quad_tree.h</a>.
+<p>
+Referenced by <a class="el" href="a06306.html#l00344">NL3D::CQuadTree&lt; T &gt;::CQuadNode::split()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CQuadTree_1_1CQuadNodeo4" doxytag="NL3D::CQuadTree::CQuadNode::ListIndex" ></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#a15">uint</a> <a class="el" href="a03289.html">NL3D::CQuadTree</a>&lt; T &gt;::<a class="el" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo4">CQuadNode::ListIndex</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06306.html#l00300">300</a> of file <a class="el" href="a06306.html">quad_tree.h</a>.
+<p>
+Referenced by <a class="el" href="a06306.html#l00432">NL3D::CQuadTree&lt; T &gt;::CQuadNode::addElement()</a>, <a class="el" href="a06306.html#l00322">NL3D::CQuadTree&lt; T &gt;::CQuadNode::clear()</a>, <a class="el" href="a06306.html#l00310">NL3D::CQuadTree&lt; T &gt;::CQuadNode::CQuadNode()</a>, <a class="el" href="a06306.html#l00507">NL3D::CQuadTree&lt; T &gt;::CQuadNode::selectLocalNodes()</a>, and <a class="el" href="a06306.html#l00344">NL3D::CQuadTree&lt; T &gt;::CQuadNode::split()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CQuadTree_1_1CQuadNodeo5" doxytag="NL3D::CQuadTree::CQuadNode::RootNode" ></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="a03290.html">CBaseNode</a> <a class="el" href="a03289.html">NL3D::CQuadTree</a>&lt; T &gt;::<a class="el" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo5">CQuadNode::RootNode</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06306.html#l00299">299</a> of file <a class="el" href="a06306.html">quad_tree.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CQuadTree_1_1CQuadNodeo6" doxytag="NL3D::CQuadTree::CQuadNode::Sons" ></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="a03294.html">CQuadNode</a>* <a class="el" href="a03289.html">NL3D::CQuadTree</a>&lt; T &gt;::<a class="el" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">CQuadNode::Sons</a>[4]
+ </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="a06306.html#l00298">298</a> of file <a class="el" href="a06306.html">quad_tree.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a06306.html">quad_tree.h</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 07:36:04 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>