diff options
Diffstat (limited to '')
-rw-r--r-- | docs/doxygen/nel/a03294.html | 1132 |
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< T >::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 Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related Pages</a> | <span class="search"><u>S</u>earch for <input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div> +<h1>NL3D::CQuadTree< T >::CQuadNode Class Reference</h1><h3>template<class T><br> + class NL3D::CQuadTree< T >::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 </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 </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> </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 </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> &boxmin, const <a class="el" href="a03128.html">NLMISC::CVector</a> &boxmax)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </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> &boxmin, const <a class="el" href="a03128.html">NLMISC::CVector</a> &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 </td><td class="memItemRight" valign=bottom><a class="el" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodea5">intersectBox</a> (std::vector< <a class="el" href="a03082.html">NLMISC::CPlane</a> > &BVolume)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </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> &boxmin, const <a class="el" href="a03128.html">NLMISC::CVector</a> &boxmax)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </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> &boxmin, const <a class="el" href="a03128.html">NLMISC::CVector</a> &boxmax)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </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 </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> &selroot, std::vector< <a class="el" href="a03082.html">NLMISC::CPlane</a> > &BVolume)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </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> &selroot, const <a class="el" href="a03128.html">NLMISC::CVector</a> &bboxmin, const <a class="el" href="a03128.html">NLMISC::CVector</a> &bboxmax)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </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> &selroot)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </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> &selroot)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </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> </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> </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 </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> </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> </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> </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> * </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 & 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<class T> </td> + </tr> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a03289.html">NL3D::CQuadTree</a>< T >::CQuadNode::CQuadNode </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="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< T >::CQuadNode::BBoxNeverRescale</a>, and <a class="el" href="a06306.html#l00300">NL3D::CQuadTree< T >::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<class T> </td> + </tr> + <tr> + <td class="md" nowrap valign="top"> void <a class="el" href="a03289.html">NL3D::CQuadTree</a>< T >::CQuadNode::addElement </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03293.html">CNode</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>newNode</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="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< T >::CQuadNode::ListIndex</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06306.html#l00239">NL3D::CQuadTree< T >::CBaseNode::QuadNexts</a>, and <a class="el" href="a06306.html#l00238">NL3D::CQuadTree< T >::CBaseNode::QuadPrevs</a>. +<p> +Referenced by <a class="el" href="a06306.html#l00443">NL3D::CQuadTree< T >::CQuadNode::insert()</a>. +<p> +<div class="fragment"><pre>00433 { +00434 <a class="code" href="a04199.html#a6">nlassert</a>(newNode->QuadNexts[ListIndex]==NULL); +00435 newNode->QuadPrevs[<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>; +00436 newNode->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>]->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<class T> </td> + </tr> + <tr> + <td class="md" nowrap valign="top"> void <a class="el" href="a03289.html">NL3D::CQuadTree</a>< T >::CQuadNode::clear </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">void </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="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< T >::CBaseNode::clear()</a>, <a class="el" href="a06306.html#l00300">NL3D::CQuadTree< T >::CQuadNode::ListIndex</a>, <a class="el" href="a06306.html#l00239">NL3D::CQuadTree< T >::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< T >::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->clear(); <span class="comment">// On clear les links. => 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<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]->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<class T> </td> + </tr> + <tr> + <td class="md" nowrap valign="top"> bool <a class="el" href="a03289.html">NL3D::CQuadTree</a>< T >::CQuadNode::includeBoxQuad </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">NLMISC::CVector</a> & </td> + <td class="mdname" nowrap> <em>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> & </td> + <td class="mdname" nowrap> <em>boxmax</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="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< T >::CQuadNode::BBoxMax</a>, <a class="el" href="a06306.html#l00296">NL3D::CQuadTree< T >::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< T >::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><= boxmin.<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>>= boxmax.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a> && +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><= boxmin.<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>>= 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<class T> </td> + </tr> + <tr> + <td class="md" nowrap valign="top"> void <a class="el" href="a03289.html">NL3D::CQuadTree</a>< T >::CQuadNode::insert </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">NLMISC::CVector</a> & </td> + <td class="mdname" nowrap> <em>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> & </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> </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> * </td> + <td class="mdname" nowrap> <em>newNode</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="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< T >::CQuadNode::addElement()</a>, <a class="el" href="a06306.html#l00296">NL3D::CQuadTree< T >::CQuadNode::BBoxMax</a>, <a class="el" href="a06306.html#l00296">NL3D::CQuadTree< T >::CQuadNode::BBoxMin</a>, <a class="el" href="a06306.html#l00297">NL3D::CQuadTree< T >::CQuadNode::BBoxNeverRescale</a>, <a class="el" href="a06306.html#l00374">NL3D::CQuadTree< T >::CQuadNode::includeBoxQuad()</a>, <a class="el" href="a06306.html#l00383">NL3D::CQuadTree< T >::CQuadNode::intersectBoxQuad()</a>, <a class="el" href="a06306.html#l00317">NL3D::CQuadTree< T >::CQuadNode::isLeaf()</a>, <a class="el" href="a05484.html#l00038">min</a>, <a class="el" href="a06306.html#l00344">NL3D::CQuadTree< T >::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< T >::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]->insert(boxmin, boxmax, wantdepth, newNode); +00497 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[1]->insert(boxmin, boxmax, wantdepth, newNode); +00498 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[2]->insert(boxmin, boxmax, wantdepth, newNode); +00499 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[3]->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<class T> </td> + </tr> + <tr> + <td class="md" nowrap valign="top"> bool <a class="el" href="a03289.html">NL3D::CQuadTree</a>< T >::CQuadNode::intersectBox </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">std::vector< <a class="el" href="a03082.html">NLMISC::CPlane</a> > & </td> + <td class="mdname1" valign="top" nowrap> <em>BVolume</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="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< T >::CQuadNode::BBoxMax</a>, <a class="el" href="a06306.html#l00296">NL3D::CQuadTree< T >::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> &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> &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<(<span class="keywordtype">int</span>)BVolume.size();i++) +00411 { +00412 <span class="keyword">const</span> <a class="code" href="a03082.html">NLMISC::CPlane</a> &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>)<=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>)<=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>)<=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>)<=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>)<=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>)<=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>)<=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>)<=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<class T> </td> + </tr> + <tr> + <td class="md" nowrap valign="top"> bool <a class="el" href="a03289.html">NL3D::CQuadTree</a>< T >::CQuadNode::intersectBox </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">NLMISC::CVector</a> & </td> + <td class="mdname" nowrap> <em>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> & </td> + <td class="mdname" nowrap> <em>boxmax</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="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< T >::CQuadNode::BBoxMax</a>, <a class="el" href="a06306.html#l00296">NL3D::CQuadTree< T >::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< T >::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> > <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> > <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> > <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> <= <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> <= <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> <= <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<class T> </td> + </tr> + <tr> + <td class="md" nowrap valign="top"> bool <a class="el" href="a03289.html">NL3D::CQuadTree</a>< T >::CQuadNode::intersectBoxQuad </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">NLMISC::CVector</a> & </td> + <td class="mdname" nowrap> <em>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> & </td> + <td class="mdname" nowrap> <em>boxmax</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="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< T >::CQuadNode::BBoxMax</a>, <a class="el" href="a06306.html#l00296">NL3D::CQuadTree< T >::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< T >::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> > <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> > <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> <= <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> <= <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<class T> </td> + </tr> + <tr> + <td class="md" nowrap valign="top"> bool <a class="el" href="a03289.html">NL3D::CQuadTree</a>< T >::CQuadNode::isLeaf </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="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< T >::CQuadNode::insert()</a>, <a class="el" href="a06306.html#l00536">NL3D::CQuadTree< T >::CQuadNode::select()</a>, <a class="el" href="a06306.html#l00524">NL3D::CQuadTree< T >::CQuadNode::selectAll()</a>, and <a class="el" href="a06306.html#l00344">NL3D::CQuadTree< T >::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<class T> </td> + </tr> + <tr> + <td class="md" nowrap valign="top"> void <a class="el" href="a03289.html">NL3D::CQuadTree</a>< T >::CQuadNode::select </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03290.html">CBaseNode</a> & </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< <a class="el" href="a03082.html">NLMISC::CPlane</a> > & </td> + <td class="mdname" nowrap> <em>BVolume</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="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< T >::CQuadNode::intersectBox()</a>, <a class="el" href="a06306.html#l00317">NL3D::CQuadTree< T >::CQuadNode::isLeaf()</a>, <a class="el" href="a06306.html#l00536">NL3D::CQuadTree< T >::CQuadNode::select()</a>, and <a class="el" href="a06306.html#l00507">NL3D::CQuadTree< T >::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]->select(selroot, BVolume); +00562 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[1]->select(selroot, BVolume); +00563 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[2]->select(selroot, BVolume); +00564 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[3]->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<class T> </td> + </tr> + <tr> + <td class="md" nowrap valign="top"> void <a class="el" href="a03289.html">NL3D::CQuadTree</a>< T >::CQuadNode::select </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03290.html">CBaseNode</a> & </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> & </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> & </td> + <td class="mdname" nowrap> <em>bboxmax</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="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< T >::CQuadNode::intersectBox()</a>, <a class="el" href="a06306.html#l00317">NL3D::CQuadTree< T >::CQuadNode::isLeaf()</a>, and <a class="el" href="a06306.html#l00507">NL3D::CQuadTree< T >::CQuadNode::selectLocalNodes()</a>. +<p> +Referenced by <a class="el" href="a06306.html#l00793">NL3D::CQuadTree< T >::select()</a>, and <a class="el" href="a06306.html#l00552">NL3D::CQuadTree< T >::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]->select(selroot, bboxmin, bboxmax); +00546 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[1]->select(selroot, bboxmin, bboxmax); +00547 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[2]->select(selroot, bboxmin, bboxmax); +00548 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[3]->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<class T> </td> + </tr> + <tr> + <td class="md" nowrap valign="top"> void <a class="el" href="a03289.html">NL3D::CQuadTree</a>< T >::CQuadNode::selectAll </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03290.html">CBaseNode</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>selroot</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="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< T >::CQuadNode::isLeaf()</a>, and <a class="el" href="a06306.html#l00507">NL3D::CQuadTree< T >::CQuadNode::selectLocalNodes()</a>. +<p> +Referenced by <a class="el" href="a06306.html#l00787">NL3D::CQuadTree< T >::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]->selectAll(selroot); +00530 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[1]->selectAll(selroot); +00531 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[2]->selectAll(selroot); +00532 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[3]->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<class T> </td> + </tr> + <tr> + <td class="md" nowrap valign="top"> void <a class="el" href="a03289.html">NL3D::CQuadTree</a>< T >::CQuadNode::selectLocalNodes </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03290.html">CBaseNode</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>selroot</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="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< T >::CBaseNode::isSelected()</a>, <a class="el" href="a06306.html#l00300">NL3D::CQuadTree< T >::CQuadNode::ListIndex</a>, <a class="el" href="a06306.html#l00236">NL3D::CQuadTree< T >::CBaseNode::Next</a>, <a class="el" href="a06306.html#l00236">NL3D::CQuadTree< T >::CBaseNode::Prev</a>, and <a class="el" href="a06306.html#l00239">NL3D::CQuadTree< T >::CBaseNode::QuadNexts</a>. +<p> +Referenced by <a class="el" href="a06306.html#l00536">NL3D::CQuadTree< T >::CQuadNode::select()</a>, and <a class="el" href="a06306.html#l00524">NL3D::CQuadTree< T >::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->isSelected()) +00513 { +00514 p->Prev= &selroot; +00515 p->Next= selroot.Next; +00516 <span class="keywordflow">if</span>(selroot.Next) +00517 selroot.Next->Prev= p; +00518 selroot.Next= p; +00519 } +00520 p=p->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<class T> </td> + </tr> + <tr> + <td class="md" nowrap valign="top"> void <a class="el" href="a03289.html">NL3D::CQuadTree</a>< T >::CQuadNode::split </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="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< T >::CQuadNode::BBoxMax</a>, <a class="el" href="a06306.html#l00296">NL3D::CQuadTree< T >::CQuadNode::BBoxMin</a>, <a class="el" href="a06306.html#l00317">NL3D::CQuadTree< T >::CQuadNode::isLeaf()</a>, <a class="el" href="a06306.html#l00295">NL3D::CQuadTree< T >::CQuadNode::Level</a>, <a class="el" href="a06306.html#l00300">NL3D::CQuadTree< T >::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< T >::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<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]->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]->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]->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]->BBoxMax = Middle; +00365 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[1]->BBoxMin = MidTop ; <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[1]->BBoxMax = MidRight; +00366 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[2]->BBoxMin = MidLeft; <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[2]->BBoxMax = MidBottom; +00367 <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[3]->BBoxMin = Middle; <a class="code" href="a03294.html#NL3D_1_1CQuadTree_1_1CQuadNodeo6">Sons</a>[3]->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<class T> </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>< T >::<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> + + </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< T >::CQuadTree()</a>, <a class="el" href="a06306.html#l00685">NL3D::CQuadTree< T >::create()</a>, <a class="el" href="a06306.html#l00374">NL3D::CQuadTree< T >::CQuadNode::includeBoxQuad()</a>, <a class="el" href="a06306.html#l00443">NL3D::CQuadTree< T >::CQuadNode::insert()</a>, <a class="el" href="a06306.html#l00393">NL3D::CQuadTree< T >::CQuadNode::intersectBox()</a>, <a class="el" href="a06306.html#l00383">NL3D::CQuadTree< T >::CQuadNode::intersectBoxQuad()</a>, and <a class="el" href="a06306.html#l00344">NL3D::CQuadTree< T >::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<class T> </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>< T >::<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> + + </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< T >::CQuadTree()</a>, <a class="el" href="a06306.html#l00685">NL3D::CQuadTree< T >::create()</a>, <a class="el" href="a06306.html#l00374">NL3D::CQuadTree< T >::CQuadNode::includeBoxQuad()</a>, <a class="el" href="a06306.html#l00443">NL3D::CQuadTree< T >::CQuadNode::insert()</a>, <a class="el" href="a06306.html#l00393">NL3D::CQuadTree< T >::CQuadNode::intersectBox()</a>, <a class="el" href="a06306.html#l00383">NL3D::CQuadTree< T >::CQuadNode::intersectBoxQuad()</a>, and <a class="el" href="a06306.html#l00344">NL3D::CQuadTree< T >::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<class T> </td> + </tr> + <tr> + <td class="md" nowrap valign="top"> bool <a class="el" href="a03289.html">NL3D::CQuadTree</a>< T >::<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> + + </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< T >::CQuadNode::CQuadNode()</a>, and <a class="el" href="a06306.html#l00443">NL3D::CQuadTree< T >::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<class T> </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>< T >::<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> + + </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< T >::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<class T> </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>< T >::<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> + + </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< T >::CQuadNode::addElement()</a>, <a class="el" href="a06306.html#l00322">NL3D::CQuadTree< T >::CQuadNode::clear()</a>, <a class="el" href="a06306.html#l00310">NL3D::CQuadTree< T >::CQuadNode::CQuadNode()</a>, <a class="el" href="a06306.html#l00507">NL3D::CQuadTree< T >::CQuadNode::selectLocalNodes()</a>, and <a class="el" href="a06306.html#l00344">NL3D::CQuadTree< T >::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<class T> </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>< T >::<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> + + </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<class T> </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>< T >::<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> + + </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> |