geos_390_docs/classgeos_1_1operation_1_1o...

1344 lines
66 KiB
HTML

<!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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>GEOS: geos::operation::overlayng::EdgeNodingBuilder Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">GEOS
&#160;<span id="projectnumber">3.9.1dev</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;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 id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacegeos.html">geos</a></li><li class="navelem"><a class="el" href="namespacegeos_1_1operation.html">operation</a></li><li class="navelem"><a class="el" href="namespacegeos_1_1operation_1_1overlayng.html">overlayng</a></li><li class="navelem"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html">EdgeNodingBuilder</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="#pri-static-attribs">Static Private Attributes</a> &#124;
<a href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">geos::operation::overlayng::EdgeNodingBuilder Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="EdgeNodingBuilder_8h_source.html">EdgeNodingBuilder.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for geos::operation::overlayng::EdgeNodingBuilder:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder__coll__graph.svg" width="100%" height="499"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ad2a915e91740b782bad3e32caf0fd1b4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#ad2a915e91740b782bad3e32caf0fd1b4">EdgeNodingBuilder</a> (const <a class="el" href="classgeos_1_1geom_1_1PrecisionModel.html">PrecisionModel</a> *p_pm, <a class="el" href="classgeos_1_1noding_1_1Noder.html">Noder</a> *p_customNoder)</td></tr>
<tr class="separator:ad2a915e91740b782bad3e32caf0fd1b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53b9729b39bc82a9261e35208e7a8791"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#a53b9729b39bc82a9261e35208e7a8791">~EdgeNodingBuilder</a> ()</td></tr>
<tr class="separator:a53b9729b39bc82a9261e35208e7a8791"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72461776b6738ed9e5e9a64d2c593f72"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#a72461776b6738ed9e5e9a64d2c593f72">setClipEnvelope</a> (const <a class="el" href="classgeos_1_1geom_1_1Envelope.html">Envelope</a> *<a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#a4276fe39adfb5a3c80cbbc916fbea6cd">clipEnv</a>)</td></tr>
<tr class="separator:a72461776b6738ed9e5e9a64d2c593f72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09fc06eb90e27dfd4bee4d97fb80c509"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#a09fc06eb90e27dfd4bee4d97fb80c509">hasEdgesFor</a> (int geomIndex) const </td></tr>
<tr class="separator:a09fc06eb90e27dfd4bee4d97fb80c509"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e870a8a0fef4644084389cb83fb627c"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1Edge.html">Edge</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#a7e870a8a0fef4644084389cb83fb627c">build</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> *geom0, const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> *geom1)</td></tr>
<tr class="separator:a7e870a8a0fef4644084389cb83fb627c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:ab0e7278e9b9c997568cbb69a6cc1e059"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1noding_1_1Noder.html">Noder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#ab0e7278e9b9c997568cbb69a6cc1e059">getNoder</a> ()</td></tr>
<tr class="separator:ab0e7278e9b9c997568cbb69a6cc1e059"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf63a72300b8193ced54dab15aa9ffff"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classgeos_1_1noding_1_1Noder.html">Noder</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#aaf63a72300b8193ced54dab15aa9ffff">createFixedPrecisionNoder</a> (const <a class="el" href="classgeos_1_1geom_1_1PrecisionModel.html">PrecisionModel</a> *<a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#a5f347858da7441072630681027fb0879">pm</a>)</td></tr>
<tr class="separator:aaf63a72300b8193ced54dab15aa9ffff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12b69cc837d8ee7017c8f8f70baf17d5"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classgeos_1_1noding_1_1Noder.html">Noder</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#a12b69cc837d8ee7017c8f8f70baf17d5">createFloatingPrecisionNoder</a> (bool doValidation)</td></tr>
<tr class="separator:a12b69cc837d8ee7017c8f8f70baf17d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac748fd27047f89b3619de019df1d521d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#ac748fd27047f89b3619de019df1d521d">addCollection</a> (const <a class="el" href="classgeos_1_1geom_1_1GeometryCollection.html">GeometryCollection</a> *gc, int geomIndex)</td></tr>
<tr class="separator:ac748fd27047f89b3619de019df1d521d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a49781af5427a7d0e3253afc8d52724"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#a1a49781af5427a7d0e3253afc8d52724">addGeometryCollection</a> (const <a class="el" href="classgeos_1_1geom_1_1GeometryCollection.html">GeometryCollection</a> *gc, int geomIndex, int expectedDim)</td></tr>
<tr class="separator:a1a49781af5427a7d0e3253afc8d52724"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2beab392b05e6b065654e1e637057f80"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#a2beab392b05e6b065654e1e637057f80">addPolygon</a> (const <a class="el" href="classgeos_1_1geom_1_1Polygon.html">Polygon</a> *poly, int geomIndex)</td></tr>
<tr class="separator:a2beab392b05e6b065654e1e637057f80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56137b834152f1781aaff251a9fbd634"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#a56137b834152f1781aaff251a9fbd634">addPolygonRing</a> (const <a class="el" href="classgeos_1_1geom_1_1LinearRing.html">LinearRing</a> *ring, bool isHole, int geomIndex)</td></tr>
<tr class="separator:a56137b834152f1781aaff251a9fbd634"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff3f220ef62f30bceacf61bac1a80fe1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#aff3f220ef62f30bceacf61bac1a80fe1">addLine</a> (const <a class="el" href="classgeos_1_1geom_1_1LineString.html">LineString</a> *line, int geomIndex)</td></tr>
<tr class="separator:aff3f220ef62f30bceacf61bac1a80fe1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af756fd74d4cc3fe1e26e11b3b6bd247e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#af756fd74d4cc3fe1e26e11b3b6bd247e">addLine</a> (std::unique_ptr&lt; <a class="el" href="classgeos_1_1geom_1_1CoordinateArraySequence.html">CoordinateArraySequence</a> &gt; &amp;pts, int geomIndex)</td></tr>
<tr class="separator:af756fd74d4cc3fe1e26e11b3b6bd247e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2fe034f2fdc25a6abbba696389eba8d2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#a2fe034f2fdc25a6abbba696389eba8d2">addEdge</a> (std::unique_ptr&lt; std::vector&lt; <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> &gt;&gt; pts, const <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeSourceInfo.html">EdgeSourceInfo</a> *info)</td></tr>
<tr class="separator:a2fe034f2fdc25a6abbba696389eba8d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a105238bd3e46a2d1de6cb39628f898ee"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#a105238bd3e46a2d1de6cb39628f898ee">addEdge</a> (std::unique_ptr&lt; <a class="el" href="classgeos_1_1geom_1_1CoordinateArraySequence.html">CoordinateArraySequence</a> &gt; &amp;cas, const <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeSourceInfo.html">EdgeSourceInfo</a> *info)</td></tr>
<tr class="separator:a105238bd3e46a2d1de6cb39628f898ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae84d34a563d30d8f1c86991acb948262"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeSourceInfo.html">EdgeSourceInfo</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#ae84d34a563d30d8f1c86991acb948262">createEdgeSourceInfo</a> (int index, int depthDelta, bool isHole)</td></tr>
<tr class="separator:ae84d34a563d30d8f1c86991acb948262"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e25267f79a86ddc3bd08f9bf45b67c1"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeSourceInfo.html">EdgeSourceInfo</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#a7e25267f79a86ddc3bd08f9bf45b67c1">createEdgeSourceInfo</a> (int index)</td></tr>
<tr class="separator:a7e25267f79a86ddc3bd08f9bf45b67c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1929739c97e8ff10b551ee0f1e1d2d86"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#a1929739c97e8ff10b551ee0f1e1d2d86">isClippedCompletely</a> (const <a class="el" href="classgeos_1_1geom_1_1Envelope.html">Envelope</a> *env)</td></tr>
<tr class="separator:a1929739c97e8ff10b551ee0f1e1d2d86"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a827ee80944398cca722b6999a3e22186"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#a827ee80944398cca722b6999a3e22186">isToBeLimited</a> (const <a class="el" href="classgeos_1_1geom_1_1LineString.html">LineString</a> *line) const </td></tr>
<tr class="separator:a827ee80944398cca722b6999a3e22186"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef9c59c4010386dde13c2cec40a9d87e"><td class="memItemLeft" align="right" valign="top">std::vector&lt; std::unique_ptr&lt; <a class="el" href="classgeos_1_1geom_1_1CoordinateArraySequence.html">CoordinateArraySequence</a> &gt; &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#aef9c59c4010386dde13c2cec40a9d87e">limit</a> (const <a class="el" href="classgeos_1_1geom_1_1LineString.html">LineString</a> *line)</td></tr>
<tr class="separator:aef9c59c4010386dde13c2cec40a9d87e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0a9a17919bc85054b02c84e4f6903d1"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classgeos_1_1geom_1_1CoordinateArraySequence.html">CoordinateArraySequence</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#ac0a9a17919bc85054b02c84e4f6903d1">clip</a> (const <a class="el" href="classgeos_1_1geom_1_1LinearRing.html">LinearRing</a> *line)</td></tr>
<tr class="separator:ac0a9a17919bc85054b02c84e4f6903d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1960d023deccc7b41a439124ad5d0937"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classgeos_1_1geom_1_1CoordinateArraySequence.html">CoordinateArraySequence</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#a1960d023deccc7b41a439124ad5d0937">removeRepeatedPoints</a> (const <a class="el" href="classgeos_1_1geom_1_1LineString.html">LineString</a> *line)</td></tr>
<tr class="separator:a1960d023deccc7b41a439124ad5d0937"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34d03715737b056e9dc19c042af033b2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#a34d03715737b056e9dc19c042af033b2">computeDepthDelta</a> (const <a class="el" href="classgeos_1_1geom_1_1LinearRing.html">LinearRing</a> *ring, bool isHole)</td></tr>
<tr class="separator:a34d03715737b056e9dc19c042af033b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a939655da4484562528a4d66b59933e5f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#a939655da4484562528a4d66b59933e5f">add</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> *g, int geomIndex)</td></tr>
<tr class="separator:a939655da4484562528a4d66b59933e5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b001a770b03641598a41991e35e647a"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1Edge.html">Edge</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#a4b001a770b03641598a41991e35e647a">node</a> (std::vector&lt; <a class="el" href="classgeos_1_1noding_1_1SegmentString.html">SegmentString</a> * &gt; *segStrings)</td></tr>
<tr class="separator:a4b001a770b03641598a41991e35e647a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6dfd3325906dfc64f213e87548cd81f4"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1Edge.html">Edge</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#a6dfd3325906dfc64f213e87548cd81f4">createEdges</a> (std::vector&lt; <a class="el" href="classgeos_1_1noding_1_1SegmentString.html">SegmentString</a> * &gt; *segStrings)</td></tr>
<tr class="separator:a6dfd3325906dfc64f213e87548cd81f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a5f347858da7441072630681027fb0879"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classgeos_1_1geom_1_1PrecisionModel.html">PrecisionModel</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#a5f347858da7441072630681027fb0879">pm</a></td></tr>
<tr class="separator:a5f347858da7441072630681027fb0879"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af817804e6972ca38aa6bb3b6c5e880bb"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; std::vector&lt; <a class="el" href="classgeos_1_1noding_1_1SegmentString.html">SegmentString</a> * &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#af817804e6972ca38aa6bb3b6c5e880bb">inputEdges</a></td></tr>
<tr class="separator:af817804e6972ca38aa6bb3b6c5e880bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8fb5776653efa61a2ab1d127046ea98"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1noding_1_1Noder.html">Noder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#aa8fb5776653efa61a2ab1d127046ea98">customNoder</a></td></tr>
<tr class="separator:aa8fb5776653efa61a2ab1d127046ea98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2444040404aec4ee4a610b3fa34d337d"><td class="memItemLeft" align="right" valign="top">std::array&lt; bool, 2 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#a2444040404aec4ee4a610b3fa34d337d">hasEdges</a></td></tr>
<tr class="separator:a2444040404aec4ee4a610b3fa34d337d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4276fe39adfb5a3c80cbbc916fbea6cd"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classgeos_1_1geom_1_1Envelope.html">Envelope</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#a4276fe39adfb5a3c80cbbc916fbea6cd">clipEnv</a></td></tr>
<tr class="separator:a4276fe39adfb5a3c80cbbc916fbea6cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a382dba69e34e98f9fd57221de748095b"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1RingClipper.html">RingClipper</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#a382dba69e34e98f9fd57221de748095b">clipper</a></td></tr>
<tr class="separator:a382dba69e34e98f9fd57221de748095b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2365f26c412745be3dddfeed8f17a15c"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1LineLimiter.html">LineLimiter</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#a2365f26c412745be3dddfeed8f17a15c">limiter</a></td></tr>
<tr class="separator:a2365f26c412745be3dddfeed8f17a15c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad18dab3a089223da60d570d47f1d5739"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1algorithm_1_1LineIntersector.html">LineIntersector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#ad18dab3a089223da60d570d47f1d5739">lineInt</a></td></tr>
<tr class="separator:ad18dab3a089223da60d570d47f1d5739"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd0e3df7ba063c2126950688bfa7d40c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1noding_1_1IntersectionAdder.html">IntersectionAdder</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#afd0e3df7ba063c2126950688bfa7d40c">intAdder</a></td></tr>
<tr class="separator:afd0e3df7ba063c2126950688bfa7d40c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee5f9dd22aa255e9e339b745c07ba49d"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classgeos_1_1noding_1_1Noder.html">Noder</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#aee5f9dd22aa255e9e339b745c07ba49d">internalNoder</a></td></tr>
<tr class="separator:aee5f9dd22aa255e9e339b745c07ba49d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af791adf63471603ecaf0af7431129496"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classgeos_1_1noding_1_1Noder.html">Noder</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#af791adf63471603ecaf0af7431129496">spareInternalNoder</a></td></tr>
<tr class="separator:af791adf63471603ecaf0af7431129496"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39703112ae5ed2b7c73558fdfabf59a3"><td class="memItemLeft" align="right" valign="top">std::deque&lt; <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeSourceInfo.html">EdgeSourceInfo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#a39703112ae5ed2b7c73558fdfabf59a3">edgeSourceInfoQue</a></td></tr>
<tr class="separator:a39703112ae5ed2b7c73558fdfabf59a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae49d14c647c88fb819d64830c5417236"><td class="memItemLeft" align="right" valign="top">std::deque&lt; <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1Edge.html">Edge</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#ae49d14c647c88fb819d64830c5417236">edgeQue</a></td></tr>
<tr class="separator:ae49d14c647c88fb819d64830c5417236"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-static-attribs"></a>
Static Private Attributes</h2></td></tr>
<tr class="memitem:abf25ed06ae78ae312be6ad785c3bd46c"><td class="memItemLeft" align="right" valign="top">static constexpr int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#abf25ed06ae78ae312be6ad785c3bd46c">MIN_LIMIT_PTS</a> = 20</td></tr>
<tr class="separator:abf25ed06ae78ae312be6ad785c3bd46c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54f27a691d83a1d0b7583afdae9c7ff8"><td class="memItemLeft" align="right" valign="top">static constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeNodingBuilder.html#a54f27a691d83a1d0b7583afdae9c7ff8">IS_NODING_VALIDATED</a> = true</td></tr>
<tr class="separator:a54f27a691d83a1d0b7583afdae9c7ff8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Builds a set of noded, unique, labelled Edges from the edges of the two input geometries.</p>
<p>It performs the following steps:</p>
<ul>
<li>Extracts input edges, and attaches topological information</li>
<li>if clipping is enabled, handles clipping or limiting input geometry</li>
<li>chooses a <a class="el" href="classgeos_1_1noding_1_1Noder.html">noding::Noder</a> based on provided precision model, unless a custom one is supplied</li>
<li>calls the chosen Noder, with precision model</li>
<li>removes any fully collapsed noded edges</li>
<li>builds <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1Edge.html">Edge</a>s and merges them</li>
</ul>
<dl class="section author"><dt>Author</dt><dd>mdavis </dd></dl>
<p>Definition at line <a class="el" href="EdgeNodingBuilder_8h_source.html#l00080">80</a> of file <a class="el" href="EdgeNodingBuilder_8h_source.html">EdgeNodingBuilder.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ad2a915e91740b782bad3e32caf0fd1b4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">geos::operation::overlayng::EdgeNodingBuilder::EdgeNodingBuilder </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1PrecisionModel.html">PrecisionModel</a> *&#160;</td>
<td class="paramname"><em>p_pm</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classgeos_1_1noding_1_1Noder.html">Noder</a> *&#160;</td>
<td class="paramname"><em>p_customNoder</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a new builder, with an optional custom noder. If the noder is not provided, a suitable one will be used based on the supplied precision model. </p>
<p>Definition at line <a class="el" href="EdgeNodingBuilder_8h_source.html#l00198">198</a> of file <a class="el" href="EdgeNodingBuilder_8h_source.html">EdgeNodingBuilder.h</a>.</p>
</div>
</div>
<a class="anchor" id="a53b9729b39bc82a9261e35208e7a8791"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">geos::operation::overlayng::EdgeNodingBuilder::~EdgeNodingBuilder </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="EdgeNodingBuilder_8h_source.html#l00207">207</a> of file <a class="el" href="EdgeNodingBuilder_8h_source.html">EdgeNodingBuilder.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a939655da4484562528a4d66b59933e5f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void geos::operation::overlayng::EdgeNodingBuilder::add </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> *&#160;</td>
<td class="paramname"><em>g</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>geomIndex</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ac748fd27047f89b3619de019df1d521d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void geos::operation::overlayng::EdgeNodingBuilder::addCollection </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1GeometryCollection.html">GeometryCollection</a> *&#160;</td>
<td class="paramname"><em>gc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>geomIndex</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a2fe034f2fdc25a6abbba696389eba8d2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void geos::operation::overlayng::EdgeNodingBuilder::addEdge </td>
<td>(</td>
<td class="paramtype">std::unique_ptr&lt; std::vector&lt; <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> &gt;&gt;&#160;</td>
<td class="paramname"><em>pts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeSourceInfo.html">EdgeSourceInfo</a> *&#160;</td>
<td class="paramname"><em>info</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a105238bd3e46a2d1de6cb39628f898ee"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void geos::operation::overlayng::EdgeNodingBuilder::addEdge </td>
<td>(</td>
<td class="paramtype">std::unique_ptr&lt; <a class="el" href="classgeos_1_1geom_1_1CoordinateArraySequence.html">CoordinateArraySequence</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>cas</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeSourceInfo.html">EdgeSourceInfo</a> *&#160;</td>
<td class="paramname"><em>info</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a1a49781af5427a7d0e3253afc8d52724"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void geos::operation::overlayng::EdgeNodingBuilder::addGeometryCollection </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1GeometryCollection.html">GeometryCollection</a> *&#160;</td>
<td class="paramname"><em>gc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>geomIndex</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>expectedDim</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aff3f220ef62f30bceacf61bac1a80fe1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void geos::operation::overlayng::EdgeNodingBuilder::addLine </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1LineString.html">LineString</a> *&#160;</td>
<td class="paramname"><em>line</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>geomIndex</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="af756fd74d4cc3fe1e26e11b3b6bd247e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void geos::operation::overlayng::EdgeNodingBuilder::addLine </td>
<td>(</td>
<td class="paramtype">std::unique_ptr&lt; <a class="el" href="classgeos_1_1geom_1_1CoordinateArraySequence.html">CoordinateArraySequence</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>pts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>geomIndex</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a2beab392b05e6b065654e1e637057f80"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void geos::operation::overlayng::EdgeNodingBuilder::addPolygon </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Polygon.html">Polygon</a> *&#160;</td>
<td class="paramname"><em>poly</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>geomIndex</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a56137b834152f1781aaff251a9fbd634"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void geos::operation::overlayng::EdgeNodingBuilder::addPolygonRing </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1LinearRing.html">LinearRing</a> *&#160;</td>
<td class="paramname"><em>ring</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>isHole</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>geomIndex</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a7e870a8a0fef4644084389cb83fb627c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;<a class="el" href="classgeos_1_1operation_1_1overlayng_1_1Edge.html">Edge</a>*&gt; geos::operation::overlayng::EdgeNodingBuilder::build </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> *&#160;</td>
<td class="paramname"><em>geom0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> *&#160;</td>
<td class="paramname"><em>geom1</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a set of labelled {<a class="el" href="classgeos_1_1operation_1_1overlayng_1_1Edge.html">Edge</a>}s. representing the fully noded edges of the input geometries. Coincident edges (from the same or both geometries) are merged along with their labels into a single unique, fully labelled edge.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">geom0</td><td>the first geometry </td></tr>
<tr><td class="paramname">geom1</td><td>the second geometry </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the noded, merged, labelled edges </dd></dl>
</div>
</div>
<a class="anchor" id="ac0a9a17919bc85054b02c84e4f6903d1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::unique_ptr&lt;<a class="el" href="classgeos_1_1geom_1_1CoordinateArraySequence.html">CoordinateArraySequence</a>&gt; geos::operation::overlayng::EdgeNodingBuilder::clip </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1LinearRing.html">LinearRing</a> *&#160;</td>
<td class="paramname"><em>line</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>If a clipper is present, clip the line to the clip extent. Otherwise, remove duplicate points from the ring.</p>
<p>If clipping is enabled, then every ring MUST be clipped, to ensure that holes are clipped to be inside the shell. This means it is not possible to skip clipping for rings with few vertices.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ring</td><td>the line to clip </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the points in the clipped line </dd></dl>
</div>
</div>
<a class="anchor" id="a34d03715737b056e9dc19c042af033b2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int geos::operation::overlayng::EdgeNodingBuilder::computeDepthDelta </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1LinearRing.html">LinearRing</a> *&#160;</td>
<td class="paramname"><em>ring</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>isHole</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a6dfd3325906dfc64f213e87548cd81f4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;<a class="el" href="classgeos_1_1operation_1_1overlayng_1_1Edge.html">Edge</a>*&gt; geos::operation::overlayng::EdgeNodingBuilder::createEdges </td>
<td>(</td>
<td class="paramtype">std::vector&lt; <a class="el" href="classgeos_1_1noding_1_1SegmentString.html">SegmentString</a> * &gt; *&#160;</td>
<td class="paramname"><em>segStrings</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ae84d34a563d30d8f1c86991acb948262"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeSourceInfo.html">EdgeSourceInfo</a>* geos::operation::overlayng::EdgeNodingBuilder::createEdgeSourceInfo </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>depthDelta</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>isHole</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a7e25267f79a86ddc3bd08f9bf45b67c1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeSourceInfo.html">EdgeSourceInfo</a>* geos::operation::overlayng::EdgeNodingBuilder::createEdgeSourceInfo </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aaf63a72300b8193ced54dab15aa9ffff"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::unique_ptr&lt;<a class="el" href="classgeos_1_1noding_1_1Noder.html">Noder</a>&gt; geos::operation::overlayng::EdgeNodingBuilder::createFixedPrecisionNoder </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1PrecisionModel.html">PrecisionModel</a> *&#160;</td>
<td class="paramname"><em>pm</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a12b69cc837d8ee7017c8f8f70baf17d5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::unique_ptr&lt;<a class="el" href="classgeos_1_1noding_1_1Noder.html">Noder</a>&gt; geos::operation::overlayng::EdgeNodingBuilder::createFloatingPrecisionNoder </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>doValidation</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ab0e7278e9b9c997568cbb69a6cc1e059"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgeos_1_1noding_1_1Noder.html">Noder</a>* geos::operation::overlayng::EdgeNodingBuilder::getNoder </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets a noder appropriate for the precision model supplied. This is one of:</p>
<ul>
<li>Fixed precision: a snap-rounding noder (which should be fully robust)</li>
<li>Floating precision: a conventional nodel (which may be non-robust). In this case, a validation step is applied to the output from the noder. </li>
</ul>
</div>
</div>
<a class="anchor" id="a09fc06eb90e27dfd4bee4d97fb80c509"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool geos::operation::overlayng::EdgeNodingBuilder::hasEdgesFor </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>geomIndex</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Reports whether there are noded edges for the given input geometry. If there are none, this indicates that either the geometry was empty, or has completely collapsed (because it is smaller than the noding precision).</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">geomIndex</td><td>index of input geometry </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if there are edges for the geometry </dd></dl>
</div>
</div>
<a class="anchor" id="a1929739c97e8ff10b551ee0f1e1d2d86"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool geos::operation::overlayng::EdgeNodingBuilder::isClippedCompletely </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Envelope.html">Envelope</a> *&#160;</td>
<td class="paramname"><em>env</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Tests whether a geometry (represented by its envelope) lies completely outside the clip extent(if any). </p>
</div>
</div>
<a class="anchor" id="a827ee80944398cca722b6999a3e22186"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool geos::operation::overlayng::EdgeNodingBuilder::isToBeLimited </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1LineString.html">LineString</a> *&#160;</td>
<td class="paramname"><em>line</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Tests whether it is worth limiting a line. Lines that have few vertices or are covered by the clip extent do not need to be limited. </p>
</div>
</div>
<a class="anchor" id="aef9c59c4010386dde13c2cec40a9d87e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;std::unique_ptr&lt;<a class="el" href="classgeos_1_1geom_1_1CoordinateArraySequence.html">CoordinateArraySequence</a>&gt; &gt;&amp; geos::operation::overlayng::EdgeNodingBuilder::limit </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1LineString.html">LineString</a> *&#160;</td>
<td class="paramname"><em>line</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>If limiter is provided, limit the line to the clip envelope. </p>
</div>
</div>
<a class="anchor" id="a4b001a770b03641598a41991e35e647a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;<a class="el" href="classgeos_1_1operation_1_1overlayng_1_1Edge.html">Edge</a>*&gt; geos::operation::overlayng::EdgeNodingBuilder::node </td>
<td>(</td>
<td class="paramtype">std::vector&lt; <a class="el" href="classgeos_1_1noding_1_1SegmentString.html">SegmentString</a> * &gt; *&#160;</td>
<td class="paramname"><em>segStrings</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Nodes a set of segment strings and creates <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1Edge.html">Edge</a>s from the result. The input segment strings each carry a <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeSourceInfo.html">EdgeSourceInfo</a> object, which is used to provide source topology info to the constructed Edges (and is then discarded). </p>
</div>
</div>
<a class="anchor" id="a1960d023deccc7b41a439124ad5d0937"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::unique_ptr&lt;<a class="el" href="classgeos_1_1geom_1_1CoordinateArraySequence.html">CoordinateArraySequence</a>&gt; geos::operation::overlayng::EdgeNodingBuilder::removeRepeatedPoints </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1LineString.html">LineString</a> *&#160;</td>
<td class="paramname"><em>line</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Removes any repeated points from a linear component. This is required so that noding can be computed correctly.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">line</td><td>the line to process </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the points of the line with repeated points removed </dd></dl>
</div>
</div>
<a class="anchor" id="a72461776b6738ed9e5e9a64d2c593f72"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void geos::operation::overlayng::EdgeNodingBuilder::setClipEnvelope </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Envelope.html">Envelope</a> *&#160;</td>
<td class="paramname"><em>clipEnv</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a4276fe39adfb5a3c80cbbc916fbea6cd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classgeos_1_1geom_1_1Envelope.html">Envelope</a>* geos::operation::overlayng::EdgeNodingBuilder::clipEnv</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="EdgeNodingBuilder_8h_source.html#l00093">93</a> of file <a class="el" href="EdgeNodingBuilder_8h_source.html">EdgeNodingBuilder.h</a>.</p>
</div>
</div>
<a class="anchor" id="a382dba69e34e98f9fd57221de748095b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::unique_ptr&lt;<a class="el" href="classgeos_1_1operation_1_1overlayng_1_1RingClipper.html">RingClipper</a>&gt; geos::operation::overlayng::EdgeNodingBuilder::clipper</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="EdgeNodingBuilder_8h_source.html#l00094">94</a> of file <a class="el" href="EdgeNodingBuilder_8h_source.html">EdgeNodingBuilder.h</a>.</p>
</div>
</div>
<a class="anchor" id="aa8fb5776653efa61a2ab1d127046ea98"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgeos_1_1noding_1_1Noder.html">Noder</a>* geos::operation::overlayng::EdgeNodingBuilder::customNoder</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="EdgeNodingBuilder_8h_source.html#l00091">91</a> of file <a class="el" href="EdgeNodingBuilder_8h_source.html">EdgeNodingBuilder.h</a>.</p>
</div>
</div>
<a class="anchor" id="ae49d14c647c88fb819d64830c5417236"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::deque&lt;<a class="el" href="classgeos_1_1operation_1_1overlayng_1_1Edge.html">Edge</a>&gt; geos::operation::overlayng::EdgeNodingBuilder::edgeQue</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="EdgeNodingBuilder_8h_source.html#l00104">104</a> of file <a class="el" href="EdgeNodingBuilder_8h_source.html">EdgeNodingBuilder.h</a>.</p>
</div>
</div>
<a class="anchor" id="a39703112ae5ed2b7c73558fdfabf59a3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::deque&lt;<a class="el" href="classgeos_1_1operation_1_1overlayng_1_1EdgeSourceInfo.html">EdgeSourceInfo</a>&gt; geos::operation::overlayng::EdgeNodingBuilder::edgeSourceInfoQue</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="EdgeNodingBuilder_8h_source.html#l00103">103</a> of file <a class="el" href="EdgeNodingBuilder_8h_source.html">EdgeNodingBuilder.h</a>.</p>
</div>
</div>
<a class="anchor" id="a2444040404aec4ee4a610b3fa34d337d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::array&lt;bool, 2&gt; geos::operation::overlayng::EdgeNodingBuilder::hasEdges</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="EdgeNodingBuilder_8h_source.html#l00092">92</a> of file <a class="el" href="EdgeNodingBuilder_8h_source.html">EdgeNodingBuilder.h</a>.</p>
</div>
</div>
<a class="anchor" id="af817804e6972ca38aa6bb3b6c5e880bb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::unique_ptr&lt;std::vector&lt;<a class="el" href="classgeos_1_1noding_1_1SegmentString.html">SegmentString</a>*&gt; &gt; geos::operation::overlayng::EdgeNodingBuilder::inputEdges</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="EdgeNodingBuilder_8h_source.html#l00090">90</a> of file <a class="el" href="EdgeNodingBuilder_8h_source.html">EdgeNodingBuilder.h</a>.</p>
</div>
</div>
<a class="anchor" id="afd0e3df7ba063c2126950688bfa7d40c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgeos_1_1noding_1_1IntersectionAdder.html">IntersectionAdder</a> geos::operation::overlayng::EdgeNodingBuilder::intAdder</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="EdgeNodingBuilder_8h_source.html#l00099">99</a> of file <a class="el" href="EdgeNodingBuilder_8h_source.html">EdgeNodingBuilder.h</a>.</p>
</div>
</div>
<a class="anchor" id="aee5f9dd22aa255e9e339b745c07ba49d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::unique_ptr&lt;<a class="el" href="classgeos_1_1noding_1_1Noder.html">Noder</a>&gt; geos::operation::overlayng::EdgeNodingBuilder::internalNoder</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="EdgeNodingBuilder_8h_source.html#l00100">100</a> of file <a class="el" href="EdgeNodingBuilder_8h_source.html">EdgeNodingBuilder.h</a>.</p>
</div>
</div>
<a class="anchor" id="a54f27a691d83a1d0b7583afdae9c7ff8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr bool geos::operation::overlayng::EdgeNodingBuilder::IS_NODING_VALIDATED = true</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="EdgeNodingBuilder_8h_source.html#l00086">86</a> of file <a class="el" href="EdgeNodingBuilder_8h_source.html">EdgeNodingBuilder.h</a>.</p>
</div>
</div>
<a class="anchor" id="a2365f26c412745be3dddfeed8f17a15c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::unique_ptr&lt;<a class="el" href="classgeos_1_1operation_1_1overlayng_1_1LineLimiter.html">LineLimiter</a>&gt; geos::operation::overlayng::EdgeNodingBuilder::limiter</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="EdgeNodingBuilder_8h_source.html#l00095">95</a> of file <a class="el" href="EdgeNodingBuilder_8h_source.html">EdgeNodingBuilder.h</a>.</p>
</div>
</div>
<a class="anchor" id="ad18dab3a089223da60d570d47f1d5739"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgeos_1_1algorithm_1_1LineIntersector.html">LineIntersector</a> geos::operation::overlayng::EdgeNodingBuilder::lineInt</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="EdgeNodingBuilder_8h_source.html#l00098">98</a> of file <a class="el" href="EdgeNodingBuilder_8h_source.html">EdgeNodingBuilder.h</a>.</p>
</div>
</div>
<a class="anchor" id="abf25ed06ae78ae312be6ad785c3bd46c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr int geos::operation::overlayng::EdgeNodingBuilder::MIN_LIMIT_PTS = 20</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="EdgeNodingBuilder_8h_source.html#l00085">85</a> of file <a class="el" href="EdgeNodingBuilder_8h_source.html">EdgeNodingBuilder.h</a>.</p>
</div>
</div>
<a class="anchor" id="a5f347858da7441072630681027fb0879"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classgeos_1_1geom_1_1PrecisionModel.html">PrecisionModel</a>* geos::operation::overlayng::EdgeNodingBuilder::pm</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="EdgeNodingBuilder_8h_source.html#l00089">89</a> of file <a class="el" href="EdgeNodingBuilder_8h_source.html">EdgeNodingBuilder.h</a>.</p>
</div>
</div>
<a class="anchor" id="af791adf63471603ecaf0af7431129496"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::unique_ptr&lt;<a class="el" href="classgeos_1_1noding_1_1Noder.html">Noder</a>&gt; geos::operation::overlayng::EdgeNodingBuilder::spareInternalNoder</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="EdgeNodingBuilder_8h_source.html#l00101">101</a> of file <a class="el" href="EdgeNodingBuilder_8h_source.html">EdgeNodingBuilder.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="EdgeNodingBuilder_8h_source.html">EdgeNodingBuilder.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>