Sophie

Sophie

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

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: iClipper2D Struct 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>iClipper2D Struct Reference<br>
<small>
[<a class="el" href="group__geom__utils.html">Geometry utilities</a>]</small>
</h1><!-- doxytag: class="iClipper2D" --><!-- doxytag: inherits="iBase" -->This interfaces represents a 2D clipper for polygons.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="clip2d_8h-source.html">igeom/clip2d.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for iClipper2D:</div>
<div class="dynsection">
<p><center><img src="structiClipper2D__inherit__graph.png" border="0" usemap="#iClipper2D__inherit__map" alt="Inheritance graph"></center>
<map name="iClipper2D__inherit__map">
<area shape="rect" href="classscfImplementation1.html" title="scfImplementation1\&lt; csClipper, iClipper2D \&gt;" alt="" coords="5,161,317,188"><area shape="rect" href="structiBase.html" title="This is the basic interface: all other interfaces should be derived from this one..." alt="" coords="133,7,189,33"><area shape="rect" href="classcsClipper.html" title="The csClipper class is an abstract parent to all 2D clipping objects." alt="" coords="121,239,201,265"><area shape="rect" href="classcsBoxClipper.html" title="The csBoxClipper class is able to clip convex polygons to a rectangle (such as the..." alt="" coords="39,316,143,343"><area shape="rect" href="classcsPolygonClipper.html" title="The csPolygonClipper class can be used for clipping any polygon against any other..." alt="" coords="167,316,297,343"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="structiClipper2D-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 Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiClipper2D.html#03ed976bdb8cd014a5dabccc06bd3730">ClipperType</a> { <a class="el" href="structiClipper2D.html#03ed976bdb8cd014a5dabccc06bd3730e0b781f11ae6a39b9efcfe103d52e7f0">clipperPoly</a>, 
<a class="el" href="structiClipper2D.html#03ed976bdb8cd014a5dabccc06bd37301ad4ee39e028ea58c417ba29820b0da7">clipperBox</a>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The type of a clipper.  <a href="structiClipper2D.html#03ed976bdb8cd014a5dabccc06bd3730">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiClipper2D.html#f79ddb0aa5da86b8fe78d25395385de6">ClassifyBox</a> (const <a class="el" href="classcsBox2.html">csBox2</a> &amp;box)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Classify some bounding box against this clipper.  <a href="#f79ddb0aa5da86b8fe78d25395385de6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="group__util.html#gdde6aaee8457bee49c2a92621fe22b79">uint8</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiClipper2D.html#3bd59eeae178ed2b3af653f88b71e9aa">Clip</a> (<a class="el" href="classcsVector2.html">csVector2</a> *InPolygon, size_t InCount, <a class="el" href="classcsVector2.html">csVector2</a> *OutPolygon, size_t &amp;OutCount, <a class="el" href="structcsVertexStatus.html">csVertexStatus</a> *OutStatus)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clips a set of 2D points and provides additional information on each output vertex.  <a href="#3bd59eeae178ed2b3af653f88b71e9aa"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="group__util.html#gdde6aaee8457bee49c2a92621fe22b79">uint8</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiClipper2D.html#5868f2ecb9b6de52cb9a2fb27901ea66">Clip</a> (<a class="el" href="classcsVector2.html">csVector2</a> *InPolygon, size_t InCount, <a class="el" href="classcsVector2.html">csVector2</a> *OutPolygon, size_t &amp;OutCount, <a class="el" href="classcsBox2.html">csBox2</a> &amp;BoundingBox)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clip a set of 2D points.  <a href="#5868f2ecb9b6de52cb9a2fb27901ea66"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="group__util.html#gdde6aaee8457bee49c2a92621fe22b79">uint8</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiClipper2D.html#2b9dcd9f97500ea210e434a2f5f02299">Clip</a> (<a class="el" href="classcsVector2.html">csVector2</a> *InPolygon, size_t InCount, <a class="el" href="classcsVector2.html">csVector2</a> *OutPolygon, size_t &amp;OutCount)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clip a set of 2D points and return in 'OutPolygon' which is expected to contain space at least for <a class="el" href="group__geom__utils.html#g341887053b96768adb51e5df20878869" title="Maximal number of vertices in output (clipped) polygons.">MAX_OUTPUT_VERTICES</a> elements.  <a href="#2b9dcd9f97500ea210e434a2f5f02299"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="group__util.html#gdde6aaee8457bee49c2a92621fe22b79">uint8</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiClipper2D.html#372dfc98a91136aee698f9baaf2ed962">ClipInPlace</a> (<a class="el" href="classcsVector2.html">csVector2</a> *InPolygon, size_t &amp;InOutCount, <a class="el" href="classcsBox2.html">csBox2</a> &amp;BoundingBox)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Wrapper function: clip a polygon in-place.  <a href="#372dfc98a91136aee698f9baaf2ed962"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiClipper2D.html#03ed976bdb8cd014a5dabccc06bd3730">ClipperType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiClipper2D.html#7016695a49e465211d75df6224a17979">GetClipperType</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve the type of this clipper.  <a href="#7016695a49e465211d75df6224a17979"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsVector2.html">csVector2</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiClipper2D.html#8210d2f967bdd837630a6caccea43169">GetClipPoly</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a pointer to the array of csVector2's.  <a href="#8210d2f967bdd837630a6caccea43169"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiClipper2D.html#624994070bdb107a90f8902ba332a937">GetVertexCount</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return number of vertices for this clipper polygon.  <a href="#624994070bdb107a90f8902ba332a937"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiClipper2D.html#c0b0813e21123d4211d8cd093b8dd3ba">IsInside</a> (const <a class="el" href="classcsVector2.html">csVector2</a> &amp;v)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return true if given point is inside (or on bound) of clipper polygon.  <a href="#c0b0813e21123d4211d8cd093b8dd3ba"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This interfaces represents a 2D clipper for polygons. 
<p>Definition at line <a class="el" href="clip2d_8h-source.html#l00094">94</a> of file <a class="el" href="clip2d_8h-source.html">clip2d.h</a>.</p>
<hr><h2>Member Enumeration Documentation</h2>
<a class="anchor" name="03ed976bdb8cd014a5dabccc06bd3730"></a><!-- doxytag: member="iClipper2D::ClipperType" ref="03ed976bdb8cd014a5dabccc06bd3730" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="structiClipper2D.html#03ed976bdb8cd014a5dabccc06bd3730">iClipper2D::ClipperType</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The type of a clipper. 
<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="03ed976bdb8cd014a5dabccc06bd3730e0b781f11ae6a39b9efcfe103d52e7f0"></a><!-- doxytag: member="clipperPoly" ref="03ed976bdb8cd014a5dabccc06bd3730e0b781f11ae6a39b9efcfe103d52e7f0" args="" -->clipperPoly</em>&nbsp;</td><td>
This clipper contains a polygon. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="03ed976bdb8cd014a5dabccc06bd37301ad4ee39e028ea58c417ba29820b0da7"></a><!-- doxytag: member="clipperBox" ref="03ed976bdb8cd014a5dabccc06bd37301ad4ee39e028ea58c417ba29820b0da7" args="" -->clipperBox</em>&nbsp;</td><td>
This clipper contains a box. Can be used for some optimizations. </td></tr>
</table>
</dl>

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

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="f79ddb0aa5da86b8fe78d25395385de6"></a><!-- doxytag: member="iClipper2D::ClassifyBox" ref="f79ddb0aa5da86b8fe78d25395385de6" args="(const csBox2 &amp;box)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int iClipper2D::ClassifyBox           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsBox2.html">csBox2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>box</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Classify some bounding box against this clipper. 
<p>
This function returns:<p>
<ul>
<li>-1 if box is not visible.</li><li>0 if box is partially visible.</li><li>1 if box is entirely visible. </li></ul>

<p>Implemented in <a class="el" href="classcsBoxClipper.html#e82274ff1ada152fee90c95f54a6c186">csBoxClipper</a>, and <a class="el" href="classcsPolygonClipper.html#164092c4a641fb265404144e0eca5581">csPolygonClipper</a>.</p>

</div>
</div><p>
<a class="anchor" name="3bd59eeae178ed2b3af653f88b71e9aa"></a><!-- doxytag: member="iClipper2D::Clip" ref="3bd59eeae178ed2b3af653f88b71e9aa" args="(csVector2 *InPolygon, size_t InCount, csVector2 *OutPolygon, size_t &amp;OutCount, csVertexStatus *OutStatus)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="group__util.html#gdde6aaee8457bee49c2a92621fe22b79">uint8</a> iClipper2D::Clip           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsVector2.html">csVector2</a> *&nbsp;</td>
          <td class="paramname"> <em>InPolygon</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>InCount</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classcsVector2.html">csVector2</a> *&nbsp;</td>
          <td class="paramname"> <em>OutPolygon</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t &amp;&nbsp;</td>
          <td class="paramname"> <em>OutCount</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcsVertexStatus.html">csVertexStatus</a> *&nbsp;</td>
          <td class="paramname"> <em>OutStatus</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Clips a set of 2D points and provides additional information on each output vertex. 
<p>
The information type can be: vertex is one of original vertices, vertex is on the edge of the original polygon and vertex is arbitrary located inside the original polygon. Both OutPolygon and OutStatus arrays are expected to have enough storage for at least <a class="el" href="group__geom__utils.html#g341887053b96768adb51e5df20878869" title="Maximal number of vertices in output (clipped) polygons.">MAX_OUTPUT_VERTICES</a> elements. <dl class="return" compact><dt><b>Returns:</b></dt><dd>One of <a class="el" href="group__geom__utils.html#gg109bfaad92bd6d348dab484aec11edbb327d20023b6a973b24df4878ac1ca2a9">CS_CLIP_*</a>. </dd></dl>

<p>Implemented in <a class="el" href="classcsBoxClipper.html#bf805b74f50108126961506e91954ba0">csBoxClipper</a>, and <a class="el" href="classcsPolygonClipper.html#71d7718035a5726b8953cd77039b8d5e">csPolygonClipper</a>.</p>

</div>
</div><p>
<a class="anchor" name="5868f2ecb9b6de52cb9a2fb27901ea66"></a><!-- doxytag: member="iClipper2D::Clip" ref="5868f2ecb9b6de52cb9a2fb27901ea66" args="(csVector2 *InPolygon, size_t InCount, csVector2 *OutPolygon, size_t &amp;OutCount, csBox2 &amp;BoundingBox)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="group__util.html#gdde6aaee8457bee49c2a92621fe22b79">uint8</a> iClipper2D::Clip           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsVector2.html">csVector2</a> *&nbsp;</td>
          <td class="paramname"> <em>InPolygon</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>InCount</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classcsVector2.html">csVector2</a> *&nbsp;</td>
          <td class="paramname"> <em>OutPolygon</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t &amp;&nbsp;</td>
          <td class="paramname"> <em>OutCount</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classcsBox2.html">csBox2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>BoundingBox</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Clip a set of 2D points. 
<p>
On output OutCount is set to number of vertices in output polygon. The output array is expected to contain space for at least <a class="el" href="group__geom__utils.html#g341887053b96768adb51e5df20878869" title="Maximal number of vertices in output (clipped) polygons.">MAX_OUTPUT_VERTICES</a> elements. The bounding box is set to the minimal rectangle that contains the output polygon. <dl class="return" compact><dt><b>Returns:</b></dt><dd>One of <a class="el" href="group__geom__utils.html#gg109bfaad92bd6d348dab484aec11edbb327d20023b6a973b24df4878ac1ca2a9">CS_CLIP_*</a>. </dd></dl>

<p>Implemented in <a class="el" href="classcsBoxClipper.html#f8ee886f4239788ea434479f66ed661d">csBoxClipper</a>, and <a class="el" href="classcsPolygonClipper.html#0e279c9b3565af1f753d1020c1dd00a8">csPolygonClipper</a>.</p>

</div>
</div><p>
<a class="anchor" name="2b9dcd9f97500ea210e434a2f5f02299"></a><!-- doxytag: member="iClipper2D::Clip" ref="2b9dcd9f97500ea210e434a2f5f02299" args="(csVector2 *InPolygon, size_t InCount, csVector2 *OutPolygon, size_t &amp;OutCount)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="group__util.html#gdde6aaee8457bee49c2a92621fe22b79">uint8</a> iClipper2D::Clip           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsVector2.html">csVector2</a> *&nbsp;</td>
          <td class="paramname"> <em>InPolygon</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>InCount</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classcsVector2.html">csVector2</a> *&nbsp;</td>
          <td class="paramname"> <em>OutPolygon</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t &amp;&nbsp;</td>
          <td class="paramname"> <em>OutCount</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Clip a set of 2D points and return in 'OutPolygon' which is expected to contain space at least for <a class="el" href="group__geom__utils.html#g341887053b96768adb51e5df20878869" title="Maximal number of vertices in output (clipped) polygons.">MAX_OUTPUT_VERTICES</a> elements. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>One of <a class="el" href="group__geom__utils.html#gg109bfaad92bd6d348dab484aec11edbb327d20023b6a973b24df4878ac1ca2a9">CS_CLIP_*</a>. </dd></dl>

<p>Implemented in <a class="el" href="classcsBoxClipper.html#07ef433b9e974ef0cc17b54a158fe7bc">csBoxClipper</a>, and <a class="el" href="classcsPolygonClipper.html#348b1a64a65d8e9c45747ba58d2a699f">csPolygonClipper</a>.</p>

</div>
</div><p>
<a class="anchor" name="372dfc98a91136aee698f9baaf2ed962"></a><!-- doxytag: member="iClipper2D::ClipInPlace" ref="372dfc98a91136aee698f9baaf2ed962" args="(csVector2 *InPolygon, size_t &amp;InOutCount, csBox2 &amp;BoundingBox)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="group__util.html#gdde6aaee8457bee49c2a92621fe22b79">uint8</a> iClipper2D::ClipInPlace           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsVector2.html">csVector2</a> *&nbsp;</td>
          <td class="paramname"> <em>InPolygon</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t &amp;&nbsp;</td>
          <td class="paramname"> <em>InOutCount</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classcsBox2.html">csBox2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>BoundingBox</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Wrapper function: clip a polygon in-place. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>One of <a class="el" href="group__geom__utils.html#gg109bfaad92bd6d348dab484aec11edbb327d20023b6a973b24df4878ac1ca2a9">CS_CLIP_*</a>. </dd></dl>

<p>Implemented in <a class="el" href="classcsClipper.html#2c2b0a13abb18e70363e498323d39871">csClipper</a>.</p>

</div>
</div><p>
<a class="anchor" name="7016695a49e465211d75df6224a17979"></a><!-- doxytag: member="iClipper2D::GetClipperType" ref="7016695a49e465211d75df6224a17979" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiClipper2D.html#03ed976bdb8cd014a5dabccc06bd3730">ClipperType</a> iClipper2D::GetClipperType           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Retrieve the type of this clipper. 
<p>

<p>Implemented in <a class="el" href="classcsBoxClipper.html#f352d510f25cd20537cf3edeffd00d27">csBoxClipper</a>, and <a class="el" href="classcsPolygonClipper.html#243d6b080a6679ec445bd4342267edd0">csPolygonClipper</a>.</p>

</div>
</div><p>
<a class="anchor" name="8210d2f967bdd837630a6caccea43169"></a><!-- doxytag: member="iClipper2D::GetClipPoly" ref="8210d2f967bdd837630a6caccea43169" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classcsVector2.html">csVector2</a>* iClipper2D::GetClipPoly           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return a pointer to the array of csVector2's. 
<p>

<p>Implemented in <a class="el" href="classcsBoxClipper.html#7872039688f9938fbbccb5bfe64c6451">csBoxClipper</a>, and <a class="el" href="classcsPolygonClipper.html#a7a349bdcfcd1e804cba188dd93a331e">csPolygonClipper</a>.</p>

</div>
</div><p>
<a class="anchor" name="624994070bdb107a90f8902ba332a937"></a><!-- doxytag: member="iClipper2D::GetVertexCount" ref="624994070bdb107a90f8902ba332a937" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual size_t iClipper2D::GetVertexCount           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return number of vertices for this clipper polygon. 
<p>

<p>Implemented in <a class="el" href="classcsBoxClipper.html#139cf60f2685caac6a254e81dce75c27">csBoxClipper</a>, and <a class="el" href="classcsPolygonClipper.html#26d0d6eca7d087e976d95b527ac72cff">csPolygonClipper</a>.</p>

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

<p>
Return true if given point is inside (or on bound) of clipper polygon. 
<p>

<p>Implemented in <a class="el" href="classcsBoxClipper.html#105c6e61ad5943647a4163c73b312123">csBoxClipper</a>, and <a class="el" href="classcsPolygonClipper.html#5915e077e6346b0c4b1611a3d66d3cf7">csPolygonClipper</a>.</p>

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