Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > 5035839f674c88dea1f7928a86fbdc64 > files > 1057

geos-devel-3.2.1-3.fc14.x86_64.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>GEOS: geos::operation::buffer::BufferOp Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs2">
    <ul class="tablist">
      <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>
  <div class="navpath">
    <ul>
      <li><a class="el" href="namespacegeos.html">geos</a>      </li>
      <li><a class="el" href="namespacegeos_1_1operation.html">operation</a>      </li>
      <li><a class="el" href="namespacegeos_1_1operation_1_1buffer.html">buffer</a>      </li>
      <li><a class="el" href="classgeos_1_1operation_1_1buffer_1_1BufferOp.html">geos::operation::buffer::BufferOp</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a>  </div>
  <div class="headertitle">
<h1>geos::operation::buffer::BufferOp Class Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="geos::operation::buffer::BufferOp" -->
<p>Computes the buffer of a geometry, for both positive and negative buffer distances.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="opBuffer_8h_source.html">geos/opBuffer.h</a>&gt;</code></p>

<p><a href="classgeos_1_1operation_1_1buffer_1_1BufferOp-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="classgeos_1_1operation_1_1buffer_1_1BufferOp.html#afeb8f104361eeee3800eb1ba675803eba3dab8f3b3b9c9d389597710b380bbd50">CAP_ROUND</a> =  BufferParameters::CAP_ROUND, 
<a class="el" href="classgeos_1_1operation_1_1buffer_1_1BufferOp.html#afeb8f104361eeee3800eb1ba675803eba49120ca8a988672bd4e07c410e60298d">CAP_BUTT</a> =  BufferParameters::CAP_FLAT, 
<a class="el" href="classgeos_1_1operation_1_1buffer_1_1BufferOp.html#afeb8f104361eeee3800eb1ba675803eba8757a3afe464e96cf13526aba63530fa">CAP_SQUARE</a> =  BufferParameters::CAP_SQUARE
 }</td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1buffer_1_1BufferOp.html#ace333176e7988e78d32941397df0c4ec">BufferOp</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *g)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1buffer_1_1BufferOp.html#ac57e331af7062eac25d7e563af0d234a">BufferOp</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *g, const <a class="el" href="classgeos_1_1operation_1_1buffer_1_1BufferParameters.html">BufferParameters</a> &amp;params)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1buffer_1_1BufferOp.html#aa566f0c9ba6aabc903adb9898a196961">setEndCapStyle</a> (int nEndCapStyle)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1buffer_1_1BufferOp.html#a15d1764170db5d95abe50cff8fef747f">setQuadrantSegments</a> (int nQuadrantSegments)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1buffer_1_1BufferOp.html#a286d0414ffe12a075f64e791b7c5d7fe">getResultGeometry</a> (double nDistance)</td></tr>
<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1buffer_1_1BufferOp.html#ae3bd35a1c9e1f8ce49500cc44f06a5b3">bufferOp</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *g, double distance, int quadrantSegments=<a class="el" href="classgeos_1_1operation_1_1buffer_1_1BufferParameters.html#ab0a64ab1030d5dc576449dbf9ecde9e8">BufferParameters::DEFAULT_QUADRANT_SEGMENTS</a>, int endCapStyle=BufferParameters::CAP_ROUND)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Computes the buffer of a geometry, for both positive and negative buffer distances. </p>
<p>In GIS, the buffer of a geometry is defined as the Minkowski sum or difference of the geometry with a circle with radius equal to the absolute value of the buffer distance. In the CAD/CAM world buffers are known as offset curves. In morphological analysis they are known as <em>erosion</em> and <em>dilation</em>.</p>
<p>The buffer operation always returns a polygonal result. The negative or zero-distance buffer of lines and points is always an empty Polygon.</p>
<p>Since true buffer curves may contain circular arcs, computed buffer polygons can only be approximations to the true geometry. The user can control the accuracy of the curve approximation by specifying the number of linear segments with which to approximate a curve.</p>
<p>The end cap style of a linear buffer may be specified. The following end cap styles are supported:</p>
<ul>
<li>CAP_ROUND - the usual round end caps</li>
<li>CAP_BUTT - end caps are truncated flat at the line ends</li>
<li>CAP_SQUARE - end caps are squared off at the buffer distance beyond the line ends </li>
</ul>
<hr/><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="afeb8f104361eeee3800eb1ba675803eb"></a><!-- doxytag: member="geos::operation::buffer::BufferOp::@13" ref="afeb8f104361eeee3800eb1ba675803eb" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="afeb8f104361eeee3800eb1ba675803eba3dab8f3b3b9c9d389597710b380bbd50"></a><!-- doxytag: member="CAP_ROUND" ref="afeb8f104361eeee3800eb1ba675803eba3dab8f3b3b9c9d389597710b380bbd50" args="" -->CAP_ROUND</em>&nbsp;</td><td>
<p>Specifies a round line buffer end cap style. </p>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000008">Deprecated:</a></b></dt><dd>use <a class="el" href="classgeos_1_1operation_1_1buffer_1_1BufferParameters.html" title="Contains the parameters which describe how a buffer should be constructed.">BufferParameters</a> </dd></dl>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="afeb8f104361eeee3800eb1ba675803eba49120ca8a988672bd4e07c410e60298d"></a><!-- doxytag: member="CAP_BUTT" ref="afeb8f104361eeee3800eb1ba675803eba49120ca8a988672bd4e07c410e60298d" args="" -->CAP_BUTT</em>&nbsp;</td><td>
<p>Specifies a butt (or flat) line buffer end cap style. </p>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000009">Deprecated:</a></b></dt><dd>use <a class="el" href="classgeos_1_1operation_1_1buffer_1_1BufferParameters.html" title="Contains the parameters which describe how a buffer should be constructed.">BufferParameters</a> </dd></dl>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="afeb8f104361eeee3800eb1ba675803eba8757a3afe464e96cf13526aba63530fa"></a><!-- doxytag: member="CAP_SQUARE" ref="afeb8f104361eeee3800eb1ba675803eba8757a3afe464e96cf13526aba63530fa" args="" -->CAP_SQUARE</em>&nbsp;</td><td>
<p>Specifies a square line buffer end cap style. </p>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000010">Deprecated:</a></b></dt><dd>use <a class="el" href="classgeos_1_1operation_1_1buffer_1_1BufferParameters.html" title="Contains the parameters which describe how a buffer should be constructed.">BufferParameters</a> </dd></dl>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ace333176e7988e78d32941397df0c4ec"></a><!-- doxytag: member="geos::operation::buffer::BufferOp::BufferOp" ref="ace333176e7988e78d32941397df0c4ec" args="(const geom::Geometry *g)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">geos::operation::buffer::BufferOp::BufferOp </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *&nbsp;</td>
          <td class="paramname"> <em>g</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Initializes a buffer computation for the given geometry</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>g</em>&nbsp;</td><td>the geometry to buffer </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac57e331af7062eac25d7e563af0d234a"></a><!-- doxytag: member="geos::operation::buffer::BufferOp::BufferOp" ref="ac57e331af7062eac25d7e563af0d234a" args="(const geom::Geometry *g, const BufferParameters &amp;params)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">geos::operation::buffer::BufferOp::BufferOp </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *&nbsp;</td>
          <td class="paramname"> <em>g</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classgeos_1_1operation_1_1buffer_1_1BufferParameters.html">BufferParameters</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>params</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Initializes a buffer computation for the given geometry with the given set of parameters</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>g</em>&nbsp;</td><td>the geometry to buffer </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>the buffer parameters to use. This class will copy it to private memory. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ae3bd35a1c9e1f8ce49500cc44f06a5b3"></a><!-- doxytag: member="geos::operation::buffer::BufferOp::bufferOp" ref="ae3bd35a1c9e1f8ce49500cc44f06a5b3" args="(const geom::Geometry *g, double distance, int quadrantSegments=BufferParameters::DEFAULT_QUADRANT_SEGMENTS, int endCapStyle=BufferParameters::CAP_ROUND)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a>* geos::operation::buffer::BufferOp::bufferOp </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *&nbsp;</td>
          <td class="paramname"> <em>g</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>distance</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>quadrantSegments</em> = <code><a class="el" href="classgeos_1_1operation_1_1buffer_1_1BufferParameters.html#ab0a64ab1030d5dc576449dbf9ecde9e8">BufferParameters::DEFAULT_QUADRANT_SEGMENTS</a></code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>endCapStyle</em> = <code>BufferParameters::CAP_ROUND</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Computes the buffer for a geometry for a given buffer distance and accuracy of approximation.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>g</em>&nbsp;</td><td>the geometry to buffer </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>distance</em>&nbsp;</td><td>the buffer distance </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>quadrantSegments</em>&nbsp;</td><td>the number of segments used to approximate a quarter circle </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the buffer of the input geometry </dd></dl>

</div>
</div>
<a class="anchor" id="a286d0414ffe12a075f64e791b7c5d7fe"></a><!-- doxytag: member="geos::operation::buffer::BufferOp::getResultGeometry" ref="a286d0414ffe12a075f64e791b7c5d7fe" args="(double nDistance)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a>* geos::operation::buffer::BufferOp::getResultGeometry </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>nDistance</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the buffer computed for a geometry for a given buffer distance.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>g</em>&nbsp;</td><td>the geometry to buffer </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>distance</em>&nbsp;</td><td>the buffer distance </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the buffer of the input geometry </dd></dl>

</div>
</div>
<a class="anchor" id="aa566f0c9ba6aabc903adb9898a196961"></a><!-- doxytag: member="geos::operation::buffer::BufferOp::setEndCapStyle" ref="aa566f0c9ba6aabc903adb9898a196961" args="(int nEndCapStyle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void geos::operation::buffer::BufferOp::setEndCapStyle </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>nEndCapStyle</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Specifies the end cap style of the generated buffer. The styles supported are CAP_ROUND, CAP_BUTT, and CAP_SQUARE. The default is CAP_ROUND.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>endCapStyle</em>&nbsp;</td><td>the end cap style to specify </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="classgeos_1_1operation_1_1buffer_1_1BufferParameters.html#a1b884eaa4f6bb49cb7547f6cbf2035f7">geos::operation::buffer::BufferParameters::setEndCapStyle()</a>.</p>

</div>
</div>
<a class="anchor" id="a15d1764170db5d95abe50cff8fef747f"></a><!-- doxytag: member="geos::operation::buffer::BufferOp::setQuadrantSegments" ref="a15d1764170db5d95abe50cff8fef747f" args="(int nQuadrantSegments)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void geos::operation::buffer::BufferOp::setQuadrantSegments </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>nQuadrantSegments</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Specifies the end cap style of the generated buffer. The styles supported are CAP_ROUND, CAP_BUTT, and CAP_SQUARE. The default is CAP_ROUND.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>endCapStyle</em>&nbsp;</td><td>the end cap style to specify </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="classgeos_1_1operation_1_1buffer_1_1BufferParameters.html#adc5559aa27d60c7b40aba6d5c13c0c45">geos::operation::buffer::BufferParameters::setQuadrantSegments()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="BufferOp_8h_source.html">BufferOp.h</a></li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Thu Jul 22 2010 for GEOS by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
</body>
</html>