diff options
Diffstat (limited to 'docs/doxygen/nel/a03286.html')
-rw-r--r-- | docs/doxygen/nel/a03286.html | 879 |
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 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::CQuadGridClipClusterQTreeNode Class Reference</h1><code>#include <<a class="el" href="a06303.html">quad_grid_clip_cluster.h</a>></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 </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> </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 </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> &pivot)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </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> &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 </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 </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> &result) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </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> </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> </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> </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 </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 </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> </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> * </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> </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 </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> * </td><td class="memItemRight" valign=bottom><a class="el" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a> [4]</td></tr> + +</table> +<hr><h2>Constructor & 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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="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<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<<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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02353.html">CClipTrav</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>clipTrav</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="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<(<a class="code" href="a04558.html#a14">sint</a>)clipTrav->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->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->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->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>->_NumDist*dist/<a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo5">Owner</a>->_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>->_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]->clip(clipTrav); +00247 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[1]->clip(clipTrav); +00248 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[2]->clip(clipTrav); +00249 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[3]->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->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->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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03284.html">CQuadGridClipCluster</a> * </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> </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 </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> & </td> + <td class="mdname" nowrap> <em>pivot</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="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>>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>]->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>]->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>]->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>]->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>->_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">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a02156.html">NLMISC::CAABBox</a> & </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> </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> * </td> + <td class="mdname" nowrap> <em>model</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="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<<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<<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<<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->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->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->BBox.getCenter() + selectSon->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->BBox.getCenter() - selectSon->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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02353.html">CClipTrav</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>clipTrav</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="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->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>->_NumDist*dist/<a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo5">Owner</a>->_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>->_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]->noFrustumClip(clipTrav); +00293 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[1]->noFrustumClip(clipTrav); +00294 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[2]->noFrustumClip(clipTrav); +00295 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[3]->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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </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> & </td> + <td class="mdname" nowrap> <em>result</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"> const</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="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<<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]->profileNumChildren(distLevel, result); +00385 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[1]->profileNumChildren(distLevel, result); +00386 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[2]->profileNumChildren(distLevel, result); +00387 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[3]->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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02353.html">CClipTrav</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>clipTrav</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="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]->resetSons(clipTrav); +00369 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[1]->resetSons(clipTrav); +00370 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[2]->resetSons(clipTrav); +00371 <a class="code" href="a03286.html#NL3D_1_1CQuadGridClipClusterQTreeNodeo8">Sons</a>[3]->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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> |