Sophie

Sophie

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

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: csFrustum Class Reference (Crystal Space 1.2.1 Public API Reference)</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="head">
 <tr height="59">
  <td class="head" width="202" valign="bottom" style="padding-left:0;"><a href="http://www.crystalspace3d.org/"><img src="csblur.png" width="236" height="59" alt="CrystalSpace" border="0"></a></td>
  <td class="head"><h2>Public API Reference</h2></td>
 </tr>
 <tr height="11">
  <td colspan="2" class="headshadow" valign="top" style="padding-left:0;"><img src="csblurb.png" width="236" height="11" alt="" border="0"></td>
 </tr>
</table>
<div class="content">
<!-- Generated by Doxygen 1.5.3 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
    <li class="current"><a href="classes.html"><span>Classes</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul>
</div>
<div class="tabs">
  <ul>
    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
  </ul>
</div>
<h1>csFrustum Class Reference<br>
<small>
[<a class="el" href="group__geom__utils.html">Geometry utilities</a>]</small>
</h1><!-- doxytag: class="csFrustum" --><!-- doxytag: inherits="csRefCount" -->A general frustum.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="frustum_8h-source.html">csgeom/frustum.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for csFrustum:</div>
<div class="dynsection">
<p><center><img src="classcsFrustum__inherit__graph.png" border="0" usemap="#csFrustum__inherit__map" alt="Inheritance graph"></center>
<map name="csFrustum__inherit__map">
<area shape="rect" href="classcsRefCount.html" title="This is a class which provides basic reference&#45;counting semantics." alt="" coords="5,7,101,33"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

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

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a vertex to the frustum polygon.  <a href="#dbdf4bde6639c4ec761eae042c0d08c3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsFrustum.html#eb62e2571d380f5e384e420398f98836">ClipPolyToPlane</a> (<a class="el" href="classcsPlane3.html">csPlane3</a> *plane)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clip the polygon of this frustum to the postive side of an arbitrary plane (which should be specified relative to the origin of the frustum).  <a href="#eb62e2571d380f5e384e420398f98836"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsFrustum.html#8e1c0713b7275a217ebde46801eedbed">ClipToPlane</a> (<a class="el" href="classcsVector3.html">csVector3</a> &amp;v1, <a class="el" href="classcsVector3.html">csVector3</a> &amp;v2)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clip this frustum to the positive side of a plane formed by the origin of this frustum, and the two given vertices.  <a href="#8e1c0713b7275a217ebde46801eedbed"></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="classcsFrustum.html#07fac5a2270bb192cb0b19c6721d18ca">Contains</a> (const <a class="el" href="classcsVector3.html">csVector3</a> &amp;point)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if a point (given relative to the origin of the frustum) is inside the frustum.  <a href="#07fac5a2270bb192cb0b19c6721d18ca"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsFrustum.html#7798f2ce32fcb63e7283ef3a50b4ed83">csFrustum</a> (const <a class="el" href="classcsFrustum.html">csFrustum</a> &amp;copy)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor.  <a href="#7798f2ce32fcb63e7283ef3a50b4ed83"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsFrustum.html#e1ec528e3dc018beb081ac93c1da7be9">csFrustum</a> (const <a class="el" href="classcsVector3.html">csVector3</a> &amp;o, size_t num_verts, <a class="el" href="classcsPlane3.html">csPlane3</a> *backp=0)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a frustum given a number of vertices and a backplane.  <a href="#e1ec528e3dc018beb081ac93c1da7be9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsFrustum.html#c3d73e2eefbdf6373bebf8488884bf9f">csFrustum</a> (const <a class="el" href="classcsVector3.html">csVector3</a> &amp;o, <a class="el" href="classcsVector3.html">csVector3</a> *verts, size_t num_verts, <a class="el" href="classcsPlane3.html">csPlane3</a> *backp=0)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a frustum given a polygon and a backplane.  <a href="#c3d73e2eefbdf6373bebf8488884bf9f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsFrustum.html#32b1d501aa473abc9cc28fdaf5e0b5fb">csFrustum</a> (const <a class="el" href="classcsVector3.html">csVector3</a> &amp;o)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new empty frustum.  <a href="#32b1d501aa473abc9cc28fdaf5e0b5fb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsPlane3.html">csPlane3</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsFrustum.html#5e3059951ccdba4739cd9c8a460beebd">GetBackPlane</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the back plane.  <a href="#5e3059951ccdba4739cd9c8a460beebd"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsFrustum.html#c1a88e883e3108957188b8aa6aef171a">GetOrigin</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the origin of this frustum.  <a href="#c1a88e883e3108957188b8aa6aef171a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsFrustum.html#8a6827e3f078ed11241d5ec4db343f75">GetOrigin</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the origin of this frustum.  <a href="#8a6827e3f078ed11241d5ec4db343f75"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsFrustum.html#1961f5b66b2aa1cabd94cf13de87372a">GetVertex</a> (size_t idx) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a vertex.  <a href="#1961f5b66b2aa1cabd94cf13de87372a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsFrustum.html#8bbfb94e4dee1ea5e77e752a28338bdb">GetVertex</a> (size_t idx)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a vertex.  <a href="#8bbfb94e4dee1ea5e77e752a28338bdb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsFrustum.html#5e51cb3233217bb4cc04ec401f82c464">GetVertexCount</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the number of vertices.  <a href="#5e51cb3233217bb4cc04ec401f82c464"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsVector3.html">csVector3</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsFrustum.html#4395e97acfada9d70605b6314f2d16f8">GetVertices</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the array of vertices.  <a href="#4395e97acfada9d70605b6314f2d16f8"></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="classcsFrustum.html#e2b88f61ed52bbe721646b808b99d3fb">Intersect</a> (<a class="el" href="classcsSegment3.html">csSegment3</a> &amp;segment)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Intersect a segment with the frustum.  <a href="#e2b88f61ed52bbe721646b808b99d3fb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsPtr.html">csPtr</a>&lt; <a class="el" href="classcsFrustum.html">csFrustum</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsFrustum.html#39209c0b2aeaa82bda55042c88273566">Intersect</a> (<a class="el" href="classcsVector3.html">csVector3</a> *poly, size_t num) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Intersect a convex polygon with this volume.  <a href="#39209c0b2aeaa82bda55042c88273566"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsPtr.html">csPtr</a>&lt; <a class="el" href="classcsFrustum.html">csFrustum</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsFrustum.html#5abadb39e9cf881586adee3e910d8f69">Intersect</a> (const <a class="el" href="classcsFrustum.html">csFrustum</a> &amp;other) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Intersect with another frustum.  <a href="#5abadb39e9cf881586adee3e910d8f69"></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="classcsFrustum.html#566183940052ead9fbf6c82b940f12cb">IsEmpty</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return true if frustum is empty.  <a href="#566183940052ead9fbf6c82b940f12cb"></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="classcsFrustum.html#bc62abb4adbbd8f3fb751ed96355ae31">IsInfinite</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return true if frustum is infinite.  <a href="#bc62abb4adbbd8f3fb751ed96355ae31"></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="classcsFrustum.html#b2841c988ee2d28cbc120fee5c0271f2">IsMirrored</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Is this frustum mirrored?  <a href="#b2841c988ee2d28cbc120fee5c0271f2"></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="classcsFrustum.html#41bdce5fd6e67bdf268cf7a16aa634cb">IsWide</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return true if frustum is infinitely wide but it can still have a back plane.  <a href="#41bdce5fd6e67bdf268cf7a16aa634cb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsFrustum.html#bdb1e514714e22241b3ea96fc66c80ea">MakeEmpty</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make the frustum empty.  <a href="#bdb1e514714e22241b3ea96fc66c80ea"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsFrustum.html#5d9b19c766ce08bd3a24bc167c8755ad">MakeInfinite</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make the frustum infinite (i.e.  <a href="#5d9b19c766ce08bd3a24bc167c8755ad"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classcsFrustum.html">csFrustum</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsFrustum.html#ba2653734038213b3fbb9a1afeae63a0">operator=</a> (const <a class="el" href="classcsFrustum.html">csFrustum</a> &amp;other)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assignment operator.  <a href="#ba2653734038213b3fbb9a1afeae63a0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsFrustum.html#7991590fd5dd343a2807e7ca9236e375">RemoveBackPlane</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove the back plane of this frustum.  <a href="#7991590fd5dd343a2807e7ca9236e375"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsFrustum.html#ada5f524726da2dd387bd0befa14d502">SetBackPlane</a> (const <a class="el" href="classcsPlane3.html">csPlane3</a> &amp;plane)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the back plane of this frustum.  <a href="#ada5f524726da2dd387bd0befa14d502"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsFrustum.html#76c2863500da69567d928826fe94133e">SetMirrored</a> (bool m)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enable/disable mirroring.  <a href="#76c2863500da69567d928826fe94133e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsFrustum.html#2d041b91b8afb3bc54a7481cd965943f">SetOrigin</a> (const <a class="el" href="classcsVector3.html">csVector3</a> &amp;o)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the origin of this frustum.  <a href="#2d041b91b8afb3bc54a7481cd965943f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsFrustum.html#b0c3f22c474e75b8c43696cc385f7f23">Transform</a> (<a class="el" href="classcsTransform.html">csTransform</a> *trans)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Apply a transformation to this frustum.  <a href="#b0c3f22c474e75b8c43696cc385f7f23"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsFrustum.html#b6232c814281adaac88b2d6c2d338a42">BatchClassify</a> (<a class="el" href="classcsVector3.html">csVector3</a> *frustum, <a class="el" href="classcsVector3.html">csVector3</a> *frustumNormals, size_t num_frust, <a class="el" href="classcsVector3.html">csVector3</a> *poly, size_t num_poly)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is like the above version except that it takes a vector of precalculated frustum plane normals.  <a href="#b6232c814281adaac88b2d6c2d338a42"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsFrustum.html#bd1c1848d479476ba2fee62fa78d247e">Classify</a> (<a class="el" href="classcsVector3.html">csVector3</a> *frustum, size_t num_frust, <a class="el" href="classcsVector3.html">csVector3</a> *poly, size_t num_poly)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if a polygon intersects with the frustum (i.e.  <a href="#bd1c1848d479476ba2fee62fa78d247e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="42b53ee72b5e0c1babc394c4fbcecbb2"></a><!-- doxytag: member="csFrustum::ClipToPlane" ref="42b53ee72b5e0c1babc394c4fbcecbb2" args="(csVector3 *vertices, int &amp;num_vertices, csClipInfo *clipinfo, const csPlane3 &amp;plane)" -->
static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsFrustum.html#42b53ee72b5e0c1babc394c4fbcecbb2">ClipToPlane</a> (<a class="el" href="classcsVector3.html">csVector3</a> *vertices, int &amp;num_vertices, <a class="el" href="structcsClipInfo.html">csClipInfo</a> *clipinfo, const <a class="el" href="classcsPlane3.html">csPlane3</a> &amp;plane)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsFrustum.html#cc99169007ed4bbe8c57f104f1e66b68">ClipToPlane</a> (<a class="el" href="classcsVector3.html">csVector3</a> *vertices, size_t &amp;num_vertices, <a class="el" href="structcsClipInfo.html">csClipInfo</a> *clipinfo, const <a class="el" href="classcsPlane3.html">csPlane3</a> &amp;plane)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clip a frustum (defined from 0,0,0 origin) to the given plane.  <a href="#cc99169007ed4bbe8c57f104f1e66b68"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f36e42bb80a8279d0adc71ce6963b1e9"></a><!-- doxytag: member="csFrustum::ClipToPlane" ref="f36e42bb80a8279d0adc71ce6963b1e9" args="(csVector3 *vertices, int &amp;num_vertices, csClipInfo *clipinfo, const csVector3 &amp;v1, const csVector3 &amp;v2)" -->
static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsFrustum.html#f36e42bb80a8279d0adc71ce6963b1e9">ClipToPlane</a> (<a class="el" href="classcsVector3.html">csVector3</a> *vertices, int &amp;num_vertices, <a class="el" href="structcsClipInfo.html">csClipInfo</a> *clipinfo, const <a class="el" href="classcsVector3.html">csVector3</a> &amp;v1, const <a class="el" href="classcsVector3.html">csVector3</a> &amp;v2)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsFrustum.html#fcb7649de0dac7e247853015c7b15541">ClipToPlane</a> (<a class="el" href="classcsVector3.html">csVector3</a> *vertices, size_t &amp;num_vertices, <a class="el" href="structcsClipInfo.html">csClipInfo</a> *clipinfo, const <a class="el" href="classcsVector3.html">csVector3</a> &amp;v1, const <a class="el" href="classcsVector3.html">csVector3</a> &amp;v2)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clip a frustum (defined from 0,0,0 origin) to the given plane (defined as 0-v1-v2).  <a href="#fcb7649de0dac7e247853015c7b15541"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsFrustum.html#90158481cf898ce86f5ebe4e6dccb5a6">Contains</a> (<a class="el" href="classcsVector3.html">csVector3</a> *frustum, size_t num_frust, const <a class="el" href="classcsPlane3.html">csPlane3</a> &amp;plane, const <a class="el" href="classcsVector3.html">csVector3</a> &amp;point)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if a point is inside a frustum.  <a href="#90158481cf898ce86f5ebe4e6dccb5a6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsFrustum.html#bbdf2272b7a9690aa8eda8b63dfa7492">Contains</a> (<a class="el" href="classcsVector3.html">csVector3</a> *frustum, size_t num_frust, const <a class="el" href="classcsVector3.html">csVector3</a> &amp;point)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if a point is inside a frustum.  <a href="#bbdf2272b7a9690aa8eda8b63dfa7492"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="classcsPtr.html">csPtr</a>&lt; <a class="el" href="classcsFrustum.html">csFrustum</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsFrustum.html#4db2d6708563e31142a90563ca84159d">Intersect</a> (const <a class="el" href="classcsVector3.html">csVector3</a> &amp;frust_origin, <a class="el" href="classcsVector3.html">csVector3</a> *frust, size_t num_frust, const <a class="el" href="classcsVector3.html">csVector3</a> &amp;v1, const <a class="el" href="classcsVector3.html">csVector3</a> &amp;v2, const <a class="el" href="classcsVector3.html">csVector3</a> &amp;v3)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Intersect a triangle with this volume.  <a href="#4db2d6708563e31142a90563ca84159d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="classcsPtr.html">csPtr</a>&lt; <a class="el" href="classcsFrustum.html">csFrustum</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsFrustum.html#70bd9fd4e2b002d73061d9878e5ccdbd">Intersect</a> (const <a class="el" href="classcsVector3.html">csVector3</a> &amp;frust_origin, <a class="el" href="classcsVector3.html">csVector3</a> *frust, size_t num_frust, <a class="el" href="classcsVector3.html">csVector3</a> *poly, size_t num)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Intersect a convex polygon with this volume.  <a href="#70bd9fd4e2b002d73061d9878e5ccdbd"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
A general frustum. 
<p>
This consist of a center point (origin), a frustum polygon in 3D space (relative to center point) and a plane. The planes which go through the center and every edge of the polygon form the frustum. The plane is the back plane of the frustum. It is also possible to have an infinite frustum in which case the polygon will be 0 (not specified). The back plane can also be 0. 
<p>Definition at line <a class="el" href="frustum_8h-source.html#l00157">157</a> of file <a class="el" href="frustum_8h-source.html">frustum.h</a>.</p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="32b1d501aa473abc9cc28fdaf5e0b5fb"></a><!-- doxytag: member="csFrustum::csFrustum" ref="32b1d501aa473abc9cc28fdaf5e0b5fb" args="(const csVector3 &amp;o)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csFrustum::csFrustum           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>o</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a new empty frustum. 
<p>

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

</div>
</div><p>
<a class="anchor" name="c3d73e2eefbdf6373bebf8488884bf9f"></a><!-- doxytag: member="csFrustum::csFrustum" ref="c3d73e2eefbdf6373bebf8488884bf9f" args="(const csVector3 &amp;o, csVector3 *verts, size_t num_verts, csPlane3 *backp=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csFrustum::csFrustum           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>o</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classcsVector3.html">csVector3</a> *&nbsp;</td>
          <td class="paramname"> <em>verts</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>num_verts</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classcsPlane3.html">csPlane3</a> *&nbsp;</td>
          <td class="paramname"> <em>backp</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>
Create a frustum given a polygon and a backplane. 
<p>
The polygon is given relative to the origin 'o'. If the given polygon is 0 then we create an empty frustum. 
</div>
</div><p>
<a class="anchor" name="e1ec528e3dc018beb081ac93c1da7be9"></a><!-- doxytag: member="csFrustum::csFrustum" ref="e1ec528e3dc018beb081ac93c1da7be9" args="(const csVector3 &amp;o, size_t num_verts, csPlane3 *backp=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csFrustum::csFrustum           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>o</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>num_verts</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classcsPlane3.html">csPlane3</a> *&nbsp;</td>
          <td class="paramname"> <em>backp</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>
Create a frustum given a number of vertices and a backplane. 
<p>
The vertices are not initialized but space is reserved for them. The polygon is given relative to the origin 'o'. 
</div>
</div><p>
<a class="anchor" name="7798f2ce32fcb63e7283ef3a50b4ed83"></a><!-- doxytag: member="csFrustum::csFrustum" ref="7798f2ce32fcb63e7283ef3a50b4ed83" args="(const csFrustum &amp;copy)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csFrustum::csFrustum           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsFrustum.html">csFrustum</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>copy</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Copy constructor. 
<p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="dbdf4bde6639c4ec761eae042c0d08c3"></a><!-- doxytag: member="csFrustum::AddVertex" ref="dbdf4bde6639c4ec761eae042c0d08c3" args="(const csVector3 &amp;v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csFrustum::AddVertex           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a vertex to the frustum polygon. 
<p>

</div>
</div><p>
<a class="anchor" name="b6232c814281adaac88b2d6c2d338a42"></a><!-- doxytag: member="csFrustum::BatchClassify" ref="b6232c814281adaac88b2d6c2d338a42" args="(csVector3 *frustum, csVector3 *frustumNormals, size_t num_frust, csVector3 *poly, size_t num_poly)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int csFrustum::BatchClassify           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsVector3.html">csVector3</a> *&nbsp;</td>
          <td class="paramname"> <em>frustum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classcsVector3.html">csVector3</a> *&nbsp;</td>
          <td class="paramname"> <em>frustumNormals</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>num_frust</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classcsVector3.html">csVector3</a> *&nbsp;</td>
          <td class="paramname"> <em>poly</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>num_poly</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This is like the above version except that it takes a vector of precalculated frustum plane normals. 
<p>
Use this if you have to classify a batch of polygons against the same frustum. 
</div>
</div><p>
<a class="anchor" name="bd1c1848d479476ba2fee62fa78d247e"></a><!-- doxytag: member="csFrustum::Classify" ref="bd1c1848d479476ba2fee62fa78d247e" args="(csVector3 *frustum, size_t num_frust, csVector3 *poly, size_t num_poly)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int csFrustum::Classify           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsVector3.html">csVector3</a> *&nbsp;</td>
          <td class="paramname"> <em>frustum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>num_frust</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classcsVector3.html">csVector3</a> *&nbsp;</td>
          <td class="paramname"> <em>poly</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>num_poly</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if a polygon intersects with the frustum (i.e. 
<p>
is visible in the frustum). Returns one of <a class="el" href="group__geom__utils.html#gg61dadd085c1777f559549e05962b2c9e94cc72a1a3f8f76be34890b8b685f382" title="The polygon is fully outside frustum.">CS_FRUST_OUTSIDE</a> etc. values. Frustum and polygon should be given relative to (0,0,0). 
</div>
</div><p>
<a class="anchor" name="eb62e2571d380f5e384e420398f98836"></a><!-- doxytag: member="csFrustum::ClipPolyToPlane" ref="eb62e2571d380f5e384e420398f98836" args="(csPlane3 *plane)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csFrustum::ClipPolyToPlane           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsPlane3.html">csPlane3</a> *&nbsp;</td>
          <td class="paramname"> <em>plane</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Clip the polygon of this frustum to the postive side of an arbitrary plane (which should be specified relative to the origin of the frustum). 
<p>
Note that this clips the polygon which forms the frustum. It does not clip the frustum itself. 
</div>
</div><p>
<a class="anchor" name="cc99169007ed4bbe8c57f104f1e66b68"></a><!-- doxytag: member="csFrustum::ClipToPlane" ref="cc99169007ed4bbe8c57f104f1e66b68" args="(csVector3 *vertices, size_t &amp;num_vertices, csClipInfo *clipinfo, const csPlane3 &amp;plane)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void csFrustum::ClipToPlane           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsVector3.html">csVector3</a> *&nbsp;</td>
          <td class="paramname"> <em>vertices</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t &amp;&nbsp;</td>
          <td class="paramname"> <em>num_vertices</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcsClipInfo.html">csClipInfo</a> *&nbsp;</td>
          <td class="paramname"> <em>clipinfo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsPlane3.html">csPlane3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>plane</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Clip a frustum (defined from 0,0,0 origin) to the given plane. 
<p>
This routine will also fill an array of clipinfo so that you can use this information to correctly interpolate information related to the vertex (like texture mapping coordinates). Note that clipinfo needs to be preinitialized correctly with CS_CLIPINFO_ORIGINAL instances and correct indices. 
</div>
</div><p>
<a class="anchor" name="fcb7649de0dac7e247853015c7b15541"></a><!-- doxytag: member="csFrustum::ClipToPlane" ref="fcb7649de0dac7e247853015c7b15541" args="(csVector3 *vertices, size_t &amp;num_vertices, csClipInfo *clipinfo, const csVector3 &amp;v1, const csVector3 &amp;v2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void csFrustum::ClipToPlane           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsVector3.html">csVector3</a> *&nbsp;</td>
          <td class="paramname"> <em>vertices</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t &amp;&nbsp;</td>
          <td class="paramname"> <em>num_vertices</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcsClipInfo.html">csClipInfo</a> *&nbsp;</td>
          <td class="paramname"> <em>clipinfo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Clip a frustum (defined from 0,0,0 origin) to the given plane (defined as 0-v1-v2). 
<p>
This routine will also fill an array of clipinfo so that you can use this information to correctly interpolate information related to the vertex (like texture mapping coordinates). Note that clipinfo needs to be preinitialized correctly with CS_CLIPINFO_ORIGINAL instances and correct indices. 
</div>
</div><p>
<a class="anchor" name="8e1c0713b7275a217ebde46801eedbed"></a><!-- doxytag: member="csFrustum::ClipToPlane" ref="8e1c0713b7275a217ebde46801eedbed" args="(csVector3 &amp;v1, csVector3 &amp;v2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csFrustum::ClipToPlane           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Clip this frustum to the positive side of a plane formed by the origin of this frustum, and the two given vertices. 
<p>
'v1' and 'v2' are given relative to that origin. 
</div>
</div><p>
<a class="anchor" name="90158481cf898ce86f5ebe4e6dccb5a6"></a><!-- doxytag: member="csFrustum::Contains" ref="90158481cf898ce86f5ebe4e6dccb5a6" args="(csVector3 *frustum, size_t num_frust, const csPlane3 &amp;plane, const csVector3 &amp;point)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static bool csFrustum::Contains           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsVector3.html">csVector3</a> *&nbsp;</td>
          <td class="paramname"> <em>frustum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>num_frust</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsPlane3.html">csPlane3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>plane</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>point</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if a point is inside a frustum. 
<p>
The point and frustum are relative to (0,0,0). This function also checks if point is in front of given plane. 
</div>
</div><p>
<a class="anchor" name="bbdf2272b7a9690aa8eda8b63dfa7492"></a><!-- doxytag: member="csFrustum::Contains" ref="bbdf2272b7a9690aa8eda8b63dfa7492" args="(csVector3 *frustum, size_t num_frust, const csVector3 &amp;point)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static bool csFrustum::Contains           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsVector3.html">csVector3</a> *&nbsp;</td>
          <td class="paramname"> <em>frustum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>num_frust</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>point</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if a point is inside a frustum. 
<p>
The point and frustum are relative to (0,0,0). Note that this function does not work correctly if the point is in the other direction from the average direction of the frustum. 
</div>
</div><p>
<a class="anchor" name="07fac5a2270bb192cb0b19c6721d18ca"></a><!-- doxytag: member="csFrustum::Contains" ref="07fac5a2270bb192cb0b19c6721d18ca" args="(const csVector3 &amp;point)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csFrustum::Contains           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>point</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if a point (given relative to the origin of the frustum) is inside the frustum. 
<p>

</div>
</div><p>
<a class="anchor" name="5e3059951ccdba4739cd9c8a460beebd"></a><!-- doxytag: member="csFrustum::GetBackPlane" ref="5e3059951ccdba4739cd9c8a460beebd" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsPlane3.html">csPlane3</a>* csFrustum::GetBackPlane           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the back plane. 
<p>

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

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

<p>
Get the origin of this frustum. 
<p>

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

</div>
</div><p>
<a class="anchor" name="8a6827e3f078ed11241d5ec4db343f75"></a><!-- doxytag: member="csFrustum::GetOrigin" ref="8a6827e3f078ed11241d5ec4db343f75" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsVector3.html">csVector3</a>&amp; csFrustum::GetOrigin           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the origin of this frustum. 
<p>

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

</div>
</div><p>
<a class="anchor" name="1961f5b66b2aa1cabd94cf13de87372a"></a><!-- doxytag: member="csFrustum::GetVertex" ref="1961f5b66b2aa1cabd94cf13de87372a" args="(size_t idx) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classcsVector3.html">csVector3</a>&amp; csFrustum::GetVertex           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>idx</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a vertex. 
<p>

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

<p>References <a class="el" href="cssysdef_8h.html#c380bd47888ecfe73e7b7a40b6f827a1">CS_ASSERT</a>.</p>

</div>
</div><p>
<a class="anchor" name="8bbfb94e4dee1ea5e77e752a28338bdb"></a><!-- doxytag: member="csFrustum::GetVertex" ref="8bbfb94e4dee1ea5e77e752a28338bdb" args="(size_t idx)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsVector3.html">csVector3</a>&amp; csFrustum::GetVertex           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>idx</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a vertex. 
<p>

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

<p>References <a class="el" href="cssysdef_8h.html#c380bd47888ecfe73e7b7a40b6f827a1">CS_ASSERT</a>.</p>

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

<p>
Get the number of vertices. 
<p>

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

</div>
</div><p>
<a class="anchor" name="4395e97acfada9d70605b6314f2d16f8"></a><!-- doxytag: member="csFrustum::GetVertices" ref="4395e97acfada9d70605b6314f2d16f8" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsVector3.html">csVector3</a>* csFrustum::GetVertices           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the array of vertices. 
<p>

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

</div>
</div><p>
<a class="anchor" name="e2b88f61ed52bbe721646b808b99d3fb"></a><!-- doxytag: member="csFrustum::Intersect" ref="e2b88f61ed52bbe721646b808b99d3fb" args="(csSegment3 &amp;segment)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csFrustum::Intersect           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsSegment3.html">csSegment3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>segment</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Intersect a segment with the frustum. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the segment is inside the frustum at any point. The segment will be updated to be the part within the frustum </dd></dl>

</div>
</div><p>
<a class="anchor" name="4db2d6708563e31142a90563ca84159d"></a><!-- doxytag: member="csFrustum::Intersect" ref="4db2d6708563e31142a90563ca84159d" args="(const csVector3 &amp;frust_origin, csVector3 *frust, size_t num_frust, const csVector3 &amp;v1, const csVector3 &amp;v2, const csVector3 &amp;v3)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classcsPtr.html">csPtr</a>&lt;<a class="el" href="classcsFrustum.html">csFrustum</a>&gt; csFrustum::Intersect           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>frust_origin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classcsVector3.html">csVector3</a> *&nbsp;</td>
          <td class="paramname"> <em>frust</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>num_frust</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v3</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Intersect a triangle with this volume. 
<p>
The triangle is given relative to the center point (origin) of this frustum.<p>
Returns a new frustum which exactly covers the intersection of the triangle with the frustum (i.e. the smallest frustum which is part of this frustum and which 'sees' exactly the same of the given polygon as this frustum).<p>
This function returns 0 if there is no intersection.<p>
Note that the frustum polygon of the returned <a class="el" href="classcsFrustum.html" title="A general frustum.">csFrustum</a> is guaranteed to be coplanar with the given triangle. 
</div>
</div><p>
<a class="anchor" name="70bd9fd4e2b002d73061d9878e5ccdbd"></a><!-- doxytag: member="csFrustum::Intersect" ref="70bd9fd4e2b002d73061d9878e5ccdbd" args="(const csVector3 &amp;frust_origin, csVector3 *frust, size_t num_frust, csVector3 *poly, size_t num)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classcsPtr.html">csPtr</a>&lt;<a class="el" href="classcsFrustum.html">csFrustum</a>&gt; csFrustum::Intersect           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>frust_origin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classcsVector3.html">csVector3</a> *&nbsp;</td>
          <td class="paramname"> <em>frust</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>num_frust</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classcsVector3.html">csVector3</a> *&nbsp;</td>
          <td class="paramname"> <em>poly</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>num</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Intersect a convex polygon with this volume. 
<p>
The convex polygon is given relative to the center point (origin) of this frustum.<p>
Returns a new frustum which exactly covers the intersection of the polygon with the frustum (i.e. the smallest frustum which is part of this frustum and which 'sees' exactly the same of the given polygon as this frustum).<p>
This function returns 0 if there is no intersection.<p>
Note that the frustum polygon of the returned <a class="el" href="classcsFrustum.html" title="A general frustum.">csFrustum</a> is guaranteed to be coplanar with the given polygon. 
</div>
</div><p>
<a class="anchor" name="39209c0b2aeaa82bda55042c88273566"></a><!-- doxytag: member="csFrustum::Intersect" ref="39209c0b2aeaa82bda55042c88273566" args="(csVector3 *poly, size_t num) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsPtr.html">csPtr</a>&lt;<a class="el" href="classcsFrustum.html">csFrustum</a>&gt; csFrustum::Intersect           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsVector3.html">csVector3</a> *&nbsp;</td>
          <td class="paramname"> <em>poly</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>num</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Intersect a convex polygon with this volume. 
<p>
The convex polygon is given relative to the center point (origin) of this frustum.<p>
Returns a new frustum which exactly covers the intersection of the polygon with the frustum (i.e. the smallest frustum which is part of this frustum and which 'sees' exactly the same of the given polygon as this frustum).<p>
This function returns 0 if there is no intersection.<p>
Note that the frustum polygon of the returned <a class="el" href="classcsFrustum.html" title="A general frustum.">csFrustum</a> is guaranteed to be coplanar with the given polygon. 
</div>
</div><p>
<a class="anchor" name="5abadb39e9cf881586adee3e910d8f69"></a><!-- doxytag: member="csFrustum::Intersect" ref="5abadb39e9cf881586adee3e910d8f69" args="(const csFrustum &amp;other) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsPtr.html">csPtr</a>&lt;<a class="el" href="classcsFrustum.html">csFrustum</a>&gt; csFrustum::Intersect           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsFrustum.html">csFrustum</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Intersect with another frustum. 
<p>
The other frustum must have the same origin as this one. Otherwise the result is undefined. <dl class="return" compact><dt><b>Returns:</b></dt><dd>The new frustum. If there is no intersection then 0 is returned. </dd></dl>

<p>Referenced by <a class="el" href="math3d_8h-source.html#l00656">csIntersect3::FrustumFrustum()</a>.</p>

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

<p>
Return true if frustum is empty. 
<p>

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

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

<p>
Return true if frustum is infinite. 
<p>

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

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

<p>
Is this frustum mirrored? 
<p>

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

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

<p>
Return true if frustum is infinitely wide but it can still have a back plane. 
<p>

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

</div>
</div><p>
<a class="anchor" name="bdb1e514714e22241b3ea96fc66c80ea"></a><!-- doxytag: member="csFrustum::MakeEmpty" ref="bdb1e514714e22241b3ea96fc66c80ea" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csFrustum::MakeEmpty           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Make the frustum empty. 
<p>

</div>
</div><p>
<a class="anchor" name="5d9b19c766ce08bd3a24bc167c8755ad"></a><!-- doxytag: member="csFrustum::MakeInfinite" ref="5d9b19c766ce08bd3a24bc167c8755ad" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csFrustum::MakeInfinite           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Make the frustum infinite (i.e. 
<p>
clear the polygon and the back plane). 
</div>
</div><p>
<a class="anchor" name="ba2653734038213b3fbb9a1afeae63a0"></a><!-- doxytag: member="csFrustum::operator=" ref="ba2653734038213b3fbb9a1afeae63a0" args="(const csFrustum &amp;other)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classcsFrustum.html">csFrustum</a>&amp; csFrustum::operator=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsFrustum.html">csFrustum</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Assignment operator. 
<p>

</div>
</div><p>
<a class="anchor" name="7991590fd5dd343a2807e7ca9236e375"></a><!-- doxytag: member="csFrustum::RemoveBackPlane" ref="7991590fd5dd343a2807e7ca9236e375" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csFrustum::RemoveBackPlane           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Remove the back plane of this frustum. 
<p>

</div>
</div><p>
<a class="anchor" name="ada5f524726da2dd387bd0befa14d502"></a><!-- doxytag: member="csFrustum::SetBackPlane" ref="ada5f524726da2dd387bd0befa14d502" args="(const csPlane3 &amp;plane)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csFrustum::SetBackPlane           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsPlane3.html">csPlane3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>plane</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the back plane of this frustum. 
<p>
The given plane is copied to this structure and can thus be reused/freed later. The plane should be specified relative to the origin point. 
</div>
</div><p>
<a class="anchor" name="76c2863500da69567d928826fe94133e"></a><!-- doxytag: member="csFrustum::SetMirrored" ref="76c2863500da69567d928826fe94133e" args="(bool m)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csFrustum::SetMirrored           </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>m</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Enable/disable mirroring. 
<p>
If mirroring is enabled this means that the frustum polygon is given in anti-clockwise order. 
<p>Definition at line <a class="el" href="frustum_8h-source.html#l00245">245</a> of file <a class="el" href="frustum_8h-source.html">frustum.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="2d041b91b8afb3bc54a7481cd965943f"></a><!-- doxytag: member="csFrustum::SetOrigin" ref="2d041b91b8afb3bc54a7481cd965943f" args="(const csVector3 &amp;o)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csFrustum::SetOrigin           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>o</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the origin of this frustum. 
<p>

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

</div>
</div><p>
<a class="anchor" name="b0c3f22c474e75b8c43696cc385f7f23"></a><!-- doxytag: member="csFrustum::Transform" ref="b0c3f22c474e75b8c43696cc385f7f23" args="(csTransform *trans)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csFrustum::Transform           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsTransform.html">csTransform</a> *&nbsp;</td>
          <td class="paramname"> <em>trans</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Apply a transformation to this frustum. 
<p>

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