aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/a03286.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/a03286.html
downloadnevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.tar.xz
nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.zip
Initial commit
Diffstat (limited to 'docs/doxygen/nel/a03286.html')
-rw-r--r--docs/doxygen/nel/a03286.html879
1 files changed, 879 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a03286.html b/docs/doxygen/nel/a03286.html
new file mode 100644
index 00000000..86b76e7b
--- /dev/null
+++ b/docs/doxygen/nel/a03286.html
@@ -0,0 +1,879 @@
+<!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::CQuadGridClipClusterQTreeNode 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::CQuadGridClipClusterQTreeNode Class Reference</h1><code>#include &lt;<a class="el" href="a06303.html">quad_grid_clip_cluster.h</a>&gt;</code>
+<p>
+<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="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodea0">clip</a> (<a class="el" href="a02353.html">CClipTrav</a> *clipTrav)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodea1">CQuadGridClipClusterQTreeNode</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodea2">init</a> (<a class="el" href="a03284.html">CQuadGridClipCluster</a> *owner, <a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a630">level</a>, bool rootNode, const <a class="el" href="a02156.html">NLMISC::CAABBox</a> &amp;pivot)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodea3">insertModel</a> (const <a class="el" href="a02156.html">NLMISC::CAABBox</a> &amp;worldBBox, <a class="el" href="a04558.html#a15">uint</a> distSetup, <a class="el" href="a02537.html">CTransformShape</a> *model)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodea4">noFrustumClip</a> (<a class="el" href="a02353.html">CClipTrav</a> *clipTrav)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodea5">profileNumChildren</a> (<a class="el" href="a04558.html#a15">uint</a> distLevel, <a class="el" href="a04558.html#a15">uint</a> &amp;result) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodea6">resetSons</a> (<a class="el" href="a02353.html">CClipTrav</a> *clipTrav)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodea7">~CQuadGridClipClusterQTreeNode</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="a02156.html">NLMISC::CAABBox</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo0">BBox</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02157.html">NLMISC::CAABBoxExt</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo1">BBoxExt</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo2">Empty</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo3">LeafNode</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03285.html">CQuadGridClipClusterListDist</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo4">ListNode</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03284.html">CQuadGridClipCluster</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo5">Owner</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02156.html">NLMISC::CAABBox</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo6">PivotBBox</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo7">RootNode</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03286.html">CQuadGridClipClusterQTreeNode</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a> [4]</td></tr>
+
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="NL3D_1_1CQuadGridClipClusterQTreeNodea1" doxytag="NL3D::CQuadGridClipClusterQTreeNode::CQuadGridClipClusterQTreeNode" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NL3D::CQuadGridClipClusterQTreeNode::CQuadGridClipClusterQTreeNode </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06302.html#l00111">111</a> of file <a class="el" href="a06302.html">quad_grid_clip_cluster.cpp</a>.
+<p>
+References <a class="el" href="a06303.html#l00077">Empty</a>, <a class="el" href="a06303.html#l00082">LeafNode</a>, <a class="el" href="a06303.html#l00080">RootNode</a>, and <a class="el" href="a06303.html#l00069">Sons</a>.
+<p>
+<div class="fragment"><pre>00112 {
+00113 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[0]=NULL;
+00114 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[1]=NULL;
+00115 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[2]=NULL;
+00116 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[3]=NULL;
+00117 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo2">Empty</a>= <span class="keyword">true</span>;
+00118 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo5">Owner</a>= NULL;
+00119 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo7">RootNode</a>= <span class="keyword">false</span>;
+00120 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo3">LeafNode</a>= <span class="keyword">false</span>;
+00121 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CQuadGridClipClusterQTreeNodea7" doxytag="NL3D::CQuadGridClipClusterQTreeNode::~CQuadGridClipClusterQTreeNode" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NL3D::CQuadGridClipClusterQTreeNode::~<a class="el" href="a03286.html">CQuadGridClipClusterQTreeNode</a> </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06302.html#l00174">174</a> of file <a class="el" href="a06302.html">quad_grid_clip_cluster.cpp</a>.
+<p>
+References <a class="el" href="a06303.html#l00072">ListNode</a>, <a class="el" href="a06303.html#l00047">NL3D::CQuadGridClipClusterListDist::Models</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06303.html#l00069">Sons</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>00175 {
+00176 <span class="comment">// erase sons</span>
+00177 <a class="code" href="a04558.html#a15">uint</a> i;
+00178 <span class="keywordflow">for</span>(i=0; i&lt;4;i++)
+00179 {
+00180 <span class="keywordflow">if</span>(<a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[i])
+00181 <span class="keyword">delete</span> <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[i];
+00182 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[i]= NULL;
+00183 }
+00184
+00185 <span class="comment">// check my list</span>
+00186 <span class="keywordflow">for</span>(i=0; i&lt;<a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo4">ListNode</a>.Models.size();i++)
+00187 {
+00188 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo4">ListNode</a>.Models[i].empty());
+00189 }
+00190 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="NL3D_1_1CQuadGridClipClusterQTreeNodea0" doxytag="NL3D::CQuadGridClipClusterQTreeNode::clip" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CQuadGridClipClusterQTreeNode::clip </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02353.html">CClipTrav</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>clipTrav</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06302.html#l00193">193</a> of file <a class="el" href="a06302.html">quad_grid_clip_cluster.cpp</a>.
+<p>
+References <a class="el" href="a06303.html#l00147">NL3D::CQuadGridClipCluster::_DistMax</a>, <a class="el" href="a06303.html#l00149">NL3D::CQuadGridClipCluster::_NumDist</a>, <a class="el" href="a06303.html#l00076">BBoxExt</a>, <a class="el" href="a06583.html#l00079">NL3D::CTravCameraScene::CamPos</a>, <a class="el" href="a05587.html#l00115">NLMISC::clamp()</a>, <a class="el" href="a05384.html#l00319">NLMISC::CAABBoxExt::clipBack()</a>, <a class="el" href="a05384.html#l00301">NLMISC::CAABBoxExt::clipFront()</a>, <a class="el" href="a06302.html#l00065">NL3D::CQuadGridClipClusterListDist::clipSons()</a>, <a class="el" href="a06303.html#l00077">Empty</a>, <a class="el" href="a05556.html#l00161">NL3D::CClipTrav::ForceNoFrustumClip</a>, <a class="el" href="a05385.html#l00199">NLMISC::CAABBoxExt::getCenter()</a>, <a class="el" href="a05385.html#l00204">NLMISC::CAABBoxExt::getRadius()</a>, <a class="el" href="a05788.html#l00054">H_AFTER</a>, <a class="el" href="a05788.html#l00056">H_AUTO</a>, <a class="el" href="a05788.html#l00053">H_BEFORE</a>, <a class="el" href="a06303.html#l00082">LeafNode</a>, <a class="el" href="a06303.html#l00072">ListNode</a>, <a class="el" href="a06302.html#l00268">noFrustumClip()</a>, <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a06303.html#l00069">Sons</a>, and <a class="el" href="a05556.html#l00149">NL3D::CClipTrav::WorldPyramid</a>.
+<p>
+Referenced by <a class="el" href="a06302.html#l00444">NL3D::CQuadGridClipCluster::clip()</a>.
+<p>
+<div class="fragment"><pre>00194 {
+00195 <span class="comment">// if empty (test important for branch and leave clusters)</span>
+00196 <span class="keywordflow">if</span>(<a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo2">Empty</a>)
+00197 <span class="keywordflow">return</span>;
+00198
+00199 <a class="code" href="a04365.html#a2">H_BEFORE</a>( NL3D_QuadClip_NodeClip );
+00200
+00201 <span class="comment">// Then clip against pyramid</span>
+00202 <span class="keywordtype">bool</span> unspecified= <span class="keyword">false</span>;
+00203 <span class="keywordtype">bool</span> visible= <span class="keyword">true</span>;
+00204 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a14">sint</a> i=0;i&lt;(<a class="code" href="a04558.html#a14">sint</a>)clipTrav-&gt;WorldPyramid.size();i++)
+00205 {
+00206 <span class="comment">// We are sure that pyramid has normalized plane normals.</span>
+00207 <span class="keywordflow">if</span>(!<a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo1">BBoxExt</a>.<a class="code" href="a02157.html#NLMISC_1_1CAABBoxExtz1914_0">clipBack</a>(clipTrav-&gt;WorldPyramid[i]))
+00208 {
+00209 visible= <span class="keyword">false</span>;
+00210 <span class="keywordflow">break</span>;
+00211 }
+00212 <span class="comment">// else test is the bbox is partially or fully in the plane</span>
+00213 <span class="keywordflow">else</span> <span class="keywordflow">if</span>(!unspecified)
+00214 {
+00215 <span class="comment">// if clipFront AND clipBack, it means partially.</span>
+00216 <span class="keywordflow">if</span>(<a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo1">BBoxExt</a>.<a class="code" href="a02157.html#NLMISC_1_1CAABBoxExtz1914_1">clipFront</a>(clipTrav-&gt;WorldPyramid[i]))
+00217 unspecified= <span class="keyword">true</span>;
+00218 }
+00219 }
+00220
+00221 <a class="code" href="a04365.html#a3">H_AFTER</a>( NL3D_QuadClip_NodeClip );
+00222
+00223 <span class="comment">// if visible, parse sons</span>
+00224 <span class="keywordflow">if</span>(visible)
+00225 {
+00226 <span class="comment">// clip sons or cluster sons</span>
+00227 <span class="keywordflow">if</span>(unspecified)
+00228 {
+00229 <span class="keywordflow">if</span>( <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo3">LeafNode</a>)
+00230 {
+00231 <span class="comment">// clip DistMax.</span>
+00232 CVector c= <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo1">BBoxExt</a>.<a class="code" href="a02157.html#NLMISC_1_1CAABBoxExtz1912_1">getCenter</a>();
+00233 <span class="keywordtype">float</span> dist= (c - clipTrav-&gt;CamPos).norm();
+00234 dist-= <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo1">BBoxExt</a>.<a class="code" href="a02157.html#NLMISC_1_1CAABBoxExtz1912_5">getRadius</a>();
+00235 <a class="code" href="a04558.html#a14">sint</a> minDistSetup= (<a class="code" href="a04558.html#a14">sint</a>)floor(<a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo5">Owner</a>-&gt;_NumDist*dist/<a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo5">Owner</a>-&gt;_DistMax);
+00236 <span class="comment">// NB if too far, set _NumDist (ie will clip only the infinite objects ones)</span>
+00237 <a class="code" href="a05378.html#a374">clamp</a>(minDistSetup, 0, (<a class="code" href="a04558.html#a14">sint</a>)<a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo5">Owner</a>-&gt;_NumDist);
+00238
+00239 <span class="comment">// clip the sons individually </span>
+00240 <a class="code" href="a04365.html#a4">H_AUTO</a>( NL3D_QuadClip_SonsClip );
+00241 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo4">ListNode</a>.clipSons(minDistSetup);
+00242 }
+00243 <span class="keywordflow">else</span>
+00244 {
+00245 <span class="comment">// clip cluster sons</span>
+00246 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[0]-&gt;clip(clipTrav);
+00247 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[1]-&gt;clip(clipTrav);
+00248 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[2]-&gt;clip(clipTrav);
+00249 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[3]-&gt;clip(clipTrav);
+00250 }
+00251 }
+00252 <span class="keywordflow">else</span>
+00253 {
+00254 <span class="comment">// udpdate the sons, but don't clip, because we know they are fully visible.</span>
+00255 clipTrav-&gt;ForceNoFrustumClip= <span class="keyword">true</span>;
+00256
+00257 <span class="comment">// show all cluster sons or sons</span>
+00258 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodea4">noFrustumClip</a>(clipTrav);
+00259
+00260 <span class="comment">// reset flag</span>
+00261 clipTrav-&gt;ForceNoFrustumClip= <span class="keyword">false</span>;
+00262 }
+00263 }
+00264 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CQuadGridClipClusterQTreeNodea2" doxytag="NL3D::CQuadGridClipClusterQTreeNode::init" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CQuadGridClipClusterQTreeNode::init </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03284.html">CQuadGridClipCluster</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>owner</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>level</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>rootNode</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a02156.html">NLMISC::CAABBox</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>pivot</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06302.html#l00125">125</a> of file <a class="el" href="a06302.html">quad_grid_clip_cluster.cpp</a>.
+<p>
+References <a class="el" href="a06303.html#l00151">NL3D::CQuadGridClipCluster::_NumDistTotal</a>, <a class="el" href="a05385.html#l00090">NLMISC::CAABBox::getCenter()</a>, <a class="el" href="a05385.html#l00091">NLMISC::CAABBox::getHalfSize()</a>, <a class="el" href="a05385.html#l00087">NLMISC::CAABBox::getMax()</a>, <a class="el" href="a05385.html#l00086">NLMISC::CAABBox::getMin()</a>, <a class="el" href="a06303.html#l00082">LeafNode</a>, <a class="el" href="a05646.html#l01013">level</a>, <a class="el" href="a06303.html#l00072">ListNode</a>, <a class="el" href="a06303.html#l00047">NL3D::CQuadGridClipClusterListDist::Models</a>, <a class="el" href="a06302.html#l00052">NL3D_QCC_LEFT_DOWN</a>, <a class="el" href="a06302.html#l00054">NL3D_QCC_LEFT_UP</a>, <a class="el" href="a06302.html#l00053">NL3D_QCC_RIGHT_DOWN</a>, <a class="el" href="a06302.html#l00055">NL3D_QCC_RIGHT_UP</a>, <a class="el" href="a06303.html#l00085">PivotBBox</a>, <a class="el" href="a06303.html#l00080">RootNode</a>, <a class="el" href="a05385.html#l00066">NLMISC::CAABBox::setCenter()</a>, <a class="el" href="a05385.html#l00069">NLMISC::CAABBox::setSize()</a>, <a class="el" href="a06303.html#l00069">Sons</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::x</a>, and <a class="el" href="a06673.html#l00051">NLMISC::CVector::y</a>.
+<p>
+Referenced by <a class="el" href="a06302.html#l00399">NL3D::CQuadGridClipCluster::CQuadGridClipCluster()</a>.
+<p>
+<div class="fragment"><pre>00126 {
+00127 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo5">Owner</a>= owner;
+00128 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo7">RootNode</a>= rootNode;
+00129 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo6">PivotBBox</a>= pivot;
+00130
+00131 <span class="comment">// If not a leaf, create sons</span>
+00132 <span class="keywordflow">if</span>(<a class="code" href="a04223.html#a630">level</a>&gt;0)
+00133 {
+00134 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo3">LeafNode</a>= <span class="keyword">false</span>;
+00135
+00136 <span class="comment">// split pivot for sons</span>
+00137 <a class="code" href="a02156.html">CAABBox</a> pivotSon;
+00138 pivotSon.<a class="code" href="a02156.html#NLMISC_1_1CAABBoxz1902_4">setSize</a>(<a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo6">PivotBBox</a>.<a class="code" href="a02156.html#NLMISC_1_1CAABBoxz1904_1">getHalfSize</a>());
+00139 <span class="keywordtype">float</span> xMin= <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo6">PivotBBox</a>.<a class="code" href="a02156.html#NLMISC_1_1CAABBoxz1904_5">getMin</a>().x/2;
+00140 <span class="keywordtype">float</span> yMin= <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo6">PivotBBox</a>.<a class="code" href="a02156.html#NLMISC_1_1CAABBoxz1904_5">getMin</a>().y/2;
+00141 <span class="keywordtype">float</span> xMax= <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo6">PivotBBox</a>.<a class="code" href="a02156.html#NLMISC_1_1CAABBoxz1904_3">getMax</a>().x/2;
+00142 <span class="keywordtype">float</span> yMax= <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo6">PivotBBox</a>.<a class="code" href="a02156.html#NLMISC_1_1CAABBoxz1904_3">getMax</a>().y/2;
+00143 <span class="keywordtype">float</span> xCenter= <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo6">PivotBBox</a>.<a class="code" href="a02156.html#NLMISC_1_1CAABBoxz1904_0">getCenter</a>().x/2;
+00144 <span class="keywordtype">float</span> yCenter= <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo6">PivotBBox</a>.<a class="code" href="a02156.html#NLMISC_1_1CAABBoxz1904_0">getCenter</a>().y/2;
+00145 <span class="comment">// LeftDown</span>
+00146 pivotSon.<a class="code" href="a02156.html#NLMISC_1_1CAABBoxz1902_1">setCenter</a>( CVector(xMin+xCenter,yMin+yCenter,0) );
+00147 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[<a class="code" href="a04879.html#a1">NL3D_QCC_LEFT_DOWN</a>]= <span class="keyword">new</span> <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodea1">CQuadGridClipClusterQTreeNode</a>;
+00148 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[<a class="code" href="a04879.html#a1">NL3D_QCC_LEFT_DOWN</a>]-&gt;init(owner, level-1, <span class="keyword">false</span>, pivotSon);
+00149 <span class="comment">// RightDown</span>
+00150 pivotSon.<a class="code" href="a02156.html#NLMISC_1_1CAABBoxz1902_1">setCenter</a>( CVector(xMax+xCenter,yMin+yCenter,0) );
+00151 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[<a class="code" href="a04879.html#a2">NL3D_QCC_RIGHT_DOWN</a>]= <span class="keyword">new</span> CQuadGridClipClusterQTreeNode;
+00152 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[<a class="code" href="a04879.html#a2">NL3D_QCC_RIGHT_DOWN</a>]-&gt;init(owner, level-1, <span class="keyword">false</span>, pivotSon);
+00153 <span class="comment">// LeftUp</span>
+00154 pivotSon.<a class="code" href="a02156.html#NLMISC_1_1CAABBoxz1902_1">setCenter</a>( CVector(xMin+xCenter,yMax+yCenter,0) );
+00155 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[<a class="code" href="a04879.html#a3">NL3D_QCC_LEFT_UP</a>]= <span class="keyword">new</span> CQuadGridClipClusterQTreeNode;
+00156 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[<a class="code" href="a04879.html#a3">NL3D_QCC_LEFT_UP</a>]-&gt;init(owner, level-1, <span class="keyword">false</span>, pivotSon);
+00157 <span class="comment">// RithgUp</span>
+00158 pivotSon.<a class="code" href="a02156.html#NLMISC_1_1CAABBoxz1902_1">setCenter</a>( CVector(xMax+xCenter,yMax+yCenter,0) );
+00159 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[<a class="code" href="a04879.html#a4">NL3D_QCC_RIGHT_UP</a>]= <span class="keyword">new</span> CQuadGridClipClusterQTreeNode;
+00160 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[<a class="code" href="a04879.html#a4">NL3D_QCC_RIGHT_UP</a>]-&gt;init(owner, level-1, <span class="keyword">false</span>, pivotSon);
+00161 }
+00162 <span class="keywordflow">else</span>
+00163 {
+00164 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo3">LeafNode</a>= <span class="keyword">true</span>;
+00165 }
+00166
+00167 <span class="comment">// Create the distMax list only if root or leaf. No models in interleaved branches.</span>
+00168 <span class="keywordflow">if</span>( <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo3">LeafNode</a>)
+00169 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo4">ListNode</a>.Models.resize(<a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo5">Owner</a>-&gt;_NumDistTotal);
+00170 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CQuadGridClipClusterQTreeNodea3" doxytag="NL3D::CQuadGridClipClusterQTreeNode::insertModel" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CQuadGridClipClusterQTreeNode::insertModel </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a02156.html">NLMISC::CAABBox</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>worldBBox</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>distSetup</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02537.html">CTransformShape</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>model</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06302.html#l00301">301</a> of file <a class="el" href="a06302.html">quad_grid_clip_cluster.cpp</a>.
+<p>
+References <a class="el" href="a06303.html#l00075">BBox</a>, <a class="el" href="a06303.html#l00076">BBoxExt</a>, <a class="el" href="a06303.html#l00077">Empty</a>, <a class="el" href="a05384.html#l00215">NLMISC::CAABBox::extend()</a>, <a class="el" href="a05385.html#l00090">NLMISC::CAABBox::getCenter()</a>, <a class="el" href="a05385.html#l00091">NLMISC::CAABBox::getHalfSize()</a>, <a class="el" href="a06302.html#l00079">NL3D::CQuadGridClipClusterListDist::insertModel()</a>, <a class="el" href="a06303.html#l00082">LeafNode</a>, <a class="el" href="a06303.html#l00072">ListNode</a>, <a class="el" href="a06302.html#l00052">NL3D_QCC_LEFT_DOWN</a>, <a class="el" href="a06302.html#l00054">NL3D_QCC_LEFT_UP</a>, <a class="el" href="a06302.html#l00053">NL3D_QCC_RIGHT_DOWN</a>, <a class="el" href="a06302.html#l00055">NL3D_QCC_RIGHT_UP</a>, <a class="el" href="a06303.html#l00085">PivotBBox</a>, <a class="el" href="a06303.html#l00069">Sons</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::x</a>, and <a class="el" href="a06673.html#l00051">NLMISC::CVector::y</a>.
+<p>
+Referenced by <a class="el" href="a06302.html#l00414">NL3D::CQuadGridClipCluster::addModel()</a>.
+<p>
+<div class="fragment"><pre>00302 {
+00303 <span class="comment">// if leaf node, insert the model in the list</span>
+00304 <span class="keywordflow">if</span>( <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo3">LeafNode</a> )
+00305 {
+00306 <span class="keywordflow">if</span>(<a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo2">Empty</a>)
+00307 {
+00308 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo2">Empty</a>= <span class="keyword">false</span>;
+00309 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo0">BBox</a>= worldBBox;
+00310 }
+00311 <span class="keywordflow">else</span>
+00312 {
+00313 <span class="comment">// extend the bbox with 2 corners of the incoming bbox (sufficient for an AABBox).</span>
+00314 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo0">BBox</a>.<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtz1902_0">extend</a>( worldBBox.<a class="code" href="a02156.html#NLMISC_1_1CAABBoxz1904_0">getCenter</a>() + worldBBox.<a class="code" href="a02156.html#NLMISC_1_1CAABBoxz1904_1">getHalfSize</a>() );
+00315 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo0">BBox</a>.<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtz1902_0">extend</a>( worldBBox.<a class="code" href="a02156.html#NLMISC_1_1CAABBoxz1904_0">getCenter</a>() - worldBBox.<a class="code" href="a02156.html#NLMISC_1_1CAABBoxz1904_1">getHalfSize</a>() );
+00316 }
+00317
+00318 <span class="comment">// insert in list</span>
+00319 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo4">ListNode</a>.insertModel(distSetup, model);
+00320 }
+00321 <span class="comment">// else, recurs insert in branch</span>
+00322 <span class="keywordflow">else</span>
+00323 {
+00324 <span class="comment">// choose what son according to pivot.</span>
+00325 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodea1">CQuadGridClipClusterQTreeNode</a> *selectSon;
+00326 <span class="keywordflow">if</span>( worldBBox.<a class="code" href="a02156.html#NLMISC_1_1CAABBoxz1904_0">getCenter</a>().y&lt;<a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo6">PivotBBox</a>.<a class="code" href="a02156.html#NLMISC_1_1CAABBoxz1904_0">getCenter</a>().y )
+00327 {
+00328 <span class="keywordflow">if</span>( worldBBox.<a class="code" href="a02156.html#NLMISC_1_1CAABBoxz1904_0">getCenter</a>().x&lt;<a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo6">PivotBBox</a>.<a class="code" href="a02156.html#NLMISC_1_1CAABBoxz1904_0">getCenter</a>().x )
+00329 selectSon= <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[<a class="code" href="a04879.html#a1">NL3D_QCC_LEFT_DOWN</a>];
+00330 <span class="keywordflow">else</span>
+00331 selectSon= Sons[<a class="code" href="a04879.html#a2">NL3D_QCC_RIGHT_DOWN</a>];
+00332 }
+00333 <span class="keywordflow">else</span>
+00334 {
+00335 <span class="keywordflow">if</span>( worldBBox.<a class="code" href="a02156.html#NLMISC_1_1CAABBoxz1904_0">getCenter</a>().x&lt;<a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo6">PivotBBox</a>.<a class="code" href="a02156.html#NLMISC_1_1CAABBoxz1904_0">getCenter</a>().x )
+00336 selectSon= <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[<a class="code" href="a04879.html#a3">NL3D_QCC_LEFT_UP</a>];
+00337 <span class="keywordflow">else</span>
+00338 selectSon= Sons[<a class="code" href="a04879.html#a4">NL3D_QCC_RIGHT_UP</a>];
+00339 }
+00340
+00341 <span class="comment">// insert in this cluster</span>
+00342 selectSon-&gt;insertModel(worldBBox, distSetup, model);
+00343
+00344 <span class="comment">// extend my boox according to this son cluster.</span>
+00345 <span class="keywordflow">if</span>(<a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo2">Empty</a>)
+00346 {
+00347 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo2">Empty</a>= <span class="keyword">false</span>;
+00348 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo0">BBox</a>= selectSon-&gt;BBox;
+00349 }
+00350 <span class="keywordflow">else</span>
+00351 {
+00352 <span class="comment">// extend the bbox with 2 corners of the son bbox (sufficient for an AABBox).</span>
+00353 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo0">BBox</a>.<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtz1902_0">extend</a>( selectSon-&gt;BBox.getCenter() + selectSon-&gt;BBox.getHalfSize() );
+00354 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo0">BBox</a>.<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtz1902_0">extend</a>( selectSon-&gt;BBox.getCenter() - selectSon-&gt;BBox.getHalfSize() );
+00355 }
+00356 }
+00357
+00358 <span class="comment">// update bboxExt</span>
+00359 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo1">BBoxExt</a>= <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo0">BBox</a>;
+00360 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CQuadGridClipClusterQTreeNodea4" doxytag="NL3D::CQuadGridClipClusterQTreeNode::noFrustumClip" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CQuadGridClipClusterQTreeNode::noFrustumClip </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02353.html">CClipTrav</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>clipTrav</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06302.html#l00268">268</a> of file <a class="el" href="a06302.html">quad_grid_clip_cluster.cpp</a>.
+<p>
+References <a class="el" href="a06303.html#l00147">NL3D::CQuadGridClipCluster::_DistMax</a>, <a class="el" href="a06303.html#l00149">NL3D::CQuadGridClipCluster::_NumDist</a>, <a class="el" href="a06303.html#l00076">BBoxExt</a>, <a class="el" href="a06583.html#l00079">NL3D::CTravCameraScene::CamPos</a>, <a class="el" href="a05587.html#l00115">NLMISC::clamp()</a>, <a class="el" href="a06302.html#l00065">NL3D::CQuadGridClipClusterListDist::clipSons()</a>, <a class="el" href="a06303.html#l00077">Empty</a>, <a class="el" href="a05385.html#l00199">NLMISC::CAABBoxExt::getCenter()</a>, <a class="el" href="a05385.html#l00204">NLMISC::CAABBoxExt::getRadius()</a>, <a class="el" href="a05788.html#l00064">H_AUTO_USE</a>, <a class="el" href="a06303.html#l00082">LeafNode</a>, <a class="el" href="a06303.html#l00072">ListNode</a>, <a class="el" href="a05981.html#l00104">sint</a>, and <a class="el" href="a06303.html#l00069">Sons</a>.
+<p>
+Referenced by <a class="el" href="a06302.html#l00193">clip()</a>.
+<p>
+<div class="fragment"><pre>00269 {
+00270 <span class="comment">// if empty (test important for branch and leave clusters)</span>
+00271 <span class="keywordflow">if</span>(<a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo2">Empty</a>)
+00272 <span class="keywordflow">return</span>;
+00273
+00274 <span class="comment">// clip the sons</span>
+00275 <span class="keywordflow">if</span>( <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo3">LeafNode</a>)
+00276 {
+00277 <span class="comment">// clip DistMax.</span>
+00278 CVector c= <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo1">BBoxExt</a>.<a class="code" href="a02157.html#NLMISC_1_1CAABBoxExtz1912_1">getCenter</a>();
+00279 <span class="keywordtype">float</span> dist= (c - clipTrav-&gt;CamPos).norm();
+00280 dist-= <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo1">BBoxExt</a>.<a class="code" href="a02157.html#NLMISC_1_1CAABBoxExtz1912_5">getRadius</a>();
+00281 <a class="code" href="a04558.html#a14">sint</a> minDistSetup= (<a class="code" href="a04558.html#a14">sint</a>)floor(<a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo5">Owner</a>-&gt;_NumDist*dist/<a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo5">Owner</a>-&gt;_DistMax);
+00282 <span class="comment">// NB if too far, set _NumDist (ie will clip only the infinite objects ones)</span>
+00283 <a class="code" href="a05378.html#a374">clamp</a>(minDistSetup, 0, (<a class="code" href="a04558.html#a14">sint</a>)<a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo5">Owner</a>-&gt;_NumDist);
+00284
+00285 <span class="comment">// clip the sons</span>
+00286 <a class="code" href="a04365.html#a7">H_AUTO_USE</a>( NL3D_QuadClip_SonsShowNoClip );
+00287 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo4">ListNode</a>.clipSons(minDistSetup);
+00288 }
+00289 <span class="keywordflow">else</span>
+00290 {
+00291 <span class="comment">// forceShow of cluster sons</span>
+00292 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[0]-&gt;noFrustumClip(clipTrav);
+00293 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[1]-&gt;noFrustumClip(clipTrav);
+00294 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[2]-&gt;noFrustumClip(clipTrav);
+00295 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[3]-&gt;noFrustumClip(clipTrav);
+00296 }
+00297 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CQuadGridClipClusterQTreeNodea5" doxytag="NL3D::CQuadGridClipClusterQTreeNode::profileNumChildren" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CQuadGridClipClusterQTreeNode::profileNumChildren </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>distLevel</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>result</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"> const</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="a06302.html#l00377">377</a> of file <a class="el" href="a06302.html">quad_grid_clip_cluster.cpp</a>.
+<p>
+References <a class="el" href="a06303.html#l00072">ListNode</a>, <a class="el" href="a06303.html#l00047">NL3D::CQuadGridClipClusterListDist::Models</a>, <a class="el" href="a06303.html#l00069">Sons</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06302.html#l00460">NL3D::CQuadGridClipCluster::profileNumChildren()</a>.
+<p>
+<div class="fragment"><pre>00378 {
+00379 <span class="keywordflow">if</span>(distLevel&lt;<a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo4">ListNode</a>.Models.size())
+00380 result+= <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo4">ListNode</a>.Models[distLevel].size();
+00381 <span class="comment">// Add cluster sons</span>
+00382 <span class="keywordflow">if</span>(<a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[0])
+00383 {
+00384 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[0]-&gt;profileNumChildren(distLevel, result);
+00385 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[1]-&gt;profileNumChildren(distLevel, result);
+00386 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[2]-&gt;profileNumChildren(distLevel, result);
+00387 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[3]-&gt;profileNumChildren(distLevel, result);
+00388 }
+00389 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CQuadGridClipClusterQTreeNodea6" doxytag="NL3D::CQuadGridClipClusterQTreeNode::resetSons" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CQuadGridClipClusterQTreeNode::resetSons </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02353.html">CClipTrav</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>clipTrav</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06302.html#l00363">363</a> of file <a class="el" href="a06302.html">quad_grid_clip_cluster.cpp</a>.
+<p>
+References <a class="el" href="a06303.html#l00072">ListNode</a>, <a class="el" href="a06302.html#l00086">NL3D::CQuadGridClipClusterListDist::resetSons()</a>, and <a class="el" href="a06303.html#l00069">Sons</a>.
+<p>
+Referenced by <a class="el" href="a06302.html#l00453">NL3D::CQuadGridClipCluster::resetSons()</a>.
+<p>
+<div class="fragment"><pre>00364 {
+00365 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo4">ListNode</a>.resetSons(clipTrav);
+00366 <span class="keywordflow">if</span>(<a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[0])
+00367 {
+00368 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[0]-&gt;resetSons(clipTrav);
+00369 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[1]-&gt;resetSons(clipTrav);
+00370 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[2]-&gt;resetSons(clipTrav);
+00371 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[3]-&gt;resetSons(clipTrav);
+00372 }
+00373 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="NL3D_1_1CQuadGridClipClusterQTreeNodeo0" doxytag="NL3D::CQuadGridClipClusterQTreeNode::BBox" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02156.html">NLMISC::CAABBox</a> <a class="el" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo0">NL3D::CQuadGridClipClusterQTreeNode::BBox</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="a06303.html#l00075">75</a> of file <a class="el" href="a06303.html">quad_grid_clip_cluster.h</a>.
+<p>
+Referenced by <a class="el" href="a06303.html#l00138">NL3D::CQuadGridClipCluster::getBBox()</a>, and <a class="el" href="a06302.html#l00301">insertModel()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CQuadGridClipClusterQTreeNodeo1" doxytag="NL3D::CQuadGridClipClusterQTreeNode::BBoxExt" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02157.html">NLMISC::CAABBoxExt</a> <a class="el" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo1">NL3D::CQuadGridClipClusterQTreeNode::BBoxExt</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="a06303.html#l00076">76</a> of file <a class="el" href="a06303.html">quad_grid_clip_cluster.h</a>.
+<p>
+Referenced by <a class="el" href="a06302.html#l00193">clip()</a>, <a class="el" href="a06302.html#l00301">insertModel()</a>, and <a class="el" href="a06302.html#l00268">noFrustumClip()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CQuadGridClipClusterQTreeNodeo2" doxytag="NL3D::CQuadGridClipClusterQTreeNode::Empty" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool <a class="el" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo2">NL3D::CQuadGridClipClusterQTreeNode::Empty</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="a06303.html#l00077">77</a> of file <a class="el" href="a06303.html">quad_grid_clip_cluster.h</a>.
+<p>
+Referenced by <a class="el" href="a06302.html#l00193">clip()</a>, <a class="el" href="a06302.html#l00111">CQuadGridClipClusterQTreeNode()</a>, <a class="el" href="a06302.html#l00301">insertModel()</a>, <a class="el" href="a06303.html#l00137">NL3D::CQuadGridClipCluster::isEmpty()</a>, and <a class="el" href="a06302.html#l00268">noFrustumClip()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CQuadGridClipClusterQTreeNodeo3" doxytag="NL3D::CQuadGridClipClusterQTreeNode::LeafNode" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool <a class="el" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo3">NL3D::CQuadGridClipClusterQTreeNode::LeafNode</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="a06303.html#l00082">82</a> of file <a class="el" href="a06303.html">quad_grid_clip_cluster.h</a>.
+<p>
+Referenced by <a class="el" href="a06302.html#l00193">clip()</a>, <a class="el" href="a06302.html#l00111">CQuadGridClipClusterQTreeNode()</a>, <a class="el" href="a06302.html#l00125">init()</a>, <a class="el" href="a06302.html#l00301">insertModel()</a>, and <a class="el" href="a06302.html#l00268">noFrustumClip()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CQuadGridClipClusterQTreeNodeo4" doxytag="NL3D::CQuadGridClipClusterQTreeNode::ListNode" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03285.html">CQuadGridClipClusterListDist</a> <a class="el" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo4">NL3D::CQuadGridClipClusterQTreeNode::ListNode</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="a06303.html#l00072">72</a> of file <a class="el" href="a06303.html">quad_grid_clip_cluster.h</a>.
+<p>
+Referenced by <a class="el" href="a06302.html#l00193">clip()</a>, <a class="el" href="a06302.html#l00125">init()</a>, <a class="el" href="a06302.html#l00301">insertModel()</a>, <a class="el" href="a06302.html#l00268">noFrustumClip()</a>, <a class="el" href="a06302.html#l00377">profileNumChildren()</a>, <a class="el" href="a06302.html#l00363">resetSons()</a>, and <a class="el" href="a06302.html#l00174">~CQuadGridClipClusterQTreeNode()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CQuadGridClipClusterQTreeNodeo5" doxytag="NL3D::CQuadGridClipClusterQTreeNode::Owner" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03284.html">CQuadGridClipCluster</a>* <a class="el" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo5">NL3D::CQuadGridClipClusterQTreeNode::Owner</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="a06303.html#l00066">66</a> of file <a class="el" href="a06303.html">quad_grid_clip_cluster.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CQuadGridClipClusterQTreeNodeo6" doxytag="NL3D::CQuadGridClipClusterQTreeNode::PivotBBox" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02156.html">NLMISC::CAABBox</a> <a class="el" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo6">NL3D::CQuadGridClipClusterQTreeNode::PivotBBox</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="a06303.html#l00085">85</a> of file <a class="el" href="a06303.html">quad_grid_clip_cluster.h</a>.
+<p>
+Referenced by <a class="el" href="a06302.html#l00125">init()</a>, and <a class="el" href="a06302.html#l00301">insertModel()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CQuadGridClipClusterQTreeNodeo7" doxytag="NL3D::CQuadGridClipClusterQTreeNode::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" nowrap valign="top"> bool <a class="el" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo7">NL3D::CQuadGridClipClusterQTreeNode::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="a06303.html#l00080">80</a> of file <a class="el" href="a06303.html">quad_grid_clip_cluster.h</a>.
+<p>
+Referenced by <a class="el" href="a06302.html#l00111">CQuadGridClipClusterQTreeNode()</a>, and <a class="el" href="a06302.html#l00125">init()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CQuadGridClipClusterQTreeNodeo8" doxytag="NL3D::CQuadGridClipClusterQTreeNode::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" nowrap valign="top"> <a class="el" href="a03286.html">CQuadGridClipClusterQTreeNode</a>* <a class="el" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">NL3D::CQuadGridClipClusterQTreeNode::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="a06303.html#l00069">69</a> of file <a class="el" href="a06303.html">quad_grid_clip_cluster.h</a>.
+<p>
+Referenced by <a class="el" href="a06302.html#l00193">clip()</a>, <a class="el" href="a06302.html#l00111">CQuadGridClipClusterQTreeNode()</a>, <a class="el" href="a06302.html#l00125">init()</a>, <a class="el" href="a06302.html#l00301">insertModel()</a>, <a class="el" href="a06302.html#l00268">noFrustumClip()</a>, <a class="el" href="a06302.html#l00377">profileNumChildren()</a>, <a class="el" href="a06302.html#l00363">resetSons()</a>, and <a class="el" href="a06302.html#l00174">~CQuadGridClipClusterQTreeNode()</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a06303.html">quad_grid_clip_cluster.h</a><li><a class="el" href="a06302.html">quad_grid_clip_cluster.cpp</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 07:34:05 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>