Sophie

Sophie

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

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: Geometry utilities (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><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>
<h1>Geometry utilities</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceCS.html">CS</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Main namespace for CrystalSpace. <br></td></tr>

<p>
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceCS.html">CS</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Main namespace for CrystalSpace. <br></td></tr>

<p>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2.html">csBox2</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A bounding box in 2D space.  <a href="classcsBox2.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox2Int.html">csBox2Int</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A 2D bounding box with integer coordinates.  <a href="classcsBox2Int.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBox3.html">csBox3</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A bounding box in 3D space.  <a href="classcsBox3.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBoxClipper.html">csBoxClipper</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The <a class="el" href="classcsBoxClipper.html" title="The csBoxClipper class is able to clip convex polygons to a rectangle (such as the...">csBoxClipper</a> class is able to clip convex polygons to a rectangle (such as the screen).  <a href="classcsBoxClipper.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBSpline.html">csBSpline</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A B-spline.  <a href="classcsBSpline.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsBSPTree.html">csBSPTree</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This BSP-tree is a binary tree that organizes a triangle mesh.  <a href="classcsBSPTree.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsCatmullRomSpline.html">csCatmullRomSpline</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A CatmullRom spline.  <a href="classcsCatmullRomSpline.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsChainHull2D.html">csChainHull2D</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is Andrew's monotone chain 2D convex hull algorithm.  <a href="classcsChainHull2D.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcsClipInfo.html">csClipInfo</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Structure for use with ClipToPlane.  <a href="structcsClipInfo.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsClipper.html">csClipper</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The <a class="el" href="classcsClipper.html" title="The csClipper class is an abstract parent to all 2D clipping objects.">csClipper</a> class is an abstract parent to all 2D clipping objects.  <a href="classcsClipper.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcsCompressVertex.html">csCompressVertex</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This structure is used by <a class="el" href="classcsVector3Array.html#7d2bc04a153d216e452a5603434f0edb" title="Compress an array of vertices (i.e.">csVector3Array::CompressVertices()</a>.  <a href="structcsCompressVertex.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsCoverageTile.html">csCoverageTile</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Coverage tile.  <a href="classcsCoverageTile.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsCubicSpline.html">csCubicSpline</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A cubic spline.  <a href="classcsCubicSpline.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDIntersect3.html">csDIntersect3</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Some functions to perform various intersection calculations with 3D line segments.  <a href="classcsDIntersect3.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDMath3.html">csDMath3</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Various assorted 3D mathematical functions.  <a href="classcsDMath3.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDMatrix3.html">csDMatrix3</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A 3x3 matrix.  <a href="classcsDMatrix3.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDPlane.html">csDPlane</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A plane in 3D space.  <a href="classcsDPlane.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDSquaredDist.html">csDSquaredDist</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Some functions to perform squared distance calculations.  <a href="classcsDSquaredDist.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html">csDVector3</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A 3D vector.  <a href="classcsDVector3.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsEllipsoid.html">csEllipsoid</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This class represents an ellipsoid.  <a href="classcsEllipsoid.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsFixed16.html">csFixed16</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Encapsulation of a 16.16 fixed-point number.  <a href="classcsFixed16.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsFixed24.html">csFixed24</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Encapsulation of a 8.24 fixed-point number.  <a href="classcsFixed24.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsFrustum.html">csFrustum</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A general frustum.  <a href="classcsFrustum.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGeomDebugHelper.html">csGeomDebugHelper</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is a class that does unit testing (and other debug stuff) for most of csgeom classes.  <a href="classcsGeomDebugHelper.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsIntersect2.html">csIntersect2</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Some functions to perform various intersection calculations with 2D line segments.  <a href="classcsIntersect2.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsIntersect3.html">csIntersect3</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Some functions to perform various intersection calculations with 3D line segments.  <a href="classcsIntersect3.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsKDTree.html">csKDTree</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A KD-tree.  <a href="classcsKDTree.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsKDTreeChild.html">csKDTreeChild</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A child in the KD-tree (usually some object).  <a href="classcsKDTreeChild.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcsLineOperation.html">csLineOperation</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsMath2.html">csMath2</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Various functions in 2D, such as 2D vector functions.  <a href="classcsMath2.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsMath3.html">csMath3</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Various assorted 3D mathematical functions.  <a href="classcsMath3.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsMatrix2.html">csMatrix2</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A 2x2 matrix.  <a href="classcsMatrix2.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsMatrix3.html">csMatrix3</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A 3x3 matrix.  <a href="classcsMatrix3.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcsMeshedPolygon.html">csMeshedPolygon</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A polygon.  <a href="structcsMeshedPolygon.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsOBB.html">csOBB</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Oriented bounding box (OBB).  <a href="classcsOBB.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsOBBFrozen.html">csOBBFrozen</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Version of the <a class="el" href="classcsOBB.html" title="Oriented bounding box (OBB).">csOBB</a> with frozen corners (for optimization purposes).  <a href="classcsOBBFrozen.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsObjectModel.html">csObjectModel</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Helper class to make it easier to implement <a class="el" href="structiObjectModel.html" title="This interface represents data related to some geometry in object space.">iObjectModel</a> in mesh objects.  <a href="classcsObjectModel.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsOrthoTransform.html">csOrthoTransform</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A class which defines a reversible transformation from one coordinate system to another by maintaining an inverse transformation matrix.  <a href="classcsOrthoTransform.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPath.html">csPath</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A path in 3D.  <a href="classcsPath.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPlane2.html">csPlane2</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A plane in 2D space.  <a href="classcsPlane2.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPlane3.html">csPlane3</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A plane in 3D space.  <a href="classcsPlane3.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPoly2D.html">csPoly2D</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The following class represents a general 2D polygon.  <a href="classcsPoly2D.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPoly2DFactory.html">csPoly2DFactory</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This factory is responsible for creating <a class="el" href="classcsPoly2D.html" title="The following class represents a general 2D polygon.">csPoly2D</a> objects or subclasses of <a class="el" href="classcsPoly2D.html" title="The following class represents a general 2D polygon.">csPoly2D</a>.  <a href="classcsPoly2DFactory.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPoly2DPool.html">csPoly2DPool</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an object pool which holds objects of type <a class="el" href="classcsPoly2D.html" title="The following class represents a general 2D polygon.">csPoly2D</a>.  <a href="classcsPoly2DPool.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPoly3D.html">csPoly3D</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The following class represents a general 3D polygon.  <a href="classcsPoly3D.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPolygonClipper.html">csPolygonClipper</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The <a class="el" href="classcsPolygonClipper.html" title="The csPolygonClipper class can be used for clipping any polygon against any other...">csPolygonClipper</a> class can be used for clipping any polygon against any other convex polygon.  <a href="classcsPolygonClipper.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPolygonMesh.html">csPolygonMesh</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A convenience polygon mesh implementation that you can feed with vertices and polygons from another source.  <a href="classcsPolygonMesh.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPolygonMeshBox.html">csPolygonMeshBox</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A convenience polygon mesh implementation that represents a cube.  <a href="classcsPolygonMeshBox.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcsPolygonMeshEdge.html">csPolygonMeshEdge</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A definition of one edge.  <a href="structcsPolygonMeshEdge.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPolygonMeshTools.html">csPolygonMeshTools</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A set of tools to work with <a class="el" href="structiPolygonMesh.html" title="This interface reprents a mesh of polygons.">iPolygonMesh</a> instances.  <a href="classcsPolygonMeshTools.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPolyIndexed.html">csPolyIndexed</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The following class represents a general polygon.  <a href="classcsPolyIndexed.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsQuaternion.html">csQuaternion</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class for a quaternion.  <a href="classcsQuaternion.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html">csRect</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Rectangle class: simple class for manipulating 2D rectangles.  <a href="classcsRect.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRectRegion.html">csRectRegion</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A rect region is a class that implements splittable 2d rectangles.  <a href="classcsRectRegion.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsReversibleTransform.html">csReversibleTransform</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A class which defines a reversible transformation from one coordinate system to another by maintaining an inverse transformation matrix.  <a href="classcsReversibleTransform.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsSegment2.html">csSegment2</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A 2D line segment.  <a href="classcsSegment2.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsSegment3.html">csSegment3</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A 3D line segment.  <a href="classcsSegment3.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsSolidSpace.html">csSolidSpace</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This structure keeps track of solid space.  <a href="classcsSolidSpace.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsSphere.html">csSphere</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This class represents a sphere.  <a href="classcsSphere.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsSpline.html">csSpline</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A spline superclass.  <a href="classcsSpline.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsSquaredDist.html">csSquaredDist</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Some functions to perform squared distance calculations.  <a href="classcsSquaredDist.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcsTestRectData.html">csTestRectData</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A structure used by TestRectangle() and initialized by PrepareTestRectangle().  <a href="structcsTestRectData.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsTextureTrans.html">csTextureTrans</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is a static class which encapsulates a few functions that can transform texture information into a texture matrix/vector.  <a href="classcsTextureTrans.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsTiledCoverageBuffer.html">csTiledCoverageBuffer</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The tiled coverage Buffer.  <a href="classcsTiledCoverageBuffer.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsTransform.html">csTransform</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A class which defines a transformation from one coordinate system to another.  <a href="classcsTransform.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcsTriangle.html">csTriangle</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A triangle.  <a href="structcsTriangle.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsTriangleLODAlgo.html">csTriangleLODAlgo</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Algorithm class that calculates the cost of a vertex.  <a href="classcsTriangleLODAlgo.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsTriangleLODAlgoEdge.html">csTriangleLODAlgoEdge</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This subclass of <a class="el" href="classcsTriangleLODAlgo.html" title="Algorithm class that calculates the cost of a vertex.">csTriangleLODAlgo</a> uses a very simple cost metric to calculate the vertex cost.  <a href="classcsTriangleLODAlgoEdge.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsTriangleMesh.html">csTriangleMesh</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A mesh of triangles.  <a href="classcsTriangleMesh.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsTriangleMeshBox.html">csTriangleMeshBox</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A convenience triangle mesh implementation that represents a cube.  <a href="classcsTriangleMeshBox.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcsTriangleMeshEdge.html">csTriangleMeshEdge</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A definition of one edge.  <a href="structcsTriangleMeshEdge.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsTriangleMeshLOD.html">csTriangleMeshLOD</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A static class which performs the calculation of the best order to do the collapsing of a triangle mesh.  <a href="classcsTriangleMeshLOD.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsTriangleMeshPointer.html">csTriangleMeshPointer</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A convenience triangle mesh which takes vertex and triangle pointers from another source.  <a href="classcsTriangleMeshPointer.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsTriangleMeshPolyMesh.html">csTriangleMeshPolyMesh</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This triangle mesh is a temporary class that takes a polygon mesh and wraps it so that it becomes a triangle mesh.  <a href="classcsTriangleMeshPolyMesh.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsTriangleMeshTools.html">csTriangleMeshTools</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A set of tools to work with <a class="el" href="structiTriangleMesh.html" title="This interface reprents a mesh of triangles.">iTriangleMesh</a> instances.  <a href="classcsTriangleMeshTools.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcsTriangleMinMax.html">csTriangleMinMax</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A triangle with minimum/maximum information on x.  <a href="structcsTriangleMinMax.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsTriangleVertex.html">csTriangleVertex</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The representation of a vertex in a triangle mesh.  <a href="classcsTriangleVertex.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsTriangleVertexCost.html">csTriangleVertexCost</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The representation of a vertex in a triangle mesh.  <a href="classcsTriangleVertexCost.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsTriangleVertices.html">csTriangleVertices</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A class which holds vertices and connectivity information for a triangle mesh.  <a href="classcsTriangleVertices.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsTriangleVerticesCost.html">csTriangleVerticesCost</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A class which holds vertices and connectivity information for a triangle mesh.  <a href="classcsTriangleVerticesCost.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsTriangleVerticesSorted.html">csTriangleVerticesSorted</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This class works closely with <a class="el" href="classcsTriangleVerticesCost.html" title="A class which holds vertices and connectivity information for a triangle mesh.">csTriangleVerticesCost</a> and maintains a sorted (on cost) view of the vertices.  <a href="classcsTriangleVerticesSorted.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsVector2.html">csVector2</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A 2D vector.  <a href="classcsVector2.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsVector3.html">csVector3</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A 3D vector.  <a href="classcsVector3.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsVector3Array.html">csVector3Array</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is actually the same class as <a class="el" href="classcsPoly3D.html" title="The following class represents a general 3D polygon.">csPoly3D</a>.  <a href="classcsVector3Array.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsVector4.html">csVector4</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A 4D vector with "float" components.  <a href="classcsVector4.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsVector4T.html">csVector4T&lt; T &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A 4D vector with variable type components.  <a href="classcsVector4T.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcsVertexStatus.html">csVertexStatus</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The clipper can output additional information about each vertex in output polygon.  <a href="structcsVertexStatus.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsXRotMatrix3.html">csXRotMatrix3</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An instance of <a class="el" href="classcsMatrix3.html" title="A 3x3 matrix.">csMatrix3</a> that is initialized as a rotation about X.  <a href="classcsXRotMatrix3.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsXScaleMatrix3.html">csXScaleMatrix3</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An instance of <a class="el" href="classcsMatrix3.html" title="A 3x3 matrix.">csMatrix3</a> that is initialized to scale the X dimension.  <a href="classcsXScaleMatrix3.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsYRotMatrix3.html">csYRotMatrix3</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An instance of <a class="el" href="classcsMatrix3.html" title="A 3x3 matrix.">csMatrix3</a> that is initialized as a rotation about Y.  <a href="classcsYRotMatrix3.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsYScaleMatrix3.html">csYScaleMatrix3</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An instance of <a class="el" href="classcsMatrix3.html" title="A 3x3 matrix.">csMatrix3</a> that is initialized to scale the Y dimension.  <a href="classcsYScaleMatrix3.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsZRotMatrix3.html">csZRotMatrix3</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An instance of <a class="el" href="classcsMatrix3.html" title="A 3x3 matrix.">csMatrix3</a> that is initialized as a rotation about Z.  <a href="classcsZRotMatrix3.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsZScaleMatrix3.html">csZScaleMatrix3</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An instance of <a class="el" href="classcsMatrix3.html" title="A 3x3 matrix.">csMatrix3</a> that is initialized to scale the Z dimension.  <a href="classcsZScaleMatrix3.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiClipper2D.html">iClipper2D</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This interfaces represents a 2D clipper for polygons.  <a href="structiClipper2D.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiDecal.html">iDecal</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A decal created by the decal manager.  <a href="structiDecal.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiDecalBuilder.html">iDecalBuilder</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Interface for mesh objects to use to build decals for their mesh object.  <a href="structiDecalBuilder.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiDecalManager.html">iDecalManager</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates and manages decals.  <a href="structiDecalManager.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiDecalTemplate.html">iDecalTemplate</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Interface for a decal template which dictates the appearance of a newly created decal.  <a href="structiDecalTemplate.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiKDTreeObjectDescriptor.html">iKDTreeObjectDescriptor</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If you implement this interface then you can give that to the KDtree.  <a href="structiKDTreeObjectDescriptor.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiKDTreeUserData.html">iKDTreeUserData</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The data type for user data to be attached to the KDTree.  <a href="structiKDTreeUserData.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiObjectModel.html">iObjectModel</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This interface represents data related to some geometry in object space.  <a href="structiObjectModel.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiObjectModelListener.html">iObjectModelListener</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Implement this class if you're interested in hearing about when the object model changes.  <a href="structiObjectModelListener.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiPath.html">iPath</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A path in 3D.  <a href="structiPath.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiPolygonMesh.html">iPolygonMesh</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This interface reprents a mesh of polygons.  <a href="structiPolygonMesh.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiTriangleMesh.html">iTriangleMesh</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This interface reprents a mesh of triangles.  <a href="structiTriangleMesh.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiTriangleMeshIterator.html">iTriangleMeshIterator</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Iterator to iterate over all data mesh ID's in an object model.  <a href="structiTriangleMeshIterator.html#_details">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Corner indices</h2></td></tr>
<tr><td colspan="2">For <a class="el" href="classcsBox2.html#bab16fdf3533f20f0d8a210ae6195f0f" title="Return every corner of this bounding box from 0 to 3.">csBox2::GetCorner()</a>. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
&nbsp;&nbsp;<a class="el" href="group__geom__utils.html#gg06fc87d81c62e9abb8790b6e5713c55b86d75fcdcc57f10b7e00afa9571b2d56">CS_BOX_CORNER_xy</a> =  0, 
<a class="el" href="group__geom__utils.html#gg06fc87d81c62e9abb8790b6e5713c55baa41ac3e362d3bab01aadf9aa6e89ed3">CS_BOX_CORNER_xY</a> =  1, 
<a class="el" href="group__geom__utils.html#gg06fc87d81c62e9abb8790b6e5713c55b66981a2c120c408cd6a662687e809536">CS_BOX_CORNER_Xy</a> =  2, 
<a class="el" href="group__geom__utils.html#gg06fc87d81c62e9abb8790b6e5713c55b22189c053382e35184dbc0d0c4056c49">CS_BOX_CORNER_XY</a> =  3, 
<br>
&nbsp;&nbsp;<a class="el" href="group__geom__utils.html#gg06fc87d81c62e9abb8790b6e5713c55b26daf5755b88f571d2f8b44b8a4eb1f2">CS_BOX_CENTER2</a> =  4
<br>
 }</td></tr>

<tr><td colspan="2"><br><h2>Indices of edges for csBox2.</h2></td></tr>
<tr><td colspan="2">Index e+1 is opposite edge of e (with e even). <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
&nbsp;&nbsp;<a class="el" href="group__geom__utils.html#ggdf764cbdea00d65edcd07bb9953ad2b7b42077b10139d5a537a31773f9d82116">CS_BOX_EDGE_xy_Xy</a> =  0, 
<a class="el" href="group__geom__utils.html#ggdf764cbdea00d65edcd07bb9953ad2b7e9cda4d3571c9e32d2aba7e4e36255b8">CS_BOX_EDGE_Xy_xy</a> =  1, 
<a class="el" href="group__geom__utils.html#ggdf764cbdea00d65edcd07bb9953ad2b7d9e23645086f99891c4ca5eccba117a1">CS_BOX_EDGE_Xy_XY</a> =  2, 
<a class="el" href="group__geom__utils.html#ggdf764cbdea00d65edcd07bb9953ad2b76e0c54f9e09d052f5da9c4d157720922">CS_BOX_EDGE_XY_Xy</a> =  3, 
<br>
&nbsp;&nbsp;<a class="el" href="group__geom__utils.html#ggdf764cbdea00d65edcd07bb9953ad2b7def3cca359637bed9cbd0240ffd2051d">CS_BOX_EDGE_XY_xY</a> =  4, 
<a class="el" href="group__geom__utils.html#ggdf764cbdea00d65edcd07bb9953ad2b70f820cda4b14b108a4a8eea2f04a399a">CS_BOX_EDGE_xY_XY</a> =  5, 
<a class="el" href="group__geom__utils.html#ggdf764cbdea00d65edcd07bb9953ad2b7703caeef06bfab521bdb139104d80154">CS_BOX_EDGE_xY_xy</a> =  6, 
<a class="el" href="group__geom__utils.html#ggdf764cbdea00d65edcd07bb9953ad2b7675911addea7e87c3a8c8d7dff2ccb98">CS_BOX_EDGE_xy_xY</a> =  7
<br>
 }</td></tr>

<tr><td colspan="2"><br><h2>Indices of corner vertices for csBox3.</h2></td></tr>
<tr><td colspan="2">Used by <a class="el" href="classcsBox3.html#414acf5fe1fee22d056e65fd0aa89fd8" title="Return every corner of this bounding box from 0 to 7.">csBox3::GetCorner()</a>. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
&nbsp;&nbsp;<a class="el" href="group__geom__utils.html#gg99fb83031ce9923c84392b4e92f956b589d329160331dbc52961462fa640e016">CS_BOX_CORNER_xyz</a> =  0, 
<a class="el" href="group__geom__utils.html#gg99fb83031ce9923c84392b4e92f956b50adf66ef9191dbadc5ff14a6bad51070">CS_BOX_CORNER_xyZ</a> =  1, 
<a class="el" href="group__geom__utils.html#gg99fb83031ce9923c84392b4e92f956b5ce4d8a92c8104f1f48452cb3d312d47c">CS_BOX_CORNER_xYz</a> =  2, 
<a class="el" href="group__geom__utils.html#gg99fb83031ce9923c84392b4e92f956b5cf591c4f61dc416d2f12e53caa0fc804">CS_BOX_CORNER_xYZ</a> =  3, 
<br>
&nbsp;&nbsp;<a class="el" href="group__geom__utils.html#gg99fb83031ce9923c84392b4e92f956b5d13ea13c11becbf554b5ae66e58faa24">CS_BOX_CORNER_Xyz</a> =  4, 
<a class="el" href="group__geom__utils.html#gg99fb83031ce9923c84392b4e92f956b5764db01cad89323ece3563d24b822a9a">CS_BOX_CORNER_XyZ</a> =  5, 
<a class="el" href="group__geom__utils.html#gg99fb83031ce9923c84392b4e92f956b52b8f79719b79e9a75f8284feb3cafdf5">CS_BOX_CORNER_XYz</a> =  6, 
<a class="el" href="group__geom__utils.html#gg99fb83031ce9923c84392b4e92f956b59249f548cf717ea61e140681e58aeac5">CS_BOX_CORNER_XYZ</a> =  7, 
<br>
&nbsp;&nbsp;<a class="el" href="group__geom__utils.html#gg99fb83031ce9923c84392b4e92f956b58240f71d83e88f58c9c7da2a583e3c03">CS_BOX_CENTER3</a> =  8
<br>
 }</td></tr>

<tr><td colspan="2"><br><h2>Indices of faces for csBox3.</h2></td></tr>
<tr><td colspan="2">Used by <a class="el" href="classcsBox3.html#8c7d43af0ac4126c7ece33a794c8323f" title="Get a side of this box as a 2D box.">csBox3::GetSide()</a>. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
&nbsp;&nbsp;<a class="el" href="group__geom__utils.html#ggbc6126af1d45847bc59afa0aa3216b04bf5848df27bb69f664cbd291d39420ee">CS_BOX_SIDE_x</a> =  0, 
<a class="el" href="group__geom__utils.html#ggbc6126af1d45847bc59afa0aa3216b0445dd9cccdf41c83a927d6407db8d896d">CS_BOX_SIDE_X</a> =  1, 
<a class="el" href="group__geom__utils.html#ggbc6126af1d45847bc59afa0aa3216b046a332bf491cf4c6d41382d86e048b2af">CS_BOX_SIDE_y</a> =  2, 
<a class="el" href="group__geom__utils.html#ggbc6126af1d45847bc59afa0aa3216b04609482712abd0e66fdc499c79446e436">CS_BOX_SIDE_Y</a> =  3, 
<br>
&nbsp;&nbsp;<a class="el" href="group__geom__utils.html#ggbc6126af1d45847bc59afa0aa3216b04d7e05664a7c62642086c8208312f7e0f">CS_BOX_SIDE_z</a> =  4, 
<a class="el" href="group__geom__utils.html#ggbc6126af1d45847bc59afa0aa3216b047406d4fc7aaf58e925da20fa75e958c7">CS_BOX_SIDE_Z</a> =  5, 
<a class="el" href="group__geom__utils.html#ggbc6126af1d45847bc59afa0aa3216b043f565d480903f9a9037e5a4f557ac32d">CS_BOX_INSIDE</a> =  6
<br>
 }</td></tr>

<tr><td colspan="2"><br><h2>Indices of edges for csBox3.</h2></td></tr>
<tr><td colspan="2">Index e+1 is opposite edge of e (with e even). <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
&nbsp;&nbsp;<a class="el" href="group__geom__utils.html#ggdc29c2ff13d900c2f185ee95427fb06c28c05175d3a2a4c149f796f4c6f64b0f">CS_BOX_EDGE_Xyz_xyz</a> =  0, 
<a class="el" href="group__geom__utils.html#ggdc29c2ff13d900c2f185ee95427fb06cf1b6f3bca9b6f462f95b3ee037ea45b9">CS_BOX_EDGE_xyz_Xyz</a> =  1, 
<a class="el" href="group__geom__utils.html#ggdc29c2ff13d900c2f185ee95427fb06cab03491e2bc4107e684f35213bcbcd61">CS_BOX_EDGE_xyz_xYz</a> =  2, 
<a class="el" href="group__geom__utils.html#ggdc29c2ff13d900c2f185ee95427fb06c66b26777890e8aa3a1548c43b8db5e6a">CS_BOX_EDGE_xYz_xyz</a> =  3, 
<br>
&nbsp;&nbsp;<a class="el" href="group__geom__utils.html#ggdc29c2ff13d900c2f185ee95427fb06c0287c5a744c7f5f969f704b7417918e0">CS_BOX_EDGE_xYz_XYz</a> =  4, 
<a class="el" href="group__geom__utils.html#ggdc29c2ff13d900c2f185ee95427fb06cfd27ca2b7840189a4e65b6574f1dfae8">CS_BOX_EDGE_XYz_xYz</a> =  5, 
<a class="el" href="group__geom__utils.html#ggdc29c2ff13d900c2f185ee95427fb06c335c45578982e7a26b9d26f4fb0273fc">CS_BOX_EDGE_XYz_Xyz</a> =  6, 
<a class="el" href="group__geom__utils.html#ggdc29c2ff13d900c2f185ee95427fb06c26ef6a1c17df15e763df523ca4d6092a">CS_BOX_EDGE_Xyz_XYz</a> =  7, 
<br>
&nbsp;&nbsp;<a class="el" href="group__geom__utils.html#ggdc29c2ff13d900c2f185ee95427fb06c8364a7525248aaa39bf3754f87ab0e6e">CS_BOX_EDGE_Xyz_XyZ</a> =  8, 
<a class="el" href="group__geom__utils.html#ggdc29c2ff13d900c2f185ee95427fb06c7beb6b0163fcf275a4b4f9e898e17ec6">CS_BOX_EDGE_XyZ_Xyz</a> =  9, 
<a class="el" href="group__geom__utils.html#ggdc29c2ff13d900c2f185ee95427fb06c1e9f896d12d1a99e0c222045a11d6911">CS_BOX_EDGE_XyZ_XYZ</a> =  10, 
<a class="el" href="group__geom__utils.html#ggdc29c2ff13d900c2f185ee95427fb06ce3504080e396e00052243b9c0dc3c8c1">CS_BOX_EDGE_XYZ_XyZ</a> =  11, 
<br>
&nbsp;&nbsp;<a class="el" href="group__geom__utils.html#ggdc29c2ff13d900c2f185ee95427fb06cab569a7997e86dd33ba8636830a2d46f">CS_BOX_EDGE_XYZ_XYz</a> =  12, 
<a class="el" href="group__geom__utils.html#ggdc29c2ff13d900c2f185ee95427fb06c52ad8f1f084dbdedfcf455b97b237945">CS_BOX_EDGE_XYz_XYZ</a> =  13, 
<a class="el" href="group__geom__utils.html#ggdc29c2ff13d900c2f185ee95427fb06cfba0050e6b406ec4837ca5ecb876cac2">CS_BOX_EDGE_XYZ_xYZ</a> =  14, 
<a class="el" href="group__geom__utils.html#ggdc29c2ff13d900c2f185ee95427fb06c70555ffeea5abe887d7c2b11d52a3fe2">CS_BOX_EDGE_xYZ_XYZ</a> =  15, 
<br>
&nbsp;&nbsp;<a class="el" href="group__geom__utils.html#ggdc29c2ff13d900c2f185ee95427fb06c43b1277678de6c48152cfd869f6a52e2">CS_BOX_EDGE_xYZ_xYz</a> =  16, 
<a class="el" href="group__geom__utils.html#ggdc29c2ff13d900c2f185ee95427fb06c98abe1d1ea24fd6e0e79e71997c48029">CS_BOX_EDGE_xYz_xYZ</a> =  17, 
<a class="el" href="group__geom__utils.html#ggdc29c2ff13d900c2f185ee95427fb06c7d2b31db7d0e7f15105194030fed4a23">CS_BOX_EDGE_xYZ_xyZ</a> =  18, 
<a class="el" href="group__geom__utils.html#ggdc29c2ff13d900c2f185ee95427fb06cd023f48dcdce21774666352abed6b56b">CS_BOX_EDGE_xyZ_xYZ</a> =  19, 
<br>
&nbsp;&nbsp;<a class="el" href="group__geom__utils.html#ggdc29c2ff13d900c2f185ee95427fb06caea4a1129a5c51aae234283ce02df056">CS_BOX_EDGE_xyZ_xyz</a> =  20, 
<a class="el" href="group__geom__utils.html#ggdc29c2ff13d900c2f185ee95427fb06c80fb3e69e2048893619b1d79d1af1f31">CS_BOX_EDGE_xyz_xyZ</a> =  21, 
<a class="el" href="group__geom__utils.html#ggdc29c2ff13d900c2f185ee95427fb06c6e42bf64feb368b283b43cd588c81007">CS_BOX_EDGE_xyZ_XyZ</a> =  22, 
<a class="el" href="group__geom__utils.html#ggdc29c2ff13d900c2f185ee95427fb06cd7607d9544acab7162ea123acc6fb711">CS_BOX_EDGE_XyZ_xyZ</a> =  23
<br>
 }</td></tr>

<tr><td colspan="2"><br><h2>Polygon-to-Frustum relations</h2></td></tr>
<tr><td colspan="2">Return values for <a class="el" href="classcsFrustum.html#bd1c1848d479476ba2fee62fa78d247e" title="Check if a polygon intersects with the frustum (i.e.">csFrustum::Classify</a>.<p>
The routine makes a difference whenever a polygon is fully outside the frustum, fully inside, fully covers the frustum or is partly inside, partly outside. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group__geom__utils.html#gg61dadd085c1777f559549e05962b2c9e94cc72a1a3f8f76be34890b8b685f382">CS_FRUST_OUTSIDE</a> =  0, 
<a class="el" href="group__geom__utils.html#gg61dadd085c1777f559549e05962b2c9e5d55e08138192c764d87aec4cb6fd8e2">CS_FRUST_INSIDE</a> =  1, 
<a class="el" href="group__geom__utils.html#gg61dadd085c1777f559549e05962b2c9eda01f0cc2cf09d08a4cc49d8ec31e208">CS_FRUST_COVERED</a> =  2, 
<a class="el" href="group__geom__utils.html#gg61dadd085c1777f559549e05962b2c9e29a0b767ce5e46c8d3c8150713ed7dc8">CS_FRUST_PARTIAL</a> =  3
 }</td></tr>

<tr><td colspan="2"><br><h2>Clipper return codes</h2></td></tr>
<tr><td colspan="2">The clipper routines return one of <code><a class="el" href="group__geom__utils.html#gg109bfaad92bd6d348dab484aec11edbb327d20023b6a973b24df4878ac1ca2a9" title="The input polygon is completely outside of clipper polygon.">CS_CLIP_OUTSIDE</a></code>, <code><a class="el" href="group__geom__utils.html#gg109bfaad92bd6d348dab484aec11edbb75e75d608a45eea6c9fda90b04aeefbd" title="The input polygon is completely inside (thus has not changed).">CS_CLIP_INSIDE</a></code>, <code><a class="el" href="group__geom__utils.html#gg109bfaad92bd6d348dab484aec11edbb5545e595302e89c3de51ec06a09ad73f" title="The input polygon was partially inside, partially outside.">CS_CLIP_CLIPPED</a></code> so that we can distinguish between the cases when input polygon is completely outside the clipping polygon (thus it is not visible), completely inside the clipping polygon (thus it has not changed) and partially outside, partially inside (thus it was clipped). <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group__geom__utils.html#gg109bfaad92bd6d348dab484aec11edbb327d20023b6a973b24df4878ac1ca2a9">CS_CLIP_OUTSIDE</a> =  0, 
<a class="el" href="group__geom__utils.html#gg109bfaad92bd6d348dab484aec11edbb5545e595302e89c3de51ec06a09ad73f">CS_CLIP_CLIPPED</a> =  1, 
<a class="el" href="group__geom__utils.html#gg109bfaad92bd6d348dab484aec11edbb75e75d608a45eea6c9fda90b04aeefbd">CS_CLIP_INSIDE</a> =  2
 }</td></tr>

<tr><td colspan="2"><br><h2>Additional vertex informations</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group__geom__utils.html#gg550cb4231d535863c55643bbd2d3c6bab2c5f01a5c75c95a126f9352fecc63db">CS_VERTEX_ORIGINAL</a> =  0, 
<a class="el" href="group__geom__utils.html#gg550cb4231d535863c55643bbd2d3c6ba5648edc14e0bc979178d7f7cf4ad76d5">CS_VERTEX_ONEDGE</a> =  1, 
<a class="el" href="group__geom__utils.html#gg550cb4231d535863c55643bbd2d3c6ba38ad988c5e359fec3a8328c9965a691c">CS_VERTEX_INSIDE</a> =  2
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clipped vertex type.  <a href="group__geom__utils.html#g550cb4231d535863c55643bbd2d3c6ba">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Flags for iPolygonMesh</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
&nbsp;&nbsp;<a class="el" href="group__geom__utils.html#gg83e8bc15645f9d99ab91a152bb3dc8ce8e9aae34250cfee0c5bbdeee9c6737b8">CS_POLYMESH_CLOSED</a> =  1, 
<a class="el" href="group__geom__utils.html#gg83e8bc15645f9d99ab91a152bb3dc8cecf23a303139282162f48575477c27770">CS_POLYMESH_NOTCLOSED</a> =  2, 
<a class="el" href="group__geom__utils.html#gg83e8bc15645f9d99ab91a152bb3dc8ce40a5b15272940f6cbc9ca9581f3ed3ce">CS_POLYMESH_CONVEX</a> =  4, 
<a class="el" href="group__geom__utils.html#gg83e8bc15645f9d99ab91a152bb3dc8ced3c40a299420fbebed6542e771a7ded4">CS_POLYMESH_NOTCONVEX</a> =  8, 
<br>
&nbsp;&nbsp;<a class="el" href="group__geom__utils.html#gg83e8bc15645f9d99ab91a152bb3dc8ce3f90c752cbb5be9e8ef4871380eaab50">CS_POLYMESH_DEFORMABLE</a> =  16, 
<a class="el" href="group__geom__utils.html#gg83e8bc15645f9d99ab91a152bb3dc8cedc8fef75d8bcac18d711d1bafb503138">CS_POLYMESH_TRIANGLEMESH</a> =  32
<br>
 }</td></tr>

<tr><td colspan="2"><br><h2>Flags for iTriangleMesh</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
&nbsp;&nbsp;<a class="el" href="group__geom__utils.html#gg68c01102755fc7d1c810bb0b0635fa90e79eee97416d39f451607fc2c94b01dc">CS_TRIMESH_CLOSED</a> =  1, 
<a class="el" href="group__geom__utils.html#gg68c01102755fc7d1c810bb0b0635fa9003fce5c7db65c3182ec683ff006698a3">CS_TRIMESH_NOTCLOSED</a> =  2, 
<a class="el" href="group__geom__utils.html#gg68c01102755fc7d1c810bb0b0635fa90eb9ea0bd96761361e39a61c17d65a256">CS_TRIMESH_CONVEX</a> =  4, 
<a class="el" href="group__geom__utils.html#gg68c01102755fc7d1c810bb0b0635fa903d71f9603c9ea6f85b041230d365c984">CS_TRIMESH_NOTCONVEX</a> =  8, 
<br>
&nbsp;&nbsp;<a class="el" href="group__geom__utils.html#gg68c01102755fc7d1c810bb0b0635fa909c5cd7efda84b38e2bdc0089c8ef74ef">CS_TRIMESH_DEFORMABLE</a> =  16
<br>
 }</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geom__utils.html#gb84e24b220cd40059738cc8aea20ea18">csFinite</a> (double d)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks if a double-precision floating point value is finite.  <a href="#gb84e24b220cd40059738cc8aea20ea18"></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="group__geom__utils.html#ge589d6b05b27636b5c3d5d2ecc7af508">csFinite</a> (float f)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks if a floating point value is finite.  <a href="#ge589d6b05b27636b5c3d5d2ecc7af508"></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="group__geom__utils.html#ga452ffc07132608369d7b1f941638325">csNaN</a> (double d)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks if a double-precision floating point value is not-a-number.  <a href="#ga452ffc07132608369d7b1f941638325"></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="group__geom__utils.html#g5a443dfc570b99a0a3e3eec1141b0ffc">csNaN</a> (float f)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks if a floating point value is not-a-number.  <a href="#g5a443dfc570b99a0a3e3eec1141b0ffc"></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="group__geom__utils.html#g28088446394ecb4b3a0a40443b4bf76f">csNormal</a> (double d)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks if a double-precision floating point value is normal.  <a href="#g28088446394ecb4b3a0a40443b4bf76f"></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="group__geom__utils.html#gc1760aed89ed0cc61c40d2826ab21c2c">csNormal</a> (float f)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks if a floating point value is normal (not infinite or nan).  <a href="#gc1760aed89ed0cc61c40d2826ab21c2c"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g996f7be338ccb40d1a2a5abc1ad61759"></a><!-- doxytag: member="geom_utils::ABS" ref="g996f7be338ccb40d1a2a5abc1ad61759" args="(x)" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geom__utils.html#g996f7be338ccb40d1a2a5abc1ad61759">ABS</a>(x)&nbsp;&nbsp;&nbsp;((x)&lt;0?-(x):(x))</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geom__utils.html#g5acebae804990b2e4fc030a61c662e48">CS_BOUNDINGBOX_MAXVALUE</a>&nbsp;&nbsp;&nbsp;1000000000.</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The maximum value that a coordinate in the bounding box can use.  <a href="#g5acebae804990b2e4fc030a61c662e48"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geom__utils.html#g341887053b96768adb51e5df20878869">MAX_OUTPUT_VERTICES</a>&nbsp;&nbsp;&nbsp;64</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Maximal number of vertices in output (clipped) polygons.  <a href="#g341887053b96768adb51e5df20878869"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geom__utils.html#g87f4d8d2cb83c58a9db7f9cbedd0c2a7">csAAPFCBBox</a> )(int x, int y, int w, int h, void *arg)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">"Draw a box" callback  <a href="#g87f4d8d2cb83c58a9db7f9cbedd0c2a7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geom__utils.html#gf7b869b5dd833f4a5eb40ac11e8aa69f">csAAPFCBPixel</a> )(int x, int y, float area, void *arg)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Callback functions used by csAntialiasedPolyFill.  <a href="#gf7b869b5dd833f4a5eb40ac11e8aa69f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef bool(&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geom__utils.html#g89e1a8f421704aae373010c9da6b4e64">csKDTreeVisitFunc</a> )(<a class="el" href="classcsKDTree.html">csKDTree</a> *treenode, void *userdata, <a class="el" href="group__util.html#g1134b580f8da4de94ca6b1de4d37975e">uint32</a> timestamp, <a class="el" href="group__util.html#g1134b580f8da4de94ca6b1de4d37975e">uint32</a> &amp;frustum_mask)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A callback function for visiting a KD-tree node.  <a href="#g89e1a8f421704aae373010c9da6b4e64"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gab103d6e426c03627a369775f8c06f2d"></a><!-- doxytag: member="geom_utils::csSubRect" ref="gab103d6e426c03627a369775f8c06f2d" args="" -->
typedef <br>
<a class="el" href="classCS_1_1SubRectangles_1_1SubRect.html">CS::SubRectangles::SubRect</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geom__utils.html#gab103d6e426c03627a369775f8c06f2d">csSubRect</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g6113008bbb5ba16336524ebe861b7a9a"></a><!-- doxytag: member="geom_utils::csSubRectangles" ref="g6113008bbb5ba16336524ebe861b7a9a" args="" -->
typedef <a class="el" href="classCS_1_1SubRectangles.html">CS::SubRectangles</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geom__utils.html#g6113008bbb5ba16336524ebe861b7a9a">csSubRectangles</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb6d30c9dd13c542edf1c21a298f40003"></a><!-- doxytag: member="geom_utils::csTileCol" ref="gb6d30c9dd13c542edf1c21a298f40003" args="" -->
typedef <a class="el" href="group__util.html#g1134b580f8da4de94ca6b1de4d37975e">uint32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geom__utils.html#gb6d30c9dd13c542edf1c21a298f40003">csTileCol</a></td></tr>

<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group__geom__utils.html#ggbc5c98fcc1211af2b80116dd6e0a035de14adc6efdb131975c1c4e318ea8b6ee">CS_KDTREE_AXISINVALID</a> =  -1, 
<a class="el" href="group__geom__utils.html#ggbc5c98fcc1211af2b80116dd6e0a035d41abef2f56ab05eb1d9551bd9180fbbf">CS_KDTREE_AXISX</a> =  0, 
<a class="el" href="group__geom__utils.html#ggbc5c98fcc1211af2b80116dd6e0a035da6b78ccb6e3269ae91f35a39ea66a9c6">CS_KDTREE_AXISY</a> =  1, 
<a class="el" href="group__geom__utils.html#ggbc5c98fcc1211af2b80116dd6e0a035d37750212a8e376e5e4973ca64f37906d">CS_KDTREE_AXISZ</a> =  2
 }</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group__geom__utils.html#ggc36f475ca5b446f4fde4c9b90bec77c8d9339894d3f5c86d9cb1ee425d87b908">CS_POLY_IN</a> =  1, 
<a class="el" href="group__geom__utils.html#ggc36f475ca5b446f4fde4c9b90bec77c848ded91a714724cb354420e833cd3653">CS_POLY_ON</a> =  0, 
<a class="el" href="group__geom__utils.html#ggc36f475ca5b446f4fde4c9b90bec77c8e40a3a2c15872f11f10bb26fc87ed078">CS_POLY_OUT</a> =  -1
 }</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group__geom__utils.html#gg05589fbab0657f08285ebdfe93f5ec9ee88d3fbccae84a9d22831150df35b7bd">CS_POL_SAME_PLANE</a> =  0, 
<a class="el" href="group__geom__utils.html#gg05589fbab0657f08285ebdfe93f5ec9ea271cb2d4694f05e2df381d1cb98279d">CS_POL_FRONT</a> =  1, 
<a class="el" href="group__geom__utils.html#gg05589fbab0657f08285ebdfe93f5ec9ebd5e6308857d9f8cb82434d7d0086a70">CS_POL_BACK</a> =  2, 
<a class="el" href="group__geom__utils.html#gg05589fbab0657f08285ebdfe93f5ec9efbc4ca645c2a7478693b045287029b11">CS_POL_SPLIT_NEEDED</a> =  3
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Values returned by <a class="el" href="classcsPoly3D.html#c84e83bad7d8619b39ebd6c36f4e2fa8" title="Static function to classify a polygon with regards to a plane.">csPoly3D::Classify</a>.  <a href="group__geom__utils.html#g05589fbab0657f08285ebdfe93f5ec9e">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
&nbsp;&nbsp;<a class="el" href="group__geom__utils.html#gg16af7b253440dadd46a80a4b9fddba4d68915fcf5472a817829e063132971aac">SHIFT_TILECOL</a> =  6, 
<a class="el" href="group__geom__utils.html#gg16af7b253440dadd46a80a4b9fddba4d8c0cf2728532579e735d14077f640f7a">SHIFT_TILEROW</a> =  5, 
<a class="el" href="group__geom__utils.html#gg16af7b253440dadd46a80a4b9fddba4ddeb2adbdaf8341c9142f4a008e03452e">NUM_TILECOL</a> =  (1&lt;&lt;SHIFT_TILECOL), 
<a class="el" href="group__geom__utils.html#gg16af7b253440dadd46a80a4b9fddba4d24b855de56bb460d4e3ff5c513f5bb74">NUM_TILEROW</a> =  (1&lt;&lt;SHIFT_TILEROW), 
<br>
&nbsp;&nbsp;<a class="el" href="group__geom__utils.html#gg16af7b253440dadd46a80a4b9fddba4dbbcdaead3f6a5a914b54109a1f98bc61">NUM_DEPTHROW</a> =  (NUM_TILEROW/8), 
<a class="el" href="group__geom__utils.html#gg16af7b253440dadd46a80a4b9fddba4dac6893982ba126875e79f19828851b08">NUM_DEPTHCOL</a> =  (NUM_TILECOL/8), 
<a class="el" href="group__geom__utils.html#gg16af7b253440dadd46a80a4b9fddba4d2ba665d86acc5832076ba849a2b34019">NUM_DEPTH</a> =  (NUM_DEPTHROW * NUM_DEPTHCOL), 
<a class="el" href="group__geom__utils.html#gg16af7b253440dadd46a80a4b9fddba4d84b2d632630129f85d672ee0d739837c">TILECOL_EMPTY</a> =  0, 
<br>
&nbsp;&nbsp;<a class="el" href="group__geom__utils.html#gg16af7b253440dadd46a80a4b9fddba4d1aafac7ccca4be5da7cad24262e8ba61">TILECOL_FULL</a> =  ((uint32)~0), 
<a class="el" href="group__geom__utils.html#gg16af7b253440dadd46a80a4b9fddba4d3203b99558ccc5cdf902b682155d12e9">TEST_OCCLUDER_QUALITY</a> =  1, 
<a class="el" href="group__geom__utils.html#gg16af7b253440dadd46a80a4b9fddba4d08f31c7eac3917681ae0c21c2a5c3f09">TB_DUMMY</a> =  -1
<br>
 }</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group__geom__utils.html#ggba01db17f4a2bfbc3db60dc172972a2556a7be2645b19f5ff990038d361fd2b7">OP_LINE</a> =  1, 
<a class="el" href="group__geom__utils.html#ggba01db17f4a2bfbc3db60dc172972a250709060a34bdfdeb374668d1d95b81c7">OP_VLINE</a> =  2, 
<a class="el" href="group__geom__utils.html#ggba01db17f4a2bfbc3db60dc172972a252fa51968ec47f4502bb539926f1e63f3">OP_FULLVLINE</a> =  3
 }</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
&nbsp;&nbsp;<a class="el" href="group__geom__utils.html#ggdb49720dc49f7d4e4cf9adbf2948e40982bccad8e3789fcecb889116579b71ea">CS_AXIS_NONE</a> =  -1, 
<a class="el" href="group__geom__utils.html#ggdb49720dc49f7d4e4cf9adbf2948e4098e81da4ab0c7c07c39847d17fb3a95b5">CS_AXIS_X</a> =  0, 
<a class="el" href="group__geom__utils.html#ggdb49720dc49f7d4e4cf9adbf2948e4099734b1073fe8f5572622f5e39120317d">CS_AXIS_Y</a> =  1, 
<a class="el" href="group__geom__utils.html#ggdb49720dc49f7d4e4cf9adbf2948e4092524f76ec772151941164bee31d5d9f1">CS_AXIS_Z</a> =  2, 
<br>
&nbsp;&nbsp;<a class="el" href="group__geom__utils.html#ggdb49720dc49f7d4e4cf9adbf2948e409b090525794378a5a8ee78c5ad7e220b4">CS_AXIS_W</a> =  3
<br>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constants for axes.  <a href="group__geom__utils.html#gdb49720dc49f7d4e4cf9adbf2948e409">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geom__utils.html#gb16b3b21d99638775c56de4bc2e3481b">csClipType</a> { <a class="el" href="group__geom__utils.html#ggb16b3b21d99638775c56de4bc2e3481baeb1dab65c1ae464a08812b43ea23b96">CS_CLIPINFO_ORIGINAL</a> =  0, 
<a class="el" href="group__geom__utils.html#ggb16b3b21d99638775c56de4bc2e3481b49e16e6a3e8c7e5533cb90907498ccb9">CS_CLIPINFO_ONEDGE</a> =  1, 
<a class="el" href="group__geom__utils.html#ggb16b3b21d99638775c56de4bc2e3481b95b11b959d4981b861946b6c854ce1de">CS_CLIPINFO_INSIDE</a> =  2
 }</td></tr>

<tr><td colspan="2"><br><h2>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="group__geom__utils.html#g64e24e36c1513196e53d7ec4638fbf87">csAntialiasedPolyFill</a> (<a class="el" href="classcsVector2.html">csVector2</a> *iVertices, int iVertexCount, void *iArg, <a class="el" href="group__geom__utils.html#gf7b869b5dd833f4a5eb40ac11e8aa69f">csAAPFCBPixel</a> iPutPixel, <a class="el" href="group__geom__utils.html#g87f4d8d2cb83c58a9db7f9cbedd0c2a7">csAAPFCBBox</a> iDrawBox=0)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function takes a 2D polygon and splits it against a integer grid into many sub-polygons.  <a href="#g64e24e36c1513196e53d7ec4638fbf87"></a><br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class T&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geom__utils.html#g1c0100d274735df4706c4b903c9ba6f5">csClamp</a> (const T &amp;a, T max, T min)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clamp a between max and min.  <a href="#g1c0100d274735df4706c4b903c9ba6f5"></a><br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class T, class Tfactor&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geom__utils.html#gc34fecd9e6f85e9fcfc2bb081b160b81">csLerp</a> (const T &amp;a, const T &amp;b, const Tfactor &amp;f)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Performs a linear interpolation between <em>a</em> and <em>b</em> with the factor <em>f</em>.  <a href="#gc34fecd9e6f85e9fcfc2bb081b160b81"></a><br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class T&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">const T &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geom__utils.html#g79291314e7548d3eb1df274158908235">csMax</a> (const T &amp;a, const T &amp;b)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns bigger of a and b.  <a href="#g79291314e7548d3eb1df274158908235"></a><br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class T&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">const T &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geom__utils.html#g16a5d316a30efbd72510b608e3233ea1">csMin</a> (const T &amp;a, const T &amp;b)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns smaller of a and b.  <a href="#g16a5d316a30efbd72510b608e3233ea1"></a><br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class T&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geom__utils.html#g5aa770bf13eb4b8ee00f34ae9ef64567">csSmoothStep</a> (const T &amp;a, T max, T min)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Performs a smooth interpolation of a on range min to max.  <a href="#g5aa770bf13eb4b8ee00f34ae9ef64567"></a><br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class T, class U&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geom__utils.html#g1286eb4497b8d01ea5f8272509b7e99a">csSort</a> (T &amp;a, T &amp;b, U &amp;x, U &amp;y)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sort a and b in order of size.  <a href="#g1286eb4497b8d01ea5f8272509b7e99a"></a><br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class T&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geom__utils.html#g3192df8378b422cf7c3e4320a3c838bf">csSort</a> (T &amp;a, T &amp;b)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sort a and b in order of size.  <a href="#g3192df8378b422cf7c3e4320a3c838bf"></a><br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class T&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geom__utils.html#g7e2758395886579dcca2faba48e67f94">csSquare</a> (const T &amp;x)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the square of the argument.  <a href="#g7e2758395886579dcca2faba48e67f94"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gef61e8f5b3e9a3a2dd86326b90ca4523"></a><!-- doxytag: member="geom_utils::dSqr" ref="gef61e8f5b3e9a3a2dd86326b90ca4523" args="(double d)" -->
double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geom__utils.html#gef61e8f5b3e9a3a2dd86326b90ca4523">dSqr</a> (double d)</td></tr>

</table>
<hr><h2>Define Documentation</h2>
<a class="anchor" name="g5acebae804990b2e4fc030a61c662e48"></a><!-- doxytag: member="box.h::CS_BOUNDINGBOX_MAXVALUE" ref="g5acebae804990b2e4fc030a61c662e48" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CS_BOUNDINGBOX_MAXVALUE&nbsp;&nbsp;&nbsp;1000000000.          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The maximum value that a coordinate in the bounding box can use. 
<p>
This is considered the 'infinity' value used for empty bounding boxes. 
<p>Definition at line <a class="el" href="box_8h-source.html#l00049">49</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#l00811">csBox3::StartBoundingBox()</a>, and <a class="el" href="box_8h-source.html#l00289">csBox2::StartBoundingBox()</a>.</p>

</div>
</div><p>
<a class="anchor" name="g341887053b96768adb51e5df20878869"></a><!-- doxytag: member="clip2d.h::MAX_OUTPUT_VERTICES" ref="g341887053b96768adb51e5df20878869" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MAX_OUTPUT_VERTICES&nbsp;&nbsp;&nbsp;64          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Maximal number of vertices in output (clipped) polygons. 
<p>

<p>Definition at line <a class="el" href="clip2d_8h-source.html#l00036">36</a> of file <a class="el" href="clip2d_8h-source.html">clip2d.h</a>.</p>

</div>
</div><p>
<hr><h2>Typedef Documentation</h2>
<a class="anchor" name="g87f4d8d2cb83c58a9db7f9cbedd0c2a7"></a><!-- doxytag: member="polyaa.h::csAAPFCBBox" ref="g87f4d8d2cb83c58a9db7f9cbedd0c2a7" args=")(int x, int y, int w, int h, void *arg)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* <a class="el" href="group__geom__utils.html#g87f4d8d2cb83c58a9db7f9cbedd0c2a7">csAAPFCBBox</a>)(int x, int y, int w, int h, void *arg)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
"Draw a box" callback 
<p>

<p>Definition at line <a class="el" href="polyaa_8h-source.html#l00046">46</a> of file <a class="el" href="polyaa_8h-source.html">polyaa.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="gf7b869b5dd833f4a5eb40ac11e8aa69f"></a><!-- doxytag: member="polyaa.h::csAAPFCBPixel" ref="gf7b869b5dd833f4a5eb40ac11e8aa69f" args=")(int x, int y, float area, void *arg)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* <a class="el" href="group__geom__utils.html#gf7b869b5dd833f4a5eb40ac11e8aa69f">csAAPFCBPixel</a>)(int x, int y, float area, void *arg)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Callback functions used by csAntialiasedPolyFill. 
<p>
We have two types of callback: one for "drawing a pixel", the area of the pixel is passed to the callback routine. The second routine is for "drawing a box", the area of every "pixel" is always 1.0. "Draw one pixel" callback 
<p>Definition at line <a class="el" href="polyaa_8h-source.html#l00044">44</a> of file <a class="el" href="polyaa_8h-source.html">polyaa.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="g89e1a8f421704aae373010c9da6b4e64"></a><!-- doxytag: member="kdtree.h::csKDTreeVisitFunc" ref="g89e1a8f421704aae373010c9da6b4e64" args=")(csKDTree *treenode, void *userdata, uint32 timestamp, uint32 &amp;frustum_mask)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef bool( <a class="el" href="group__geom__utils.html#g89e1a8f421704aae373010c9da6b4e64">csKDTreeVisitFunc</a>)(<a class="el" href="classcsKDTree.html">csKDTree</a> *treenode, void *userdata, <a class="el" href="group__util.html#g1134b580f8da4de94ca6b1de4d37975e">uint32</a> timestamp, <a class="el" href="group__util.html#g1134b580f8da4de94ca6b1de4d37975e">uint32</a> &amp;frustum_mask)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A callback function for visiting a KD-tree node. 
<p>
If this function returns true the traversal will continue. Otherwise Front2Back() will stop. <p>
This function is itself responsible for calling Distribute() on the given treenode to ensure that the objects in this node are properly distributed to the children. If the function doesn't want or need this functionality it doesn't have to do Distribute(). <p>
If this function decides to process the given node then it is also responsible for checking the timestamp of every child in this node with the timestamp given to this function. If this timestamp is different the child has not been processed before. This function should then update the timestamp of the child. If this is not done then some objects will be encountered multiple times. In some cases this may not be a problem or even desired. <p>
'frustum_mask' can be modified by this function to reduce the number of plane tests (for frustum culling) that have to occur for children of this node. 
<p>Definition at line <a class="el" href="kdtree_8h-source.html#l00089">89</a> of file <a class="el" href="kdtree_8h-source.html">kdtree.h</a>.</p>

</div>
</div><p>
<hr><h2>Enumeration Type Documentation</h2>
<a class="anchor" name="g06fc87d81c62e9abb8790b6e5713c55b"></a><!-- doxytag: member="box.h::@0" ref="g06fc87d81c62e9abb8790b6e5713c55b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="gg06fc87d81c62e9abb8790b6e5713c55b86d75fcdcc57f10b7e00afa9571b2d56"></a><!-- doxytag: member="CS_BOX_CORNER_xy" ref="gg06fc87d81c62e9abb8790b6e5713c55b86d75fcdcc57f10b7e00afa9571b2d56" args="" -->CS_BOX_CORNER_xy</em>&nbsp;</td><td>
min X, min Y </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg06fc87d81c62e9abb8790b6e5713c55baa41ac3e362d3bab01aadf9aa6e89ed3"></a><!-- doxytag: member="CS_BOX_CORNER_xY" ref="gg06fc87d81c62e9abb8790b6e5713c55baa41ac3e362d3bab01aadf9aa6e89ed3" args="" -->CS_BOX_CORNER_xY</em>&nbsp;</td><td>
min X, max Y </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg06fc87d81c62e9abb8790b6e5713c55b66981a2c120c408cd6a662687e809536"></a><!-- doxytag: member="CS_BOX_CORNER_Xy" ref="gg06fc87d81c62e9abb8790b6e5713c55b66981a2c120c408cd6a662687e809536" args="" -->CS_BOX_CORNER_Xy</em>&nbsp;</td><td>
max X, min Y </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg06fc87d81c62e9abb8790b6e5713c55b22189c053382e35184dbc0d0c4056c49"></a><!-- doxytag: member="CS_BOX_CORNER_XY" ref="gg06fc87d81c62e9abb8790b6e5713c55b22189c053382e35184dbc0d0c4056c49" args="" -->CS_BOX_CORNER_XY</em>&nbsp;</td><td>
max X, max Y </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg06fc87d81c62e9abb8790b6e5713c55b26daf5755b88f571d2f8b44b8a4eb1f2"></a><!-- doxytag: member="CS_BOX_CENTER2" ref="gg06fc87d81c62e9abb8790b6e5713c55b26daf5755b88f571d2f8b44b8a4eb1f2" args="" -->CS_BOX_CENTER2</em>&nbsp;</td><td>
center </td></tr>
</table>
</dl>

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

</div>
</div><p>
<a class="anchor" name="gdf764cbdea00d65edcd07bb9953ad2b7"></a><!-- doxytag: member="box.h::@1" ref="gdf764cbdea00d65edcd07bb9953ad2b7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="ggdf764cbdea00d65edcd07bb9953ad2b7b42077b10139d5a537a31773f9d82116"></a><!-- doxytag: member="CS_BOX_EDGE_xy_Xy" ref="ggdf764cbdea00d65edcd07bb9953ad2b7b42077b10139d5a537a31773f9d82116" args="" -->CS_BOX_EDGE_xy_Xy</em>&nbsp;</td><td>
from min X, min Y to max X, min Y </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggdf764cbdea00d65edcd07bb9953ad2b7e9cda4d3571c9e32d2aba7e4e36255b8"></a><!-- doxytag: member="CS_BOX_EDGE_Xy_xy" ref="ggdf764cbdea00d65edcd07bb9953ad2b7e9cda4d3571c9e32d2aba7e4e36255b8" args="" -->CS_BOX_EDGE_Xy_xy</em>&nbsp;</td><td>
from max X, min Y to min X, min Y </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggdf764cbdea00d65edcd07bb9953ad2b7d9e23645086f99891c4ca5eccba117a1"></a><!-- doxytag: member="CS_BOX_EDGE_Xy_XY" ref="ggdf764cbdea00d65edcd07bb9953ad2b7d9e23645086f99891c4ca5eccba117a1" args="" -->CS_BOX_EDGE_Xy_XY</em>&nbsp;</td><td>
from max X, min Y to max X, max Y </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggdf764cbdea00d65edcd07bb9953ad2b76e0c54f9e09d052f5da9c4d157720922"></a><!-- doxytag: member="CS_BOX_EDGE_XY_Xy" ref="ggdf764cbdea00d65edcd07bb9953ad2b76e0c54f9e09d052f5da9c4d157720922" args="" -->CS_BOX_EDGE_XY_Xy</em>&nbsp;</td><td>
from max X, max Y to max X, min Y </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggdf764cbdea00d65edcd07bb9953ad2b7def3cca359637bed9cbd0240ffd2051d"></a><!-- doxytag: member="CS_BOX_EDGE_XY_xY" ref="ggdf764cbdea00d65edcd07bb9953ad2b7def3cca359637bed9cbd0240ffd2051d" args="" -->CS_BOX_EDGE_XY_xY</em>&nbsp;</td><td>
from max X, max Y to min X, max Y </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggdf764cbdea00d65edcd07bb9953ad2b70f820cda4b14b108a4a8eea2f04a399a"></a><!-- doxytag: member="CS_BOX_EDGE_xY_XY" ref="ggdf764cbdea00d65edcd07bb9953ad2b70f820cda4b14b108a4a8eea2f04a399a" args="" -->CS_BOX_EDGE_xY_XY</em>&nbsp;</td><td>
from min X, max Y to max X, max Y </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggdf764cbdea00d65edcd07bb9953ad2b7703caeef06bfab521bdb139104d80154"></a><!-- doxytag: member="CS_BOX_EDGE_xY_xy" ref="ggdf764cbdea00d65edcd07bb9953ad2b7703caeef06bfab521bdb139104d80154" args="" -->CS_BOX_EDGE_xY_xy</em>&nbsp;</td><td>
from min X, max Y to min X, min Y </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggdf764cbdea00d65edcd07bb9953ad2b7675911addea7e87c3a8c8d7dff2ccb98"></a><!-- doxytag: member="CS_BOX_EDGE_xy_xY" ref="ggdf764cbdea00d65edcd07bb9953ad2b7675911addea7e87c3a8c8d7dff2ccb98" args="" -->CS_BOX_EDGE_xy_xY</em>&nbsp;</td><td>
from min X, min Y to min X, max Y </td></tr>
</table>
</dl>

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

</div>
</div><p>
<a class="anchor" name="gbc5c98fcc1211af2b80116dd6e0a035d"></a><!-- doxytag: member="kdtree.h::@11" ref="gbc5c98fcc1211af2b80116dd6e0a035d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="ggbc5c98fcc1211af2b80116dd6e0a035de14adc6efdb131975c1c4e318ea8b6ee"></a><!-- doxytag: member="CS_KDTREE_AXISINVALID" ref="ggbc5c98fcc1211af2b80116dd6e0a035de14adc6efdb131975c1c4e318ea8b6ee" args="" -->CS_KDTREE_AXISINVALID</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggbc5c98fcc1211af2b80116dd6e0a035d41abef2f56ab05eb1d9551bd9180fbbf"></a><!-- doxytag: member="CS_KDTREE_AXISX" ref="ggbc5c98fcc1211af2b80116dd6e0a035d41abef2f56ab05eb1d9551bd9180fbbf" args="" -->CS_KDTREE_AXISX</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggbc5c98fcc1211af2b80116dd6e0a035da6b78ccb6e3269ae91f35a39ea66a9c6"></a><!-- doxytag: member="CS_KDTREE_AXISY" ref="ggbc5c98fcc1211af2b80116dd6e0a035da6b78ccb6e3269ae91f35a39ea66a9c6" args="" -->CS_KDTREE_AXISY</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggbc5c98fcc1211af2b80116dd6e0a035d37750212a8e376e5e4973ca64f37906d"></a><!-- doxytag: member="CS_KDTREE_AXISZ" ref="ggbc5c98fcc1211af2b80116dd6e0a035d37750212a8e376e5e4973ca64f37906d" args="" -->CS_KDTREE_AXISZ</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="kdtree_8h-source.html#l00143">143</a> of file <a class="el" href="kdtree_8h-source.html">kdtree.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="gc36f475ca5b446f4fde4c9b90bec77c8"></a><!-- doxytag: member="plane2.h::@12" ref="gc36f475ca5b446f4fde4c9b90bec77c8" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="ggc36f475ca5b446f4fde4c9b90bec77c8d9339894d3f5c86d9cb1ee425d87b908"></a><!-- doxytag: member="CS_POLY_IN" ref="ggc36f475ca5b446f4fde4c9b90bec77c8d9339894d3f5c86d9cb1ee425d87b908" args="" -->CS_POLY_IN</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggc36f475ca5b446f4fde4c9b90bec77c848ded91a714724cb354420e833cd3653"></a><!-- doxytag: member="CS_POLY_ON" ref="ggc36f475ca5b446f4fde4c9b90bec77c848ded91a714724cb354420e833cd3653" args="" -->CS_POLY_ON</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggc36f475ca5b446f4fde4c9b90bec77c8e40a3a2c15872f11f10bb26fc87ed078"></a><!-- doxytag: member="CS_POLY_OUT" ref="ggc36f475ca5b446f4fde4c9b90bec77c8e40a3a2c15872f11f10bb26fc87ed078" args="" -->CS_POLY_OUT</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="plane2_8h-source.html#l00036">36</a> of file <a class="el" href="plane2_8h-source.html">plane2.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="g05589fbab0657f08285ebdfe93f5ec9e"></a><!-- doxytag: member="poly3d.h::@13" ref="g05589fbab0657f08285ebdfe93f5ec9e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Values returned by <a class="el" href="classcsPoly3D.html#c84e83bad7d8619b39ebd6c36f4e2fa8" title="Static function to classify a polygon with regards to a plane.">csPoly3D::Classify</a>. 
<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="gg05589fbab0657f08285ebdfe93f5ec9ee88d3fbccae84a9d22831150df35b7bd"></a><!-- doxytag: member="CS_POL_SAME_PLANE" ref="gg05589fbab0657f08285ebdfe93f5ec9ee88d3fbccae84a9d22831150df35b7bd" args="" -->CS_POL_SAME_PLANE</em>&nbsp;</td><td>
Poly is on same plane. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg05589fbab0657f08285ebdfe93f5ec9ea271cb2d4694f05e2df381d1cb98279d"></a><!-- doxytag: member="CS_POL_FRONT" ref="gg05589fbab0657f08285ebdfe93f5ec9ea271cb2d4694f05e2df381d1cb98279d" args="" -->CS_POL_FRONT</em>&nbsp;</td><td>
Poly is completely in front of the given plane. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg05589fbab0657f08285ebdfe93f5ec9ebd5e6308857d9f8cb82434d7d0086a70"></a><!-- doxytag: member="CS_POL_BACK" ref="gg05589fbab0657f08285ebdfe93f5ec9ebd5e6308857d9f8cb82434d7d0086a70" args="" -->CS_POL_BACK</em>&nbsp;</td><td>
Poly is completely back of the given plane. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg05589fbab0657f08285ebdfe93f5ec9efbc4ca645c2a7478693b045287029b11"></a><!-- doxytag: member="CS_POL_SPLIT_NEEDED" ref="gg05589fbab0657f08285ebdfe93f5ec9efbc4ca645c2a7478693b045287029b11" args="" -->CS_POL_SPLIT_NEEDED</em>&nbsp;</td><td>
Poly intersects with plane. </td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="poly3d_8h-source.html#l00038">38</a> of file <a class="el" href="poly3d_8h-source.html">poly3d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="g16af7b253440dadd46a80a4b9fddba4d"></a><!-- doxytag: member="tcovbuf.h::@14" ref="g16af7b253440dadd46a80a4b9fddba4d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="gg16af7b253440dadd46a80a4b9fddba4d68915fcf5472a817829e063132971aac"></a><!-- doxytag: member="SHIFT_TILECOL" ref="gg16af7b253440dadd46a80a4b9fddba4d68915fcf5472a817829e063132971aac" args="" -->SHIFT_TILECOL</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg16af7b253440dadd46a80a4b9fddba4d8c0cf2728532579e735d14077f640f7a"></a><!-- doxytag: member="SHIFT_TILEROW" ref="gg16af7b253440dadd46a80a4b9fddba4d8c0cf2728532579e735d14077f640f7a" args="" -->SHIFT_TILEROW</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg16af7b253440dadd46a80a4b9fddba4ddeb2adbdaf8341c9142f4a008e03452e"></a><!-- doxytag: member="NUM_TILECOL" ref="gg16af7b253440dadd46a80a4b9fddba4ddeb2adbdaf8341c9142f4a008e03452e" args="" -->NUM_TILECOL</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg16af7b253440dadd46a80a4b9fddba4d24b855de56bb460d4e3ff5c513f5bb74"></a><!-- doxytag: member="NUM_TILEROW" ref="gg16af7b253440dadd46a80a4b9fddba4d24b855de56bb460d4e3ff5c513f5bb74" args="" -->NUM_TILEROW</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg16af7b253440dadd46a80a4b9fddba4dbbcdaead3f6a5a914b54109a1f98bc61"></a><!-- doxytag: member="NUM_DEPTHROW" ref="gg16af7b253440dadd46a80a4b9fddba4dbbcdaead3f6a5a914b54109a1f98bc61" args="" -->NUM_DEPTHROW</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg16af7b253440dadd46a80a4b9fddba4dac6893982ba126875e79f19828851b08"></a><!-- doxytag: member="NUM_DEPTHCOL" ref="gg16af7b253440dadd46a80a4b9fddba4dac6893982ba126875e79f19828851b08" args="" -->NUM_DEPTHCOL</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg16af7b253440dadd46a80a4b9fddba4d2ba665d86acc5832076ba849a2b34019"></a><!-- doxytag: member="NUM_DEPTH" ref="gg16af7b253440dadd46a80a4b9fddba4d2ba665d86acc5832076ba849a2b34019" args="" -->NUM_DEPTH</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg16af7b253440dadd46a80a4b9fddba4d84b2d632630129f85d672ee0d739837c"></a><!-- doxytag: member="TILECOL_EMPTY" ref="gg16af7b253440dadd46a80a4b9fddba4d84b2d632630129f85d672ee0d739837c" args="" -->TILECOL_EMPTY</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg16af7b253440dadd46a80a4b9fddba4d1aafac7ccca4be5da7cad24262e8ba61"></a><!-- doxytag: member="TILECOL_FULL" ref="gg16af7b253440dadd46a80a4b9fddba4d1aafac7ccca4be5da7cad24262e8ba61" args="" -->TILECOL_FULL</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg16af7b253440dadd46a80a4b9fddba4d3203b99558ccc5cdf902b682155d12e9"></a><!-- doxytag: member="TEST_OCCLUDER_QUALITY" ref="gg16af7b253440dadd46a80a4b9fddba4d3203b99558ccc5cdf902b682155d12e9" args="" -->TEST_OCCLUDER_QUALITY</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg16af7b253440dadd46a80a4b9fddba4d08f31c7eac3917681ae0c21c2a5c3f09"></a><!-- doxytag: member="TB_DUMMY" ref="gg16af7b253440dadd46a80a4b9fddba4d08f31c7eac3917681ae0c21c2a5c3f09" args="" -->TB_DUMMY</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="tcovbuf_8h-source.html#l00048">48</a> of file <a class="el" href="tcovbuf_8h-source.html">tcovbuf.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="gba01db17f4a2bfbc3db60dc172972a25"></a><!-- doxytag: member="tcovbuf.h::@15" ref="gba01db17f4a2bfbc3db60dc172972a25" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="ggba01db17f4a2bfbc3db60dc172972a2556a7be2645b19f5ff990038d361fd2b7"></a><!-- doxytag: member="OP_LINE" ref="ggba01db17f4a2bfbc3db60dc172972a2556a7be2645b19f5ff990038d361fd2b7" args="" -->OP_LINE</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggba01db17f4a2bfbc3db60dc172972a250709060a34bdfdeb374668d1d95b81c7"></a><!-- doxytag: member="OP_VLINE" ref="ggba01db17f4a2bfbc3db60dc172972a250709060a34bdfdeb374668d1d95b81c7" args="" -->OP_VLINE</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggba01db17f4a2bfbc3db60dc172972a252fa51968ec47f4502bb539926f1e63f3"></a><!-- doxytag: member="OP_FULLVLINE" ref="ggba01db17f4a2bfbc3db60dc172972a252fa51968ec47f4502bb539926f1e63f3" args="" -->OP_FULLVLINE</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="tcovbuf_8h-source.html#l00100">100</a> of file <a class="el" href="tcovbuf_8h-source.html">tcovbuf.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="g99fb83031ce9923c84392b4e92f956b5"></a><!-- doxytag: member="box.h::@2" ref="g99fb83031ce9923c84392b4e92f956b5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="gg99fb83031ce9923c84392b4e92f956b589d329160331dbc52961462fa640e016"></a><!-- doxytag: member="CS_BOX_CORNER_xyz" ref="gg99fb83031ce9923c84392b4e92f956b589d329160331dbc52961462fa640e016" args="" -->CS_BOX_CORNER_xyz</em>&nbsp;</td><td>
min X, min Y, min Z </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg99fb83031ce9923c84392b4e92f956b50adf66ef9191dbadc5ff14a6bad51070"></a><!-- doxytag: member="CS_BOX_CORNER_xyZ" ref="gg99fb83031ce9923c84392b4e92f956b50adf66ef9191dbadc5ff14a6bad51070" args="" -->CS_BOX_CORNER_xyZ</em>&nbsp;</td><td>
min X, min Y, max Z </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg99fb83031ce9923c84392b4e92f956b5ce4d8a92c8104f1f48452cb3d312d47c"></a><!-- doxytag: member="CS_BOX_CORNER_xYz" ref="gg99fb83031ce9923c84392b4e92f956b5ce4d8a92c8104f1f48452cb3d312d47c" args="" -->CS_BOX_CORNER_xYz</em>&nbsp;</td><td>
min X, max Y, min Z </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg99fb83031ce9923c84392b4e92f956b5cf591c4f61dc416d2f12e53caa0fc804"></a><!-- doxytag: member="CS_BOX_CORNER_xYZ" ref="gg99fb83031ce9923c84392b4e92f956b5cf591c4f61dc416d2f12e53caa0fc804" args="" -->CS_BOX_CORNER_xYZ</em>&nbsp;</td><td>
min X, max Y, max Z </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg99fb83031ce9923c84392b4e92f956b5d13ea13c11becbf554b5ae66e58faa24"></a><!-- doxytag: member="CS_BOX_CORNER_Xyz" ref="gg99fb83031ce9923c84392b4e92f956b5d13ea13c11becbf554b5ae66e58faa24" args="" -->CS_BOX_CORNER_Xyz</em>&nbsp;</td><td>
min X, min Y, min Z </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg99fb83031ce9923c84392b4e92f956b5764db01cad89323ece3563d24b822a9a"></a><!-- doxytag: member="CS_BOX_CORNER_XyZ" ref="gg99fb83031ce9923c84392b4e92f956b5764db01cad89323ece3563d24b822a9a" args="" -->CS_BOX_CORNER_XyZ</em>&nbsp;</td><td>
max X, min Y, max Z </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg99fb83031ce9923c84392b4e92f956b52b8f79719b79e9a75f8284feb3cafdf5"></a><!-- doxytag: member="CS_BOX_CORNER_XYz" ref="gg99fb83031ce9923c84392b4e92f956b52b8f79719b79e9a75f8284feb3cafdf5" args="" -->CS_BOX_CORNER_XYz</em>&nbsp;</td><td>
max X, max Y, min Z </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg99fb83031ce9923c84392b4e92f956b59249f548cf717ea61e140681e58aeac5"></a><!-- doxytag: member="CS_BOX_CORNER_XYZ" ref="gg99fb83031ce9923c84392b4e92f956b59249f548cf717ea61e140681e58aeac5" args="" -->CS_BOX_CORNER_XYZ</em>&nbsp;</td><td>
max X, max Y, max Z </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg99fb83031ce9923c84392b4e92f956b58240f71d83e88f58c9c7da2a583e3c03"></a><!-- doxytag: member="CS_BOX_CENTER3" ref="gg99fb83031ce9923c84392b4e92f956b58240f71d83e88f58c9c7da2a583e3c03" args="" -->CS_BOX_CENTER3</em>&nbsp;</td><td>
center </td></tr>
</table>
</dl>

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

</div>
</div><p>
<a class="anchor" name="gdb49720dc49f7d4e4cf9adbf2948e409"></a><!-- doxytag: member="vector3.h::@20" ref="gdb49720dc49f7d4e4cf9adbf2948e409" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Constants for axes. 
<p>
Can also be used as indices to <a class="el" href="classcsVector2.html#2c420c308142180d3ddda8d62ef170fd" title="Returns n-th component of the vector.">csVector2::operator[]</a>, <a class="el" href="classcsVector3.html#1926da31cdca5c7a45821b40b2e1d39a" title="Returns n-th component of the vector.">csVector3::operator[]</a> and <a class="el" href="classcsVector4T.html#bbe782097f807029822153f394393773" title="Returns n-th component of the vector.">csVector4::operator[]</a> for more readability. <dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="ggdb49720dc49f7d4e4cf9adbf2948e40982bccad8e3789fcecb889116579b71ea"></a><!-- doxytag: member="CS_AXIS_NONE" ref="ggdb49720dc49f7d4e4cf9adbf2948e40982bccad8e3789fcecb889116579b71ea" args="" -->CS_AXIS_NONE</em>&nbsp;</td><td>
Invalid axis. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggdb49720dc49f7d4e4cf9adbf2948e4098e81da4ab0c7c07c39847d17fb3a95b5"></a><!-- doxytag: member="CS_AXIS_X" ref="ggdb49720dc49f7d4e4cf9adbf2948e4098e81da4ab0c7c07c39847d17fb3a95b5" args="" -->CS_AXIS_X</em>&nbsp;</td><td>
X axis. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggdb49720dc49f7d4e4cf9adbf2948e4099734b1073fe8f5572622f5e39120317d"></a><!-- doxytag: member="CS_AXIS_Y" ref="ggdb49720dc49f7d4e4cf9adbf2948e4099734b1073fe8f5572622f5e39120317d" args="" -->CS_AXIS_Y</em>&nbsp;</td><td>
Y axis. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggdb49720dc49f7d4e4cf9adbf2948e4092524f76ec772151941164bee31d5d9f1"></a><!-- doxytag: member="CS_AXIS_Z" ref="ggdb49720dc49f7d4e4cf9adbf2948e4092524f76ec772151941164bee31d5d9f1" args="" -->CS_AXIS_Z</em>&nbsp;</td><td>
Z axis. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggdb49720dc49f7d4e4cf9adbf2948e409b090525794378a5a8ee78c5ad7e220b4"></a><!-- doxytag: member="CS_AXIS_W" ref="ggdb49720dc49f7d4e4cf9adbf2948e409b090525794378a5a8ee78c5ad7e220b4" args="" -->CS_AXIS_W</em>&nbsp;</td><td>
W axis. </td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="vector3_8h-source.html#l00039">39</a> of file <a class="el" href="vector3_8h-source.html">vector3.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="gbc6126af1d45847bc59afa0aa3216b04"></a><!-- doxytag: member="box.h::@3" ref="gbc6126af1d45847bc59afa0aa3216b04" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="ggbc6126af1d45847bc59afa0aa3216b04bf5848df27bb69f664cbd291d39420ee"></a><!-- doxytag: member="CS_BOX_SIDE_x" ref="ggbc6126af1d45847bc59afa0aa3216b04bf5848df27bb69f664cbd291d39420ee" args="" -->CS_BOX_SIDE_x</em>&nbsp;</td><td>
min X </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggbc6126af1d45847bc59afa0aa3216b0445dd9cccdf41c83a927d6407db8d896d"></a><!-- doxytag: member="CS_BOX_SIDE_X" ref="ggbc6126af1d45847bc59afa0aa3216b0445dd9cccdf41c83a927d6407db8d896d" args="" -->CS_BOX_SIDE_X</em>&nbsp;</td><td>
max X </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggbc6126af1d45847bc59afa0aa3216b046a332bf491cf4c6d41382d86e048b2af"></a><!-- doxytag: member="CS_BOX_SIDE_y" ref="ggbc6126af1d45847bc59afa0aa3216b046a332bf491cf4c6d41382d86e048b2af" args="" -->CS_BOX_SIDE_y</em>&nbsp;</td><td>
min Y </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggbc6126af1d45847bc59afa0aa3216b04609482712abd0e66fdc499c79446e436"></a><!-- doxytag: member="CS_BOX_SIDE_Y" ref="ggbc6126af1d45847bc59afa0aa3216b04609482712abd0e66fdc499c79446e436" args="" -->CS_BOX_SIDE_Y</em>&nbsp;</td><td>
max Y </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggbc6126af1d45847bc59afa0aa3216b04d7e05664a7c62642086c8208312f7e0f"></a><!-- doxytag: member="CS_BOX_SIDE_z" ref="ggbc6126af1d45847bc59afa0aa3216b04d7e05664a7c62642086c8208312f7e0f" args="" -->CS_BOX_SIDE_z</em>&nbsp;</td><td>
min Z </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggbc6126af1d45847bc59afa0aa3216b047406d4fc7aaf58e925da20fa75e958c7"></a><!-- doxytag: member="CS_BOX_SIDE_Z" ref="ggbc6126af1d45847bc59afa0aa3216b047406d4fc7aaf58e925da20fa75e958c7" args="" -->CS_BOX_SIDE_Z</em>&nbsp;</td><td>
max Z </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggbc6126af1d45847bc59afa0aa3216b043f565d480903f9a9037e5a4f557ac32d"></a><!-- doxytag: member="CS_BOX_INSIDE" ref="ggbc6126af1d45847bc59afa0aa3216b043f565d480903f9a9037e5a4f557ac32d" args="" -->CS_BOX_INSIDE</em>&nbsp;</td><td>
inside </td></tr>
</table>
</dl>

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

</div>
</div><p>
<a class="anchor" name="gdc29c2ff13d900c2f185ee95427fb06c"></a><!-- doxytag: member="box.h::@4" ref="gdc29c2ff13d900c2f185ee95427fb06c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="ggdc29c2ff13d900c2f185ee95427fb06c28c05175d3a2a4c149f796f4c6f64b0f"></a><!-- doxytag: member="CS_BOX_EDGE_Xyz_xyz" ref="ggdc29c2ff13d900c2f185ee95427fb06c28c05175d3a2a4c149f796f4c6f64b0f" args="" -->CS_BOX_EDGE_Xyz_xyz</em>&nbsp;</td><td>
from max X, min Y, min Z to min X, min Y, min Z </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggdc29c2ff13d900c2f185ee95427fb06cf1b6f3bca9b6f462f95b3ee037ea45b9"></a><!-- doxytag: member="CS_BOX_EDGE_xyz_Xyz" ref="ggdc29c2ff13d900c2f185ee95427fb06cf1b6f3bca9b6f462f95b3ee037ea45b9" args="" -->CS_BOX_EDGE_xyz_Xyz</em>&nbsp;</td><td>
from min X, min Y, min Z to max X, min Y, min Z </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggdc29c2ff13d900c2f185ee95427fb06cab03491e2bc4107e684f35213bcbcd61"></a><!-- doxytag: member="CS_BOX_EDGE_xyz_xYz" ref="ggdc29c2ff13d900c2f185ee95427fb06cab03491e2bc4107e684f35213bcbcd61" args="" -->CS_BOX_EDGE_xyz_xYz</em>&nbsp;</td><td>
from min X, min Y, min Z to min X, max Y, min Z </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggdc29c2ff13d900c2f185ee95427fb06c66b26777890e8aa3a1548c43b8db5e6a"></a><!-- doxytag: member="CS_BOX_EDGE_xYz_xyz" ref="ggdc29c2ff13d900c2f185ee95427fb06c66b26777890e8aa3a1548c43b8db5e6a" args="" -->CS_BOX_EDGE_xYz_xyz</em>&nbsp;</td><td>
from min X, max Y, min Z to min X, min Y, min Z </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggdc29c2ff13d900c2f185ee95427fb06c0287c5a744c7f5f969f704b7417918e0"></a><!-- doxytag: member="CS_BOX_EDGE_xYz_XYz" ref="ggdc29c2ff13d900c2f185ee95427fb06c0287c5a744c7f5f969f704b7417918e0" args="" -->CS_BOX_EDGE_xYz_XYz</em>&nbsp;</td><td>
from min X, max Y, min Z to max X, max Y, min Z </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggdc29c2ff13d900c2f185ee95427fb06cfd27ca2b7840189a4e65b6574f1dfae8"></a><!-- doxytag: member="CS_BOX_EDGE_XYz_xYz" ref="ggdc29c2ff13d900c2f185ee95427fb06cfd27ca2b7840189a4e65b6574f1dfae8" args="" -->CS_BOX_EDGE_XYz_xYz</em>&nbsp;</td><td>
from max X, max Y, min Z to min X, max Y, min Z </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggdc29c2ff13d900c2f185ee95427fb06c335c45578982e7a26b9d26f4fb0273fc"></a><!-- doxytag: member="CS_BOX_EDGE_XYz_Xyz" ref="ggdc29c2ff13d900c2f185ee95427fb06c335c45578982e7a26b9d26f4fb0273fc" args="" -->CS_BOX_EDGE_XYz_Xyz</em>&nbsp;</td><td>
from max X, max Y, min Z to max X, min Y, min Z </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggdc29c2ff13d900c2f185ee95427fb06c26ef6a1c17df15e763df523ca4d6092a"></a><!-- doxytag: member="CS_BOX_EDGE_Xyz_XYz" ref="ggdc29c2ff13d900c2f185ee95427fb06c26ef6a1c17df15e763df523ca4d6092a" args="" -->CS_BOX_EDGE_Xyz_XYz</em>&nbsp;</td><td>
from max X, min Y min Z to max X, max Y, min Z </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggdc29c2ff13d900c2f185ee95427fb06c8364a7525248aaa39bf3754f87ab0e6e"></a><!-- doxytag: member="CS_BOX_EDGE_Xyz_XyZ" ref="ggdc29c2ff13d900c2f185ee95427fb06c8364a7525248aaa39bf3754f87ab0e6e" args="" -->CS_BOX_EDGE_Xyz_XyZ</em>&nbsp;</td><td>
from max X, min Y, min Z to max X, min Y, max Z </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggdc29c2ff13d900c2f185ee95427fb06c7beb6b0163fcf275a4b4f9e898e17ec6"></a><!-- doxytag: member="CS_BOX_EDGE_XyZ_Xyz" ref="ggdc29c2ff13d900c2f185ee95427fb06c7beb6b0163fcf275a4b4f9e898e17ec6" args="" -->CS_BOX_EDGE_XyZ_Xyz</em>&nbsp;</td><td>
from max X, min Y, max Z to max X, min Y, min Z </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggdc29c2ff13d900c2f185ee95427fb06c1e9f896d12d1a99e0c222045a11d6911"></a><!-- doxytag: member="CS_BOX_EDGE_XyZ_XYZ" ref="ggdc29c2ff13d900c2f185ee95427fb06c1e9f896d12d1a99e0c222045a11d6911" args="" -->CS_BOX_EDGE_XyZ_XYZ</em>&nbsp;</td><td>
from max X, min Y, max Z to max X, max Y, max Z </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggdc29c2ff13d900c2f185ee95427fb06ce3504080e396e00052243b9c0dc3c8c1"></a><!-- doxytag: member="CS_BOX_EDGE_XYZ_XyZ" ref="ggdc29c2ff13d900c2f185ee95427fb06ce3504080e396e00052243b9c0dc3c8c1" args="" -->CS_BOX_EDGE_XYZ_XyZ</em>&nbsp;</td><td>
from max X, max Y, max Z to max X, min Y, max Z </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggdc29c2ff13d900c2f185ee95427fb06cab569a7997e86dd33ba8636830a2d46f"></a><!-- doxytag: member="CS_BOX_EDGE_XYZ_XYz" ref="ggdc29c2ff13d900c2f185ee95427fb06cab569a7997e86dd33ba8636830a2d46f" args="" -->CS_BOX_EDGE_XYZ_XYz</em>&nbsp;</td><td>
from max X, max Y, max Z to max X, max Y, min Z </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggdc29c2ff13d900c2f185ee95427fb06c52ad8f1f084dbdedfcf455b97b237945"></a><!-- doxytag: member="CS_BOX_EDGE_XYz_XYZ" ref="ggdc29c2ff13d900c2f185ee95427fb06c52ad8f1f084dbdedfcf455b97b237945" args="" -->CS_BOX_EDGE_XYz_XYZ</em>&nbsp;</td><td>
from max X, max Y, min Z to max X, max Y, max Z </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggdc29c2ff13d900c2f185ee95427fb06cfba0050e6b406ec4837ca5ecb876cac2"></a><!-- doxytag: member="CS_BOX_EDGE_XYZ_xYZ" ref="ggdc29c2ff13d900c2f185ee95427fb06cfba0050e6b406ec4837ca5ecb876cac2" args="" -->CS_BOX_EDGE_XYZ_xYZ</em>&nbsp;</td><td>
from max X, max Y, max Z to min X, max Y, max Z </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggdc29c2ff13d900c2f185ee95427fb06c70555ffeea5abe887d7c2b11d52a3fe2"></a><!-- doxytag: member="CS_BOX_EDGE_xYZ_XYZ" ref="ggdc29c2ff13d900c2f185ee95427fb06c70555ffeea5abe887d7c2b11d52a3fe2" args="" -->CS_BOX_EDGE_xYZ_XYZ</em>&nbsp;</td><td>
from min X, max Y, max Z to max X, max Y, max Z </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggdc29c2ff13d900c2f185ee95427fb06c43b1277678de6c48152cfd869f6a52e2"></a><!-- doxytag: member="CS_BOX_EDGE_xYZ_xYz" ref="ggdc29c2ff13d900c2f185ee95427fb06c43b1277678de6c48152cfd869f6a52e2" args="" -->CS_BOX_EDGE_xYZ_xYz</em>&nbsp;</td><td>
from min X, max Y, max Z to min X, max Y, min Z </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggdc29c2ff13d900c2f185ee95427fb06c98abe1d1ea24fd6e0e79e71997c48029"></a><!-- doxytag: member="CS_BOX_EDGE_xYz_xYZ" ref="ggdc29c2ff13d900c2f185ee95427fb06c98abe1d1ea24fd6e0e79e71997c48029" args="" -->CS_BOX_EDGE_xYz_xYZ</em>&nbsp;</td><td>
from min X, max Y, min Z to min X, max Y, max Z </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggdc29c2ff13d900c2f185ee95427fb06c7d2b31db7d0e7f15105194030fed4a23"></a><!-- doxytag: member="CS_BOX_EDGE_xYZ_xyZ" ref="ggdc29c2ff13d900c2f185ee95427fb06c7d2b31db7d0e7f15105194030fed4a23" args="" -->CS_BOX_EDGE_xYZ_xyZ</em>&nbsp;</td><td>
from min X, max Y, max Z to min X, min Y, max Z </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggdc29c2ff13d900c2f185ee95427fb06cd023f48dcdce21774666352abed6b56b"></a><!-- doxytag: member="CS_BOX_EDGE_xyZ_xYZ" ref="ggdc29c2ff13d900c2f185ee95427fb06cd023f48dcdce21774666352abed6b56b" args="" -->CS_BOX_EDGE_xyZ_xYZ</em>&nbsp;</td><td>
from min X, min Y, max Z to min X, max Y, max Z </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggdc29c2ff13d900c2f185ee95427fb06caea4a1129a5c51aae234283ce02df056"></a><!-- doxytag: member="CS_BOX_EDGE_xyZ_xyz" ref="ggdc29c2ff13d900c2f185ee95427fb06caea4a1129a5c51aae234283ce02df056" args="" -->CS_BOX_EDGE_xyZ_xyz</em>&nbsp;</td><td>
from min X, min Y, max Z to min X, min Y, min Z </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggdc29c2ff13d900c2f185ee95427fb06c80fb3e69e2048893619b1d79d1af1f31"></a><!-- doxytag: member="CS_BOX_EDGE_xyz_xyZ" ref="ggdc29c2ff13d900c2f185ee95427fb06c80fb3e69e2048893619b1d79d1af1f31" args="" -->CS_BOX_EDGE_xyz_xyZ</em>&nbsp;</td><td>
from min X, min Y, min Z to min X, min Y, max Z </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggdc29c2ff13d900c2f185ee95427fb06c6e42bf64feb368b283b43cd588c81007"></a><!-- doxytag: member="CS_BOX_EDGE_xyZ_XyZ" ref="ggdc29c2ff13d900c2f185ee95427fb06c6e42bf64feb368b283b43cd588c81007" args="" -->CS_BOX_EDGE_xyZ_XyZ</em>&nbsp;</td><td>
from min X, min Y, max Z to max X, min Y, max Z </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggdc29c2ff13d900c2f185ee95427fb06cd7607d9544acab7162ea123acc6fb711"></a><!-- doxytag: member="CS_BOX_EDGE_XyZ_xyZ" ref="ggdc29c2ff13d900c2f185ee95427fb06cd7607d9544acab7162ea123acc6fb711" args="" -->CS_BOX_EDGE_XyZ_xyZ</em>&nbsp;</td><td>
from max X, min Y, max Z to min X, min Y, max Z </td></tr>
</table>
</dl>

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

</div>
</div><p>
<a class="anchor" name="g61dadd085c1777f559549e05962b2c9e"></a><!-- doxytag: member="frustum.h::@5" ref="g61dadd085c1777f559549e05962b2c9e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="gg61dadd085c1777f559549e05962b2c9e94cc72a1a3f8f76be34890b8b685f382"></a><!-- doxytag: member="CS_FRUST_OUTSIDE" ref="gg61dadd085c1777f559549e05962b2c9e94cc72a1a3f8f76be34890b8b685f382" args="" -->CS_FRUST_OUTSIDE</em>&nbsp;</td><td>
The polygon is fully outside frustum. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg61dadd085c1777f559549e05962b2c9e5d55e08138192c764d87aec4cb6fd8e2"></a><!-- doxytag: member="CS_FRUST_INSIDE" ref="gg61dadd085c1777f559549e05962b2c9e5d55e08138192c764d87aec4cb6fd8e2" args="" -->CS_FRUST_INSIDE</em>&nbsp;</td><td>
The polygon is fully inside frustum. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg61dadd085c1777f559549e05962b2c9eda01f0cc2cf09d08a4cc49d8ec31e208"></a><!-- doxytag: member="CS_FRUST_COVERED" ref="gg61dadd085c1777f559549e05962b2c9eda01f0cc2cf09d08a4cc49d8ec31e208" args="" -->CS_FRUST_COVERED</em>&nbsp;</td><td>
The polygon fully covers the frustum. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg61dadd085c1777f559549e05962b2c9e29a0b767ce5e46c8d3c8150713ed7dc8"></a><!-- doxytag: member="CS_FRUST_PARTIAL" ref="gg61dadd085c1777f559549e05962b2c9e29a0b767ce5e46c8d3c8150713ed7dc8" args="" -->CS_FRUST_PARTIAL</em>&nbsp;</td><td>
The polygon is partially inside frustum. </td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="frustum_8h-source.html#l00046">46</a> of file <a class="el" href="frustum_8h-source.html">frustum.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="g109bfaad92bd6d348dab484aec11edbb"></a><!-- doxytag: member="clip2d.h::@69" ref="g109bfaad92bd6d348dab484aec11edbb" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="gg109bfaad92bd6d348dab484aec11edbb327d20023b6a973b24df4878ac1ca2a9"></a><!-- doxytag: member="CS_CLIP_OUTSIDE" ref="gg109bfaad92bd6d348dab484aec11edbb327d20023b6a973b24df4878ac1ca2a9" args="" -->CS_CLIP_OUTSIDE</em>&nbsp;</td><td>
The input polygon is completely outside of clipper polygon. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg109bfaad92bd6d348dab484aec11edbb5545e595302e89c3de51ec06a09ad73f"></a><!-- doxytag: member="CS_CLIP_CLIPPED" ref="gg109bfaad92bd6d348dab484aec11edbb5545e595302e89c3de51ec06a09ad73f" args="" -->CS_CLIP_CLIPPED</em>&nbsp;</td><td>
The input polygon was partially inside, partially outside. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg109bfaad92bd6d348dab484aec11edbb75e75d608a45eea6c9fda90b04aeefbd"></a><!-- doxytag: member="CS_CLIP_INSIDE" ref="gg109bfaad92bd6d348dab484aec11edbb75e75d608a45eea6c9fda90b04aeefbd" args="" -->CS_CLIP_INSIDE</em>&nbsp;</td><td>
The input polygon is completely inside (thus has not changed). </td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="clip2d_8h-source.html#l00046">46</a> of file <a class="el" href="clip2d_8h-source.html">clip2d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="g550cb4231d535863c55643bbd2d3c6ba"></a><!-- doxytag: member="clip2d.h::@70" ref="g550cb4231d535863c55643bbd2d3c6ba" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Clipped vertex type. 
<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="gg550cb4231d535863c55643bbd2d3c6bab2c5f01a5c75c95a126f9352fecc63db"></a><!-- doxytag: member="CS_VERTEX_ORIGINAL" ref="gg550cb4231d535863c55643bbd2d3c6bab2c5f01a5c75c95a126f9352fecc63db" args="" -->CS_VERTEX_ORIGINAL</em>&nbsp;</td><td>
The output vertex is one of the input vertices. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg550cb4231d535863c55643bbd2d3c6ba5648edc14e0bc979178d7f7cf4ad76d5"></a><!-- doxytag: member="CS_VERTEX_ONEDGE" ref="gg550cb4231d535863c55643bbd2d3c6ba5648edc14e0bc979178d7f7cf4ad76d5" args="" -->CS_VERTEX_ONEDGE</em>&nbsp;</td><td>
The output vertex is located on one of the edges of the original polygon. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg550cb4231d535863c55643bbd2d3c6ba38ad988c5e359fec3a8328c9965a691c"></a><!-- doxytag: member="CS_VERTEX_INSIDE" ref="gg550cb4231d535863c55643bbd2d3c6ba38ad988c5e359fec3a8328c9965a691c" args="" -->CS_VERTEX_INSIDE</em>&nbsp;</td><td>
The output vertex is located somewhere inside the original polygon. </td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="clip2d_8h-source.html#l00079">79</a> of file <a class="el" href="clip2d_8h-source.html">clip2d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="g83e8bc15645f9d99ab91a152bb3dc8ce"></a><!-- doxytag: member="polymesh.h::@71" ref="g83e8bc15645f9d99ab91a152bb3dc8ce" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="gg83e8bc15645f9d99ab91a152bb3dc8ce8e9aae34250cfee0c5bbdeee9c6737b8"></a><!-- doxytag: member="CS_POLYMESH_CLOSED" ref="gg83e8bc15645f9d99ab91a152bb3dc8ce8e9aae34250cfee0c5bbdeee9c6737b8" args="" -->CS_POLYMESH_CLOSED</em>&nbsp;</td><td>
The object is closed, if set. 
<p>
With closed we mean that if you run a beam of light through the object (through any point outside the mesh to another point outside) it will always hit an even amount of faces (one going in, and one going out). If you don't set CLOSED or NOTCLOSED then the state is not known and the engine may test it if it wants. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg83e8bc15645f9d99ab91a152bb3dc8cecf23a303139282162f48575477c27770"></a><!-- doxytag: member="CS_POLYMESH_NOTCLOSED" ref="gg83e8bc15645f9d99ab91a152bb3dc8cecf23a303139282162f48575477c27770" args="" -->CS_POLYMESH_NOTCLOSED</em>&nbsp;</td><td>
The object is not closed, if set. 
<p>
This is the opposite of <a class="el" href="group__geom__utils.html#gg83e8bc15645f9d99ab91a152bb3dc8ce8e9aae34250cfee0c5bbdeee9c6737b8" title="The object is closed, if set.">CS_POLYMESH_CLOSED</a>. Use this flag if you are absolutely certain that the object is not closed. The engine will not attempt to test if the object is really closed or not. If you don't set CLOSED or NOTCLOSED then the state is not known and the engine may test it if it wants. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg83e8bc15645f9d99ab91a152bb3dc8ce40a5b15272940f6cbc9ca9581f3ed3ce"></a><!-- doxytag: member="CS_POLYMESH_CONVEX" ref="gg83e8bc15645f9d99ab91a152bb3dc8ce40a5b15272940f6cbc9ca9581f3ed3ce" args="" -->CS_POLYMESH_CONVEX</em>&nbsp;</td><td>
The object is convex, if set. 
<p>
With convex we mean that if you run a beam of light through the object (through any point outside the mesh to another point outside) it will always hit exactly two faces (one going in, and one going out). If you don't set CONVEX or NOTCONVEX then the state is not known and the engine may test it if it wants. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg83e8bc15645f9d99ab91a152bb3dc8ced3c40a299420fbebed6542e771a7ded4"></a><!-- doxytag: member="CS_POLYMESH_NOTCONVEX" ref="gg83e8bc15645f9d99ab91a152bb3dc8ced3c40a299420fbebed6542e771a7ded4" args="" -->CS_POLYMESH_NOTCONVEX</em>&nbsp;</td><td>
The object is not convex, if set. 
<p>
This is the opposite of <a class="el" href="group__geom__utils.html#gg83e8bc15645f9d99ab91a152bb3dc8ce40a5b15272940f6cbc9ca9581f3ed3ce" title="The object is convex, if set.">CS_POLYMESH_CONVEX</a>. Use this flag if you are absolutely certain that the object is not convex. The engine will not attempt to test if the object is really convex or not. If you don't set CONVEX or NOTCONVEX then the state is not known and the engine may test it if it wants. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg83e8bc15645f9d99ab91a152bb3dc8ce3f90c752cbb5be9e8ef4871380eaab50"></a><!-- doxytag: member="CS_POLYMESH_DEFORMABLE" ref="gg83e8bc15645f9d99ab91a152bb3dc8ce3f90c752cbb5be9e8ef4871380eaab50" args="" -->CS_POLYMESH_DEFORMABLE</em>&nbsp;</td><td>
Set this flag if the polygon mesh is deformable. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg83e8bc15645f9d99ab91a152bb3dc8cedc8fef75d8bcac18d711d1bafb503138"></a><!-- doxytag: member="CS_POLYMESH_TRIANGLEMESH" ref="gg83e8bc15645f9d99ab91a152bb3dc8cedc8fef75d8bcac18d711d1bafb503138" args="" -->CS_POLYMESH_TRIANGLEMESH</em>&nbsp;</td><td>
Set this flag if the native or desired format of the polygon mesh is a triangle mesh. 
<p>
If this flag is set it means that GetTriangles() is very cheap. The presence of this flag does not mean that GetPolygons() will not work. </td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="igeom_2polymesh_8h-source.html#l00037">37</a> of file <a class="el" href="igeom_2polymesh_8h-source.html">polymesh.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="g68c01102755fc7d1c810bb0b0635fa90"></a><!-- doxytag: member="trimesh.h::@72" ref="g68c01102755fc7d1c810bb0b0635fa90" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="gg68c01102755fc7d1c810bb0b0635fa90e79eee97416d39f451607fc2c94b01dc"></a><!-- doxytag: member="CS_TRIMESH_CLOSED" ref="gg68c01102755fc7d1c810bb0b0635fa90e79eee97416d39f451607fc2c94b01dc" args="" -->CS_TRIMESH_CLOSED</em>&nbsp;</td><td>
The object is closed, if set. 
<p>
With closed we mean that if you run a beam of light through the object (through any point outside the mesh to another point outside) it will always hit an even amount of faces (one going in, and one going out). If you don't set CLOSED or NOTCLOSED then the state is not known and the engine may test it if it wants. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg68c01102755fc7d1c810bb0b0635fa9003fce5c7db65c3182ec683ff006698a3"></a><!-- doxytag: member="CS_TRIMESH_NOTCLOSED" ref="gg68c01102755fc7d1c810bb0b0635fa9003fce5c7db65c3182ec683ff006698a3" args="" -->CS_TRIMESH_NOTCLOSED</em>&nbsp;</td><td>
The object is not closed, if set. 
<p>
This is the opposite of <a class="el" href="group__geom__utils.html#gg68c01102755fc7d1c810bb0b0635fa90e79eee97416d39f451607fc2c94b01dc" title="The object is closed, if set.">CS_TRIMESH_CLOSED</a>. Use this flag if you are absolutely certain that the object is not closed. The engine will not attempt to test if the object is really closed or not. If you don't set CLOSED or NOTCLOSED then the state is not known and the engine may test it if it wants. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg68c01102755fc7d1c810bb0b0635fa90eb9ea0bd96761361e39a61c17d65a256"></a><!-- doxytag: member="CS_TRIMESH_CONVEX" ref="gg68c01102755fc7d1c810bb0b0635fa90eb9ea0bd96761361e39a61c17d65a256" args="" -->CS_TRIMESH_CONVEX</em>&nbsp;</td><td>
The object is convex, if set. 
<p>
With convex we mean that if you run a beam of light through the object (through any point outside the mesh to another point outside) it will always hit exactly two faces (one going in, and one going out). If you don't * set CONVEX or NOTCONVEX then the state is not known and the engine may test it if it wants. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg68c01102755fc7d1c810bb0b0635fa903d71f9603c9ea6f85b041230d365c984"></a><!-- doxytag: member="CS_TRIMESH_NOTCONVEX" ref="gg68c01102755fc7d1c810bb0b0635fa903d71f9603c9ea6f85b041230d365c984" args="" -->CS_TRIMESH_NOTCONVEX</em>&nbsp;</td><td>
The object is not convex, if set. 
<p>
This is the opposite of <a class="el" href="group__geom__utils.html#gg68c01102755fc7d1c810bb0b0635fa90eb9ea0bd96761361e39a61c17d65a256" title="The object is convex, if set.">CS_TRIMESH_CONVEX</a>. Use this flag if you are absolutely certain that the object is not convex. The engine will not attempt to test if the object is really convex or not. If you don't set CONVEX or NOTCONVEX then the state is not known and the engine may test it if it wants. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg68c01102755fc7d1c810bb0b0635fa909c5cd7efda84b38e2bdc0089c8ef74ef"></a><!-- doxytag: member="CS_TRIMESH_DEFORMABLE" ref="gg68c01102755fc7d1c810bb0b0635fa909c5cd7efda84b38e2bdc0089c8ef74ef" args="" -->CS_TRIMESH_DEFORMABLE</em>&nbsp;</td><td>
Set this flag if the triangle mesh is deformable. </td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="igeom_2trimesh_8h-source.html#l00037">37</a> of file <a class="el" href="igeom_2trimesh_8h-source.html">trimesh.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="gb16b3b21d99638775c56de4bc2e3481b"></a><!-- doxytag: member="frustum.h::csClipType" ref="gb16b3b21d99638775c56de4bc2e3481b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__geom__utils.html#gb16b3b21d99638775c56de4bc2e3481b">csClipType</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="ggb16b3b21d99638775c56de4bc2e3481baeb1dab65c1ae464a08812b43ea23b96"></a><!-- doxytag: member="CS_CLIPINFO_ORIGINAL" ref="ggb16b3b21d99638775c56de4bc2e3481baeb1dab65c1ae464a08812b43ea23b96" args="" -->CS_CLIPINFO_ORIGINAL</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggb16b3b21d99638775c56de4bc2e3481b49e16e6a3e8c7e5533cb90907498ccb9"></a><!-- doxytag: member="CS_CLIPINFO_ONEDGE" ref="ggb16b3b21d99638775c56de4bc2e3481b49e16e6a3e8c7e5533cb90907498ccb9" args="" -->CS_CLIPINFO_ONEDGE</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggb16b3b21d99638775c56de4bc2e3481b95b11b959d4981b861946b6c854ce1de"></a><!-- doxytag: member="CS_CLIPINFO_INSIDE" ref="ggb16b3b21d99638775c56de4bc2e3481b95b11b959d4981b861946b6c854ce1de" args="" -->CS_CLIPINFO_INSIDE</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="frustum_8h-source.html#l00059">59</a> of file <a class="el" href="frustum_8h-source.html">frustum.h</a>.</p>

</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="g64e24e36c1513196e53d7ec4638fbf87"></a><!-- doxytag: member="polyaa.h::csAntialiasedPolyFill" ref="g64e24e36c1513196e53d7ec4638fbf87" args="(csVector2 *iVertices, int iVertexCount, void *iArg, csAAPFCBPixel iPutPixel, csAAPFCBBox iDrawBox=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csAntialiasedPolyFill           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsVector2.html">csVector2</a> *&nbsp;</td>
          <td class="paramname"> <em>iVertices</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>iVertexCount</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>iArg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__geom__utils.html#gf7b869b5dd833f4a5eb40ac11e8aa69f">csAAPFCBPixel</a>&nbsp;</td>
          <td class="paramname"> <em>iPutPixel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__geom__utils.html#g87f4d8d2cb83c58a9db7f9cbedd0c2a7">csAAPFCBBox</a>&nbsp;</td>
          <td class="paramname"> <em>iDrawBox</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This function takes a 2D polygon and splits it against a integer grid into many sub-polygons. 
<p>
Then the area of each subpolygon is computed and a callback function is called, with the area of sub-polygon passed as argument. 
</div>
</div><p>
<a class="anchor" name="g1c0100d274735df4706c4b903c9ba6f5"></a><!-- doxytag: member="math.h::csClamp" ref="g1c0100d274735df4706c4b903c9ba6f5" args="(const T &amp;a, T max, T min)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">T csClamp           </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T&nbsp;</td>
          <td class="paramname"> <em>max</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T&nbsp;</td>
          <td class="paramname"> <em>min</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>
Clamp a between max and min. 
<p>

<p>Definition at line <a class="el" href="math_8h-source.html#l00080">80</a> of file <a class="el" href="math_8h-source.html">math.h</a>.</p>

<p>References <a class="el" href="math_8h-source.html#l00035">csMax()</a>, and <a class="el" href="math_8h-source.html#l00045">csMin()</a>.</p>

<p>Referenced by <a class="el" href="shadervar_8h-source.html#l00193">csShaderVariable::GetValue()</a>.</p>

</div>
</div><p>
<a class="anchor" name="gb84e24b220cd40059738cc8aea20ea18"></a><!-- doxytag: member="math.h::csFinite" ref="gb84e24b220cd40059738cc8aea20ea18" args="(double d)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csFinite           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>d</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Checks if a double-precision floating point value is finite. 
<p>

<p>Definition at line <a class="el" href="math_8h-source.html#l00144">144</a> of file <a class="el" href="math_8h-source.html">math.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="ge589d6b05b27636b5c3d5d2ecc7af508"></a><!-- doxytag: member="math.h::csFinite" ref="ge589d6b05b27636b5c3d5d2ecc7af508" args="(float f)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csFinite           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>f</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Checks if a floating point value is finite. 
<p>

<p>Definition at line <a class="el" href="math_8h-source.html#l00127">127</a> of file <a class="el" href="math_8h-source.html">math.h</a>.</p>

<p>Referenced by <a class="el" href="math_8h-source.html#l00189">csNormal()</a>.</p>

</div>
</div><p>
<a class="anchor" name="gc34fecd9e6f85e9fcfc2bb081b160b81"></a><!-- doxytag: member="math.h::csLerp" ref="gc34fecd9e6f85e9fcfc2bb081b160b81" args="(const T &amp;a, const T &amp;b, const Tfactor &amp;f)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T, class Tfactor&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">T csLerp           </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const T &amp;&nbsp;</td>
          <td class="paramname"> <em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Tfactor &amp;&nbsp;</td>
          <td class="paramname"> <em>f</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>
Performs a linear interpolation between <em>a</em> and <em>b</em> with the factor <em>f</em>. 
<p>

<p>Definition at line <a class="el" href="math_8h-source.html#l00111">111</a> of file <a class="el" href="math_8h-source.html">math.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="g79291314e7548d3eb1df274158908235"></a><!-- doxytag: member="math.h::csMax" ref="g79291314e7548d3eb1df274158908235" args="(const T &amp;a, const T &amp;b)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">const T&amp; csMax           </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const T &amp;&nbsp;</td>
          <td class="paramname"> <em>b</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>
Returns bigger of a and b. 
<p>
If they are equal, a or b can be returned. 
<p>Definition at line <a class="el" href="math_8h-source.html#l00035">35</a> of file <a class="el" href="math_8h-source.html">math.h</a>.</p>

<p>Referenced by <a class="el" href="box_8h-source.html#l00920">csBox3::AddBoundingBox()</a>, <a class="el" href="math_8h-source.html#l00080">csClamp()</a>, and <a class="el" href="vertexlight_8h-source.html#l00155">csLinearAttenuation::operator()()</a>.</p>

</div>
</div><p>
<a class="anchor" name="g16a5d316a30efbd72510b608e3233ea1"></a><!-- doxytag: member="math.h::csMin" ref="g16a5d316a30efbd72510b608e3233ea1" args="(const T &amp;a, const T &amp;b)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">const T&amp; csMin           </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const T &amp;&nbsp;</td>
          <td class="paramname"> <em>b</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>
Returns smaller of a and b. 
<p>
If they are equal, a or b can be returned. 
<p>Definition at line <a class="el" href="math_8h-source.html#l00045">45</a> of file <a class="el" href="math_8h-source.html">math.h</a>.</p>

<p>Referenced by <a class="el" href="box_8h-source.html#l00920">csBox3::AddBoundingBox()</a>, <a class="el" href="math_8h-source.html#l00080">csClamp()</a>, and <a class="el" href="formatter_8h-source.html#l00114">csFmtDefaultWriter&lt; T &gt;::Put()</a>.</p>

</div>
</div><p>
<a class="anchor" name="ga452ffc07132608369d7b1f941638325"></a><!-- doxytag: member="math.h::csNaN" ref="ga452ffc07132608369d7b1f941638325" args="(double d)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csNaN           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>d</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Checks if a double-precision floating point value is not-a-number. 
<p>

<p>Definition at line <a class="el" href="math_8h-source.html#l00175">175</a> of file <a class="el" href="math_8h-source.html">math.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="g5a443dfc570b99a0a3e3eec1141b0ffc"></a><!-- doxytag: member="math.h::csNaN" ref="g5a443dfc570b99a0a3e3eec1141b0ffc" args="(float f)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csNaN           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>f</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Checks if a floating point value is not-a-number. 
<p>

<p>Definition at line <a class="el" href="math_8h-source.html#l00160">160</a> of file <a class="el" href="math_8h-source.html">math.h</a>.</p>

<p>Referenced by <a class="el" href="math_8h-source.html#l00189">csNormal()</a>.</p>

</div>
</div><p>
<a class="anchor" name="g28088446394ecb4b3a0a40443b4bf76f"></a><!-- doxytag: member="math.h::csNormal" ref="g28088446394ecb4b3a0a40443b4bf76f" args="(double d)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csNormal           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>d</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Checks if a double-precision floating point value is normal. 
<p>

<p>Definition at line <a class="el" href="math_8h-source.html#l00202">202</a> of file <a class="el" href="math_8h-source.html">math.h</a>.</p>

<p>References <a class="el" href="math_8h-source.html#l00127">csFinite()</a>, and <a class="el" href="math_8h-source.html#l00160">csNaN()</a>.</p>

</div>
</div><p>
<a class="anchor" name="gc1760aed89ed0cc61c40d2826ab21c2c"></a><!-- doxytag: member="math.h::csNormal" ref="gc1760aed89ed0cc61c40d2826ab21c2c" args="(float f)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csNormal           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>f</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Checks if a floating point value is normal (not infinite or nan). 
<p>

<p>Definition at line <a class="el" href="math_8h-source.html#l00189">189</a> of file <a class="el" href="math_8h-source.html">math.h</a>.</p>

<p>References <a class="el" href="math_8h-source.html#l00127">csFinite()</a>, and <a class="el" href="math_8h-source.html#l00160">csNaN()</a>.</p>

</div>
</div><p>
<a class="anchor" name="g5aa770bf13eb4b8ee00f34ae9ef64567"></a><!-- doxytag: member="math.h::csSmoothStep" ref="g5aa770bf13eb4b8ee00f34ae9ef64567" args="(const T &amp;a, T max, T min)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">T csSmoothStep           </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T&nbsp;</td>
          <td class="paramname"> <em>max</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T&nbsp;</td>
          <td class="paramname"> <em>min</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>
Performs a smooth interpolation of a on range min to max. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Smooth interporlated value if <em>min</em> &lt; <em>a</em> &lt; <em>max</em>, and 0 resp. 1 if <em>a</em> is smaller than <em>min</em> resp. larger than <em>max</em>. </dd></dl>

<p>Definition at line <a class="el" href="math_8h-source.html#l00091">91</a> of file <a class="el" href="math_8h-source.html">math.h</a>.</p>

<p>Referenced by <a class="el" href="vertexlight_8h-source.html#l00352">csSpotLightProc&lt; AttenuationProc &gt;::PerVertex::PerVertex()</a>.</p>

</div>
</div><p>
<a class="anchor" name="g1286eb4497b8d01ea5f8272509b7e99a"></a><!-- doxytag: member="math.h::csSort" ref="g1286eb4497b8d01ea5f8272509b7e99a" args="(T &amp;a, T &amp;b, U &amp;x, U &amp;y)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T, class U&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void csSort           </td>
          <td>(</td>
          <td class="paramtype">T &amp;&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T &amp;&nbsp;</td>
          <td class="paramname"> <em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">U &amp;&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">U &amp;&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>
Sort a and b in order of size. 
<p>
If swapping them, also swap x and y 
<p>Definition at line <a class="el" href="math_8h-source.html#l00066">66</a> of file <a class="el" href="math_8h-source.html">math.h</a>.</p>

<p>References <a class="el" href="algorithms_8h-source.html#l00034">CS::Swap()</a>.</p>

</div>
</div><p>
<a class="anchor" name="g3192df8378b422cf7c3e4320a3c838bf"></a><!-- doxytag: member="math.h::csSort" ref="g3192df8378b422cf7c3e4320a3c838bf" args="(T &amp;a, T &amp;b)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void csSort           </td>
          <td>(</td>
          <td class="paramtype">T &amp;&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T &amp;&nbsp;</td>
          <td class="paramname"> <em>b</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>
Sort a and b in order of size. 
<p>

<p>Definition at line <a class="el" href="math_8h-source.html#l00055">55</a> of file <a class="el" href="math_8h-source.html">math.h</a>.</p>

<p>References <a class="el" href="algorithms_8h-source.html#l00034">CS::Swap()</a>.</p>

</div>
</div><p>
<a class="anchor" name="g7e2758395886579dcca2faba48e67f94"></a><!-- doxytag: member="math.h::csSquare" ref="g7e2758395886579dcca2faba48e67f94" args="(const T &amp;x)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">T csSquare           </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&nbsp;</td>
          <td class="paramname"> <em>x</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the square of the argument. 
<p>

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

<p>Referenced by <a class="el" href="sphere_8h-source.html#l00089">csSphere::TestIntersect()</a>.</p>

</div>
</div><p>
<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>