Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > bad97183153701b09df5fae1052b1c30 > files > 305

crystalspace-doc-1.2.1-5mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Crystal Space 1.2.1: csBox2 Class Reference (Crystal Space 1.2.1 Public API Reference)</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="head">
 <tr height="59">
  <td class="head" width="202" valign="bottom" style="padding-left:0;"><a href="http://www.crystalspace3d.org/"><img src="csblur.png" width="236" height="59" alt="CrystalSpace" border="0"></a></td>
  <td class="head"><h2>Public API Reference</h2></td>
 </tr>
 <tr height="11">
  <td colspan="2" class="headshadow" valign="top" style="padding-left:0;"><img src="csblurb.png" width="236" height="11" alt="" border="0"></td>
 </tr>
</table>
<div class="content">
<!-- Generated by Doxygen 1.5.3 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
    <li class="current"><a href="classes.html"><span>Classes</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul>
</div>
<div class="tabs">
  <ul>
    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
  </ul>
</div>
<h1>csBox2 Class Reference<br>
<small>
[<a class="el" href="group__geom__utils.html">Geometry utilities</a>]</small>
</h1><!-- doxytag: class="csBox2" -->A bounding box in 2D space.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="box_8h-source.html">csgeom/box.h</a>&gt;</code>
<p>

<p>
<a href="classcsBox2-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#58bddfa115d8dd5e43f51aaa480bb55c">AddBoundingVertex</a> (const <a class="el" href="classcsVector2.html">csVector2</a> &amp;v)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a new vertex and recalculate the bounding box.  <a href="#58bddfa115d8dd5e43f51aaa480bb55c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#90a589f9c1a205f3e63a9a3f676db3d8">AddBoundingVertex</a> (float x, float y)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a new vertex and recalculate the bounding box.  <a href="#90a589f9c1a205f3e63a9a3f676db3d8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#a90dc8464eead700cf9611f0db213382">AddBoundingVertexSmart</a> (const <a class="el" href="classcsVector2.html">csVector2</a> &amp;v)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a new vertex and recalculate the bounding box.  <a href="#a90dc8464eead700cf9611f0db213382"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#965a607e4f38c5bbb79996607e91d02d">AddBoundingVertexSmart</a> (float x, float y)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a new vertex and recalculate the bounding box.  <a href="#965a607e4f38c5bbb79996607e91d02d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#c4a3210cfff0ca4d819b86454c827181">AddBoundingVertexSmartTest</a> (const <a class="el" href="classcsVector2.html">csVector2</a> &amp;v)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a new vertex and recalculate the bounding box.  <a href="#c4a3210cfff0ca4d819b86454c827181"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#6f5707215ffea25ecaff44162a13353d">AddBoundingVertexSmartTest</a> (float x, float y)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a new vertex and recalculate the bounding box.  <a href="#6f5707215ffea25ecaff44162a13353d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#1f70312c977b0edc53feaa4254c0bd6a">AddBoundingVertexTest</a> (const <a class="el" href="classcsVector2.html">csVector2</a> &amp;v)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a new vertex and recalculate the bounding box.  <a href="#1f70312c977b0edc53feaa4254c0bd6a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#839c478dde215e0f9127622365fc4f6f">AddBoundingVertexTest</a> (float x, float y)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a new vertex and recalculate the bounding box.  <a href="#839c478dde215e0f9127622365fc4f6f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#122d53146b6b4e5c73d33710773787e2">Area</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute area of box.  <a href="#122d53146b6b4e5c73d33710773787e2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#a146277921e3a8691fc8903293b0c69d">Contains</a> (const <a class="el" href="classcsBox2.html">csBox2</a> &amp;box) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test if this box contains the other box.  <a href="#a146277921e3a8691fc8903293b0c69d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#9107334c90a7ade49c91144b228c6cdf">csBox2</a> (const <a class="el" href="classcsRect.html">csRect</a> &amp;r)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize this box from the given <a class="el" href="classcsRect.html" title="Rectangle class: simple class for manipulating 2D rectangles.">csRect</a>.  <a href="#9107334c90a7ade49c91144b228c6cdf"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#d71952d735caaea4a32d1580a4483afd">csBox2</a> (float x1, float y1, float x2, float y2)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize this box with the given values.  <a href="#d71952d735caaea4a32d1580a4483afd"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#397f792dd79ddd0159d7e36db8687323">csBox2</a> (const <a class="el" href="classcsVector2.html">csVector2</a> &amp;v)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize this box with one point.  <a href="#397f792dd79ddd0159d7e36db8687323"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#6bc73f0688cb0b7e7647a03b38a6c662">csBox2</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize this box to empty.  <a href="#6bc73f0688cb0b7e7647a03b38a6c662"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsString.html">csString</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#f3ebca7bf3120f5a867190bd1791e5e7">Description</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a textual representation of the box in the form "(minx,miny)-(maxx,maxy)".  <a href="#f3ebca7bf3120f5a867190bd1791e5e7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#cefe955042628a510ad3027615f0677d">Empty</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test if this box is empty.  <a href="#cefe955042628a510ad3027615f0677d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsVector2.html">csVector2</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#b289b67dbc6b710bdae79242b7290c97">GetCenter</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the center of this box.  <a href="#b289b67dbc6b710bdae79242b7290c97"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsVector2.html">csVector2</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#bab16fdf3533f20f0d8a210ae6195f0f">GetCorner</a> (int corner) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return every corner of this bounding box from 0 to 3.  <a href="#bab16fdf3533f20f0d8a210ae6195f0f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#d2cf246368703114e9755870cbfc99f8">GetEdge</a> (int edge, <a class="el" href="classcsSegment2.html">csSegment2</a> &amp;e) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return every edge (segment) of this bounding box from 0 to 7 (<a class="el" href="group__geom__utils.html#ggdf764cbdea00d65edcd07bb9953ad2b7b42077b10139d5a537a31773f9d82116" title="from min X, min Y to max X, min Y">CS_BOX_EDGE_xy_Xy</a> etc.  <a href="#d2cf246368703114e9755870cbfc99f8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsSegment2.html">csSegment2</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#ec05e28ce46e689f29221bd154173e79">GetEdge</a> (int edge) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return every edge (segment) of this bounding box from 0 to 7 (<a class="el" href="group__geom__utils.html#ggdf764cbdea00d65edcd07bb9953ad2b7b42077b10139d5a537a31773f9d82116" title="from min X, min Y to max X, min Y">CS_BOX_EDGE_xy_Xy</a> etc.  <a href="#ec05e28ce46e689f29221bd154173e79"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#8c2869cb8bb4139ab185dc48e14994cc">GetEdgeInfo</a> (int edge, int &amp;v1, int &amp;v2) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Given an edge index (<a class="el" href="group__geom__utils.html#ggdf764cbdea00d65edcd07bb9953ad2b7b42077b10139d5a537a31773f9d82116" title="from min X, min Y to max X, min Y">CS_BOX_EDGE_xy_Xy</a> etc.  <a href="#8c2869cb8bb4139ab185dc48e14994cc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#fd0262c20c072f3d4a26d7d4b5bb54c3">In</a> (const <a class="el" href="classcsVector2.html">csVector2</a> &amp;v) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test if the given coordinate is in this box.  <a href="#fd0262c20c072f3d4a26d7d4b5bb54c3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#76da66a15f400e06a72fc2118e352cfc">In</a> (float x, float y) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test if the given coordinate is in this box.  <a href="#76da66a15f400e06a72fc2118e352cfc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#436ff414e5aea85fac6a8bc85709c057">Intersect</a> (<a class="el" href="classcsVector2.html">csVector2</a> *poly, int num_poly) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test if a polygon if visible in the box.  <a href="#436ff414e5aea85fac6a8bc85709c057"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classcsVector2.html">csVector2</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#3ba36010b4f6e15338441b901d87cb76">Max</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the 2d vector of maximum (x, y) values.  <a href="#3ba36010b4f6e15338441b901d87cb76"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#77f1d249a0497714dc72861f2b3efa83">Max</a> (int idx) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get Max component for 0 (x) or 1 (y).  <a href="#77f1d249a0497714dc72861f2b3efa83"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#585a8b74a51abfb5a3fe48770b7066c1">MaxX</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the maximum X value of the box.  <a href="#585a8b74a51abfb5a3fe48770b7066c1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#3f3a575263c091c1133fe38c9e14a243">MaxY</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the maximum Y value of the box.  <a href="#3f3a575263c091c1133fe38c9e14a243"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classcsVector2.html">csVector2</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#f93fb22fcae0af80693753666ed422c2">Min</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the 2d vector of minimum (x, y) values.  <a href="#f93fb22fcae0af80693753666ed422c2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#5542b7fe190a03f8a767129e860f3e9c">Min</a> (int idx) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get Min component for 0 (x) or 1 (y).  <a href="#5542b7fe190a03f8a767129e860f3e9c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#58888738bc7cfc684a1b028885ee9604">MinX</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the minimum X value of the box.  <a href="#58888738bc7cfc684a1b028885ee9604"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#3b5cf3877904eac184ebe0c125e46e8d">MinY</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the minimum Y value of the box.  <a href="#3b5cf3877904eac184ebe0c125e46e8d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsBox2.html">csBox2</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#edbc5d24ca59f3798bc3268836fad73b">operator *=</a> (const <a class="el" href="classcsBox2.html">csBox2</a> &amp;box)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute the intersection of two bounding boxes.  <a href="#edbc5d24ca59f3798bc3268836fad73b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsBox2.html">csBox2</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#63978c2df40aa66a9a556476729bf07a">operator+=</a> (const <a class="el" href="classcsVector2.html">csVector2</a> &amp;point)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute the union of a point with this bounding box.  <a href="#63978c2df40aa66a9a556476729bf07a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsBox2.html">csBox2</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#e3aedb99b2ca692c47ee8fbd893be8f3">operator+=</a> (const <a class="el" href="classcsBox2.html">csBox2</a> &amp;box)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute the union of two bounding boxes.  <a href="#e3aedb99b2ca692c47ee8fbd893be8f3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#e2d522ca57877c46d0c5247683a42764">Overlap</a> (const <a class="el" href="classcsBox2.html">csBox2</a> &amp;box) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test if this box overlaps with the given box.  <a href="#e2d522ca57877c46d0c5247683a42764"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#28658717968654d2bcff233ddce5b8f6">Set</a> (float x1, float y1, float x2, float y2)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the bounds of the box with the given values.  <a href="#28658717968654d2bcff233ddce5b8f6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#70fe6baa8ccbd1b4cf58f9069c5cdc46">Set</a> (const <a class="el" href="classcsVector2.html">csVector2</a> &amp;bmin, const <a class="el" href="classcsVector2.html">csVector2</a> &amp;bmax)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the bounds of the box with the given values.  <a href="#70fe6baa8ccbd1b4cf58f9069c5cdc46"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#3053fbb9ae225f3f82361376765be5de">SetCenter</a> (const <a class="el" href="classcsVector2.html">csVector2</a> &amp;c)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the center of this box.  <a href="#3053fbb9ae225f3f82361376765be5de"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#f8623398b562fc7090adc8a9d23a32f6">SetMax</a> (int idx, float val)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set Max component for 0 (x) or 1 (y).  <a href="#f8623398b562fc7090adc8a9d23a32f6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#b69c8a2da728fe6d8174c8279e849124">SetMin</a> (int idx, float val)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set Min component for 0 (x) or 1 (y).  <a href="#b69c8a2da728fe6d8174c8279e849124"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#2527d41d7466c9c56d0ec1d541f79b4a">SetSize</a> (const <a class="el" href="classcsVector2.html">csVector2</a> &amp;s)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the size of the box but keep the center intact.  <a href="#2527d41d7466c9c56d0ec1d541f79b4a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#9f92eb9bc9aef7535547c703cd957fcc">SquaredOriginDist</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the squared distance between (0,0) and the box This routine is extremely efficient.  <a href="#9f92eb9bc9aef7535547c703cd957fcc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#a84ba7539d7940a02d177ba67df96bd5">SquaredOriginMaxDist</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the squared distance between (0,0) and the point on the box which is furthest away from (0,0).  <a href="#a84ba7539d7940a02d177ba67df96bd5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#11638417e3033164b2d209f7b1b76a91">SquaredPosDist</a> (const <a class="el" href="classcsVector2.html">csVector2</a> &amp;pos) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the squared distance between pos and the box This routine is extremely efficient.  <a href="#11638417e3033164b2d209f7b1b76a91"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#1425f1d279e6a67fb0b814899ed3feb3">SquaredPosMaxDist</a> (const <a class="el" href="classcsVector2.html">csVector2</a> &amp;pos) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the squared distance between pos and the point on the box which is furthest away from pos.  <a href="#1425f1d279e6a67fb0b814899ed3feb3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#ab3971efb0a2c246be7d31e38b567c35">StartBoundingBox</a> (float x, float y)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Same but given some coordinates.  <a href="#ab3971efb0a2c246be7d31e38b567c35"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#a3d1f68b38442ff98899897252f3ac89">StartBoundingBox</a> (const <a class="el" href="classcsVector2.html">csVector2</a> &amp;v)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize this box to one vertex.  <a href="#a3d1f68b38442ff98899897252f3ac89"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#65223106f5a2917780888909c5059577">StartBoundingBox</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize this box to empty.  <a href="#65223106f5a2917780888909c5059577"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#888b68fd89965ac071406964f28fb6d7">TestIntersect</a> (const <a class="el" href="classcsBox2.html">csBox2</a> &amp;box) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test if the two boxes have an intersection.  <a href="#888b68fd89965ac071406964f28fb6d7"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#87153809c7caffe73a5e990e271c1148">Intersect</a> (const <a class="el" href="classcsVector2.html">csVector2</a> &amp;<a class="el" href="classcsBox2.html#65894f8736795b462a4d3f7f3e1d28bc">minbox</a>, const <a class="el" href="classcsVector2.html">csVector2</a> &amp;<a class="el" href="classcsBox2.html#482fc16bd7c5a45ebd30d11e874cd2c3">maxbox</a>, <a class="el" href="classcsVector2.html">csVector2</a> *poly, int num_poly)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test if a polygon if visible in the box.  <a href="#87153809c7caffe73a5e990e271c1148"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#eb8998585d6c0d77a5688e5965e7a208">Intersect</a> (float minx, float miny, float maxx, float maxy, <a class="el" href="classcsVector2.html">csVector2</a> *poly, int num_poly)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test if a polygon if visible in the box.  <a href="#eb8998585d6c0d77a5688e5965e7a208"></a><br></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="classcsVector2.html">csVector2</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#482fc16bd7c5a45ebd30d11e874cd2c3">maxbox</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The bottom-right coordinate of the bounding box.  <a href="#482fc16bd7c5a45ebd30d11e874cd2c3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsVector2.html">csVector2</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#65894f8736795b462a4d3f7f3e1d28bc">minbox</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The top-left coordinate of the bounding box.  <a href="#65894f8736795b462a4d3f7f3e1d28bc"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsBox2.html">csBox2</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#9ef0b8622986d1d9eae62dba3ddae6a0">operator *</a> (const <a class="el" href="classcsBox2.html">csBox2</a> &amp;box1, const <a class="el" href="classcsBox2.html">csBox2</a> &amp;box2)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute the intersection of two bounding boxes.  <a href="#9ef0b8622986d1d9eae62dba3ddae6a0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#f7b7f6ecc5a371cc0b2abc51d422d926">operator!=</a> (const <a class="el" href="classcsBox2.html">csBox2</a> &amp;box1, const <a class="el" href="classcsBox2.html">csBox2</a> &amp;box2)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests if two bounding boxes are unequal.  <a href="#f7b7f6ecc5a371cc0b2abc51d422d926"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsBox2.html">csBox2</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#ce841ef009e707dcacabd88fa67e9a66">operator+</a> (const <a class="el" href="classcsBox2.html">csBox2</a> &amp;box, const <a class="el" href="classcsVector2.html">csVector2</a> &amp;point)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute the union of a bounding box and a point.  <a href="#ce841ef009e707dcacabd88fa67e9a66"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsBox2.html">csBox2</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#fc3d6e0ec9365a9874750dd9d55a2488">operator+</a> (const <a class="el" href="classcsBox2.html">csBox2</a> &amp;box1, const <a class="el" href="classcsBox2.html">csBox2</a> &amp;box2)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute the union of two bounding boxes.  <a href="#fc3d6e0ec9365a9874750dd9d55a2488"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#f47c97f4dce0e6623df2d20b123e32da">operator&lt;</a> (const <a class="el" href="classcsVector2.html">csVector2</a> &amp;point, const <a class="el" href="classcsBox2.html">csBox2</a> &amp;box)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests if a point is contained in a box.  <a href="#f47c97f4dce0e6623df2d20b123e32da"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#72d1a956a49e2e4ce58f6e79d983c134">operator&lt;</a> (const <a class="el" href="classcsBox2.html">csBox2</a> &amp;box1, const <a class="el" href="classcsBox2.html">csBox2</a> &amp;box2)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests if box1 is a subset of box2.  <a href="#72d1a956a49e2e4ce58f6e79d983c134"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#9ec2a4f26b5e0f00f0e61d21e03ecdf5">operator==</a> (const <a class="el" href="classcsBox2.html">csBox2</a> &amp;box1, const <a class="el" href="classcsBox2.html">csBox2</a> &amp;box2)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests if two bounding boxes are equal.  <a href="#9ec2a4f26b5e0f00f0e61d21e03ecdf5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html#9412de11530ac6b13a62d10d1fe7a985">operator&gt;</a> (const <a class="el" href="classcsBox2.html">csBox2</a> &amp;box1, const <a class="el" href="classcsBox2.html">csBox2</a> &amp;box2)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests if box1 is a superset of box2.  <a href="#9412de11530ac6b13a62d10d1fe7a985"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
A bounding box in 2D space. 
<p>
In order to operate correctly, this bounding box assumes that all values entered or compared against lie within the range (-<a class="el" href="group__geom__utils.html#g5acebae804990b2e4fc030a61c662e48" title="The maximum value that a coordinate in the bounding box can use.">CS_BOUNDINGBOX_MAXVALUE</a>, <a class="el" href="group__geom__utils.html#g5acebae804990b2e4fc030a61c662e48" title="The maximum value that a coordinate in the bounding box can use.">CS_BOUNDINGBOX_MAXVALUE</a>). It is not recommended to use points outside of this range. 
<p>Definition at line <a class="el" href="box_8h-source.html#l00101">101</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="6bc73f0688cb0b7e7647a03b38a6c662"></a><!-- doxytag: member="csBox2::csBox2" ref="6bc73f0688cb0b7e7647a03b38a6c662" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csBox2::csBox2           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Initialize this box to empty. 
<p>

<p>Definition at line <a class="el" href="box_8h-source.html#l00394">394</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="397f792dd79ddd0159d7e36db8687323"></a><!-- doxytag: member="csBox2::csBox2" ref="397f792dd79ddd0159d7e36db8687323" args="(const csVector2 &amp;v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csBox2::csBox2           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector2.html">csVector2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Initialize this box with one point. 
<p>

<p>Definition at line <a class="el" href="box_8h-source.html#l00399">399</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="d71952d735caaea4a32d1580a4483afd"></a><!-- doxytag: member="csBox2::csBox2" ref="d71952d735caaea4a32d1580a4483afd" args="(float x1, float y1, float x2, float y2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csBox2::csBox2           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>x1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>y1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>x2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>y2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Initialize this box with the given values. 
<p>

<p>Definition at line <a class="el" href="box_8h-source.html#l00403">403</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="9107334c90a7ade49c91144b228c6cdf"></a><!-- doxytag: member="csBox2::csBox2" ref="9107334c90a7ade49c91144b228c6cdf" args="(const csRect &amp;r)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csBox2::csBox2           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsRect.html">csRect</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>r</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Initialize this box from the given <a class="el" href="classcsRect.html" title="Rectangle class: simple class for manipulating 2D rectangles.">csRect</a>. 
<p>

<p>Definition at line <a class="el" href="box_8h-source.html#l00408">408</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="58bddfa115d8dd5e43f51aaa480bb55c"></a><!-- doxytag: member="csBox2::AddBoundingVertex" ref="58bddfa115d8dd5e43f51aaa480bb55c" args="(const csVector2 &amp;v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csBox2::AddBoundingVertex           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector2.html">csVector2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a new vertex and recalculate the bounding box. 
<p>

<p>Definition at line <a class="el" href="box_8h-source.html#l00317">317</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

<p>References <a class="el" href="vector2_8h-source.html#l00041">csVector2::x</a>, and <a class="el" href="vector2_8h-source.html#l00043">csVector2::y</a>.</p>

</div>
</div><p>
<a class="anchor" name="90a589f9c1a205f3e63a9a3f676db3d8"></a><!-- doxytag: member="csBox2::AddBoundingVertex" ref="90a589f9c1a205f3e63a9a3f676db3d8" args="(float x, float y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csBox2::AddBoundingVertex           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a new vertex and recalculate the bounding box. 
<p>

<p>Definition at line <a class="el" href="box_8h-source.html#l00310">310</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="a90dc8464eead700cf9611f0db213382"></a><!-- doxytag: member="csBox2::AddBoundingVertexSmart" ref="a90dc8464eead700cf9611f0db213382" args="(const csVector2 &amp;v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csBox2::AddBoundingVertexSmart           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector2.html">csVector2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a new vertex and recalculate the bounding box. 
<p>
This version is a little more optimal. It assumes however that at least one point has been added to the bounding box. 
<p>Definition at line <a class="el" href="box_8h-source.html#l00338">338</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

<p>References <a class="el" href="vector2_8h-source.html#l00041">csVector2::x</a>, and <a class="el" href="vector2_8h-source.html#l00043">csVector2::y</a>.</p>

</div>
</div><p>
<a class="anchor" name="965a607e4f38c5bbb79996607e91d02d"></a><!-- doxytag: member="csBox2::AddBoundingVertexSmart" ref="965a607e4f38c5bbb79996607e91d02d" args="(float x, float y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csBox2::AddBoundingVertexSmart           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a new vertex and recalculate the bounding box. 
<p>
This version is a little more optimal. It assumes however that at least one point has been added to the bounding box. 
<p>Definition at line <a class="el" href="box_8h-source.html#l00327">327</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="c4a3210cfff0ca4d819b86454c827181"></a><!-- doxytag: member="csBox2::AddBoundingVertexSmartTest" ref="c4a3210cfff0ca4d819b86454c827181" args="(const csVector2 &amp;v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csBox2::AddBoundingVertexSmartTest           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector2.html">csVector2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a new vertex and recalculate the bounding box. 
<p>
This version is a little more optimal. It assumes however that at least one point has been added to the bounding box. Return true if the box was modified. 
<p>Definition at line <a class="el" href="box_8h-source.html#l00388">388</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

<p>References <a class="el" href="vector2_8h-source.html#l00041">csVector2::x</a>, and <a class="el" href="vector2_8h-source.html#l00043">csVector2::y</a>.</p>

</div>
</div><p>
<a class="anchor" name="6f5707215ffea25ecaff44162a13353d"></a><!-- doxytag: member="csBox2::AddBoundingVertexSmartTest" ref="6f5707215ffea25ecaff44162a13353d" args="(float x, float y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csBox2::AddBoundingVertexSmartTest           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a new vertex and recalculate the bounding box. 
<p>
This version is a little more optimal. It assumes however that at least one point has been added to the bounding box. Return true if the box was modified. 
<p>Definition at line <a class="el" href="box_8h-source.html#l00372">372</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="1f70312c977b0edc53feaa4254c0bd6a"></a><!-- doxytag: member="csBox2::AddBoundingVertexTest" ref="1f70312c977b0edc53feaa4254c0bd6a" args="(const csVector2 &amp;v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csBox2::AddBoundingVertexTest           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector2.html">csVector2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a new vertex and recalculate the bounding box. 
<p>
Return true if the box was modified. 
<p>Definition at line <a class="el" href="box_8h-source.html#l00361">361</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

<p>References <a class="el" href="vector2_8h-source.html#l00041">csVector2::x</a>, and <a class="el" href="vector2_8h-source.html#l00043">csVector2::y</a>.</p>

</div>
</div><p>
<a class="anchor" name="839c478dde215e0f9127622365fc4f6f"></a><!-- doxytag: member="csBox2::AddBoundingVertexTest" ref="839c478dde215e0f9127622365fc4f6f" args="(float x, float y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csBox2::AddBoundingVertexTest           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a new vertex and recalculate the bounding box. 
<p>
Return true if the box was modified. 
<p>Definition at line <a class="el" href="box_8h-source.html#l00347">347</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="122d53146b6b4e5c73d33710773787e2"></a><!-- doxytag: member="csBox2::Area" ref="122d53146b6b4e5c73d33710773787e2" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float csBox2::Area           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Compute area of box. 
<p>

<p>Definition at line <a class="el" href="box_8h-source.html#l00136">136</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="a146277921e3a8691fc8903293b0c69d"></a><!-- doxytag: member="csBox2::Contains" ref="a146277921e3a8691fc8903293b0c69d" args="(const csBox2 &amp;box) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csBox2::Contains           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsBox2.html">csBox2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>box</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Test if this box contains the other box. 
<p>

<p>Definition at line <a class="el" href="box_8h-source.html#l00248">248</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

<p>References <a class="el" href="box_8h-source.html#l00116">maxbox</a>, <a class="el" href="box_8h-source.html#l00114">minbox</a>, <a class="el" href="vector2_8h-source.html#l00041">csVector2::x</a>, and <a class="el" href="vector2_8h-source.html#l00043">csVector2::y</a>.</p>

</div>
</div><p>
<a class="anchor" name="f3ebca7bf3120f5a867190bd1791e5e7"></a><!-- doxytag: member="csBox2::Description" ref="f3ebca7bf3120f5a867190bd1791e5e7" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsString.html">csString</a> csBox2::Description           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return a textual representation of the box in the form "(minx,miny)-(maxx,maxy)". 
<p>

</div>
</div><p>
<a class="anchor" name="cefe955042628a510ad3027615f0677d"></a><!-- doxytag: member="csBox2::Empty" ref="cefe955042628a510ad3027615f0677d" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csBox2::Empty           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Test if this box is empty. 
<p>

<p>Definition at line <a class="el" href="box_8h-source.html#l00255">255</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="b289b67dbc6b710bdae79242b7290c97"></a><!-- doxytag: member="csBox2::GetCenter" ref="b289b67dbc6b710bdae79242b7290c97" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsVector2.html">csVector2</a> csBox2::GetCenter           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the center of this box. 
<p>

<p>Definition at line <a class="el" href="box_8h-source.html#l00151">151</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="bab16fdf3533f20f0d8a210ae6195f0f"></a><!-- doxytag: member="csBox2::GetCorner" ref="bab16fdf3533f20f0d8a210ae6195f0f" args="(int corner) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsVector2.html">csVector2</a> csBox2::GetCorner           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>corner</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return every corner of this bounding box from 0 to 3. 
<p>
This contrasts with <a class="el" href="classcsBox2.html#5542b7fe190a03f8a767129e860f3e9c" title="Get Min component for 0 (x) or 1 (y).">Min()</a> and <a class="el" href="classcsBox2.html#77f1d249a0497714dc72861f2b3efa83" title="Get Max component for 0 (x) or 1 (y).">Max()</a> because those are only the min and max corners. Corner 0 = xy, 1 = xY, 2 = Xy, 3 = XY. Use <a class="el" href="group__geom__utils.html#gg06fc87d81c62e9abb8790b6e5713c55b86d75fcdcc57f10b7e00afa9571b2d56" title="min X, min Y">CS_BOX_CORNER_xy</a> etc. defines. <a class="el" href="group__geom__utils.html#gg06fc87d81c62e9abb8790b6e5713c55b26daf5755b88f571d2f8b44b8a4eb1f2" title="center">CS_BOX_CENTER2</a> also works. 
</div>
</div><p>
<a class="anchor" name="d2cf246368703114e9755870cbfc99f8"></a><!-- doxytag: member="csBox2::GetEdge" ref="d2cf246368703114e9755870cbfc99f8" args="(int edge, csSegment2 &amp;e) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csBox2::GetEdge           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>edge</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classcsSegment2.html">csSegment2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>e</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return every edge (segment) of this bounding box from 0 to 7 (<a class="el" href="group__geom__utils.html#ggdf764cbdea00d65edcd07bb9953ad2b7b42077b10139d5a537a31773f9d82116" title="from min X, min Y to max X, min Y">CS_BOX_EDGE_xy_Xy</a> etc. 
<p>
). 
<p>Definition at line <a class="el" href="box_8h-source.html#l00187">187</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

<p>References <a class="el" href="segment_8h-source.html#l00061">csSegment2::SetEnd()</a>, and <a class="el" href="segment_8h-source.html#l00058">csSegment2::SetStart()</a>.</p>

</div>
</div><p>
<a class="anchor" name="ec05e28ce46e689f29221bd154173e79"></a><!-- doxytag: member="csBox2::GetEdge" ref="ec05e28ce46e689f29221bd154173e79" args="(int edge) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsSegment2.html">csSegment2</a> csBox2::GetEdge           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>edge</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return every edge (segment) of this bounding box from 0 to 7 (<a class="el" href="group__geom__utils.html#ggdf764cbdea00d65edcd07bb9953ad2b7b42077b10139d5a537a31773f9d82116" title="from min X, min Y to max X, min Y">CS_BOX_EDGE_xy_Xy</a> etc. 
<p>
). 
<p>Definition at line <a class="el" href="box_8h-source.html#l00178">178</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="8c2869cb8bb4139ab185dc48e14994cc"></a><!-- doxytag: member="csBox2::GetEdgeInfo" ref="8c2869cb8bb4139ab185dc48e14994cc" args="(int edge, int &amp;v1, int &amp;v2) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csBox2::GetEdgeInfo           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>edge</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>v1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>v2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Given an edge index (<a class="el" href="group__geom__utils.html#ggdf764cbdea00d65edcd07bb9953ad2b7b42077b10139d5a537a31773f9d82116" title="from min X, min Y to max X, min Y">CS_BOX_EDGE_xy_Xy</a> etc. 
<p>
) return the two vertices (index <a class="el" href="group__geom__utils.html#gg06fc87d81c62e9abb8790b6e5713c55b86d75fcdcc57f10b7e00afa9571b2d56" title="min X, min Y">CS_BOX_CORNER_xy</a> etc.). 
<p>Definition at line <a class="el" href="box_8h-source.html#l00168">168</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="fd0262c20c072f3d4a26d7d4b5bb54c3"></a><!-- doxytag: member="csBox2::In" ref="fd0262c20c072f3d4a26d7d4b5bb54c3" args="(const csVector2 &amp;v) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csBox2::In           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector2.html">csVector2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Test if the given coordinate is in this box. 
<p>

<p>Definition at line <a class="el" href="box_8h-source.html#l00234">234</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

<p>References <a class="el" href="vector2_8h-source.html#l00041">csVector2::x</a>, and <a class="el" href="vector2_8h-source.html#l00043">csVector2::y</a>.</p>

</div>
</div><p>
<a class="anchor" name="76da66a15f400e06a72fc2118e352cfc"></a><!-- doxytag: member="csBox2::In" ref="76da66a15f400e06a72fc2118e352cfc" args="(float x, float y) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csBox2::In           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Test if the given coordinate is in this box. 
<p>

<p>Definition at line <a class="el" href="box_8h-source.html#l00226">226</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="436ff414e5aea85fac6a8bc85709c057"></a><!-- doxytag: member="csBox2::Intersect" ref="436ff414e5aea85fac6a8bc85709c057" args="(csVector2 *poly, int num_poly) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csBox2::Intersect           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsVector2.html">csVector2</a> *&nbsp;</td>
          <td class="paramname"> <em>poly</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>num_poly</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Test if a polygon if visible in the box. 
<p>
This function does not test the case where the box is fully contained in the polygon. But all other cases are tested. 
<p>Definition at line <a class="el" href="box_8h-source.html#l00220">220</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="87153809c7caffe73a5e990e271c1148"></a><!-- doxytag: member="csBox2::Intersect" ref="87153809c7caffe73a5e990e271c1148" args="(const csVector2 &amp;minbox, const csVector2 &amp;maxbox, csVector2 *poly, int num_poly)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static bool csBox2::Intersect           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector2.html">csVector2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>minbox</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsVector2.html">csVector2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>maxbox</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classcsVector2.html">csVector2</a> *&nbsp;</td>
          <td class="paramname"> <em>poly</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>num_poly</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Test if a polygon if visible in the box. 
<p>
This function does not test the case where the box is fully contained in the polygon. But all other cases are tested. 
<p>Definition at line <a class="el" href="box_8h-source.html#l00208">208</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

<p>References <a class="el" href="vector2_8h-source.html#l00041">csVector2::x</a>, and <a class="el" href="vector2_8h-source.html#l00043">csVector2::y</a>.</p>

</div>
</div><p>
<a class="anchor" name="eb8998585d6c0d77a5688e5965e7a208"></a><!-- doxytag: member="csBox2::Intersect" ref="eb8998585d6c0d77a5688e5965e7a208" args="(float minx, float miny, float maxx, float maxy, csVector2 *poly, int num_poly)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static bool csBox2::Intersect           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>minx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>miny</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>maxx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>maxy</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classcsVector2.html">csVector2</a> *&nbsp;</td>
          <td class="paramname"> <em>poly</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>num_poly</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Test if a polygon if visible in the box. 
<p>
This function does not test the case where the box is fully contained in the polygon. But all other cases are tested. 
</div>
</div><p>
<a class="anchor" name="3ba36010b4f6e15338441b901d87cb76"></a><!-- doxytag: member="csBox2::Max" ref="3ba36010b4f6e15338441b901d87cb76" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classcsVector2.html">csVector2</a>&amp; csBox2::Max           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the 2d vector of maximum (x, y) values. 
<p>

<p>Definition at line <a class="el" href="box_8h-source.html#l00134">134</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="77f1d249a0497714dc72861f2b3efa83"></a><!-- doxytag: member="csBox2::Max" ref="77f1d249a0497714dc72861f2b3efa83" args="(int idx) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float csBox2::Max           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>idx</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get Max component for 0 (x) or 1 (y). 
<p>

<p>Definition at line <a class="el" href="box_8h-source.html#l00130">130</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="585a8b74a51abfb5a3fe48770b7066c1"></a><!-- doxytag: member="csBox2::MaxX" ref="585a8b74a51abfb5a3fe48770b7066c1" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float csBox2::MaxX           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the maximum X value of the box. 
<p>

<p>Definition at line <a class="el" href="box_8h-source.html#l00124">124</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="3f3a575263c091c1133fe38c9e14a243"></a><!-- doxytag: member="csBox2::MaxY" ref="3f3a575263c091c1133fe38c9e14a243" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float csBox2::MaxY           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the maximum Y value of the box. 
<p>

<p>Definition at line <a class="el" href="box_8h-source.html#l00126">126</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="f93fb22fcae0af80693753666ed422c2"></a><!-- doxytag: member="csBox2::Min" ref="f93fb22fcae0af80693753666ed422c2" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classcsVector2.html">csVector2</a>&amp; csBox2::Min           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the 2d vector of minimum (x, y) values. 
<p>

<p>Definition at line <a class="el" href="box_8h-source.html#l00132">132</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="5542b7fe190a03f8a767129e860f3e9c"></a><!-- doxytag: member="csBox2::Min" ref="5542b7fe190a03f8a767129e860f3e9c" args="(int idx) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float csBox2::Min           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>idx</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get Min component for 0 (x) or 1 (y). 
<p>

<p>Definition at line <a class="el" href="box_8h-source.html#l00128">128</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="58888738bc7cfc684a1b028885ee9604"></a><!-- doxytag: member="csBox2::MinX" ref="58888738bc7cfc684a1b028885ee9604" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float csBox2::MinX           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the minimum X value of the box. 
<p>

<p>Definition at line <a class="el" href="box_8h-source.html#l00120">120</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="3b5cf3877904eac184ebe0c125e46e8d"></a><!-- doxytag: member="csBox2::MinY" ref="3b5cf3877904eac184ebe0c125e46e8d" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float csBox2::MinY           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the minimum Y value of the box. 
<p>

<p>Definition at line <a class="el" href="box_8h-source.html#l00122">122</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="edbc5d24ca59f3798bc3268836fad73b"></a><!-- doxytag: member="csBox2::operator *=" ref="edbc5d24ca59f3798bc3268836fad73b" args="(const csBox2 &amp;box)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsBox2.html">csBox2</a>&amp; csBox2::operator *=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsBox2.html">csBox2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>box</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Compute the intersection of two bounding boxes. 
<p>

</div>
</div><p>
<a class="anchor" name="63978c2df40aa66a9a556476729bf07a"></a><!-- doxytag: member="csBox2::operator+=" ref="63978c2df40aa66a9a556476729bf07a" args="(const csVector2 &amp;point)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsBox2.html">csBox2</a>&amp; csBox2::operator+=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector2.html">csVector2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>point</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Compute the union of a point with this bounding box. 
<p>

</div>
</div><p>
<a class="anchor" name="e3aedb99b2ca692c47ee8fbd893be8f3"></a><!-- doxytag: member="csBox2::operator+=" ref="e3aedb99b2ca692c47ee8fbd893be8f3" args="(const csBox2 &amp;box)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsBox2.html">csBox2</a>&amp; csBox2::operator+=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsBox2.html">csBox2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>box</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Compute the union of two bounding boxes. 
<p>

</div>
</div><p>
<a class="anchor" name="e2d522ca57877c46d0c5247683a42764"></a><!-- doxytag: member="csBox2::Overlap" ref="e2d522ca57877c46d0c5247683a42764" args="(const csBox2 &amp;box) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csBox2::Overlap           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsBox2.html">csBox2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>box</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Test if this box overlaps with the given box. 
<p>

<p>Definition at line <a class="el" href="box_8h-source.html#l00240">240</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

<p>References <a class="el" href="box_8h-source.html#l00116">maxbox</a>, <a class="el" href="box_8h-source.html#l00114">minbox</a>, <a class="el" href="vector2_8h-source.html#l00041">csVector2::x</a>, and <a class="el" href="vector2_8h-source.html#l00043">csVector2::y</a>.</p>

</div>
</div><p>
<a class="anchor" name="28658717968654d2bcff233ddce5b8f6"></a><!-- doxytag: member="csBox2::Set" ref="28658717968654d2bcff233ddce5b8f6" args="(float x1, float y1, float x2, float y2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csBox2::Set           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>x1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>y1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>x2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>y2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Sets the bounds of the box with the given values. 
<p>

<p>Definition at line <a class="el" href="box_8h-source.html#l00419">419</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="70fe6baa8ccbd1b4cf58f9069c5cdc46"></a><!-- doxytag: member="csBox2::Set" ref="70fe6baa8ccbd1b4cf58f9069c5cdc46" args="(const csVector2 &amp;bmin, const csVector2 &amp;bmax)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csBox2::Set           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector2.html">csVector2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>bmin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsVector2.html">csVector2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>bmax</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Sets the bounds of the box with the given values. 
<p>

<p>Definition at line <a class="el" href="box_8h-source.html#l00412">412</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="3053fbb9ae225f3f82361376765be5de"></a><!-- doxytag: member="csBox2::SetCenter" ref="3053fbb9ae225f3f82361376765be5de" args="(const csVector2 &amp;c)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csBox2::SetCenter           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector2.html">csVector2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>c</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the center of this box. 
<p>
This will not change the size of the box but just relocate the center. 
</div>
</div><p>
<a class="anchor" name="f8623398b562fc7090adc8a9d23a32f6"></a><!-- doxytag: member="csBox2::SetMax" ref="f8623398b562fc7090adc8a9d23a32f6" args="(int idx, float val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csBox2::SetMax           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>idx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set Max component for 0 (x) or 1 (y). 
<p>

<p>Definition at line <a class="el" href="box_8h-source.html#l00433">433</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="b69c8a2da728fe6d8174c8279e849124"></a><!-- doxytag: member="csBox2::SetMin" ref="b69c8a2da728fe6d8174c8279e849124" args="(int idx, float val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csBox2::SetMin           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>idx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set Min component for 0 (x) or 1 (y). 
<p>

<p>Definition at line <a class="el" href="box_8h-source.html#l00426">426</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="2527d41d7466c9c56d0ec1d541f79b4a"></a><!-- doxytag: member="csBox2::SetSize" ref="2527d41d7466c9c56d0ec1d541f79b4a" args="(const csVector2 &amp;s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csBox2::SetSize           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector2.html">csVector2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>s</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the size of the box but keep the center intact. 
<p>

</div>
</div><p>
<a class="anchor" name="9f92eb9bc9aef7535547c703cd957fcc"></a><!-- doxytag: member="csBox2::SquaredOriginDist" ref="9f92eb9bc9aef7535547c703cd957fcc" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float csBox2::SquaredOriginDist           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Calculate the squared distance between (0,0) and the box This routine is extremely efficient. 
<p>

</div>
</div><p>
<a class="anchor" name="a84ba7539d7940a02d177ba67df96bd5"></a><!-- doxytag: member="csBox2::SquaredOriginMaxDist" ref="a84ba7539d7940a02d177ba67df96bd5" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float csBox2::SquaredOriginMaxDist           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Calculate the squared distance between (0,0) and the point on the box which is furthest away from (0,0). 
<p>
This routine is extremely efficient. 
</div>
</div><p>
<a class="anchor" name="11638417e3033164b2d209f7b1b76a91"></a><!-- doxytag: member="csBox2::SquaredPosDist" ref="11638417e3033164b2d209f7b1b76a91" args="(const csVector2 &amp;pos) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float csBox2::SquaredPosDist           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector2.html">csVector2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>pos</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Calculate the squared distance between pos and the box This routine is extremely efficient. 
<p>

</div>
</div><p>
<a class="anchor" name="1425f1d279e6a67fb0b814899ed3feb3"></a><!-- doxytag: member="csBox2::SquaredPosMaxDist" ref="1425f1d279e6a67fb0b814899ed3feb3" args="(const csVector2 &amp;pos) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float csBox2::SquaredPosMaxDist           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector2.html">csVector2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>pos</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Calculate the squared distance between pos and the point on the box which is furthest away from pos. 
<p>
This routine is extremely efficient. 
</div>
</div><p>
<a class="anchor" name="ab3971efb0a2c246be7d31e38b567c35"></a><!-- doxytag: member="csBox2::StartBoundingBox" ref="ab3971efb0a2c246be7d31e38b567c35" args="(float x, float y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csBox2::StartBoundingBox           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Same but given some coordinates. 
<p>

<p>Definition at line <a class="el" href="box_8h-source.html#l00303">303</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

<p>References <a class="el" href="vector2_8h-source.html#l00041">csVector2::x</a>.</p>

</div>
</div><p>
<a class="anchor" name="a3d1f68b38442ff98899897252f3ac89"></a><!-- doxytag: member="csBox2::StartBoundingBox" ref="a3d1f68b38442ff98899897252f3ac89" args="(const csVector2 &amp;v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csBox2::StartBoundingBox           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector2.html">csVector2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Initialize this box to one vertex. 
<p>

<p>Definition at line <a class="el" href="box_8h-source.html#l00296">296</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="65223106f5a2917780888909c5059577"></a><!-- doxytag: member="csBox2::StartBoundingBox" ref="65223106f5a2917780888909c5059577" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csBox2::StartBoundingBox           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Initialize this box to empty. 
<p>

<p>Definition at line <a class="el" href="box_8h-source.html#l00289">289</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

<p>References <a class="el" href="box_8h-source.html#l00049">CS_BOUNDINGBOX_MAXVALUE</a>.</p>

</div>
</div><p>
<a class="anchor" name="888b68fd89965ac071406964f28fb6d7"></a><!-- doxytag: member="csBox2::TestIntersect" ref="888b68fd89965ac071406964f28fb6d7" args="(const csBox2 &amp;box) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csBox2::TestIntersect           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsBox2.html">csBox2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>box</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Test if the two boxes have an intersection. 
<p>

</div>
</div><p>
<hr><h2>Friends And Related Function Documentation</h2>
<a class="anchor" name="9ef0b8622986d1d9eae62dba3ddae6a0"></a><!-- doxytag: member="csBox2::operator *" ref="9ef0b8622986d1d9eae62dba3ddae6a0" args="(const csBox2 &amp;box1, const csBox2 &amp;box2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsBox2.html">csBox2</a> operator *           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsBox2.html">csBox2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>box1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsBox2.html">csBox2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>box2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Compute the intersection of two bounding boxes. 
<p>

</div>
</div><p>
<a class="anchor" name="f7b7f6ecc5a371cc0b2abc51d422d926"></a><!-- doxytag: member="csBox2::operator!=" ref="f7b7f6ecc5a371cc0b2abc51d422d926" args="(const csBox2 &amp;box1, const csBox2 &amp;box2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool operator!=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsBox2.html">csBox2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>box1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsBox2.html">csBox2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>box2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Tests if two bounding boxes are unequal. 
<p>

</div>
</div><p>
<a class="anchor" name="ce841ef009e707dcacabd88fa67e9a66"></a><!-- doxytag: member="csBox2::operator+" ref="ce841ef009e707dcacabd88fa67e9a66" args="(const csBox2 &amp;box, const csVector2 &amp;point)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsBox2.html">csBox2</a> operator+           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsBox2.html">csBox2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>box</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsVector2.html">csVector2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>point</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Compute the union of a bounding box and a point. 
<p>

</div>
</div><p>
<a class="anchor" name="fc3d6e0ec9365a9874750dd9d55a2488"></a><!-- doxytag: member="csBox2::operator+" ref="fc3d6e0ec9365a9874750dd9d55a2488" args="(const csBox2 &amp;box1, const csBox2 &amp;box2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsBox2.html">csBox2</a> operator+           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsBox2.html">csBox2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>box1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsBox2.html">csBox2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>box2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Compute the union of two bounding boxes. 
<p>

</div>
</div><p>
<a class="anchor" name="f47c97f4dce0e6623df2d20b123e32da"></a><!-- doxytag: member="csBox2::operator&lt;" ref="f47c97f4dce0e6623df2d20b123e32da" args="(const csVector2 &amp;point, const csBox2 &amp;box)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool operator&lt;           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector2.html">csVector2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>point</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsBox2.html">csBox2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>box</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Tests if a point is contained in a box. 
<p>

</div>
</div><p>
<a class="anchor" name="72d1a956a49e2e4ce58f6e79d983c134"></a><!-- doxytag: member="csBox2::operator&lt;" ref="72d1a956a49e2e4ce58f6e79d983c134" args="(const csBox2 &amp;box1, const csBox2 &amp;box2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool operator&lt;           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsBox2.html">csBox2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>box1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsBox2.html">csBox2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>box2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Tests if box1 is a subset of box2. 
<p>

</div>
</div><p>
<a class="anchor" name="9ec2a4f26b5e0f00f0e61d21e03ecdf5"></a><!-- doxytag: member="csBox2::operator==" ref="9ec2a4f26b5e0f00f0e61d21e03ecdf5" args="(const csBox2 &amp;box1, const csBox2 &amp;box2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool operator==           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsBox2.html">csBox2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>box1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsBox2.html">csBox2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>box2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Tests if two bounding boxes are equal. 
<p>

</div>
</div><p>
<a class="anchor" name="9412de11530ac6b13a62d10d1fe7a985"></a><!-- doxytag: member="csBox2::operator&gt;" ref="9412de11530ac6b13a62d10d1fe7a985" args="(const csBox2 &amp;box1, const csBox2 &amp;box2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool operator&gt;           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsBox2.html">csBox2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>box1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsBox2.html">csBox2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>box2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Tests if box1 is a superset of box2. 
<p>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="482fc16bd7c5a45ebd30d11e874cd2c3"></a><!-- doxytag: member="csBox2::maxbox" ref="482fc16bd7c5a45ebd30d11e874cd2c3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsVector2.html">csVector2</a> <a class="el" href="classcsBox2.html#482fc16bd7c5a45ebd30d11e874cd2c3">csBox2::maxbox</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The bottom-right coordinate of the bounding box. 
<p>

<p>Definition at line <a class="el" href="box_8h-source.html#l00116">116</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

<p>Referenced by <a class="el" href="box_8h-source.html#l00248">Contains()</a>, and <a class="el" href="box_8h-source.html#l00240">Overlap()</a>.</p>

</div>
</div><p>
<a class="anchor" name="65894f8736795b462a4d3f7f3e1d28bc"></a><!-- doxytag: member="csBox2::minbox" ref="65894f8736795b462a4d3f7f3e1d28bc" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsVector2.html">csVector2</a> <a class="el" href="classcsBox2.html#65894f8736795b462a4d3f7f3e1d28bc">csBox2::minbox</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The top-left coordinate of the bounding box. 
<p>

<p>Definition at line <a class="el" href="box_8h-source.html#l00114">114</a> of file <a class="el" href="box_8h-source.html">box.h</a>.</p>

<p>Referenced by <a class="el" href="box_8h-source.html#l00248">Contains()</a>, and <a class="el" href="box_8h-source.html#l00240">Overlap()</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li>csgeom/<a class="el" href="box_8h-source.html">box.h</a></ul>
<hr size="1"><address><small>Generated for Crystal Space 1.2.1 by 
<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.3 
</small></address> </div></body> </html>