Sophie

Sophie

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

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: csPlane2 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>csPlane2 Class Reference<br>
<small>
[<a class="el" href="group__geom__utils.html">Geometry utilities</a>]</small>
</h1><!-- doxytag: class="csPlane2" -->A plane in 2D space.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="plane2_8h-source.html">csgeom/plane2.h</a>&gt;</code>
<p>

<p>
<a href="classcsPlane2-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">float &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPlane2.html#e4cdaa0690600bef79a37340c2a09900">A</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the A component of this plane.  <a href="#e4cdaa0690600bef79a37340c2a09900"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPlane2.html#3fb7dad98d4453e8b094abc13899b874">A</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the A component of this plane.  <a href="#3fb7dad98d4453e8b094abc13899b874"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">float &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPlane2.html#80ae8a1676eb3af520b848807fb0f6f5">B</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the B component of this plane.  <a href="#80ae8a1676eb3af520b848807fb0f6f5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPlane2.html#4c833b9a366372e0babb4dd5848c492f">B</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the B component of this plane.  <a href="#4c833b9a366372e0babb4dd5848c492f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">float &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPlane2.html#405dd8243192053f8292a9a5299ba6b8">C</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the C component of this plane.  <a href="#405dd8243192053f8292a9a5299ba6b8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPlane2.html#dd884e0845743c574bfcc5f4887aef4a">C</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the C component of this plane.  <a href="#dd884e0845743c574bfcc5f4887aef4a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPlane2.html#2c5c2f025ea5ee025346e454b7e8476d">Classify</a> (const <a class="el" href="classcsVector2.html">csVector2</a> &amp;pt) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Classify the given vector with regards to this plane.  <a href="#2c5c2f025ea5ee025346e454b7e8476d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPlane2.html#f798d8bb97167e8ee495e1326756ca91">csPlane2</a> (const <a class="el" href="classcsSegment2.html">csSegment2</a> &amp;s)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize the plane given a segment.  <a href="#f798d8bb97167e8ee495e1326756ca91"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPlane2.html#1e44c1215b01fb4317a497b517042c0c">csPlane2</a> (const <a class="el" href="classcsVector2.html">csVector2</a> &amp;v1, const <a class="el" href="classcsVector2.html">csVector2</a> &amp;v2)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize the plane given two vectors.  <a href="#1e44c1215b01fb4317a497b517042c0c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPlane2.html#f75a260e2fbf07779368724ea6d91293">csPlane2</a> (float a, float b, float c=0)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize the plane.  <a href="#f75a260e2fbf07779368724ea6d91293"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPlane2.html#bb0d125943ad847d6ff565d39884b0ba">csPlane2</a> (const <a class="el" href="classcsVector2.html">csVector2</a> &amp;plane_norm, float c=0)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize the plane.  <a href="#bb0d125943ad847d6ff565d39884b0ba"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPlane2.html#654b2688023ba968993c4c3e77cf3451">csPlane2</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize to the xy plane.  <a href="#654b2688023ba968993c4c3e77cf3451"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPlane2.html#c4c6e9a1558c408c7205929d50aab6d6">Distance</a> (const <a class="el" href="classcsVector2.html">csVector2</a> &amp;pt) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute the distance from the given vector to this plane.  <a href="#c4c6e9a1558c408c7205929d50aab6d6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsVector2.html">csVector2</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPlane2.html#b9f995e5b9b9e5429ef29dc16a8f8fff">GetNormal</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the normal vector of this plane (const version).  <a href="#b9f995e5b9b9e5429ef29dc16a8f8fff"></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="classcsPlane2.html#c032481110e4ecf03b24b6dd5353c49b">Invert</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reverses the direction of the plane while maintianing the plane itself.  <a href="#c032481110e4ecf03b24b6dd5353c49b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsVector2.html">csVector2</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPlane2.html#f757fe82384edc4756abc5ee2e5ad2b7">Normal</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the normal vector of this plane.  <a href="#f757fe82384edc4756abc5ee2e5ad2b7"></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="classcsPlane2.html#5c942978977e9852da5460c5b6b7c05f">Normalize</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Normalizes the plane equation so that 'norm' is a unit vector.  <a href="#5c942978977e9852da5460c5b6b7c05f"></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="classcsPlane2.html#4775b232506aa179e542e7ba5e4f056b">Set</a> (float a, float b, float c)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the value of the four plane components.  <a href="#4775b232506aa179e542e7ba5e4f056b"></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="classcsPlane2.html#77a3a1e084aa3440162e8c297ec6fb7d">Set</a> (const <a class="el" href="classcsSegment2.html">csSegment2</a> &amp;s)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize the plane given a segment.  <a href="#77a3a1e084aa3440162e8c297ec6fb7d"></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="classcsPlane2.html#5dc161e80fc0902ff3504a06b5545e02">Set</a> (const <a class="el" href="classcsVector2.html">csVector2</a> &amp;v1, const <a class="el" href="classcsVector2.html">csVector2</a> &amp;v2)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize the plane given two vectors.  <a href="#5dc161e80fc0902ff3504a06b5545e02"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPlane2.html#5ddaa9e973408c73789f58f921b0448c">SquaredDistance</a> (const <a class="el" href="classcsVector2.html">csVector2</a> &amp;pt) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute the squared distance between the given vector and this plane.  <a href="#5ddaa9e973408c73789f58f921b0448c"></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 float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPlane2.html#816d8f4b4fb20d35a0d9c3850e8e9967">Classify</a> (float A, float B, float C, const <a class="el" href="classcsVector2.html">csVector2</a> &amp;pt)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Classify a vector with regards to three plane components.  <a href="#816d8f4b4fb20d35a0d9c3850e8e9967"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPlane2.html#ab7d543d13d9838854e5fb14d71176b2">CC</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The C component of the plane.  <a href="#ab7d543d13d9838854e5fb14d71176b2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsVector2.html">csVector2</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPlane2.html#d42196ae41ef4a76048f20bf752cfce7">norm</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The normal vector (or the (A,B) components).  <a href="#d42196ae41ef4a76048f20bf752cfce7"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
A plane in 2D space. 
<p>
The plane is given by the equation AAx + BBy + CC = 0, Where (AA,BB) is given by the vector 'norm'. 
<p>Definition at line <a class="el" href="plane2_8h-source.html#l00048">48</a> of file <a class="el" href="plane2_8h-source.html">plane2.h</a>.</p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="654b2688023ba968993c4c3e77cf3451"></a><!-- doxytag: member="csPlane2::csPlane2" ref="654b2688023ba968993c4c3e77cf3451" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csPlane2::csPlane2           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Initialize to the xy plane. 
<p>

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

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

<p>
Initialize the plane. 
<p>

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

</div>
</div><p>
<a class="anchor" name="f75a260e2fbf07779368724ea6d91293"></a><!-- doxytag: member="csPlane2::csPlane2" ref="f75a260e2fbf07779368724ea6d91293" args="(float a, float b, float c=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csPlane2::csPlane2           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>c</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Initialize the plane. 
<p>

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

</div>
</div><p>
<a class="anchor" name="1e44c1215b01fb4317a497b517042c0c"></a><!-- doxytag: member="csPlane2::csPlane2" ref="1e44c1215b01fb4317a497b517042c0c" args="(const csVector2 &amp;v1, const csVector2 &amp;v2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csPlane2::csPlane2           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector2.html">csVector2</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="classcsVector2.html">csVector2</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> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Initialize the plane given two vectors. 
<p>

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

<p>References <a class="el" href="plane2_8h-source.html#l00068">Set()</a>.</p>

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

<p>
Initialize the plane given a segment. 
<p>

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

<p>References <a class="el" href="plane2_8h-source.html#l00068">Set()</a>.</p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="e4cdaa0690600bef79a37340c2a09900"></a><!-- doxytag: member="csPlane2::A" ref="e4cdaa0690600bef79a37340c2a09900" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float&amp; csPlane2::A           </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>
Return the A component of this plane. 
<p>

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

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

</div>
</div><p>
<a class="anchor" name="3fb7dad98d4453e8b094abc13899b874"></a><!-- doxytag: member="csPlane2::A" ref="3fb7dad98d4453e8b094abc13899b874" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float csPlane2::A           </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 the A component of this plane. 
<p>

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

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

</div>
</div><p>
<a class="anchor" name="80ae8a1676eb3af520b848807fb0f6f5"></a><!-- doxytag: member="csPlane2::B" ref="80ae8a1676eb3af520b848807fb0f6f5" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float&amp; csPlane2::B           </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>
Return the B component of this plane. 
<p>

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

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

</div>
</div><p>
<a class="anchor" name="4c833b9a366372e0babb4dd5848c492f"></a><!-- doxytag: member="csPlane2::B" ref="4c833b9a366372e0babb4dd5848c492f" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float csPlane2::B           </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 the B component of this plane. 
<p>

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

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

</div>
</div><p>
<a class="anchor" name="405dd8243192053f8292a9a5299ba6b8"></a><!-- doxytag: member="csPlane2::C" ref="405dd8243192053f8292a9a5299ba6b8" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float&amp; csPlane2::C           </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>
Return the C component of this plane. 
<p>

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

<p>References <a class="el" href="plane2_8h-source.html#l00055">CC</a>.</p>

</div>
</div><p>
<a class="anchor" name="dd884e0845743c574bfcc5f4887aef4a"></a><!-- doxytag: member="csPlane2::C" ref="dd884e0845743c574bfcc5f4887aef4a" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float csPlane2::C           </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 the C component of this plane. 
<p>

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

<p>References <a class="el" href="plane2_8h-source.html#l00055">CC</a>.</p>

</div>
</div><p>
<a class="anchor" name="816d8f4b4fb20d35a0d9c3850e8e9967"></a><!-- doxytag: member="csPlane2::Classify" ref="816d8f4b4fb20d35a0d9c3850e8e9967" args="(float A, float B, float C, const csVector2 &amp;pt)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static float csPlane2::Classify           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>B</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>C</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsVector2.html">csVector2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>pt</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Classify a vector with regards to three plane components. 
<p>

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

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

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

<p>
Classify the given vector with regards to this plane. 
<p>

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

<p>References <a class="el" href="plane2_8h-source.html#l00055">CC</a>, and <a class="el" href="plane2_8h-source.html#l00052">norm</a>.</p>

<p>Referenced by <a class="el" href="plane2_8h-source.html#l00130">Distance()</a>, <a class="el" href="plane2_8h-source.html#l00139">SquaredDistance()</a>, and <a class="el" href="math2d_8h-source.html#l00129">csMath2::Visible()</a>.</p>

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

<p>
Compute the distance from the given vector to this plane. 
<p>
This function assumes that 'norm' is a unit vector. If not, the function returns distance times the magnitude of 'norm'. 
<p>Definition at line <a class="el" href="plane2_8h-source.html#l00130">130</a> of file <a class="el" href="plane2_8h-source.html">plane2.h</a>.</p>

<p>References <a class="el" href="math3d__d_8h-source.html#l00036">ABS</a>, and <a class="el" href="plane2_8h-source.html#l00118">Classify()</a>.</p>

</div>
</div><p>
<a class="anchor" name="b9f995e5b9b9e5429ef29dc16a8f8fff"></a><!-- doxytag: member="csPlane2::GetNormal" ref="b9f995e5b9b9e5429ef29dc16a8f8fff" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsVector2.html">csVector2</a> csPlane2::GetNormal           </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 the normal vector of this plane (const version). 
<p>

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

<p>References <a class="el" href="plane2_8h-source.html#l00052">norm</a>.</p>

</div>
</div><p>
<a class="anchor" name="c032481110e4ecf03b24b6dd5353c49b"></a><!-- doxytag: member="csPlane2::Invert" ref="c032481110e4ecf03b24b6dd5353c49b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csPlane2::Invert           </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>
Reverses the direction of the plane while maintianing the plane itself. 
<p>

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

<p>References <a class="el" href="plane2_8h-source.html#l00055">CC</a>, and <a class="el" href="plane2_8h-source.html#l00052">norm</a>.</p>

</div>
</div><p>
<a class="anchor" name="f757fe82384edc4756abc5ee2e5ad2b7"></a><!-- doxytag: member="csPlane2::Normal" ref="f757fe82384edc4756abc5ee2e5ad2b7" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsVector2.html">csVector2</a>&amp; csPlane2::Normal           </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>
Return the normal vector of this plane. 
<p>

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

<p>References <a class="el" href="plane2_8h-source.html#l00052">norm</a>.</p>

</div>
</div><p>
<a class="anchor" name="5c942978977e9852da5460c5b6b7c05f"></a><!-- doxytag: member="csPlane2::Normalize" ref="5c942978977e9852da5460c5b6b7c05f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csPlane2::Normalize           </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>
Normalizes the plane equation so that 'norm' is a unit vector. 
<p>

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

<p>References <a class="el" href="plane2_8h-source.html#l00055">CC</a>, <a class="el" href="classcsVector2.html#5fd419d758e521c6a94337b85a1ede70">csVector2::Norm()</a>, and <a class="el" href="plane2_8h-source.html#l00052">norm</a>.</p>

</div>
</div><p>
<a class="anchor" name="4775b232506aa179e542e7ba5e4f056b"></a><!-- doxytag: member="csPlane2::Set" ref="4775b232506aa179e542e7ba5e4f056b" args="(float a, float b, float c)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csPlane2::Set           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>c</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the value of the four plane components. 
<p>

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

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

</div>
</div><p>
<a class="anchor" name="77a3a1e084aa3440162e8c297ec6fb7d"></a><!-- doxytag: member="csPlane2::Set" ref="77a3a1e084aa3440162e8c297ec6fb7d" args="(const csSegment2 &amp;s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csPlane2::Set           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsSegment2.html">csSegment2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>s</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Initialize the plane given a segment. 
<p>

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

<p>References <a class="el" href="segment_8h-source.html#l00067">csSegment2::End()</a>, <a class="el" href="plane2_8h-source.html#l00068">Set()</a>, and <a class="el" href="segment_8h-source.html#l00064">csSegment2::Start()</a>.</p>

</div>
</div><p>
<a class="anchor" name="5dc161e80fc0902ff3504a06b5545e02"></a><!-- doxytag: member="csPlane2::Set" ref="5dc161e80fc0902ff3504a06b5545e02" args="(const csVector2 &amp;v1, const csVector2 &amp;v2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csPlane2::Set           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector2.html">csVector2</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="classcsVector2.html">csVector2</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> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Initialize the plane given two vectors. 
<p>

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

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

<p>Referenced by <a class="el" href="plane2_8h-source.html#l00082">csPlane2()</a>, and <a class="el" href="plane2_8h-source.html#l00076">Set()</a>.</p>

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

<p>
Compute the squared distance between the given vector and this plane. 
<p>
This function works even if the plane is not normalized. Note that the returned distance will be negative if the point is left of the plane and positive otherwise. 
<p>Definition at line <a class="el" href="plane2_8h-source.html#l00139">139</a> of file <a class="el" href="plane2_8h-source.html">plane2.h</a>.</p>

<p>References <a class="el" href="plane2_8h-source.html#l00118">Classify()</a>, <a class="el" href="plane2_8h-source.html#l00052">norm</a>, and <a class="el" href="vector2_8h-source.html#l00090">csVector2::SquaredNorm()</a>.</p>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="ab7d543d13d9838854e5fb14d71176b2"></a><!-- doxytag: member="csPlane2::CC" ref="ab7d543d13d9838854e5fb14d71176b2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float <a class="el" href="classcsPlane2.html#ab7d543d13d9838854e5fb14d71176b2">csPlane2::CC</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The C component of the plane. 
<p>

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

<p>Referenced by <a class="el" href="plane2_8h-source.html#l00104">C()</a>, <a class="el" href="plane2_8h-source.html#l00118">Classify()</a>, <a class="el" href="plane2_8h-source.html#l00145">Invert()</a>, <a class="el" href="plane2_8h-source.html#l00148">Normalize()</a>, <a class="el" href="math2d_8h-source.html#l00138">csMath2::PlanesEqual()</a>, <a class="el" href="math2d_8h-source.html#l00237">csIntersect2::SegmentPlaneNoTest()</a>, and <a class="el" href="plane2_8h-source.html#l00068">Set()</a>.</p>

</div>
</div><p>
<a class="anchor" name="d42196ae41ef4a76048f20bf752cfce7"></a><!-- doxytag: member="csPlane2::norm" ref="d42196ae41ef4a76048f20bf752cfce7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsVector2.html">csVector2</a> <a class="el" href="classcsPlane2.html#d42196ae41ef4a76048f20bf752cfce7">csPlane2::norm</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The normal vector (or the (A,B) components). 
<p>

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

<p>Referenced by <a class="el" href="plane2_8h-source.html#l00100">A()</a>, <a class="el" href="plane2_8h-source.html#l00102">B()</a>, <a class="el" href="plane2_8h-source.html#l00118">Classify()</a>, <a class="el" href="plane2_8h-source.html#l00097">GetNormal()</a>, <a class="el" href="plane2_8h-source.html#l00145">Invert()</a>, <a class="el" href="plane2_8h-source.html#l00094">Normal()</a>, <a class="el" href="plane2_8h-source.html#l00148">Normalize()</a>, <a class="el" href="math2d_8h-source.html#l00138">csMath2::PlanesEqual()</a>, <a class="el" href="math2d_8h-source.html#l00237">csIntersect2::SegmentPlaneNoTest()</a>, <a class="el" href="plane2_8h-source.html#l00068">Set()</a>, and <a class="el" href="plane2_8h-source.html#l00139">SquaredDistance()</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li>csgeom/<a class="el" href="plane2_8h-source.html">plane2.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>