Sophie

Sophie

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

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::polygonize::Polygonizer 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><b>polygonize</b>      </li>
      <li><a class="el" href="classgeos_1_1operation_1_1polygonize_1_1Polygonizer.html">geos::operation::polygonize::Polygonizer</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#friends">Friends</a>  </div>
  <div class="headertitle">
<h1>geos::operation::polygonize::Polygonizer Class Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="geos::operation::polygonize::Polygonizer" -->
<p>Polygonizes a set of Geometrys which contain linework that represents the edges of a planar graph.  
<a href="#_details">More...</a></p>

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

<p><a href="classgeos_1_1operation_1_1polygonize_1_1Polygonizer-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="ab5151927d8308185c34571b2721e074f"></a><!-- doxytag: member="geos::operation::polygonize::Polygonizer::Polygonizer" ref="ab5151927d8308185c34571b2721e074f" args="()" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1polygonize_1_1Polygonizer.html#ab5151927d8308185c34571b2721e074f">Polygonizer</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a polygonizer with the same GeometryFactory as the input Geometry. <br/></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_1polygonize_1_1Polygonizer.html#ad4faf520a6b996535440cf368878012f">add</a> (std::vector&lt; <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> * &gt; *geomList)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a collection of geometries to be polygonized. May be called multiple times. Any dimension of Geometry may be added; the constituent linework will be extracted and used.  <a href="#ad4faf520a6b996535440cf368878012f"></a><br/></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_1polygonize_1_1Polygonizer.html#a3d6eba30fe37c83c036fe7c25f0624fa">add</a> (std::vector&lt; const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> * &gt; *geomList)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a collection of geometries to be polygonized. May be called multiple times. Any dimension of Geometry may be added; the constituent linework will be extracted and used.  <a href="#a3d6eba30fe37c83c036fe7c25f0624fa"></a><br/></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_1polygonize_1_1Polygonizer.html#a7b1fb0421e283c019beccb32bd9fa313">add</a> (<a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *g)</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_1polygonize_1_1Polygonizer.html#a55c8d19b82467e50c7728103e0cf4fd3">add</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">std::vector&lt; <a class="el" href="classgeos_1_1geom_1_1Polygon.html">geom::Polygon</a> * &gt; *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1polygonize_1_1Polygonizer.html#a4b113d194a8f27f6f9016277c774fb71">getPolygons</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the list of polygons formed by the polygonization.  <a href="#a4b113d194a8f27f6f9016277c774fb71"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::vector&lt; const <br class="typebreak"/>
<a class="el" href="classgeos_1_1geom_1_1LineString.html">geom::LineString</a> * &gt; *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1polygonize_1_1Polygonizer.html#a75b7a30279755b922edf601e0ea61702">getDangles</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the list of dangling lines found during polygonization.  <a href="#a75b7a30279755b922edf601e0ea61702"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::vector&lt; const <br class="typebreak"/>
<a class="el" href="classgeos_1_1geom_1_1LineString.html">geom::LineString</a> * &gt; *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1polygonize_1_1Polygonizer.html#ada80027114123983446c52d3e7b6f977">getCutEdges</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the list of cut edges found during polygonization.  <a href="#ada80027114123983446c52d3e7b6f977"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classgeos_1_1geom_1_1LineString.html">geom::LineString</a> * &gt; *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1polygonize_1_1Polygonizer.html#a2a7cb69653beac55e155637866b3f52b">getInvalidRingLines</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the list of lines forming invalid rings found during polygonization.  <a href="#a2a7cb69653beac55e155637866b3f52b"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8b9beb8e26c8b1a46248c34b41aa8921"></a><!-- doxytag: member="geos::operation::polygonize::Polygonizer::graph" ref="a8b9beb8e26c8b1a46248c34b41aa8921" args="" -->
<a class="el" href="classgeos_1_1operation_1_1polygonize_1_1PolygonizeGraph.html">PolygonizeGraph</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>graph</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a12e55b4ea2b49ede7d5cfef1841fc000"></a><!-- doxytag: member="geos::operation::polygonize::Polygonizer::dangles" ref="a12e55b4ea2b49ede7d5cfef1841fc000" args="" -->
std::vector&lt; const <br class="typebreak"/>
<a class="el" href="classgeos_1_1geom_1_1LineString.html">geom::LineString</a> * &gt; *&nbsp;</td><td class="memItemRight" valign="bottom"><b>dangles</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9784b85f4ac57f12ca6d4625d9139fb2"></a><!-- doxytag: member="geos::operation::polygonize::Polygonizer::cutEdges" ref="a9784b85f4ac57f12ca6d4625d9139fb2" args="" -->
std::vector&lt; const <br class="typebreak"/>
<a class="el" href="classgeos_1_1geom_1_1LineString.html">geom::LineString</a> * &gt; *&nbsp;</td><td class="memItemRight" valign="bottom"><b>cutEdges</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae7e4b28361038167d1a0750b0d4882d1"></a><!-- doxytag: member="geos::operation::polygonize::Polygonizer::invalidRingLines" ref="ae7e4b28361038167d1a0750b0d4882d1" args="" -->
std::vector&lt; <a class="el" href="classgeos_1_1geom_1_1LineString.html">geom::LineString</a> * &gt; *&nbsp;</td><td class="memItemRight" valign="bottom"><b>invalidRingLines</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a358799b4afff3554e9ba51760cd34a0c"></a><!-- doxytag: member="geos::operation::polygonize::Polygonizer::holeList" ref="a358799b4afff3554e9ba51760cd34a0c" args="" -->
std::vector&lt; <a class="el" href="classgeos_1_1operation_1_1polygonize_1_1EdgeRing.html">EdgeRing</a> * &gt; *&nbsp;</td><td class="memItemRight" valign="bottom"><b>holeList</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeb7f17222843cb82bc507b1ffd91d431"></a><!-- doxytag: member="geos::operation::polygonize::Polygonizer::shellList" ref="aeb7f17222843cb82bc507b1ffd91d431" args="" -->
std::vector&lt; <a class="el" href="classgeos_1_1operation_1_1polygonize_1_1EdgeRing.html">EdgeRing</a> * &gt; *&nbsp;</td><td class="memItemRight" valign="bottom"><b>shellList</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af9494e2968cdac9c554306cbdac8cd74"></a><!-- doxytag: member="geos::operation::polygonize::Polygonizer::polyList" ref="af9494e2968cdac9c554306cbdac8cd74" args="" -->
std::vector&lt; <a class="el" href="classgeos_1_1geom_1_1Polygon.html">geom::Polygon</a> * &gt; *&nbsp;</td><td class="memItemRight" valign="bottom"><b>polyList</b></td></tr>
<tr><td colspan="2"><h2><a name="friends"></a>
Friends</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae56d25e6c5388d3e0eac5c7b4aaa72fb"></a><!-- doxytag: member="geos::operation::polygonize::Polygonizer::Polygonizer::LineStringAdder" ref="ae56d25e6c5388d3e0eac5c7b4aaa72fb" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><b>Polygonizer::LineStringAdder</b></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Polygonizes a set of Geometrys which contain linework that represents the edges of a planar graph. </p>
<p>Any dimension of Geometry is handled - the constituent linework is extracted to form the edges. The edges must be correctly noded; that is, they must only meet at their endpoints. The <a class="el" href="classgeos_1_1operation_1_1polygonize_1_1Polygonizer.html" title="Polygonizes a set of Geometrys which contain linework that represents the edges of a planar graph...">Polygonizer</a> will still run on incorrectly noded input but will not form polygons from incorrected noded edges.</p>
<p>The <a class="el" href="classgeos_1_1operation_1_1polygonize_1_1Polygonizer.html" title="Polygonizes a set of Geometrys which contain linework that represents the edges of a planar graph...">Polygonizer</a> reports the follow kinds of errors:</p>
<ul>
<li><b>Dangles</b> - edges which have one or both ends which are not incident on another edge endpoint</li>
<li><b>Cut Edges</b> - edges which are connected at both ends but which do not form part of polygon</li>
<li><b>Invalid Ring Lines</b> - edges which form rings which are invalid (e.g. the component lines contain a self-intersection) </li>
</ul>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ad4faf520a6b996535440cf368878012f"></a><!-- doxytag: member="geos::operation::polygonize::Polygonizer::add" ref="ad4faf520a6b996535440cf368878012f" args="(std::vector&lt; geom::Geometry * &gt; *geomList)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void geos::operation::polygonize::Polygonizer::add </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> * &gt; *&nbsp;</td>
          <td class="paramname"> <em>geomList</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add a collection of geometries to be polygonized. May be called multiple times. Any dimension of Geometry may be added; the constituent linework will be extracted and used. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>geomList</em>&nbsp;</td><td>a list of Geometry with linework to be polygonized </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a3d6eba30fe37c83c036fe7c25f0624fa"></a><!-- doxytag: member="geos::operation::polygonize::Polygonizer::add" ref="a3d6eba30fe37c83c036fe7c25f0624fa" args="(std::vector&lt; const geom::Geometry * &gt; *geomList)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void geos::operation::polygonize::Polygonizer::add </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> * &gt; *&nbsp;</td>
          <td class="paramname"> <em>geomList</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add a collection of geometries to be polygonized. May be called multiple times. Any dimension of Geometry may be added; the constituent linework will be extracted and used. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>geomList</em>&nbsp;</td><td>a list of Geometry with linework to be polygonized </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a55c8d19b82467e50c7728103e0cf4fd3"></a><!-- doxytag: member="geos::operation::polygonize::Polygonizer::add" ref="a55c8d19b82467e50c7728103e0cf4fd3" args="(const geom::Geometry *g)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void geos::operation::polygonize::Polygonizer::add </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></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Add a geometry to the linework to be polygonized. May be called multiple times. Any dimension of Geometry may be added; the constituent linework will be extracted and used</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>a Geometry with linework to be polygonized </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a7b1fb0421e283c019beccb32bd9fa313"></a><!-- doxytag: member="geos::operation::polygonize::Polygonizer::add" ref="a7b1fb0421e283c019beccb32bd9fa313" args="(geom::Geometry *g)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void geos::operation::polygonize::Polygonizer::add </td>
          <td>(</td>
          <td class="paramtype"><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></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Add a geometry to the linework to be polygonized. May be called multiple times. Any dimension of Geometry may be added; the constituent linework will be extracted and used</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>a Geometry with linework to be polygonized </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ada80027114123983446c52d3e7b6f977"></a><!-- doxytag: member="geos::operation::polygonize::Polygonizer::getCutEdges" ref="ada80027114123983446c52d3e7b6f977" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;const <a class="el" href="classgeos_1_1geom_1_1LineString.html">geom::LineString</a>*&gt;* geos::operation::polygonize::Polygonizer::getCutEdges </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the list of cut edges found during polygonization. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>a (possibly empty) reference to collection of the input LineStrings which are cut edges. Ownership retained by this object. </dd></dl>

</div>
</div>
<a class="anchor" id="a75b7a30279755b922edf601e0ea61702"></a><!-- doxytag: member="geos::operation::polygonize::Polygonizer::getDangles" ref="a75b7a30279755b922edf601e0ea61702" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;const <a class="el" href="classgeos_1_1geom_1_1LineString.html">geom::LineString</a>*&gt;* geos::operation::polygonize::Polygonizer::getDangles </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the list of dangling lines found during polygonization. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>a collection of the input LineStrings which are dangles </dd></dl>

</div>
</div>
<a class="anchor" id="a2a7cb69653beac55e155637866b3f52b"></a><!-- doxytag: member="geos::operation::polygonize::Polygonizer::getInvalidRingLines" ref="a2a7cb69653beac55e155637866b3f52b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;<a class="el" href="classgeos_1_1geom_1_1LineString.html">geom::LineString</a>*&gt;* geos::operation::polygonize::Polygonizer::getInvalidRingLines </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the list of lines forming invalid rings found during polygonization. </p>
<p>Ownership is tranferred to caller, second call will return NULL (unless polygonize is called again). </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>a collection of LineStrings which form invalid rings </dd></dl>

</div>
</div>
<a class="anchor" id="a4b113d194a8f27f6f9016277c774fb71"></a><!-- doxytag: member="geos::operation::polygonize::Polygonizer::getPolygons" ref="a4b113d194a8f27f6f9016277c774fb71" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;<a class="el" href="classgeos_1_1geom_1_1Polygon.html">geom::Polygon</a>*&gt;* geos::operation::polygonize::Polygonizer::getPolygons </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the list of polygons formed by the polygonization. </p>
<p>Ownership of vector is transferred to caller, subsequent calls will return NULL. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>a collection of Polygons </dd></dl>

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