Sophie

Sophie

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

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::BufferInputLineSimplifier 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_1BufferInputLineSimplifier.html">geos::operation::buffer::BufferInputLineSimplifier</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<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::BufferInputLineSimplifier Class Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="geos::operation::buffer::BufferInputLineSimplifier" -->
<p>Simplifies a buffer input line to remove concavities with shallow depth.  
<a href="#_details">More...</a></p>

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

<p><a href="classgeos_1_1operation_1_1buffer_1_1BufferInputLineSimplifier-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6a9404367d2f2d7dc1d68e13e1712a44"></a><!-- doxytag: member="geos::operation::buffer::BufferInputLineSimplifier::BufferInputLineSimplifier" ref="a6a9404367d2f2d7dc1d68e13e1712a44" args="(const geom::CoordinateSequence &amp;input)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>BufferInputLineSimplifier</b> (const <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">geom::CoordinateSequence</a> &amp;input)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::auto_ptr<br class="typebreak"/>
&lt; <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">geom::CoordinateSequence</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1buffer_1_1BufferInputLineSimplifier.html#aea0d2f24dd99771dcd0567647dcbdb2a">simplify</a> (double distanceTol)</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 std::auto_ptr<br class="typebreak"/>
&lt; <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">geom::CoordinateSequence</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1buffer_1_1BufferInputLineSimplifier.html#ac49af0a02dc230d43473c2bc2f2fed4e">simplify</a> (const <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">geom::CoordinateSequence</a> &amp;inputLine, double distanceTol)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Simplifies a buffer input line to remove concavities with shallow depth. </p>
<p>The most important benefit of doing this is to reduce the number of points and the complexity of shape which will be buffered. It also reduces the risk of gores created by the quantized fillet arcs (although this issue should be eliminated in any case by the offset curve generation logic).</p>
<p>A key aspect of the simplification is that it affects inside (concave or inward) corners only. Convex (outward) corners are preserved, since they are required to ensure that the eventual buffer curve lies at the correct distance from the input geometry.</p>
<p>Another important heuristic used is that the end segments of the input are never simplified. This ensures that the client buffer code is able to generate end caps consistently.</p>
<p>No attempt is made to avoid self-intersections in the output. This is acceptable for use for generating a buffer offset curve, but means that this cannot be used as a general-purpose polygon simplification algorithm.</p>
<dl class="author"><dt><b>Author:</b></dt><dd>Martin Davis </dd></dl>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ac49af0a02dc230d43473c2bc2f2fed4e"></a><!-- doxytag: member="geos::operation::buffer::BufferInputLineSimplifier::simplify" ref="ac49af0a02dc230d43473c2bc2f2fed4e" args="(const geom::CoordinateSequence &amp;inputLine, double distanceTol)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static std::auto_ptr&lt;<a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">geom::CoordinateSequence</a>&gt; geos::operation::buffer::BufferInputLineSimplifier::simplify </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">geom::CoordinateSequence</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>inputLine</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>distanceTol</em></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>Simplify the input coordinate list.</p>
<p>If the distance tolerance is positive, concavities on the LEFT side of the line are simplified. If the supplied distance tolerance is negative, concavities on the RIGHT side of the line are simplified.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>inputLine</em>&nbsp;</td><td>the coordinate sequence to simplify </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>distanceTol</em>&nbsp;</td><td>simplification distance tolerance to use </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a simplified version of the coordinate sequence </dd></dl>

</div>
</div>
<a class="anchor" id="aea0d2f24dd99771dcd0567647dcbdb2a"></a><!-- doxytag: member="geos::operation::buffer::BufferInputLineSimplifier::simplify" ref="aea0d2f24dd99771dcd0567647dcbdb2a" args="(double distanceTol)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::auto_ptr&lt;<a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">geom::CoordinateSequence</a>&gt; geos::operation::buffer::BufferInputLineSimplifier::simplify </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>distanceTol</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Simplify the input coordinate list. If the distance tolerance is positive, concavities on the LEFT side of the line are simplified. If the supplied distance tolerance is negative, concavities on the RIGHT side of the line are simplified.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>distanceTol</em>&nbsp;</td><td>simplification distance tolerance to use </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the simplified coordinate list </dd></dl>

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