aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/a02156.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/doxygen/nel/a02156.html')
-rw-r--r--docs/doxygen/nel/a02156.html1564
1 files changed, 1564 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a02156.html b/docs/doxygen/nel/a02156.html
new file mode 100644
index 00000000..6982f62e
--- /dev/null
+++ b/docs/doxygen/nel/a02156.html
@@ -0,0 +1,1564 @@
+<!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: NLMISC::CAABBox 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>NLMISC::CAABBox Class Reference</h1><code>#include &lt;<a class="el" href="a05385.html">aabbox.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for NLMISC::CAABBox:
+<p><center><img src="a02156.png" usemap="#NLMISC::CAABBox_map" border="0" alt=""></center>
+<map name="NLMISC::CAABBox_map">
+<area href="a02157.html" alt="NLMISC::CAABBoxExt" shape="rect" coords="0,56,138,80">
+</map>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+An Axis Aligned Bouding Box. Note: Center/HalfSize set to private, to have same manipulation for <a class="el" href="a02156.html">CAABBox</a> and <a class="el" href="a02157.html">CAABBoxExt</a>. <dl compact><dt><b>Author:</b></dt><dd>Lionel Berenguier <p>
+Nevrax France </dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>2000 </dd></dl>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05385.html#l00050">50</a> of file <a class="el" href="a05385.html">aabbox.h</a>.<table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Clip</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02156.html#NLMISC_1_1CAABBoxz1906_0">clipBack</a> (const <a class="el" href="a03082.html">CPlane</a> &amp;p) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Is the bbox partially in back of the plane?? <a href="#NLMISC_1_1CAABBoxz1906_0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02156.html#NLMISC_1_1CAABBoxz1906_1">clipFront</a> (const <a class="el" href="a03082.html">CPlane</a> &amp;p) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Is the bbox partially in front of the plane?? <a href="#NLMISC_1_1CAABBoxz1906_1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02156.html#NLMISC_1_1CAABBoxExtz1906_0">clipSegment</a> (<a class="el" href="a03128.html">CVector</a> &amp;a, <a class="el" href="a03128.html">CVector</a> &amp;b) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">clip the segment by the bbox. return false if don't intersect. a and b are modified. <a href="#NLMISC_1_1CAABBoxExtz1906_0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02156.html#NLMISC_1_1CAABBoxExtz1906_1">include</a> (const <a class="el" href="a02156.html">CAABBox</a> &amp;box) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Does the bbox include entirely this bbox. <a href="#NLMISC_1_1CAABBoxExtz1906_1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02156.html#NLMISC_1_1CAABBoxExtz1906_2">include</a> (const <a class="el" href="a03128.html">CVector</a> &amp;a) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Does the bbox include this point. <a href="#NLMISC_1_1CAABBoxExtz1906_2"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02156.html#NLMISC_1_1CAABBoxExtz1906_3">intersect</a> (const <a class="el" href="a03128.html">CVector</a> &amp;a, const <a class="el" href="a03128.html">CVector</a> &amp;b) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Does the bbox instersect the segment AB. <a href="#NLMISC_1_1CAABBoxExtz1906_3"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02156.html#NLMISC_1_1CAABBoxExtz1906_4">intersect</a> (const <a class="el" href="a02291.html">CBSphere</a> &amp;<a class="el" href="a04223.html#a626">s</a>) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Does the bbox instersect the sphere s. <a href="#NLMISC_1_1CAABBoxExtz1906_4"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02156.html#NLMISC_1_1CAABBoxz1906_7">intersect</a> (const <a class="el" href="a03128.html">CVector</a> &amp;a, const <a class="el" href="a03128.html">CVector</a> &amp;b, const <a class="el" href="a03128.html">CVector</a> &amp;c) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Does the bbox intersect the triangle ABC. <a href="#NLMISC_1_1CAABBoxz1906_7"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02156.html#NLMISC_1_1CAABBoxExtz1906_5">intersect</a> (const <a class="el" href="a02156.html">CAABBox</a> &amp;box) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Does the bbox intersect the bbox box. <a href="#NLMISC_1_1CAABBoxExtz1906_5"></a><br><br></td></tr>
+<tr><td colspan=2><br><h2>Misc</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02156.html#NLMISC_1_1CAABBoxExtz1908_0">computeIntersection</a> (const <a class="el" href="a02156.html">CAABBox</a> &amp;b1, const <a class="el" href="a02156.html">CAABBox</a> &amp;b2)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02156.html#NLMISC_1_1CAABBoxExtz1908_1">makePyramid</a> (<a class="el" href="a03082.html">CPlane</a> planes[6]) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Build the equivalent polytope of planes. <a href="#NLMISC_1_1CAABBoxExtz1908_1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02156.html">CAABBox</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02156.html#NLMISC_1_1CAABBoxExtz1908_2">computeAABBoxUnion</a> (const <a class="el" href="a02156.html">CAABBox</a> &amp;b1, const <a class="el" href="a02156.html">CAABBox</a> &amp;b2)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02156.html">CAABBox</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02156.html#NLMISC_1_1CAABBoxExtz1908_3">transformAABBox</a> (const <a class="el" href="a02851.html">CMatrix</a> &amp;mat, const <a class="el" href="a02156.html">CAABBox</a> &amp;box)</td></tr>
+
+<tr><td colspan=2><br><h2>Builds.</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02156.html#NLMISC_1_1CAABBoxExtz1902_0">extend</a> (const <a class="el" href="a03128.html">CVector</a> &amp;<a class="el" href="a04223.html#a576">v</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02156.html#NLMISC_1_1CAABBoxz1902_1">setCenter</a> (const <a class="el" href="a03128.html">CVector</a> &amp;center)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02156.html#NLMISC_1_1CAABBoxz1902_2">setHalfSize</a> (const <a class="el" href="a03128.html">CVector</a> &amp;hs)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02156.html#NLMISC_1_1CAABBoxz1902_3">setMinMax</a> (const <a class="el" href="a03128.html">CVector</a> &amp;bmin, const <a class="el" href="a03128.html">CVector</a> &amp;bmax)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Build the bbox, with a min/max style bbox. <a href="#NLMISC_1_1CAABBoxz1902_3"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02156.html#NLMISC_1_1CAABBoxz1902_4">setSize</a> (const <a class="el" href="a03128.html">CVector</a> &amp;<a class="el" href="a04223.html#a626">s</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the size of the bbox (ie 2* the halfSize). <a href="#NLMISC_1_1CAABBoxz1902_4"></a><br><br></td></tr>
+<tr><td colspan=2><br><h2>Gets.</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03128.html">CVector</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02156.html#NLMISC_1_1CAABBoxz1904_0">getCenter</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03128.html">CVector</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02156.html#NLMISC_1_1CAABBoxz1904_1">getHalfSize</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02156.html#NLMISC_1_1CAABBoxExtz1904_0">getMax</a> (<a class="el" href="a03128.html">CVector</a> &amp;ret) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03128.html">CVector</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02156.html#NLMISC_1_1CAABBoxz1904_3">getMax</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02156.html#NLMISC_1_1CAABBoxExtz1904_1">getMin</a> (<a class="el" href="a03128.html">CVector</a> &amp;ret) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03128.html">CVector</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02156.html#NLMISC_1_1CAABBoxz1904_5">getMin</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02156.html#NLMISC_1_1CAABBoxz1904_6">getRadius</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the radius of the bbox. <a href="#NLMISC_1_1CAABBoxz1904_6"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02156.html#NLMISC_1_1CAABBoxExtz1904_2">getSize</a> (<a class="el" href="a03128.html">CVector</a> &amp;ret) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03128.html">CVector</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02156.html#NLMISC_1_1CAABBoxz1904_8">getSize</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the size of the bbox. <a href="#NLMISC_1_1CAABBoxz1904_8"></a><br><br></td></tr>
+<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02156.html#NLMISC_1_1CAABBoxa0">CAABBox</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Empty bbox Constructor. (for AABBoxExt::getRadius() correctness). <a href="#NLMISC_1_1CAABBoxa0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02156.html#NLMISC_1_1CAABBoxa1">serial</a> (<a class="el" href="a02270.html">NLMISC::IStream</a> &amp;f)</td></tr>
+
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03128.html">CVector</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The center of the bbox. <a href="#NLMISC_1_1CAABBoxExtr0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03128.html">CVector</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The size/2 of the bbox. <a href="#NLMISC_1_1CAABBoxExtr1"></a><br><br></td></tr>
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="NLMISC_1_1CAABBoxa0" doxytag="NLMISC::CAABBox::CAABBox" ></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"> NLMISC::CAABBox::CAABBox </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Empty bbox Constructor. (for AABBoxExt::getRadius() correctness).
+<p>
+
+<p>
+Definition at line <a class="el" href="a05385.html#l00061">61</a> of file <a class="el" href="a05385.html">aabbox.h</a>.
+<p>
+References <a class="el" href="a05385.html#l00056">HalfSize</a>.
+<p>
+<div class="fragment"><pre>00061 : <a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a>(0,0,0), <a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>(0,0,0) {}
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="NLMISC_1_1CAABBoxz1906_0" doxytag="NLMISC::CAABBox::clipBack" ></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 NLMISC::CAABBox::clipBack </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03082.html">CPlane</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>p</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Is the bbox partially in back of the plane??
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a02157.html#NLMISC_1_1CAABBoxExtz1914_0">NLMISC::CAABBoxExt</a>.
+<p>
+Definition at line <a class="el" href="a05384.html#l00059">59</a> of file <a class="el" href="a05384.html">aabbox.cpp</a>.
+<p>
+References <a class="el" href="a05385.html#l00056">HalfSize</a>, <a class="el" href="a06682.html#l00136">NLMISC::CVector::set()</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::x</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::y</a>, and <a class="el" href="a06673.html#l00051">NLMISC::CVector::z</a>.
+<p>
+Referenced by <a class="el" href="a06148.html#l00490">NL3D::CParticleSystemModel::checkAgainstPyramid()</a>, <a class="el" href="a06741.html#l00507">NL3D::CWaterShape::clip()</a>, <a class="el" href="a05563.html#l00205">NL3D::CCluster::isIn()</a>, and <a class="el" href="a06148.html#l00726">NL3D::CParticleSystemModel::traverseClip()</a>.
+<p>
+<div class="fragment"><pre>00060 {
+00061 CVector hswap;
+00062
+00063 <span class="comment">// The bbox is back of the plane if only one of his vertex is in back.</span>
+00064 <span class="keywordflow">if</span>(p*(<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a> + <a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>) &lt; 0) <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00065 <span class="keywordflow">if</span>(p*(<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a> - <a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>) &lt; 0) <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00066 hswap.set(-<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>.x, <a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>.y, <a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>.z);
+00067 <span class="keywordflow">if</span>(p*(<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a> + hswap) &lt; 0) <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00068 <span class="keywordflow">if</span>(p*(<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a> - hswap) &lt; 0) <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00069 hswap.set(<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>.x, -<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>.y, <a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>.z);
+00070 <span class="keywordflow">if</span>(p*(<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a> + hswap) &lt; 0) <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00071 <span class="keywordflow">if</span>(p*(<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a> - hswap) &lt; 0) <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00072 hswap.set(<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>.x, <a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>.y, -<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>.z);
+00073 <span class="keywordflow">if</span>(p*(<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a> + hswap) &lt; 0) <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00074 <span class="keywordflow">if</span>(p*(<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a> - hswap) &lt; 0) <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00075
+00076 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00077 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CAABBoxz1906_1" doxytag="NLMISC::CAABBox::clipFront" ></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 NLMISC::CAABBox::clipFront </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03082.html">CPlane</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>p</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Is the bbox partially in front of the plane??
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a02157.html#NLMISC_1_1CAABBoxExtz1914_1">NLMISC::CAABBoxExt</a>.
+<p>
+Definition at line <a class="el" href="a05384.html#l00039">39</a> of file <a class="el" href="a05384.html">aabbox.cpp</a>.
+<p>
+References <a class="el" href="a05385.html#l00056">HalfSize</a>, <a class="el" href="a06682.html#l00136">NLMISC::CVector::set()</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::x</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::y</a>, and <a class="el" href="a06673.html#l00051">NLMISC::CVector::z</a>.
+<p>
+<div class="fragment"><pre>00040 {
+00041 CVector hswap;
+00042
+00043 <span class="comment">// The bbox is front of the plane if only one of his vertex is in front.</span>
+00044 <span class="keywordflow">if</span>(p*(<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a> + <a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>) &gt; 0) <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00045 <span class="keywordflow">if</span>(p*(<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a> - <a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>) &gt; 0) <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00046 hswap.set(-<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>.x, <a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>.y, <a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>.z);
+00047 <span class="keywordflow">if</span>(p*(<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a> + hswap) &gt; 0) <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00048 <span class="keywordflow">if</span>(p*(<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a> - hswap) &gt; 0) <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00049 hswap.set(<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>.x, -<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>.y, <a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>.z);
+00050 <span class="keywordflow">if</span>(p*(<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a> + hswap) &gt; 0) <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00051 <span class="keywordflow">if</span>(p*(<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a> - hswap) &gt; 0) <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00052 hswap.set(<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>.x, <a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>.y, -<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>.z);
+00053 <span class="keywordflow">if</span>(p*(<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a> + hswap) &gt; 0) <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00054 <span class="keywordflow">if</span>(p*(<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a> - hswap) &gt; 0) <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00055
+00056 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00057 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CAABBoxExtz1906_0" doxytag="NLMISC::CAABBox::clipSegment" ></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 NLMISC::CAABBox::clipSegment </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03128.html">CVector</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>a</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a03128.html">CVector</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>b</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>
+clip the segment by the bbox. return false if don't intersect. a and b are modified.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05384.html#l00156">156</a> of file <a class="el" href="a05384.html">aabbox.cpp</a>.
+<p>
+References <a class="el" href="a06170.html#l00054">NLMISC::CPlane::clipSegmentBack()</a>, <a class="el" href="a05384.html#l00081">include()</a>, <a class="el" href="a05384.html#l00194">makePyramid()</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>00157 {
+00158 <span class="comment">// Trivial test. If both are in, they are inchanged</span>
+00159 <span class="keywordflow">if</span>(<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtz1906_2">include</a>(a) &amp;&amp; <a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtz1906_2">include</a>(b))
+00160 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00161 <span class="comment">// Else, must clip the segment againts the pyamid.</span>
+00162 CPlane planes[6];
+00163 <a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtz1908_1">makePyramid</a>(planes);
+00164 CVector p0=a , p1=b;
+00165 <span class="comment">// clip the segment against all planes</span>
+00166 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a15">uint</a> i=0;i&lt;6;i++)
+00167 {
+00168 <span class="keywordflow">if</span>(!planes[i].clipSegmentBack(p0, p1))
+00169 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00170 }
+00171 <span class="comment">// get result</span>
+00172 a= p0;
+00173 b= p1;
+00174 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00175 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CAABBoxExtz1908_2" doxytag="NLMISC::CAABBox::computeAABBoxUnion" ></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">CAABBox</a> NLMISC::CAABBox::computeAABBoxUnion </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a02156.html">CAABBox</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>b1</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a02156.html">CAABBox</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>b2</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Compute the union of 2 bboxs, that is the aabbox that contains the 2 others. Should end up in <a class="el" href="a05378.html">NLMISC</a>
+<p>
+Definition at line <a class="el" href="a05384.html#l00231">231</a> of file <a class="el" href="a05384.html">aabbox.cpp</a>.
+<p>
+References <a class="el" href="a05385.html#l00087">getMax()</a>, <a class="el" href="a05385.html#l00086">getMin()</a>, <a class="el" href="a06682.html#l00192">NLMISC::CVector::maxof()</a>, <a class="el" href="a05484.html#l00038">min</a>, and <a class="el" href="a05385.html#l00071">setMinMax()</a>.
+<p>
+Referenced by <a class="el" href="a06246.html#l01716">NL3D::CPSLocated::computeBBox()</a>, <a class="el" href="a06393.html#l01987">NL3D::CSkeletonModel::computeWorldBBoxForShadow()</a>, and <a class="el" href="a06142.html#l00897">NL3D::CParticleSystem::forceComputeBBox()</a>.
+<p>
+<div class="fragment"><pre>00232 {
+00233 <a class="code" href="a02156.html#NLMISC_1_1CAABBoxa0">CAABBox</a> result;
+00234 CVector <a class="code" href="a04061.html#a0">min</a>, max;
+00235 CVector min1 = b1.getMin()
+00236 ,max1 = b1.getMax()
+00237 ,min2 = b2.getMin()
+00238 ,max2 = b2.getMax();
+00239 max.maxof(max1, max2);
+00240 <a class="code" href="a04061.html#a0">min</a>.minof(min1, min2);
+00241 result.setMinMax(min, max);
+00242 <span class="keywordflow">return</span> result;
+00243 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CAABBoxExtz1908_0" doxytag="NLMISC::CAABBox::computeIntersection" ></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 NLMISC::CAABBox::computeIntersection </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a02156.html">CAABBox</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>b1</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a02156.html">CAABBox</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>b2</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>
+Compute the intersection of 2 bboxs. NB: this methods suppose the intersection exist, and doesn't check it (use <a class="el" href="a02156.html#NLMISC_1_1CAABBoxExtz1906_5">intersect()</a> to check). If !intersect, *this is still modified and the result bbox is big chit.
+<p>
+Definition at line <a class="el" href="a05384.html#l00247">247</a> of file <a class="el" href="a05384.html">aabbox.cpp</a>.
+<p>
+References <a class="el" href="a05385.html#l00087">getMax()</a>, <a class="el" href="a05385.html#l00086">getMin()</a>, <a class="el" href="a06682.html#l00192">NLMISC::CVector::maxof()</a>, <a class="el" href="a06682.html#l00186">NLMISC::CVector::minof()</a>, and <a class="el" href="a05385.html#l00071">setMinMax()</a>.
+<p>
+<div class="fragment"><pre>00248 {
+00249 CVector min1 = b1.getMin(), max1 = b1.getMax(),
+00250 min2 = b2.getMin(), max2 = b2.getMax();
+00251 CVector minr, maxr;
+00252
+00253 <span class="comment">// don't test if intersect or not.</span>
+00254 maxr.minof(max1, max2);
+00255 minr.maxof(min1, min2);
+00256
+00257 <a class="code" href="a02156.html#NLMISC_1_1CAABBoxz1902_3">setMinMax</a>(minr, maxr);
+00258 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CAABBoxExtz1902_0" doxytag="NLMISC::CAABBox::extend" ></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 NLMISC::CAABBox::extend </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">CVector</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>v</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>
+extend the bbox so it contains v. Warning!! By default, a bbox is the vector 0,0,0. So set the first vertex with <a class="el" href="a02156.html#NLMISC_1_1CAABBoxz1902_1">setCenter()</a> or else the bbox will be the extension of v and (0,0,0)...
+<p>
+Definition at line <a class="el" href="a05384.html#l00215">215</a> of file <a class="el" href="a05384.html">aabbox.cpp</a>.
+<p>
+References <a class="el" href="a05385.html#l00087">getMax()</a>, <a class="el" href="a05385.html#l00086">getMin()</a>, <a class="el" href="a06682.html#l00192">NLMISC::CVector::maxof()</a>, <a class="el" href="a06682.html#l00186">NLMISC::CVector::minof()</a>, <a class="el" href="a05385.html#l00071">setMinMax()</a>, and <a class="el" href="a05646.html#l00237">v</a>.
+<p>
+Referenced by <a class="el" href="a06034.html#l00056">NL3D::CMiniCol::addFaces()</a>, <a class="el" href="a06155.html#l00335">NL3D::CPatch::addTileTrianglesInBBox()</a>, <a class="el" href="a06374.html#l00057">NL3D::CShadowPolyReceiver::addTriangle()</a>, <a class="el" href="a06758.html#l01452">NL3D::CZone::applyHeightField()</a>, <a class="el" href="a06758.html#l00122">NL3D::CZone::build()</a>, <a class="el" href="a06729.html#l00370">NL3D::CVisualCollisionManager::CMeshCol::build()</a>, <a class="el" href="a05666.html#l00130">NLPACS::CEdgeQuad::build()</a>, <a class="el" href="a05541.html#l00122">NLPACS::CChainQuad::build()</a>, <a class="el" href="a05532.html#l00048">NL3D::CCameraCol::build()</a>, <a class="el" href="a06370.html#l00098">NL3D::CShadowMap::buildClipInfoFromMatrix()</a>, <a class="el" href="a06768.html#l03202">NL3D::CZoneLighter::compilePointLightRT()</a>, <a class="el" href="a05824.html#l01023">NL3D::CInstanceLighter::compilePointLightRT()</a>, <a class="el" href="a06393.html#l01665">NL3D::CSkeletonModel::computeCurrentBBox()</a>, <a class="el" href="a06393.html#l01620">NL3D::CSkeletonModel::computeRenderedBBox()</a>, <a class="el" href="a05522.html#l00627">NLPACS::computeRetriever()</a>, <a class="el" href="a05824.html#l00633">NL3D::CInstanceLighter::computeSunContribution()</a>, <a class="el" href="a05522.html#l00331">NLPACS::computeSurfaceQuadTree()</a>, <a class="el" href="a06768.html#l03563">NL3D::CZoneLighter::computeTileFlagsForPositionTowardWater()</a>, <a class="el" href="a05579.html#l00169">NLPACS::CCollisionMeshBuild::computeTrivialTranslation()</a>, <a class="el" href="a05761.html#l02028">NLPACS::CGlobalRetriever::doMove()</a>, <a class="el" href="a06690.html#l00045">NL3D::CVegetableClipBlock::extendBBoxOnly()</a>, <a class="el" href="a06491.html#l00115">NL3D::CTessBlock::extendSphereAdd()</a>, <a class="el" href="a06163.html#l00214">NL3D::CPatchDLMContext::generate()</a>, <a class="el" href="a06034.html#l00341">NL3D::CMiniCol::getGroundNormal()</a>, <a class="el" href="a05929.html#l01393">NLPACS::CLocalRetriever::initFaceGrid()</a>, <a class="el" href="a06302.html#l00301">NL3D::CQuadGridClipClusterQTreeNode::insertModel()</a>, <a class="el" href="a06304.html#l00204">NL3D::CQuadGridClipManager::linkModel()</a>, <a class="el" href="a05989.html#l00058">NL3D::makeBBox()</a>, <a class="el" href="a05761.html#l00430">NLPACS::CGlobalRetriever::makeInstance()</a>, <a class="el" href="a05563.html#l00156">NL3D::CCluster::makeVolume()</a>, <a class="el" href="a05761.html#l01937">NLPACS::CGlobalRetriever::testBBoxMove()</a>, <a class="el" href="a05761.html#l02236">NLPACS::CGlobalRetriever::testBBoxRot()</a>, and <a class="el" href="a05761.html#l01864">NLPACS::CGlobalRetriever::testCylinderMove()</a>.
+<p>
+<div class="fragment"><pre>00216 {
+00217 CVector bmin= <a class="code" href="a02156.html#NLMISC_1_1CAABBoxz1904_5">getMin</a>(), bmax= <a class="code" href="a02156.html#NLMISC_1_1CAABBoxz1904_3">getMax</a>();
+00218
+00219 bmin.minof(bmin, v);
+00220 bmax.maxof(bmax, v);
+00221 <a class="code" href="a02156.html#NLMISC_1_1CAABBoxz1902_3">setMinMax</a>(bmin, bmax);
+00222 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CAABBoxz1904_0" doxytag="NLMISC::CAABBox::getCenter" ></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"> const <a class="el" href="a03128.html">CVector</a>&amp; NLMISC::CAABBox::getCenter </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> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a02157.html#NLMISC_1_1CAABBoxExtz1912_1">NLMISC::CAABBoxExt</a>.
+<p>
+Definition at line <a class="el" href="a05385.html#l00090">90</a> of file <a class="el" href="a05385.html">aabbox.h</a>.
+<p>
+Referenced by <a class="el" href="a06477.html#l00096">NLPACS::CSurfaceQuadTree::addVertex()</a>, <a class="el" href="a06395.html#l00216">NL3D::CSkeletonShape::clip()</a>, <a class="el" href="a06758.html#l00499">NL3D::CZone::compile()</a>, <a class="el" href="a05522.html#l00331">NLPACS::computeSurfaceQuadTree()</a>, <a class="el" href="a05579.html#l00169">NLPACS::CCollisionMeshBuild::computeTrivialTranslation()</a>, <a class="el" href="a06350.html#l01224">NL3D::CInstanceGroup::displayDebugClusters()</a>, <a class="el" href="a06491.html#l00122">NL3D::CTessBlock::extendSphereCompile()</a>, <a class="el" href="a05761.html#l01177">NLPACS::CGlobalRetriever::findCollisionChains()</a>, <a class="el" href="a06163.html#l00214">NL3D::CPatchDLMContext::generate()</a>, <a class="el" href="a06393.html#l01781">NL3D::CSkeletonModel::generateShadowMap()</a>, <a class="el" href="a06001.html#l00166">NL3D::CMeshInstance::generateShadowMap()</a>, <a class="el" href="a05761.html#l00275">NLPACS::CGlobalRetriever::getBorders()</a>, <a class="el" href="a06302.html#l00125">NL3D::CQuadGridClipClusterQTreeNode::init()</a>, <a class="el" href="a06302.html#l00301">NL3D::CQuadGridClipClusterQTreeNode::insertModel()</a>, <a class="el" href="a05824.html#l00305">NL3D::CInstanceLighter::light()</a>, <a class="el" href="a06304.html#l00204">NL3D::CQuadGridClipManager::linkModel()</a>, <a class="el" href="a06337.html#l00109">NLPACS::CRetrieverInstance::make()</a>, <a class="el" href="a05385.html#l00191">NLMISC::CAABBoxExt::operator=()</a>, <a class="el" href="a06374.html#l00192">NL3D::CShadowPolyReceiver::render()</a>, <a class="el" href="a06372.html#l00445">NL3D::CShadowMapManager::renderProject()</a>, <a class="el" href="a06478.html#l00184">NLPACS::CSurfaceQuadTree::translate()</a>, <a class="el" href="a05555.html#l00120">NL3D::CClipTrav::traverse()</a>, <a class="el" href="a06568.html#l01080">NL3D::CTransform::traverseLight()</a>, and <a class="el" href="a06690.html#l00055">NL3D::CVegetableClipBlock::updateSphere()</a>.
+<p>
+<div class="fragment"><pre>00090 {<span class="keywordflow">return</span> <a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CAABBoxz1904_1" doxytag="NLMISC::CAABBox::getHalfSize" ></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"> const <a class="el" href="a03128.html">CVector</a>&amp; NLMISC::CAABBox::getHalfSize </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> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a02157.html#NLMISC_1_1CAABBoxExtz1912_2">NLMISC::CAABBoxExt</a>.
+<p>
+Definition at line <a class="el" href="a05385.html#l00091">91</a> of file <a class="el" href="a05385.html">aabbox.h</a>.
+<p>
+References <a class="el" href="a05385.html#l00056">HalfSize</a>.
+<p>
+Referenced by <a class="el" href="a06286.html#l00179">NL3D::CPSUtil::addRadiusToAABBox()</a>, <a class="el" href="a06477.html#l00096">NLPACS::CSurfaceQuadTree::addVertex()</a>, <a class="el" href="a05862.html#l00385">NL3D::CLandscape::addZone()</a>, <a class="el" href="a05532.html#l00048">NL3D::CCameraCol::build()</a>, <a class="el" href="a06370.html#l00135">NL3D::CShadowMap::buildCasterCameraMatrix()</a>, <a class="el" href="a05522.html#l00627">NLPACS::computeRetriever()</a>, <a class="el" href="a05522.html#l00331">NLPACS::computeSurfaceQuadTree()</a>, <a class="el" href="a06393.html#l01781">NL3D::CSkeletonModel::generateShadowMap()</a>, <a class="el" href="a06001.html#l00166">NL3D::CMeshInstance::generateShadowMap()</a>, <a class="el" href="a05761.html#l00275">NLPACS::CGlobalRetriever::getBorders()</a>, <a class="el" href="a06302.html#l00125">NL3D::CQuadGridClipClusterQTreeNode::init()</a>, <a class="el" href="a06302.html#l00301">NL3D::CQuadGridClipClusterQTreeNode::insertModel()</a>, <a class="el" href="a05824.html#l00305">NL3D::CInstanceLighter::light()</a>, <a class="el" href="a06304.html#l00204">NL3D::CQuadGridClipManager::linkModel()</a>, <a class="el" href="a06337.html#l00109">NLPACS::CRetrieverInstance::make()</a>, <a class="el" href="a05761.html#l00430">NLPACS::CGlobalRetriever::makeInstance()</a>, <a class="el" href="a05385.html#l00191">NLMISC::CAABBoxExt::operator=()</a>, <a class="el" href="a05862.html#l00447">NL3D::CLandscape::removeZone()</a>, <a class="el" href="a06725.html#l00403">NL3D::CVisualCollisionEntity::testComputeLandscape()</a>, <a class="el" href="a05555.html#l00120">NL3D::CClipTrav::traverse()</a>, and <a class="el" href="a05565.html#l00270">NLSOUND::CClusteredSound::update()</a>.
+<p>
+<div class="fragment"><pre>00091 {<span class="keywordflow">return</span> <a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CAABBoxExtz1904_0" doxytag="NLMISC::CAABBox::getMax" ></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 NLMISC::CAABBox::getMax </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03128.html">CVector</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>ret</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05385.html#l00089">89</a> of file <a class="el" href="a05385.html">aabbox.h</a>.
+<p>
+References <a class="el" href="a05385.html#l00056">HalfSize</a>.
+<p>
+<div class="fragment"><pre>00089 {ret= <a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a>+<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CAABBoxz1904_3" doxytag="NLMISC::CAABBox::getMax" ></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="a03128.html">CVector</a> NLMISC::CAABBox::getMax </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> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a02157.html#NLMISC_1_1CAABBoxExtz1912_3">NLMISC::CAABBoxExt</a>.
+<p>
+Definition at line <a class="el" href="a05385.html#l00087">87</a> of file <a class="el" href="a05385.html">aabbox.h</a>.
+<p>
+References <a class="el" href="a05385.html#l00056">HalfSize</a>.
+<p>
+Referenced by <a class="el" href="a06729.html#l00200">NL3D::CVisualCollisionManager::CStaticGrid::add()</a>, <a class="el" href="a06034.html#l00056">NL3D::CMiniCol::addFaces()</a>, <a class="el" href="a06729.html#l00401">NL3D::CVisualCollisionManager::addMeshCollision()</a>, <a class="el" href="a06372.html#l00223">NL3D::CShadowMapManager::addShadowReceiver()</a>, <a class="el" href="a06374.html#l00057">NL3D::CShadowPolyReceiver::addTriangle()</a>, <a class="el" href="a05862.html#l00385">NL3D::CLandscape::addZone()</a>, <a class="el" href="a05666.html#l00130">NLPACS::CEdgeQuad::build()</a>, <a class="el" href="a05541.html#l00122">NLPACS::CChainQuad::build()</a>, <a class="el" href="a05862.html#l02340">NL3D::CLandscape::buildPatchBlocksInBBox()</a>, <a class="el" href="a05862.html#l02307">NL3D::CLandscape::buildTrianglesInBBox()</a>, <a class="el" href="a06768.html#l03202">NL3D::CZoneLighter::compilePointLightRT()</a>, <a class="el" href="a05824.html#l01023">NL3D::CInstanceLighter::compilePointLightRT()</a>, <a class="el" href="a05384.html#l00231">computeAABBoxUnion()</a>, <a class="el" href="a05862.html#l03489">NL3D::CLandscape::computeDynamicLighting()</a>, <a class="el" href="a05384.html#l00247">computeIntersection()</a>, <a class="el" href="a05824.html#l00633">NL3D::CInstanceLighter::computeSunContribution()</a>, <a class="el" href="a06768.html#l03563">NL3D::CZoneLighter::computeTileFlagsForPositionTowardWater()</a>, <a class="el" href="a06285.html#l00118">NL3D::CPSUtil::displayBBox()</a>, <a class="el" href="a05384.html#l00215">extend()</a>, <a class="el" href="a05565.html#l01155">NLSOUND::CClusteredSound::getAABoxNearestPos()</a>, <a class="el" href="a06729.html#l00144">NL3D::CVisualCollisionManager::getCameraCollision()</a>, <a class="el" href="a06374.html#l00308">NL3D::CShadowPolyReceiver::getCameraCollision()</a>, <a class="el" href="a06034.html#l00467">NL3D::CMiniCol::getFaces()</a>, <a class="el" href="a06302.html#l00125">NL3D::CQuadGridClipClusterQTreeNode::init()</a>, <a class="el" href="a05929.html#l01393">NLPACS::CLocalRetriever::initFaceGrid()</a>, <a class="el" href="a05384.html#l00107">intersect()</a>, <a class="el" href="a05761.html#l00430">NLPACS::CGlobalRetriever::makeInstance()</a>, <a class="el" href="a06768.html#l03067">NL3D::CZoneLighter::makeQuadGridFromWaterShapes()</a>, <a class="el" href="a05555.html#l00433">NL3D::CClipTrav::registerCluster()</a>, <a class="el" href="a06034.html#l00085">NL3D::CMiniCol::removeLandScapePart()</a>, <a class="el" href="a05862.html#l00447">NL3D::CLandscape::removeZone()</a>, <a class="el" href="a06374.html#l00192">NL3D::CShadowPolyReceiver::render()</a>, <a class="el" href="a06372.html#l00445">NL3D::CShadowMapManager::renderProject()</a>, <a class="el" href="a05929.html#l01238">NLPACS::CLocalRetriever::retrieveAccuratePosition()</a>, <a class="el" href="a05929.html#l01064">NLPACS::CLocalRetriever::retrievePosition()</a>, <a class="el" href="a06729.html#l00279">NL3D::CVisualCollisionManager::CStaticGrid::select()</a>, <a class="el" href="a05666.html#l00410">NLPACS::CEdgeQuad::selectEdges()</a>, <a class="el" href="a05541.html#l00289">NLPACS::CChainQuad::selectEdges()</a>, <a class="el" href="a05761.html#l00109">NLPACS::CGlobalRetriever::selectInstances()</a>, and <a class="el" href="a05384.html#l00262">transformAABBox()</a>.
+<p>
+<div class="fragment"><pre>00087 {<span class="keywordflow">return</span> <a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a>+<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CAABBoxExtz1904_1" doxytag="NLMISC::CAABBox::getMin" ></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 NLMISC::CAABBox::getMin </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03128.html">CVector</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>ret</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05385.html#l00088">88</a> of file <a class="el" href="a05385.html">aabbox.h</a>.
+<p>
+References <a class="el" href="a05385.html#l00056">HalfSize</a>.
+<p>
+<div class="fragment"><pre>00088 {ret= <a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a>-<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CAABBoxz1904_5" doxytag="NLMISC::CAABBox::getMin" ></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="a03128.html">CVector</a> NLMISC::CAABBox::getMin </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> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a02157.html#NLMISC_1_1CAABBoxExtz1912_4">NLMISC::CAABBoxExt</a>.
+<p>
+Definition at line <a class="el" href="a05385.html#l00086">86</a> of file <a class="el" href="a05385.html">aabbox.h</a>.
+<p>
+References <a class="el" href="a05385.html#l00056">HalfSize</a>.
+<p>
+Referenced by <a class="el" href="a06729.html#l00200">NL3D::CVisualCollisionManager::CStaticGrid::add()</a>, <a class="el" href="a06034.html#l00056">NL3D::CMiniCol::addFaces()</a>, <a class="el" href="a06729.html#l00401">NL3D::CVisualCollisionManager::addMeshCollision()</a>, <a class="el" href="a06372.html#l00223">NL3D::CShadowMapManager::addShadowReceiver()</a>, <a class="el" href="a06374.html#l00057">NL3D::CShadowPolyReceiver::addTriangle()</a>, <a class="el" href="a05862.html#l00385">NL3D::CLandscape::addZone()</a>, <a class="el" href="a05666.html#l00130">NLPACS::CEdgeQuad::build()</a>, <a class="el" href="a05541.html#l00122">NLPACS::CChainQuad::build()</a>, <a class="el" href="a06370.html#l00135">NL3D::CShadowMap::buildCasterCameraMatrix()</a>, <a class="el" href="a05862.html#l02340">NL3D::CLandscape::buildPatchBlocksInBBox()</a>, <a class="el" href="a05862.html#l02307">NL3D::CLandscape::buildTrianglesInBBox()</a>, <a class="el" href="a06768.html#l03202">NL3D::CZoneLighter::compilePointLightRT()</a>, <a class="el" href="a05824.html#l01023">NL3D::CInstanceLighter::compilePointLightRT()</a>, <a class="el" href="a05384.html#l00231">computeAABBoxUnion()</a>, <a class="el" href="a05862.html#l03489">NL3D::CLandscape::computeDynamicLighting()</a>, <a class="el" href="a05384.html#l00247">computeIntersection()</a>, <a class="el" href="a05824.html#l00633">NL3D::CInstanceLighter::computeSunContribution()</a>, <a class="el" href="a06729.html#l00172">NL3D::CVisualCollisionManager::CStaticGrid::create()</a>, <a class="el" href="a06285.html#l00118">NL3D::CPSUtil::displayBBox()</a>, <a class="el" href="a05384.html#l00215">extend()</a>, <a class="el" href="a05565.html#l01155">NLSOUND::CClusteredSound::getAABoxNearestPos()</a>, <a class="el" href="a06729.html#l00144">NL3D::CVisualCollisionManager::getCameraCollision()</a>, <a class="el" href="a06374.html#l00308">NL3D::CShadowPolyReceiver::getCameraCollision()</a>, <a class="el" href="a06034.html#l00467">NL3D::CMiniCol::getFaces()</a>, <a class="el" href="a06302.html#l00125">NL3D::CQuadGridClipClusterQTreeNode::init()</a>, <a class="el" href="a05929.html#l01393">NLPACS::CLocalRetriever::initFaceGrid()</a>, <a class="el" href="a05384.html#l00107">intersect()</a>, <a class="el" href="a05761.html#l00430">NLPACS::CGlobalRetriever::makeInstance()</a>, <a class="el" href="a06768.html#l03067">NL3D::CZoneLighter::makeQuadGridFromWaterShapes()</a>, <a class="el" href="a05555.html#l00433">NL3D::CClipTrav::registerCluster()</a>, <a class="el" href="a06034.html#l00085">NL3D::CMiniCol::removeLandScapePart()</a>, <a class="el" href="a05862.html#l00447">NL3D::CLandscape::removeZone()</a>, <a class="el" href="a06374.html#l00192">NL3D::CShadowPolyReceiver::render()</a>, <a class="el" href="a06372.html#l00445">NL3D::CShadowMapManager::renderProject()</a>, <a class="el" href="a05929.html#l01238">NLPACS::CLocalRetriever::retrieveAccuratePosition()</a>, <a class="el" href="a05929.html#l01064">NLPACS::CLocalRetriever::retrievePosition()</a>, <a class="el" href="a06729.html#l00279">NL3D::CVisualCollisionManager::CStaticGrid::select()</a>, <a class="el" href="a05666.html#l00410">NLPACS::CEdgeQuad::selectEdges()</a>, <a class="el" href="a05541.html#l00289">NLPACS::CChainQuad::selectEdges()</a>, <a class="el" href="a05761.html#l00109">NLPACS::CGlobalRetriever::selectInstances()</a>, and <a class="el" href="a05384.html#l00262">transformAABBox()</a>.
+<p>
+<div class="fragment"><pre>00086 {<span class="keywordflow">return</span> <a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a>-<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CAABBoxz1904_6" doxytag="NLMISC::CAABBox::getRadius" ></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"> float NLMISC::CAABBox::getRadius </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return the radius of the bbox.
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a02157.html#NLMISC_1_1CAABBoxExtz1912_5">NLMISC::CAABBoxExt</a>.
+<p>
+Definition at line <a class="el" href="a05385.html#l00096">96</a> of file <a class="el" href="a05385.html">aabbox.h</a>.
+<p>
+References <a class="el" href="a05385.html#l00056">HalfSize</a>, and <a class="el" href="a06682.html#l00115">NLMISC::CVector::norm()</a>.
+<p>
+Referenced by <a class="el" href="a06395.html#l00216">NL3D::CSkeletonShape::clip()</a>, <a class="el" href="a06758.html#l00499">NL3D::CZone::compile()</a>, <a class="el" href="a06350.html#l01224">NL3D::CInstanceGroup::displayDebugClusters()</a>, <a class="el" href="a06491.html#l00122">NL3D::CTessBlock::extendSphereCompile()</a>, <a class="el" href="a06163.html#l00214">NL3D::CPatchDLMContext::generate()</a>, <a class="el" href="a06570.html#l00316">NL3D::CTransformShape::getLightHotSpotInWorld()</a>, and <a class="el" href="a06690.html#l00055">NL3D::CVegetableClipBlock::updateSphere()</a>.
+<p>
+<div class="fragment"><pre>00096 {<span class="keywordflow">return</span> <a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>.norm();}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CAABBoxExtz1904_2" doxytag="NLMISC::CAABBox::getSize" ></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 NLMISC::CAABBox::getSize </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03128.html">CVector</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>ret</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05385.html#l00094">94</a> of file <a class="el" href="a05385.html">aabbox.h</a>.
+<p>
+References <a class="el" href="a05385.html#l00056">HalfSize</a>.
+<p>
+<div class="fragment"><pre>00094 {ret= <a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>*2;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CAABBoxz1904_8" doxytag="NLMISC::CAABBox::getSize" ></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="a03128.html">CVector</a> NLMISC::CAABBox::getSize </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return the size of the bbox.
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a02157.html#NLMISC_1_1CAABBoxExtz1912_6">NLMISC::CAABBoxExt</a>.
+<p>
+Definition at line <a class="el" href="a05385.html#l00093">93</a> of file <a class="el" href="a05385.html">aabbox.h</a>.
+<p>
+References <a class="el" href="a05385.html#l00056">HalfSize</a>.
+<p>
+Referenced by <a class="el" href="a06370.html#l00135">NL3D::CShadowMap::buildCasterCameraMatrix()</a>, <a class="el" href="a06729.html#l00172">NL3D::CVisualCollisionManager::CStaticGrid::create()</a>, and <a class="el" href="a06304.html#l00319">NL3D::CQuadGridClipManager::profile()</a>.
+<p>
+<div class="fragment"><pre>00093 {<span class="keywordflow">return</span> <a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>*2;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CAABBoxExtz1906_1" doxytag="NLMISC::CAABBox::include" ></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 NLMISC::CAABBox::include </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a02156.html">CAABBox</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>box</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Does the bbox include entirely this bbox.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05384.html#l00094">94</a> of file <a class="el" href="a05384.html">aabbox.cpp</a>.
+<p>
+References <a class="el" href="a05385.html#l00054">Center</a>, <a class="el" href="a05385.html#l00056">HalfSize</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::x</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::y</a>, and <a class="el" href="a06673.html#l00051">NLMISC::CVector::z</a>.
+<p>
+<div class="fragment"><pre>00095 {
+00096 <span class="keywordflow">if</span>(<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a>.x+<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>.x &lt; box.Center.x+box.HalfSize.x) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00097 <span class="keywordflow">if</span>(<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a>.x-<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>.x &gt; box.Center.x-box.HalfSize.x) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00098 <span class="keywordflow">if</span>(<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a>.y+<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>.y &lt; box.Center.y+box.HalfSize.y) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00099 <span class="keywordflow">if</span>(<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a>.y-<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>.y &gt; box.Center.y-box.HalfSize.y) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00100 <span class="keywordflow">if</span>(<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a>.z+<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>.z &lt; box.Center.z+box.HalfSize.z) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00101 <span class="keywordflow">if</span>(<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a>.z-<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>.z &gt; box.Center.z-box.HalfSize.z) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00102 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00103 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CAABBoxExtz1906_2" doxytag="NLMISC::CAABBox::include" ></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 NLMISC::CAABBox::include </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">CVector</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>a</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Does the bbox include this point.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05384.html#l00081">81</a> of file <a class="el" href="a05384.html">aabbox.cpp</a>.
+<p>
+References <a class="el" href="a05385.html#l00056">HalfSize</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::x</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::y</a>, and <a class="el" href="a06673.html#l00051">NLMISC::CVector::z</a>.
+<p>
+Referenced by <a class="el" href="a06477.html#l00096">NLPACS::CSurfaceQuadTree::addVertex()</a>, <a class="el" href="a05862.html#l00385">NL3D::CLandscape::addZone()</a>, <a class="el" href="a05384.html#l00156">clipSegment()</a>, <a class="el" href="a06690.html#l00045">NL3D::CVegetableClipBlock::extendBBoxOnly()</a>, <a class="el" href="a06491.html#l00115">NL3D::CTessBlock::extendSphereAdd()</a>, <a class="el" href="a06034.html#l00341">NL3D::CMiniCol::getGroundNormal()</a>, <a class="el" href="a06477.html#l00384">NLPACS::CSurfaceQuadTree::getInterpZ()</a>, <a class="el" href="a06477.html#l00304">NLPACS::CSurfaceQuadTree::getLeaf()</a>, <a class="el" href="a05384.html#l00121">intersect()</a>, <a class="el" href="a05761.html#l00493">NLPACS::CGlobalRetriever::retrievePosition()</a>, <a class="el" href="a06725.html#l00403">NL3D::CVisualCollisionEntity::testComputeLandscape()</a>, and <a class="el" href="a05762.html#l00305">NLPACS::CGlobalRetriever::testPosition()</a>.
+<p>
+<div class="fragment"><pre>00082 {
+00083 <span class="keywordflow">if</span>(<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a>.x+<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>.x&lt;a.x) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00084 <span class="keywordflow">if</span>(<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a>.x-<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>.x&gt;a.x) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00085 <span class="keywordflow">if</span>(<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a>.y+<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>.y&lt;a.y) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00086 <span class="keywordflow">if</span>(<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a>.y-<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>.y&gt;a.y) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00087 <span class="keywordflow">if</span>(<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a>.z+<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>.z&lt;a.z) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00088 <span class="keywordflow">if</span>(<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a>.z-<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>.z&gt;a.z) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00089 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00090 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CAABBoxExtz1906_3" doxytag="NLMISC::CAABBox::intersect" ></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 NLMISC::CAABBox::intersect </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">CVector</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>a</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a03128.html">CVector</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>b</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>
+Does the bbox instersect the segment AB.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05384.html#l00137">137</a> of file <a class="el" href="a05384.html">aabbox.cpp</a>.
+<p>
+References <a class="el" href="a06170.html#l00054">NLMISC::CPlane::clipSegmentBack()</a>, <a class="el" href="a05384.html#l00081">include()</a>, <a class="el" href="a05384.html#l00194">makePyramid()</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>00138 {
+00139 <span class="comment">// Trivial test.</span>
+00140 <span class="keywordflow">if</span>(<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtz1906_2">include</a>(a) || <a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtz1906_2">include</a>(b))
+00141 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00142 <span class="comment">// Else, must test if the segment intersect the pyamid.</span>
+00143 CPlane planes[6];
+00144 <a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtz1908_1">makePyramid</a>(planes);
+00145 CVector p0=a , p1=b;
+00146 <span class="comment">// clip the segment against all planes</span>
+00147 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a15">uint</a> i=0;i&lt;6;i++)
+00148 {
+00149 <span class="keywordflow">if</span>(!planes[i].clipSegmentBack(p0, p1))
+00150 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00151 }
+00152 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00153 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CAABBoxExtz1906_4" doxytag="NLMISC::CAABBox::intersect" ></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 NLMISC::CAABBox::intersect </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a02291.html">CBSphere</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>s</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Does the bbox instersect the sphere s.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05384.html#l00178">178</a> of file <a class="el" href="a05384.html">aabbox.cpp</a>.
+<p>
+References <a class="el" href="a05385.html#l00056">HalfSize</a>, <a class="el" href="a05646.html#l00977">s</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::x</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::y</a>, and <a class="el" href="a06673.html#l00051">NLMISC::CVector::z</a>.
+<p>
+<div class="fragment"><pre>00179 {
+00180 <span class="keywordflow">if</span> (<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a>.x + <a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>.x &lt; <a class="code" href="a04223.html#a626">s</a>.Center.x - <a class="code" href="a04223.html#a626">s</a>.Radius) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00181 <span class="keywordflow">if</span> (<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a>.y + <a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>.y &lt; <a class="code" href="a04223.html#a626">s</a>.Center.y - <a class="code" href="a04223.html#a626">s</a>.Radius) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00182 <span class="keywordflow">if</span> (<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a>.z + <a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>.z &lt; <a class="code" href="a04223.html#a626">s</a>.Center.z - <a class="code" href="a04223.html#a626">s</a>.Radius) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00183
+00184 <span class="keywordflow">if</span> (<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a>.x - <a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>.x &gt; <a class="code" href="a04223.html#a626">s</a>.Center.x + <a class="code" href="a04223.html#a626">s</a>.Radius) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00185 <span class="keywordflow">if</span> (<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a>.y - <a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>.y &gt; <a class="code" href="a04223.html#a626">s</a>.Center.y + <a class="code" href="a04223.html#a626">s</a>.Radius) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00186 <span class="keywordflow">if</span> (<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a>.z - <a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>.z &gt; <a class="code" href="a04223.html#a626">s</a>.Center.z + <a class="code" href="a04223.html#a626">s</a>.Radius) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00187
+00188 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00189 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CAABBoxz1906_7" doxytag="NLMISC::CAABBox::intersect" ></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 NLMISC::CAABBox::intersect </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">CVector</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>a</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a03128.html">CVector</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>b</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a03128.html">CVector</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>c</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>
+Does the bbox intersect the triangle ABC.
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a02157.html#NLMISC_1_1CAABBoxExtz1914_2">NLMISC::CAABBoxExt</a>.
+<p>
+Definition at line <a class="el" href="a05384.html#l00121">121</a> of file <a class="el" href="a05384.html">aabbox.cpp</a>.
+<p>
+References <a class="el" href="a06190.html#l00056">NLMISC::CPolygon::clip()</a>, <a class="el" href="a06191.html#l00064">NLMISC::CPolygon::getNumVertices()</a>, <a class="el" href="a05384.html#l00081">include()</a>, and <a class="el" href="a05384.html#l00194">makePyramid()</a>.
+<p>
+<div class="fragment"><pre>00122 {
+00123 <span class="comment">// Trivial test.</span>
+00124 <span class="keywordflow">if</span>(<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtz1906_2">include</a>(a) || <a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtz1906_2">include</a>(b) || <a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtz1906_2">include</a>(c))
+00125 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00126 <span class="comment">// Else, must test if the polygon intersect the pyamid.</span>
+00127 CPlane planes[6];
+00128 <a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtz1908_1">makePyramid</a>(planes);
+00129 CPolygon poly(a,b,c);
+00130 poly.clip(planes, 6);
+00131 <span class="keywordflow">if</span>(poly.getNumVertices()==0)
+00132 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00133 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00134 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CAABBoxExtz1906_5" doxytag="NLMISC::CAABBox::intersect" ></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 NLMISC::CAABBox::intersect </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a02156.html">CAABBox</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>box</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Does the bbox intersect the bbox box.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05384.html#l00107">107</a> of file <a class="el" href="a05384.html">aabbox.cpp</a>.
+<p>
+References <a class="el" href="a05385.html#l00087">getMax()</a>, <a class="el" href="a05385.html#l00086">getMin()</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::x</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::y</a>, and <a class="el" href="a06673.html#l00051">NLMISC::CVector::z</a>.
+<p>
+Referenced by <a class="el" href="a06155.html#l00514">NL3D::CPatch::addPatchBlocksInBBoxRecurs()</a>, <a class="el" href="a06155.html#l00335">NL3D::CPatch::addTileTrianglesInBBox()</a>, <a class="el" href="a06155.html#l00280">NL3D::CPatch::addTrianglesInBBoxRecurs()</a>, <a class="el" href="a06768.html#l03202">NL3D::CZoneLighter::compilePointLightRT()</a>, <a class="el" href="a06729.html#l00330">NL3D::CVisualCollisionManager::CMeshCol::getCameraCollision()</a>, <a class="el" href="a06034.html#l00467">NL3D::CMiniCol::getFaces()</a>, and <a class="el" href="a06768.html#l03067">NL3D::CZoneLighter::makeQuadGridFromWaterShapes()</a>.
+<p>
+<div class="fragment"><pre>00108 {
+00109 CVector mina = <a class="code" href="a02156.html#NLMISC_1_1CAABBoxz1904_5">getMin</a>(), maxa = <a class="code" href="a02156.html#NLMISC_1_1CAABBoxz1904_3">getMax</a>(),
+00110 minb = box.getMin(), maxb = box.getMax();
+00111
+00112 <span class="keywordflow">return</span> ! ( mina.x &gt; maxb.x ||
+00113 mina.y &gt; maxb.y ||
+00114 mina.z &gt; maxb.z ||
+00115 minb.x &gt; maxa.x ||
+00116 minb.y &gt; maxa.y ||
+00117 minb.z &gt; maxa.z);
+00118 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CAABBoxExtz1908_1" doxytag="NLMISC::CAABBox::makePyramid" ></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 NLMISC::CAABBox::makePyramid </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03082.html">CPlane</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>planes</em>[6] </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Build the equivalent polytope of planes.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05384.html#l00194">194</a> of file <a class="el" href="a05384.html">aabbox.cpp</a>.
+<p>
+References <a class="el" href="a05385.html#l00056">HalfSize</a>, and <a class="el" href="a06170.html#l00036">NLMISC::CPlane::make()</a>.
+<p>
+Referenced by <a class="el" href="a05384.html#l00156">clipSegment()</a>, and <a class="el" href="a05384.html#l00121">intersect()</a>.
+<p>
+<div class="fragment"><pre>00195 {
+00196 planes[0].make(CVector(-1,0,0), Center-HalfSize);
+00197 planes[1].make(CVector(+1,0,0), Center+HalfSize);
+00198 planes[2].make(CVector(0,-1,0), Center-HalfSize);
+00199 planes[3].make(CVector(0,+1,0), Center+HalfSize);
+00200 planes[4].make(CVector(0,0,-1), Center-HalfSize);
+00201 planes[5].make(CVector(0,0,+1), Center+HalfSize);
+00202 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CAABBoxa1" doxytag="NLMISC::CAABBox::serial" ></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 NLMISC::CAABBox::serial </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02270.html">NLMISC::IStream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>f</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>
+Reimplemented in <a class="el" href="a02157.html#NLMISC_1_1CAABBoxExta2">NLMISC::CAABBoxExt</a>.
+<p>
+Definition at line <a class="el" href="a05384.html#l00206">206</a> of file <a class="el" href="a05384.html">aabbox.cpp</a>.
+<p>
+References <a class="el" href="a05385.html#l00056">HalfSize</a>, <a class="el" href="a06462.html#l00232">NLMISC::IStream::serial()</a>, and <a class="el" href="a06461.html#l00266">NLMISC::IStream::serialVersion()</a>.
+<p>
+<div class="fragment"><pre>00207 {
+00208 (<span class="keywordtype">void</span>)f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_8">serialVersion</a>(0);
+00209 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(Center);
+00210 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(HalfSize);
+00211 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CAABBoxz1902_1" doxytag="NLMISC::CAABBox::setCenter" ></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 NLMISC::CAABBox::setCenter </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">CVector</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>center</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+extend the bbox so it contains v. Warning!! By default, a bbox is the vector 0,0,0. So set the first vertex with <a class="el" href="a02156.html#NLMISC_1_1CAABBoxz1902_1">setCenter()</a> or else the bbox will be the extension of v and (0,0,0)...
+<p>
+Reimplemented in <a class="el" href="a02157.html#NLMISC_1_1CAABBoxExtz1910_1">NLMISC::CAABBoxExt</a>.
+<p>
+Definition at line <a class="el" href="a05385.html#l00066">66</a> of file <a class="el" href="a05385.html">aabbox.h</a>.
+<p>
+Referenced by <a class="el" href="a06034.html#l00056">NL3D::CMiniCol::addFaces()</a>, <a class="el" href="a06155.html#l00335">NL3D::CPatch::addTileTrianglesInBBox()</a>, <a class="el" href="a06374.html#l00057">NL3D::CShadowPolyReceiver::addTriangle()</a>, <a class="el" href="a06758.html#l01452">NL3D::CZone::applyHeightField()</a>, <a class="el" href="a06758.html#l00122">NL3D::CZone::build()</a>, <a class="el" href="a06729.html#l00370">NL3D::CVisualCollisionManager::CMeshCol::build()</a>, <a class="el" href="a05666.html#l00130">NLPACS::CEdgeQuad::build()</a>, <a class="el" href="a05541.html#l00122">NLPACS::CChainQuad::build()</a>, <a class="el" href="a05532.html#l00048">NL3D::CCameraCol::build()</a>, <a class="el" href="a06370.html#l00098">NL3D::CShadowMap::buildClipInfoFromMatrix()</a>, <a class="el" href="a06163.html#l00052">NL3D::CPatchDLMPointLight::compile()</a>, <a class="el" href="a06768.html#l03202">NL3D::CZoneLighter::compilePointLightRT()</a>, <a class="el" href="a05824.html#l01023">NL3D::CInstanceLighter::compilePointLightRT()</a>, <a class="el" href="a06393.html#l01665">NL3D::CSkeletonModel::computeCurrentBBox()</a>, <a class="el" href="a06393.html#l01620">NL3D::CSkeletonModel::computeRenderedBBox()</a>, <a class="el" href="a05522.html#l00627">NLPACS::computeRetriever()</a>, <a class="el" href="a05824.html#l00633">NL3D::CInstanceLighter::computeSunContribution()</a>, <a class="el" href="a05522.html#l00331">NLPACS::computeSurfaceQuadTree()</a>, <a class="el" href="a05579.html#l00169">NLPACS::CCollisionMeshBuild::computeTrivialTranslation()</a>, <a class="el" href="a06395.html#l00051">NL3D::CSkeletonShape::CSkeletonShape()</a>, <a class="el" href="a06477.html#l00037">NLPACS::CSurfaceQuadTree::CSurfaceQuadTree()</a>, <a class="el" href="a06725.html#l00414">NL3D::CVisualCollisionEntity::doComputeLandscape()</a>, <a class="el" href="a05761.html#l02028">NLPACS::CGlobalRetriever::doMove()</a>, <a class="el" href="a06690.html#l00062">NL3D::CVegetableClipBlock::extendSphere()</a>, <a class="el" href="a06491.html#l00102">NL3D::CTessBlock::extendSphereFirst()</a>, <a class="el" href="a05761.html#l01177">NLPACS::CGlobalRetriever::findCollisionChains()</a>, <a class="el" href="a06142.html#l00897">NL3D::CParticleSystem::forceComputeBBox()</a>, <a class="el" href="a06163.html#l00214">NL3D::CPatchDLMContext::generate()</a>, <a class="el" href="a06741.html#l00710">NL3D::CWaveMakerShape::getAABBox()</a>, <a class="el" href="a06570.html#l00083">NL3D::CTransformShape::getAABBox()</a>, <a class="el" href="a06568.html#l00514">NL3D::CTransform::getAABBox()</a>, <a class="el" href="a06376.html#l00076">NL3D::IShape::getAABBox()</a>, <a class="el" href="a06152.html#l00167">NL3D::CParticleSystemShape::getAABBox()</a>, <a class="el" href="a05714.html#l00132">NL3D::CFlareShape::getAABBox()</a>, <a class="el" href="a05385.html#l00206">NLMISC::CAABBoxExt::getAABBox()</a>, <a class="el" href="a06478.html#l00062">NLPACS::IQuadNode::getBBox()</a>, <a class="el" href="a05761.html#l00260">NLPACS::CGlobalRetriever::getBorders()</a>, <a class="el" href="a06034.html#l00341">NL3D::CMiniCol::getGroundNormal()</a>, <a class="el" href="a06568.html#l01328">NL3D::CTransform::getReceiverBBox()</a>, <a class="el" href="a05870.html#l00284">NL3D::CLandscapeModel::getReceiverBBox()</a>, <a class="el" href="a05761.html#l00061">H_AUTO_DECL()</a>, <a class="el" href="a06477.html#l00086">NLPACS::CSurfaceQuadTree::init()</a>, <a class="el" href="a06302.html#l00125">NL3D::CQuadGridClipClusterQTreeNode::init()</a>, <a class="el" href="a05929.html#l01393">NLPACS::CLocalRetriever::initFaceGrid()</a>, <a class="el" href="a05824.html#l00305">NL3D::CInstanceLighter::light()</a>, <a class="el" href="a06304.html#l00204">NL3D::CQuadGridClipManager::linkModel()</a>, <a class="el" href="a06337.html#l00109">NLPACS::CRetrieverInstance::make()</a>, <a class="el" href="a05989.html#l00058">NL3D::makeBBox()</a>, <a class="el" href="a05563.html#l00156">NL3D::CCluster::makeVolume()</a>, <a class="el" href="a05761.html#l02448">NLPACS::CGlobalRetriever::refreshLrAround()</a>, <a class="el" href="a05761.html#l02554">NLPACS::CGlobalRetriever::refreshLrAroundNow()</a>, <a class="el" href="a06034.html#l00085">NL3D::CMiniCol::removeLandScapePart()</a>, <a class="el" href="a06374.html#l00192">NL3D::CShadowPolyReceiver::render()</a>, <a class="el" href="a06372.html#l00445">NL3D::CShadowMapManager::renderProject()</a>, <a class="el" href="a05761.html#l00493">NLPACS::CGlobalRetriever::retrievePosition()</a>, <a class="el" href="a05761.html#l01937">NLPACS::CGlobalRetriever::testBBoxMove()</a>, <a class="el" href="a05761.html#l02236">NLPACS::CGlobalRetriever::testBBoxRot()</a>, <a class="el" href="a05761.html#l01864">NLPACS::CGlobalRetriever::testCylinderMove()</a>, and <a class="el" href="a06478.html#l00184">NLPACS::CSurfaceQuadTree::translate()</a>.
+<p>
+<div class="fragment"><pre>00066 {<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a>= center;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CAABBoxz1902_2" doxytag="NLMISC::CAABBox::setHalfSize" ></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 NLMISC::CAABBox::setHalfSize </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">CVector</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>hs</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+extend the bbox so it contains v. Warning!! By default, a bbox is the vector 0,0,0. So set the first vertex with <a class="el" href="a02156.html#NLMISC_1_1CAABBoxz1902_1">setCenter()</a> or else the bbox will be the extension of v and (0,0,0)...
+<p>
+Reimplemented in <a class="el" href="a02157.html#NLMISC_1_1CAABBoxExtz1910_2">NLMISC::CAABBoxExt</a>.
+<p>
+Definition at line <a class="el" href="a05385.html#l00067">67</a> of file <a class="el" href="a05385.html">aabbox.h</a>.
+<p>
+References <a class="el" href="a05385.html#l00056">HalfSize</a>.
+<p>
+Referenced by <a class="el" href="a06286.html#l00179">NL3D::CPSUtil::addRadiusToAABBox()</a>, <a class="el" href="a05862.html#l00385">NL3D::CLandscape::addZone()</a>, <a class="el" href="a06758.html#l01452">NL3D::CZone::applyHeightField()</a>, <a class="el" href="a06758.html#l00122">NL3D::CZone::build()</a>, <a class="el" href="a05532.html#l00048">NL3D::CCameraCol::build()</a>, <a class="el" href="a06370.html#l00135">NL3D::CShadowMap::buildCasterCameraMatrix()</a>, <a class="el" href="a06370.html#l00098">NL3D::CShadowMap::buildClipInfoFromMatrix()</a>, <a class="el" href="a06163.html#l00052">NL3D::CPatchDLMPointLight::compile()</a>, <a class="el" href="a06768.html#l03202">NL3D::CZoneLighter::compilePointLightRT()</a>, <a class="el" href="a05824.html#l01023">NL3D::CInstanceLighter::compilePointLightRT()</a>, <a class="el" href="a06393.html#l01665">NL3D::CSkeletonModel::computeCurrentBBox()</a>, <a class="el" href="a06393.html#l01620">NL3D::CSkeletonModel::computeRenderedBBox()</a>, <a class="el" href="a05522.html#l00627">NLPACS::computeRetriever()</a>, <a class="el" href="a06725.html#l00056">NL3D::CVisualCollisionEntity::CVisualCollisionEntity()</a>, <a class="el" href="a06725.html#l00414">NL3D::CVisualCollisionEntity::doComputeLandscape()</a>, <a class="el" href="a06690.html#l00062">NL3D::CVegetableClipBlock::extendSphere()</a>, <a class="el" href="a06491.html#l00102">NL3D::CTessBlock::extendSphereFirst()</a>, <a class="el" href="a06142.html#l00897">NL3D::CParticleSystem::forceComputeBBox()</a>, <a class="el" href="a06741.html#l00710">NL3D::CWaveMakerShape::getAABBox()</a>, <a class="el" href="a06570.html#l00083">NL3D::CTransformShape::getAABBox()</a>, <a class="el" href="a06568.html#l00514">NL3D::CTransform::getAABBox()</a>, <a class="el" href="a06376.html#l00076">NL3D::IShape::getAABBox()</a>, <a class="el" href="a06152.html#l00167">NL3D::CParticleSystemShape::getAABBox()</a>, <a class="el" href="a05714.html#l00132">NL3D::CFlareShape::getAABBox()</a>, <a class="el" href="a05385.html#l00206">NLMISC::CAABBoxExt::getAABBox()</a>, <a class="el" href="a06478.html#l00062">NLPACS::IQuadNode::getBBox()</a>, <a class="el" href="a05761.html#l00260">NLPACS::CGlobalRetriever::getBorders()</a>, <a class="el" href="a06568.html#l01328">NL3D::CTransform::getReceiverBBox()</a>, <a class="el" href="a05870.html#l00284">NL3D::CLandscapeModel::getReceiverBBox()</a>, <a class="el" href="a05761.html#l00061">H_AUTO_DECL()</a>, <a class="el" href="a06477.html#l00086">NLPACS::CSurfaceQuadTree::init()</a>, <a class="el" href="a05824.html#l00305">NL3D::CInstanceLighter::light()</a>, <a class="el" href="a06337.html#l00109">NLPACS::CRetrieverInstance::make()</a>, <a class="el" href="a05761.html#l02448">NLPACS::CGlobalRetriever::refreshLrAround()</a>, <a class="el" href="a05761.html#l02554">NLPACS::CGlobalRetriever::refreshLrAroundNow()</a>, <a class="el" href="a06034.html#l00085">NL3D::CMiniCol::removeLandScapePart()</a>, <a class="el" href="a05862.html#l00447">NL3D::CLandscape::removeZone()</a>, and <a class="el" href="a05761.html#l00493">NLPACS::CGlobalRetriever::retrievePosition()</a>.
+<p>
+<div class="fragment"><pre>00067 {<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>= hs;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CAABBoxz1902_3" doxytag="NLMISC::CAABBox::setMinMax" ></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 NLMISC::CAABBox::setMinMax </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">CVector</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>bmin</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a03128.html">CVector</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>bmax</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Build the bbox, with a min/max style bbox.
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a02157.html#NLMISC_1_1CAABBoxExtz1910_3">NLMISC::CAABBoxExt</a>.
+<p>
+Definition at line <a class="el" href="a05385.html#l00071">71</a> of file <a class="el" href="a05385.html">aabbox.h</a>.
+<p>
+References <a class="el" href="a05385.html#l00056">HalfSize</a>.
+<p>
+Referenced by <a class="el" href="a06155.html#l00221">NL3D::CPatch::buildBBoxFromBezierPatch()</a>, <a class="el" href="a05384.html#l00231">computeAABBoxUnion()</a>, <a class="el" href="a06741.html#l00410">NL3D::CWaterShape::computeBBox()</a>, <a class="el" href="a06246.html#l01716">NL3D::CPSLocated::computeBBox()</a>, <a class="el" href="a05384.html#l00247">computeIntersection()</a>, <a class="el" href="a06768.html#l03563">NL3D::CZoneLighter::computeTileFlagsForPositionTowardWater()</a>, <a class="el" href="a06393.html#l01987">NL3D::CSkeletonModel::computeWorldBBoxForShadow()</a>, <a class="el" href="a05384.html#l00215">extend()</a>, <a class="el" href="a05929.html#l01238">NLPACS::CLocalRetriever::retrieveAccuratePosition()</a>, <a class="el" href="a05929.html#l01064">NLPACS::CLocalRetriever::retrievePosition()</a>, <a class="el" href="a05384.html#l00262">transformAABBox()</a>, and <a class="el" href="a06304.html#l00112">NL3D::CQuadGridClipManager::updateClustersFromCamera()</a>.
+<p>
+<div class="fragment"><pre>00072 {
+00073 <a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a>= (bmin+bmax)/2;
+00074 <a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>= bmax-<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr0">Center</a>;
+00075 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CAABBoxz1902_4" doxytag="NLMISC::CAABBox::setSize" ></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 NLMISC::CAABBox::setSize </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">CVector</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>s</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set the size of the bbox (ie 2* the halfSize).
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a02157.html#NLMISC_1_1CAABBoxExtz1910_4">NLMISC::CAABBoxExt</a>.
+<p>
+Definition at line <a class="el" href="a05385.html#l00069">69</a> of file <a class="el" href="a05385.html">aabbox.h</a>.
+<p>
+References <a class="el" href="a05385.html#l00056">HalfSize</a>, and <a class="el" href="a05646.html#l00977">s</a>.
+<p>
+Referenced by <a class="el" href="a06395.html#l00051">NL3D::CSkeletonShape::CSkeletonShape()</a>, <a class="el" href="a06477.html#l00037">NLPACS::CSurfaceQuadTree::CSurfaceQuadTree()</a>, and <a class="el" href="a06302.html#l00125">NL3D::CQuadGridClipClusterQTreeNode::init()</a>.
+<p>
+<div class="fragment"><pre>00069 {<a class="code" href="a02156.html#NLMISC_1_1CAABBoxExtr1">HalfSize</a>= <a class="code" href="a04223.html#a626">s</a>/2;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CAABBoxExtz1908_3" doxytag="NLMISC::CAABBox::transformAABBox" ></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">CAABBox</a> NLMISC::CAABBox::transformAABBox </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a02851.html">CMatrix</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>mat</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a02156.html">CAABBox</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>box</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Apply a matrix on an aabbox <dl compact><dt><b>Returns:</b></dt><dd>an aabbox, bigger or equal to parameter, after the matrix multiplication</dd></dl>
+
+<p>
+Definition at line <a class="el" href="a05384.html#l00262">262</a> of file <a class="el" href="a05384.html">aabbox.cpp</a>.
+<p>
+References <a class="el" href="a05385.html#l00087">getMax()</a>, <a class="el" href="a05385.html#l00086">getMin()</a>, <a class="el" href="a05484.html#l00038">min</a>, <a class="el" href="a06682.html#l00136">NLMISC::CVector::set()</a>, <a class="el" href="a05385.html#l00071">setMinMax()</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::x</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::y</a>, and <a class="el" href="a06673.html#l00051">NLMISC::CVector::z</a>.
+<p>
+Referenced by <a class="el" href="a05563.html#l00477">NL3D::CCluster::applyMatrix()</a>, <a class="el" href="a06370.html#l00135">NL3D::CShadowMap::buildCasterCameraMatrix()</a>, <a class="el" href="a06001.html#l00352">NL3D::CMeshInstance::computeWorldBBoxForShadow()</a>, <a class="el" href="a06142.html#l00897">NL3D::CParticleSystem::forceComputeBBox()</a>, <a class="el" href="a06768.html#l03067">NL3D::CZoneLighter::makeQuadGridFromWaterShapes()</a>, and <a class="el" href="a05563.html#l00311">NL3D::CCluster::setWorldMatrix()</a>.
+<p>
+<div class="fragment"><pre>00263 {
+00264 <span class="comment">// TODO : optimize this a bit if possible...</span>
+00265 <a class="code" href="a02156.html#NLMISC_1_1CAABBoxa0">CAABBox</a> result;
+00266
+00267 <span class="comment">/* OMG. Old code was false!! </span>
+00268 <span class="comment"> if we have ht= M * h</span>
+00269 <span class="comment"> then CVector(-ht.x, ht.y, ht.z) != M * CVector(-h.x, h.y, h.z) !!!!</span>
+00270 <span class="comment"> */</span>
+00271 <span class="comment">// compute corners.</span>
+00272 CVector p[8];
+00273 CVector <a class="code" href="a04061.html#a0">min</a>= box.getMin();
+00274 CVector max= box.getMax();
+00275 p[0].set(<a class="code" href="a04061.html#a0">min</a>.x, <a class="code" href="a04061.html#a0">min</a>.y, <a class="code" href="a04061.html#a0">min</a>.z);
+00276 p[1].set(max.x, <a class="code" href="a04061.html#a0">min</a>.y, <a class="code" href="a04061.html#a0">min</a>.z);
+00277 p[2].set(<a class="code" href="a04061.html#a0">min</a>.x, max.y, <a class="code" href="a04061.html#a0">min</a>.z);
+00278 p[3].set(max.x, max.y, <a class="code" href="a04061.html#a0">min</a>.z);
+00279 p[4].set(<a class="code" href="a04061.html#a0">min</a>.x, <a class="code" href="a04061.html#a0">min</a>.y, max.z);
+00280 p[5].set(max.x, <a class="code" href="a04061.html#a0">min</a>.y, max.z);
+00281 p[6].set(<a class="code" href="a04061.html#a0">min</a>.x, max.y, max.z);
+00282 p[7].set(max.x, max.y, max.z);
+00283 CVector tmp;
+00284 <a class="code" href="a04061.html#a0">min</a> = max = mat * p[0];
+00285 <span class="comment">// transform corners.</span>
+00286 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a15">uint</a> i=1;i&lt;8;i++)
+00287 {
+00288 tmp= mat * p[i];
+00289 <a class="code" href="a04061.html#a0">min</a>.minof(min, tmp);
+00290 max.maxof(max, tmp);
+00291 }
+00292
+00293 result.setMinMax(min, max);
+00294
+00295 <span class="keywordflow">return</span> result;
+00296 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="NLMISC_1_1CAABBoxExtr0" doxytag="NLMISC::CAABBox::Center" ></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="a03128.html">CVector</a> <a class="el" href="a02156.html#NLMISC_1_1CAABBoxExtr0">NLMISC::CAABBox::Center</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The center of the bbox.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05385.html#l00054">54</a> of file <a class="el" href="a05385.html">aabbox.h</a>.
+<p>
+Referenced by <a class="el" href="a05384.html#l00094">include()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CAABBoxExtr1" doxytag="NLMISC::CAABBox::HalfSize" ></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="a03128.html">CVector</a> <a class="el" href="a02156.html#NLMISC_1_1CAABBoxExtr1">NLMISC::CAABBox::HalfSize</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The size/2 of the bbox.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05385.html#l00056">56</a> of file <a class="el" href="a05385.html">aabbox.h</a>.
+<p>
+Referenced by <a class="el" href="a05385.html#l00061">CAABBox()</a>, <a class="el" href="a05384.html#l00059">clipBack()</a>, <a class="el" href="a05384.html#l00039">clipFront()</a>, <a class="el" href="a05385.html#l00091">getHalfSize()</a>, <a class="el" href="a05385.html#l00087">getMax()</a>, <a class="el" href="a05385.html#l00086">getMin()</a>, <a class="el" href="a05385.html#l00096">getRadius()</a>, <a class="el" href="a05385.html#l00093">getSize()</a>, <a class="el" href="a05384.html#l00081">include()</a>, <a class="el" href="a05384.html#l00178">intersect()</a>, <a class="el" href="a05384.html#l00194">makePyramid()</a>, <a class="el" href="a05384.html#l00206">serial()</a>, <a class="el" href="a05385.html#l00067">setHalfSize()</a>, <a class="el" href="a05385.html#l00071">setMinMax()</a>, and <a class="el" href="a05385.html#l00069">setSize()</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a05385.html">aabbox.h</a><li><a class="el" href="a05384.html">aabbox.cpp</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 13:00:55 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>