geos_390_docs/classgeos_1_1operation_1_1o...

1608 lines
92 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::overlay::OverlayOp 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_1overlay.html">overlay</a></li><li class="navelem"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html">OverlayOp</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-static-methods">Static Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classgeos_1_1operation_1_1overlay_1_1OverlayOp-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">geos::operation::overlay::OverlayOp Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Computes the geometric overlay of two Geometry.
<a href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="OverlayOp_8h_source.html">OverlayOp.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for geos::operation::overlay::OverlayOp:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classgeos_1_1operation_1_1overlay_1_1OverlayOp__inherit__graph.svg" width="203" height="147"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for geos::operation::overlay::OverlayOp:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="classgeos_1_1operation_1_1overlay_1_1OverlayOp__coll__graph.svg" width="100%" height="600"><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-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a1f2552b975ce852f0b192dc00997b131"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a1f2552b975ce852f0b192dc00997b131">OpCode</a> { <a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a1f2552b975ce852f0b192dc00997b131a8fa6810898ed996b483dd401ef1be6d6">opINTERSECTION</a> = 1,
<a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a1f2552b975ce852f0b192dc00997b131a0d2c09b2c3433c4944aaa1ee2b3777a6">opUNION</a> = 2,
<a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a1f2552b975ce852f0b192dc00997b131aa4cb2fc2dbc9ddc1a73eea913a681c2f">opDIFFERENCE</a> = 3,
<a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a1f2552b975ce852f0b192dc00997b131a05af5ddccedfdb8135c4b6967229254d">opSYMDIFFERENCE</a> = 4
}<tr class="memdesc:a1f2552b975ce852f0b192dc00997b131"><td class="mdescLeft">&#160;</td><td class="mdescRight">The spatial functions supported by this class. <a href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a1f2552b975ce852f0b192dc00997b131">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:a1f2552b975ce852f0b192dc00997b131"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><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:ab19292df7154b4911d8d038e94fc0f48"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#ab19292df7154b4911d8d038e94fc0f48">OverlayOp</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *g0, const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *g1)</td></tr>
<tr class="memdesc:ab19292df7154b4911d8d038e94fc0f48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct an <a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html" title="Computes the geometric overlay of two Geometry. ">OverlayOp</a> with the given Geometry args. <a href="#ab19292df7154b4911d8d038e94fc0f48">More...</a><br /></td></tr>
<tr class="separator:ab19292df7154b4911d8d038e94fc0f48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09c52c787307d2b95e07347ae4932ca4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a09c52c787307d2b95e07347ae4932ca4">~OverlayOp</a> () override</td></tr>
<tr class="separator:a09c52c787307d2b95e07347ae4932ca4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a445fdb63275d33345f1b6f9df0ac3d0f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a445fdb63275d33345f1b6f9df0ac3d0f">getResultGeometry</a> (<a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a1f2552b975ce852f0b192dc00997b131">OpCode</a> overlayOpCode)</td></tr>
<tr class="memdesc:a445fdb63275d33345f1b6f9df0ac3d0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the result of the overlay for a given overlay operation. <a href="#a445fdb63275d33345f1b6f9df0ac3d0f">More...</a><br /></td></tr>
<tr class="separator:a445fdb63275d33345f1b6f9df0ac3d0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c41701647a731cfa62f7756f8d25149"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1geomgraph_1_1PlanarGraph.html">geomgraph::PlanarGraph</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a1c41701647a731cfa62f7756f8d25149">getGraph</a> ()</td></tr>
<tr class="memdesc:a1c41701647a731cfa62f7756f8d25149"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the graph constructed to compute the overlay. <a href="#a1c41701647a731cfa62f7756f8d25149">More...</a><br /></td></tr>
<tr class="separator:a1c41701647a731cfa62f7756f8d25149"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d53b489dc03a00c87bffd41087588ab"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a3d53b489dc03a00c87bffd41087588ab">isCoveredByLA</a> (const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a> &amp;coord)</td></tr>
<tr class="memdesc:a3d53b489dc03a00c87bffd41087588ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method is used to decide if a point node should be included in the result or not. <a href="#a3d53b489dc03a00c87bffd41087588ab">More...</a><br /></td></tr>
<tr class="separator:a3d53b489dc03a00c87bffd41087588ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac59631b12284b667a37e3908bf8a71ab"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#ac59631b12284b667a37e3908bf8a71ab">isCoveredByA</a> (const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a> &amp;coord)</td></tr>
<tr class="memdesc:ac59631b12284b667a37e3908bf8a71ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method is used to decide if an L edge should be included in the result or not. <a href="#ac59631b12284b667a37e3908bf8a71ab">More...</a><br /></td></tr>
<tr class="separator:ac59631b12284b667a37e3908bf8a71ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgeos_1_1operation_1_1GeometryGraphOperation"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgeos_1_1operation_1_1GeometryGraphOperation')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgeos_1_1operation_1_1GeometryGraphOperation.html">geos::operation::GeometryGraphOperation</a></td></tr>
<tr class="memitem:ac88f6b48fa355038e87cecdad6f974f3 inherit pub_methods_classgeos_1_1operation_1_1GeometryGraphOperation"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1GeometryGraphOperation.html#ac88f6b48fa355038e87cecdad6f974f3">GeometryGraphOperation</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *g0, const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *g1)</td></tr>
<tr class="separator:ac88f6b48fa355038e87cecdad6f974f3 inherit pub_methods_classgeos_1_1operation_1_1GeometryGraphOperation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae416b292e205c516233c47199c5d3225 inherit pub_methods_classgeos_1_1operation_1_1GeometryGraphOperation"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1GeometryGraphOperation.html#ae416b292e205c516233c47199c5d3225">GeometryGraphOperation</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *g0, const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *g1, const <a class="el" href="classgeos_1_1algorithm_1_1BoundaryNodeRule.html">algorithm::BoundaryNodeRule</a> &amp;boundaryNodeRule)</td></tr>
<tr class="separator:ae416b292e205c516233c47199c5d3225 inherit pub_methods_classgeos_1_1operation_1_1GeometryGraphOperation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1608e038cfdf477d7f5e0f8c27cf2e5 inherit pub_methods_classgeos_1_1operation_1_1GeometryGraphOperation"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1GeometryGraphOperation.html#ad1608e038cfdf477d7f5e0f8c27cf2e5">GeometryGraphOperation</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *g0)</td></tr>
<tr class="separator:ad1608e038cfdf477d7f5e0f8c27cf2e5 inherit pub_methods_classgeos_1_1operation_1_1GeometryGraphOperation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5fd7ea691209e5058cd959aa7408dfdf inherit pub_methods_classgeos_1_1operation_1_1GeometryGraphOperation"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1GeometryGraphOperation.html#a5fd7ea691209e5058cd959aa7408dfdf">~GeometryGraphOperation</a> ()</td></tr>
<tr class="separator:a5fd7ea691209e5058cd959aa7408dfdf inherit pub_methods_classgeos_1_1operation_1_1GeometryGraphOperation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11d31d0d4407fa69ad73772f514752fa inherit pub_methods_classgeos_1_1operation_1_1GeometryGraphOperation"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1GeometryGraphOperation.html#a11d31d0d4407fa69ad73772f514752fa">getArgGeometry</a> (unsigned int i) const </td></tr>
<tr class="separator:a11d31d0d4407fa69ad73772f514752fa inherit pub_methods_classgeos_1_1operation_1_1GeometryGraphOperation"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a7edc8d4f6460dad9d12359c15f3f8325"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a7edc8d4f6460dad9d12359c15f3f8325">overlayOp</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *geom0, const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *geom1, <a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a1f2552b975ce852f0b192dc00997b131">OpCode</a> opCode)</td></tr>
<tr class="memdesc:a7edc8d4f6460dad9d12359c15f3f8325"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes an overlay operation for the given geometry arguments. <a href="#a7edc8d4f6460dad9d12359c15f3f8325">More...</a><br /></td></tr>
<tr class="separator:a7edc8d4f6460dad9d12359c15f3f8325"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8130cc0bc66518f05f12e648eac9dc3"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#ae8130cc0bc66518f05f12e648eac9dc3">isResultOfOp</a> (const <a class="el" href="classgeos_1_1geomgraph_1_1Label.html">geomgraph::Label</a> &amp;label, <a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a1f2552b975ce852f0b192dc00997b131">OpCode</a> opCode)</td></tr>
<tr class="memdesc:ae8130cc0bc66518f05f12e648eac9dc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests whether a point with a given topological <a class="el" href="classgeos_1_1geomgraph_1_1Label.html">Label</a> relative to two geometries is contained in the result of overlaying the geometries using a given overlay operation. <a href="#ae8130cc0bc66518f05f12e648eac9dc3">More...</a><br /></td></tr>
<tr class="separator:ae8130cc0bc66518f05f12e648eac9dc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72a20d7f6f609484579aebba9ecaa79d"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a72a20d7f6f609484579aebba9ecaa79d">isResultOfOp</a> (<a class="el" href="namespacegeos_1_1geom.html#ae55a225cd843a6b153a7b6ca5a4707c8">geom::Location</a> loc0, <a class="el" href="namespacegeos_1_1geom.html#ae55a225cd843a6b153a7b6ca5a4707c8">geom::Location</a> loc1, <a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a1f2552b975ce852f0b192dc00997b131">OpCode</a> opCode)</td></tr>
<tr class="memdesc:a72a20d7f6f609484579aebba9ecaa79d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method will handle arguments of Location.NULL correctly. <a href="#a72a20d7f6f609484579aebba9ecaa79d">More...</a><br /></td></tr>
<tr class="separator:a72a20d7f6f609484579aebba9ecaa79d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9445363dc959957358619e104c7445ac"><td class="memItemLeft" align="right" valign="top">static std::unique_ptr&lt; <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a9445363dc959957358619e104c7445ac">createEmptyResult</a> (<a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a1f2552b975ce852f0b192dc00997b131">OverlayOp::OpCode</a> overlayOpCode, const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *a, const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *b, const <a class="el" href="classgeos_1_1geom_1_1GeometryFactory.html">geom::GeometryFactory</a> *<a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a23e18719ed97749ea1f7f79d88d95610">geomFact</a>)</td></tr>
<tr class="separator:a9445363dc959957358619e104c7445ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a0bcb065cdd0fc5bf7f4f951fb4ddee7d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a0bcb065cdd0fc5bf7f4f951fb4ddee7d">insertUniqueEdge</a> (<a class="el" href="classgeos_1_1geomgraph_1_1Edge.html">geomgraph::Edge</a> *e)</td></tr>
<tr class="memdesc:a0bcb065cdd0fc5bf7f4f951fb4ddee7d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Insert an edge from one of the noded input graphs. <a href="#a0bcb065cdd0fc5bf7f4f951fb4ddee7d">More...</a><br /></td></tr>
<tr class="separator:a0bcb065cdd0fc5bf7f4f951fb4ddee7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classgeos_1_1operation_1_1GeometryGraphOperation"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classgeos_1_1operation_1_1GeometryGraphOperation')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classgeos_1_1operation_1_1GeometryGraphOperation.html">geos::operation::GeometryGraphOperation</a></td></tr>
<tr class="memitem:add9836b6a1dfb709ea7f336e088060bd inherit pro_methods_classgeos_1_1operation_1_1GeometryGraphOperation"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1GeometryGraphOperation.html#add9836b6a1dfb709ea7f336e088060bd">setComputationPrecision</a> (const <a class="el" href="classgeos_1_1geom_1_1PrecisionModel.html">geom::PrecisionModel</a> *pm)</td></tr>
<tr class="separator:add9836b6a1dfb709ea7f336e088060bd inherit pro_methods_classgeos_1_1operation_1_1GeometryGraphOperation"><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:abba8876de714bb99734cb5ba82118e53"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#abba8876de714bb99734cb5ba82118e53">computeOverlay</a> (<a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a1f2552b975ce852f0b192dc00997b131">OpCode</a> opCode)</td></tr>
<tr class="separator:abba8876de714bb99734cb5ba82118e53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a604e11bd2c756698fbd263ab0fbc9daf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a604e11bd2c756698fbd263ab0fbc9daf">insertUniqueEdges</a> (std::vector&lt; <a class="el" href="classgeos_1_1geomgraph_1_1Edge.html">geomgraph::Edge</a> * &gt; *edges, const <a class="el" href="classgeos_1_1geom_1_1Envelope.html">geom::Envelope</a> *env=nullptr)</td></tr>
<tr class="separator:a604e11bd2c756698fbd263ab0fbc9daf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a644d1ffb1517c2d35f7d70483e352dbd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a644d1ffb1517c2d35f7d70483e352dbd">computeLabelsFromDepths</a> ()</td></tr>
<tr class="memdesc:a644d1ffb1517c2d35f7d70483e352dbd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update the labels for edges according to their depths. <a href="#a644d1ffb1517c2d35f7d70483e352dbd">More...</a><br /></td></tr>
<tr class="separator:a644d1ffb1517c2d35f7d70483e352dbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac21e1a1b55f8e463e8e8750910922baa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#ac21e1a1b55f8e463e8e8750910922baa">replaceCollapsedEdges</a> ()</td></tr>
<tr class="memdesc:ac21e1a1b55f8e463e8e8750910922baa"><td class="mdescLeft">&#160;</td><td class="mdescRight">If edges which have undergone dimensional collapse are found, replace them with a new edge which is a L edge. <a href="#ac21e1a1b55f8e463e8e8750910922baa">More...</a><br /></td></tr>
<tr class="separator:ac21e1a1b55f8e463e8e8750910922baa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4694c2475c057a60b6230513478a198"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#ab4694c2475c057a60b6230513478a198">copyPoints</a> (int argIndex, const <a class="el" href="classgeos_1_1geom_1_1Envelope.html">geom::Envelope</a> *env=nullptr)</td></tr>
<tr class="memdesc:ab4694c2475c057a60b6230513478a198"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy all nodes from an arg geometry into this graph. <a href="#ab4694c2475c057a60b6230513478a198">More...</a><br /></td></tr>
<tr class="separator:ab4694c2475c057a60b6230513478a198"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57c6a29e0b3840014823f2d196f0e62c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a57c6a29e0b3840014823f2d196f0e62c">computeLabelling</a> ()</td></tr>
<tr class="memdesc:a57c6a29e0b3840014823f2d196f0e62c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute initial labelling for all DirectedEdges at each node. <a href="#a57c6a29e0b3840014823f2d196f0e62c">More...</a><br /></td></tr>
<tr class="separator:a57c6a29e0b3840014823f2d196f0e62c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a204bb5a299b28129efb8458143b84992"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a204bb5a299b28129efb8458143b84992">mergeSymLabels</a> ()</td></tr>
<tr class="separator:a204bb5a299b28129efb8458143b84992"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1f6623524926f1131cdb82cbdd3dbf8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#ac1f6623524926f1131cdb82cbdd3dbf8">updateNodeLabelling</a> ()</td></tr>
<tr class="separator:ac1f6623524926f1131cdb82cbdd3dbf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a496a54fe0c54b02dcb17198811a69794"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a496a54fe0c54b02dcb17198811a69794">labelIncompleteNodes</a> ()</td></tr>
<tr class="separator:a496a54fe0c54b02dcb17198811a69794"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84c35745ed623a43eb334cf771f9c8e7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a84c35745ed623a43eb334cf771f9c8e7">labelIncompleteNode</a> (<a class="el" href="classgeos_1_1geomgraph_1_1Node.html">geomgraph::Node</a> *n, int targetIndex)</td></tr>
<tr class="memdesc:a84c35745ed623a43eb334cf771f9c8e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Label an isolated node with its relationship to the target geometry. <a href="#a84c35745ed623a43eb334cf771f9c8e7">More...</a><br /></td></tr>
<tr class="separator:a84c35745ed623a43eb334cf771f9c8e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a526b5c11fb19416922545d284dc0580c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a526b5c11fb19416922545d284dc0580c">findResultAreaEdges</a> (<a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a1f2552b975ce852f0b192dc00997b131">OpCode</a> opCode)</td></tr>
<tr class="memdesc:a526b5c11fb19416922545d284dc0580c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Find all edges whose label indicates that they are in the result area(s), according to the operation being performed. <a href="#a526b5c11fb19416922545d284dc0580c">More...</a><br /></td></tr>
<tr class="separator:a526b5c11fb19416922545d284dc0580c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94f86d696922349d195c68a6ecda633b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a94f86d696922349d195c68a6ecda633b">cancelDuplicateResultEdges</a> ()</td></tr>
<tr class="separator:a94f86d696922349d195c68a6ecda633b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa442944ff624e33a0b79c8d263750dc1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#aa442944ff624e33a0b79c8d263750dc1">isCovered</a> (const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a> &amp;coord, std::vector&lt; <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> * &gt; *geomList)</td></tr>
<tr class="separator:aa442944ff624e33a0b79c8d263750dc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a79864a40f087d365d44640f594cb1cae"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a79864a40f087d365d44640f594cb1cae">isCovered</a> (const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a> &amp;coord, std::vector&lt; <a class="el" href="classgeos_1_1geom_1_1Polygon.html">geom::Polygon</a> * &gt; *geomList)</td></tr>
<tr class="separator:a79864a40f087d365d44640f594cb1cae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4c5d638d98643e84f953c196f92c1c4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#ae4c5d638d98643e84f953c196f92c1c4">isCovered</a> (const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a> &amp;coord, std::vector&lt; <a class="el" href="classgeos_1_1geom_1_1LineString.html">geom::LineString</a> * &gt; *geomList)</td></tr>
<tr class="separator:ae4c5d638d98643e84f953c196f92c1c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e09b316bb195bfc9a0311e0df6242ea"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a2e09b316bb195bfc9a0311e0df6242ea">computeGeometry</a> (std::vector&lt; <a class="el" href="classgeos_1_1geom_1_1Point.html">geom::Point</a> * &gt; *nResultPointList, std::vector&lt; <a class="el" href="classgeos_1_1geom_1_1LineString.html">geom::LineString</a> * &gt; *nResultLineList, std::vector&lt; <a class="el" href="classgeos_1_1geom_1_1Polygon.html">geom::Polygon</a> * &gt; *nResultPolyList, <a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a1f2552b975ce852f0b192dc00997b131">OverlayOp::OpCode</a> opCode)</td></tr>
<tr class="separator:a2e09b316bb195bfc9a0311e0df6242ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6c98e0e0292ecb49901e4e18267f243"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#ac6c98e0e0292ecb49901e4e18267f243">mergeZ</a> (<a class="el" href="classgeos_1_1geomgraph_1_1Node.html">geomgraph::Node</a> *n, const <a class="el" href="classgeos_1_1geom_1_1Polygon.html">geom::Polygon</a> *poly) const </td></tr>
<tr class="memdesc:ac6c98e0e0292ecb49901e4e18267f243"><td class="mdescLeft">&#160;</td><td class="mdescRight">Merge Z values of node with those of the segment or vertex in the given Polygon it is on. <a href="#ac6c98e0e0292ecb49901e4e18267f243">More...</a><br /></td></tr>
<tr class="separator:ac6c98e0e0292ecb49901e4e18267f243"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf80f468cc3b0786f9e144eb909b6e0f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#acf80f468cc3b0786f9e144eb909b6e0f">mergeZ</a> (<a class="el" href="classgeos_1_1geomgraph_1_1Node.html">geomgraph::Node</a> *n, const <a class="el" href="classgeos_1_1geom_1_1LineString.html">geom::LineString</a> *line) const </td></tr>
<tr class="separator:acf80f468cc3b0786f9e144eb909b6e0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab62f72ba969cf20135f42a24cb36aa77"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#ab62f72ba969cf20135f42a24cb36aa77">getAverageZ</a> (int targetIndex)</td></tr>
<tr class="separator:ab62f72ba969cf20135f42a24cb36aa77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3d39dab5a205771ca72e41a267f317f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#ac3d39dab5a205771ca72e41a267f317f">checkObviouslyWrongResult</a> (<a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a1f2552b975ce852f0b192dc00997b131">OpCode</a> opCode)</td></tr>
<tr class="separator:ac3d39dab5a205771ca72e41a267f317f"><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-methods"></a>
Static Private Member Functions</h2></td></tr>
<tr class="memitem:adba9273d58a22ae6c32180c18c00148c"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classgeos_1_1geom_1_1Dimension.html#af46f1c0c325eb685fcf32987748d04cf">geom::Dimension::DimensionType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#adba9273d58a22ae6c32180c18c00148c">resultDimension</a> (<a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a1f2552b975ce852f0b192dc00997b131">OverlayOp::OpCode</a> overlayOpCode, const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *g0, const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *g1)</td></tr>
<tr class="separator:adba9273d58a22ae6c32180c18c00148c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5fa40811b2b59fe39cf60278c34845ae"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a5fa40811b2b59fe39cf60278c34845ae">getAverageZ</a> (const <a class="el" href="classgeos_1_1geom_1_1Polygon.html">geom::Polygon</a> *poly)</td></tr>
<tr class="separator:a5fa40811b2b59fe39cf60278c34845ae"><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:a9dfca83dd72a364fa2e110826602a2b6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1algorithm_1_1PointLocator.html">algorithm::PointLocator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a9dfca83dd72a364fa2e110826602a2b6">ptLocator</a></td></tr>
<tr class="separator:a9dfca83dd72a364fa2e110826602a2b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23e18719ed97749ea1f7f79d88d95610"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classgeos_1_1geom_1_1GeometryFactory.html">geom::GeometryFactory</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a23e18719ed97749ea1f7f79d88d95610">geomFact</a></td></tr>
<tr class="separator:a23e18719ed97749ea1f7f79d88d95610"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4fc30a1b175611a88e8e3720a1657bc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#af4fc30a1b175611a88e8e3720a1657bc">resultGeom</a></td></tr>
<tr class="separator:af4fc30a1b175611a88e8e3720a1657bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4348c87dbe463426fce28de9c0a2f9a9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1geomgraph_1_1PlanarGraph.html">geomgraph::PlanarGraph</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a4348c87dbe463426fce28de9c0a2f9a9">graph</a></td></tr>
<tr class="separator:a4348c87dbe463426fce28de9c0a2f9a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a657579ba1670103ea51460a335650b83"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1geomgraph_1_1EdgeList.html">geomgraph::EdgeList</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a657579ba1670103ea51460a335650b83">edgeList</a></td></tr>
<tr class="separator:a657579ba1670103ea51460a335650b83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa817d0c6d588c6cdf2a0e63e8b0436a7"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classgeos_1_1geom_1_1Polygon.html">geom::Polygon</a> * &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#aa817d0c6d588c6cdf2a0e63e8b0436a7">resultPolyList</a></td></tr>
<tr class="separator:aa817d0c6d588c6cdf2a0e63e8b0436a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab62527217ba5f4e988704a23d5e375aa"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classgeos_1_1geom_1_1LineString.html">geom::LineString</a> * &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#ab62527217ba5f4e988704a23d5e375aa">resultLineList</a></td></tr>
<tr class="separator:ab62527217ba5f4e988704a23d5e375aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acffc600fb95eb6c5ed32dec01a02d983"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classgeos_1_1geom_1_1Point.html">geom::Point</a> * &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#acffc600fb95eb6c5ed32dec01a02d983">resultPointList</a></td></tr>
<tr class="separator:acffc600fb95eb6c5ed32dec01a02d983"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aefa4bd5d19d928e1e150ada6b417b0ed"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classgeos_1_1geomgraph_1_1Edge.html">geomgraph::Edge</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#aefa4bd5d19d928e1e150ada6b417b0ed">dupEdges</a></td></tr>
<tr class="memdesc:aefa4bd5d19d928e1e150ada6b417b0ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Caches for memory management. <a href="#aefa4bd5d19d928e1e150ada6b417b0ed">More...</a><br /></td></tr>
<tr class="separator:aefa4bd5d19d928e1e150ada6b417b0ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4bf97c2cd3d8205d9225eabfd617ed8"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#ae4bf97c2cd3d8205d9225eabfd617ed8">avgz</a> [2]</td></tr>
<tr class="separator:ae4bf97c2cd3d8205d9225eabfd617ed8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab8b5ebd7939d086acca08dbc743cb00b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#ab8b5ebd7939d086acca08dbc743cb00b">avgzcomputed</a> [2]</td></tr>
<tr class="separator:ab8b5ebd7939d086acca08dbc743cb00b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1838619b39387fd6039acaf0ed9065d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1ElevationMatrix.html">ElevationMatrix</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a1838619b39387fd6039acaf0ed9065d2">elevationMatrix</a></td></tr>
<tr class="separator:a1838619b39387fd6039acaf0ed9065d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pro_attribs_classgeos_1_1operation_1_1GeometryGraphOperation"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classgeos_1_1operation_1_1GeometryGraphOperation')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classgeos_1_1operation_1_1GeometryGraphOperation.html">geos::operation::GeometryGraphOperation</a></td></tr>
<tr class="memitem:acbdf1fc5c5940e7cf4ed1ca313945a30 inherit pro_attribs_classgeos_1_1operation_1_1GeometryGraphOperation"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1algorithm_1_1LineIntersector.html">algorithm::LineIntersector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1GeometryGraphOperation.html#acbdf1fc5c5940e7cf4ed1ca313945a30">li</a></td></tr>
<tr class="separator:acbdf1fc5c5940e7cf4ed1ca313945a30 inherit pro_attribs_classgeos_1_1operation_1_1GeometryGraphOperation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8842eaf2e325c3e832ba4e5eecaa5dc inherit pro_attribs_classgeos_1_1operation_1_1GeometryGraphOperation"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classgeos_1_1geom_1_1PrecisionModel.html">geom::PrecisionModel</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1GeometryGraphOperation.html#aa8842eaf2e325c3e832ba4e5eecaa5dc">resultPrecisionModel</a></td></tr>
<tr class="separator:aa8842eaf2e325c3e832ba4e5eecaa5dc inherit pro_attribs_classgeos_1_1operation_1_1GeometryGraphOperation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a450e04e7137324f6bd6e448e6fe83f4a inherit pro_attribs_classgeos_1_1operation_1_1GeometryGraphOperation"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classgeos_1_1geomgraph_1_1GeometryGraph.html">geomgraph::GeometryGraph</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1GeometryGraphOperation.html#a450e04e7137324f6bd6e448e6fe83f4a">arg</a></td></tr>
<tr class="memdesc:a450e04e7137324f6bd6e448e6fe83f4a inherit pro_attribs_classgeos_1_1operation_1_1GeometryGraphOperation"><td class="mdescLeft">&#160;</td><td class="mdescRight">The operation args into an array so they can be accessed by index. <a href="#a450e04e7137324f6bd6e448e6fe83f4a">More...</a><br /></td></tr>
<tr class="separator:a450e04e7137324f6bd6e448e6fe83f4a inherit pro_attribs_classgeos_1_1operation_1_1GeometryGraphOperation"><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>Computes the geometric overlay of two Geometry. </p>
<p>The overlay can be used to determine any boolean combination of the geometries. </p>
<p>Definition at line <a class="el" href="OverlayOp_8h_source.html#l00070">70</a> of file <a class="el" href="OverlayOp_8h_source.html">OverlayOp.h</a>.</p>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a class="anchor" id="a1f2552b975ce852f0b192dc00997b131"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a1f2552b975ce852f0b192dc00997b131">geos::operation::overlay::OverlayOp::OpCode</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>The spatial functions supported by this class. </p>
<p>These operations implement various boolean combinations of the resultants of the overlay. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a1f2552b975ce852f0b192dc00997b131a8fa6810898ed996b483dd401ef1be6d6"></a>opINTERSECTION&#160;</td><td class="fielddoc">
<p>The code for the Intersection overlay operation. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a1f2552b975ce852f0b192dc00997b131a0d2c09b2c3433c4944aaa1ee2b3777a6"></a>opUNION&#160;</td><td class="fielddoc">
<p>The code for the Union overlay operation. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a1f2552b975ce852f0b192dc00997b131aa4cb2fc2dbc9ddc1a73eea913a681c2f"></a>opDIFFERENCE&#160;</td><td class="fielddoc">
<p>The code for the Difference overlay operation. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a1f2552b975ce852f0b192dc00997b131a05af5ddccedfdb8135c4b6967229254d"></a>opSYMDIFFERENCE&#160;</td><td class="fielddoc">
<p>The code for the Symmetric Difference overlay operation. </p>
</td></tr>
</table>
<p>Definition at line <a class="el" href="OverlayOp_8h_source.html#l00079">79</a> of file <a class="el" href="OverlayOp_8h_source.html">OverlayOp.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ab19292df7154b4911d8d038e94fc0f48"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">geos::operation::overlay::OverlayOp::OverlayOp </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *&#160;</td>
<td class="paramname"><em>g0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *&#160;</td>
<td class="paramname"><em>g1</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Construct an <a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html" title="Computes the geometric overlay of two Geometry. ">OverlayOp</a> with the given Geometry args. </p>
<p>Ownership of passed args will remain to caller, and the <a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html" title="Computes the geometric overlay of two Geometry. ">OverlayOp</a> won't change them in any way. </p>
</div>
</div>
<a class="anchor" id="a09c52c787307d2b95e07347ae4932ca4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">geos::operation::overlay::OverlayOp::~OverlayOp </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a94f86d696922349d195c68a6ecda633b"></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::overlay::OverlayOp::cancelDuplicateResultEdges </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>If both a dirEdge and its sym are marked as being in the result, cancel them out. </p>
</div>
</div>
<a class="anchor" id="ac3d39dab5a205771ca72e41a267f317f"></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::overlay::OverlayOp::checkObviouslyWrongResult </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a1f2552b975ce852f0b192dc00997b131">OpCode</a>&#160;</td>
<td class="paramname"><em>opCode</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>Throw TopologyException if an obviously wrong result has been computed. </p>
</div>
</div>
<a class="anchor" id="a2e09b316bb195bfc9a0311e0df6242ea"></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_1geom_1_1Geometry.html">geom::Geometry</a>* geos::operation::overlay::OverlayOp::computeGeometry </td>
<td>(</td>
<td class="paramtype">std::vector&lt; <a class="el" href="classgeos_1_1geom_1_1Point.html">geom::Point</a> * &gt; *&#160;</td>
<td class="paramname"><em>nResultPointList</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="classgeos_1_1geom_1_1LineString.html">geom::LineString</a> * &gt; *&#160;</td>
<td class="paramname"><em>nResultLineList</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="classgeos_1_1geom_1_1Polygon.html">geom::Polygon</a> * &gt; *&#160;</td>
<td class="paramname"><em>nResultPolyList</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a1f2552b975ce852f0b192dc00997b131">OverlayOp::OpCode</a>&#160;</td>
<td class="paramname"><em>opCode</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">
<p>Build a Geometry containing all Geometries in the given vectors. Takes element's ownership, vector control is left to caller. </p>
</div>
</div>
<a class="anchor" id="a57c6a29e0b3840014823f2d196f0e62c"></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::overlay::OverlayOp::computeLabelling </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>Compute initial labelling for all DirectedEdges at each node. </p>
<p>In this step, DirectedEdges will acquire a complete labelling (i.e. one with labels for both Geometries) only if they are incident on a node which has edges for both Geometries </p>
</div>
</div>
<a class="anchor" id="a644d1ffb1517c2d35f7d70483e352dbd"></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::overlay::OverlayOp::computeLabelsFromDepths </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>Update the labels for edges according to their depths. </p>
<p>For each edge, the depths are first normalized. Then, if the depths for the edge are equal, this edge must have collapsed into a line edge. If the depths are not equal, update the label with the locations corresponding to the depths (i.e. a depth of 0 corresponds to a Location of EXTERIOR, a depth of 1 corresponds to INTERIOR) </p>
</div>
</div>
<a class="anchor" id="abba8876de714bb99734cb5ba82118e53"></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::overlay::OverlayOp::computeOverlay </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a1f2552b975ce852f0b192dc00997b131">OpCode</a>&#160;</td>
<td class="paramname"><em>opCode</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="ab4694c2475c057a60b6230513478a198"></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::overlay::OverlayOp::copyPoints </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>argIndex</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Envelope.html">geom::Envelope</a> *&#160;</td>
<td class="paramname"><em>env</em> = <code>nullptr</code>&#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">
<p>Copy all nodes from an arg geometry into this graph. </p>
<p>The node label in the arg geometry overrides any previously computed label for that argIndex. (E.g. a node may be an intersection node with a previously computed label of BOUNDARY, but in the original arg Geometry it is actually in the interior due to the Boundary Determination Rule) </p>
</div>
</div>
<a class="anchor" id="a9445363dc959957358619e104c7445ac"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static std::unique_ptr&lt;<a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a>&gt; geos::operation::overlay::OverlayOp::createEmptyResult </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a1f2552b975ce852f0b192dc00997b131">OverlayOp::OpCode</a>&#160;</td>
<td class="paramname"><em>overlayOpCode</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *&#160;</td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1GeometryFactory.html">geom::GeometryFactory</a> *&#160;</td>
<td class="paramname"><em>geomFact</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">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates an empty result geometry of the appropriate dimension, based on the given overlay operation and the dimensions of the inputs. The created geometry is always an atomic geometry, not a collection.</p>
<p>The empty result is constructed using the following rules:</p>
<ul>
<li><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a1f2552b975ce852f0b192dc00997b131a8fa6810898ed996b483dd401ef1be6d6" title="The code for the Intersection overlay operation. ">opINTERSECTION</a> result has the dimension of the lowest input dimension</li>
<li><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a1f2552b975ce852f0b192dc00997b131a0d2c09b2c3433c4944aaa1ee2b3777a6" title="The code for the Union overlay operation. ">opUNION</a> - result has the dimension of the highest input dimension</li>
<li><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a1f2552b975ce852f0b192dc00997b131aa4cb2fc2dbc9ddc1a73eea913a681c2f" title="The code for the Difference overlay operation. ">opDIFFERENCE</a> - result has the dimension of the left-hand input</li>
<li><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a1f2552b975ce852f0b192dc00997b131a05af5ddccedfdb8135c4b6967229254d" title="The code for the Symmetric Difference overlay operation. ">opSYMDIFFERENCE</a> - result has the dimension of the highest input dimension </li>
</ul>
</div>
</div>
<a class="anchor" id="a526b5c11fb19416922545d284dc0580c"></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::overlay::OverlayOp::findResultAreaEdges </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a1f2552b975ce852f0b192dc00997b131">OpCode</a>&#160;</td>
<td class="paramname"><em>opCode</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>Find all edges whose label indicates that they are in the result area(s), according to the operation being performed. </p>
<p>Since we want polygon shells to be oriented CW, choose dirEdges with the interior of the result on the RHS. Mark them as being in the result. Interior Area edges are the result of dimensional collapses. They do not form part of the result area boundary. </p>
</div>
</div>
<a class="anchor" id="ab62f72ba969cf20135f42a24cb36aa77"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">double geos::operation::overlay::OverlayOp::getAverageZ </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>targetIndex</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="a5fa40811b2b59fe39cf60278c34845ae"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static double geos::operation::overlay::OverlayOp::getAverageZ </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Polygon.html">geom::Polygon</a> *&#160;</td>
<td class="paramname"><em>poly</em></td><td>)</td>
<td></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">
</div>
</div>
<a class="anchor" id="a1c41701647a731cfa62f7756f8d25149"></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_1geomgraph_1_1PlanarGraph.html">geomgraph::PlanarGraph</a>&amp; geos::operation::overlay::OverlayOp::getGraph </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>Gets the graph constructed to compute the overlay. </p>
<dl class="section return"><dt>Returns</dt><dd>the overlay graph </dd></dl>
<p>Definition at line <a class="el" href="OverlayOp_8h_source.html#l00151">151</a> of file <a class="el" href="OverlayOp_8h_source.html">OverlayOp.h</a>.</p>
</div>
</div>
<a class="anchor" id="a445fdb63275d33345f1b6f9df0ac3d0f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a>* geos::operation::overlay::OverlayOp::getResultGeometry </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a1f2552b975ce852f0b192dc00997b131">OpCode</a>&#160;</td>
<td class="paramname"><em>overlayOpCode</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the result of the overlay for a given overlay operation. </p>
<p>Note: this method can be called once only.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">overlayOpCode</td><td>the overlay operation to perform </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the compute result geometry </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">TopologyException</td><td>if a robustness problem is encountered </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a0bcb065cdd0fc5bf7f4f951fb4ddee7d"></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::overlay::OverlayOp::insertUniqueEdge </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgeos_1_1geomgraph_1_1Edge.html">geomgraph::Edge</a> *&#160;</td>
<td class="paramname"><em>e</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Insert an edge from one of the noded input graphs. </p>
<p>Checks edges that are inserted to see if an identical edge already exists. If so, the edge is not inserted, but its label is merged with the existing edge. </p>
</div>
</div>
<a class="anchor" id="a604e11bd2c756698fbd263ab0fbc9daf"></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::overlay::OverlayOp::insertUniqueEdges </td>
<td>(</td>
<td class="paramtype">std::vector&lt; <a class="el" href="classgeos_1_1geomgraph_1_1Edge.html">geomgraph::Edge</a> * &gt; *&#160;</td>
<td class="paramname"><em>edges</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Envelope.html">geom::Envelope</a> *&#160;</td>
<td class="paramname"><em>env</em> = <code>nullptr</code>&#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="aa442944ff624e33a0b79c8d263750dc1"></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::overlay::OverlayOp::isCovered </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a> &amp;&#160;</td>
<td class="paramname"><em>coord</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> * &gt; *&#160;</td>
<td class="paramname"><em>geomList</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">
<dl class="section return"><dt>Returns</dt><dd>true if the coord is located in the interior or boundary of a geometry in the list. </dd></dl>
</div>
</div>
<a class="anchor" id="a79864a40f087d365d44640f594cb1cae"></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::overlay::OverlayOp::isCovered </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a> &amp;&#160;</td>
<td class="paramname"><em>coord</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="classgeos_1_1geom_1_1Polygon.html">geom::Polygon</a> * &gt; *&#160;</td>
<td class="paramname"><em>geomList</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">
<dl class="section return"><dt>Returns</dt><dd>true if the coord is located in the interior or boundary of a geometry in the list. </dd></dl>
</div>
</div>
<a class="anchor" id="ae4c5d638d98643e84f953c196f92c1c4"></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::overlay::OverlayOp::isCovered </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a> &amp;&#160;</td>
<td class="paramname"><em>coord</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="classgeos_1_1geom_1_1LineString.html">geom::LineString</a> * &gt; *&#160;</td>
<td class="paramname"><em>geomList</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">
<dl class="section return"><dt>Returns</dt><dd>true if the coord is located in the interior or boundary of a geometry in the list. </dd></dl>
</div>
</div>
<a class="anchor" id="ac59631b12284b667a37e3908bf8a71ab"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool geos::operation::overlay::OverlayOp::isCoveredByA </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a> &amp;&#160;</td>
<td class="paramname"><em>coord</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This method is used to decide if an L edge should be included in the result or not. </p>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if the coord point is covered by a result Area geometry </dd></dl>
</div>
</div>
<a class="anchor" id="a3d53b489dc03a00c87bffd41087588ab"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool geos::operation::overlay::OverlayOp::isCoveredByLA </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a> &amp;&#160;</td>
<td class="paramname"><em>coord</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This method is used to decide if a point node should be included in the result or not. </p>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if the coord point is covered by a result Line or Area geometry </dd></dl>
</div>
</div>
<a class="anchor" id="ae8130cc0bc66518f05f12e648eac9dc3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static bool geos::operation::overlay::OverlayOp::isResultOfOp </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geomgraph_1_1Label.html">geomgraph::Label</a> &amp;&#160;</td>
<td class="paramname"><em>label</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a1f2552b975ce852f0b192dc00997b131">OpCode</a>&#160;</td>
<td class="paramname"><em>opCode</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">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Tests whether a point with a given topological <a class="el" href="classgeos_1_1geomgraph_1_1Label.html">Label</a> relative to two geometries is contained in the result of overlaying the geometries using a given overlay operation. </p>
<p>The method handles arguments of <a class="el" href="namespacegeos_1_1geom.html#ae55a225cd843a6b153a7b6ca5a4707c8ab50339a10e1de285ac99d4c3990b8693">Location::NONE</a> correctly</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">label</td><td>the topological label of the point </td></tr>
<tr><td class="paramname">opCode</td><td>the code for the overlay operation to test </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if the label locations correspond to the overlayOpCode </dd></dl>
</div>
</div>
<a class="anchor" id="a72a20d7f6f609484579aebba9ecaa79d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static bool geos::operation::overlay::OverlayOp::isResultOfOp </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacegeos_1_1geom.html#ae55a225cd843a6b153a7b6ca5a4707c8">geom::Location</a>&#160;</td>
<td class="paramname"><em>loc0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacegeos_1_1geom.html#ae55a225cd843a6b153a7b6ca5a4707c8">geom::Location</a>&#160;</td>
<td class="paramname"><em>loc1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a1f2552b975ce852f0b192dc00997b131">OpCode</a>&#160;</td>
<td class="paramname"><em>opCode</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">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method will handle arguments of Location.NULL correctly. </p>
<dl class="section return"><dt>Returns</dt><dd>true if the locations correspond to the opCode </dd></dl>
</div>
</div>
<a class="anchor" id="a84c35745ed623a43eb334cf771f9c8e7"></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::overlay::OverlayOp::labelIncompleteNode </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgeos_1_1geomgraph_1_1Node.html">geomgraph::Node</a> *&#160;</td>
<td class="paramname"><em>n</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>targetIndex</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">
<p>Label an isolated node with its relationship to the target geometry. </p>
</div>
</div>
<a class="anchor" id="a496a54fe0c54b02dcb17198811a69794"></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::overlay::OverlayOp::labelIncompleteNodes </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>Incomplete nodes are nodes whose labels are incomplete.</p>
<p>(e.g. the location for one Geometry is NULL). These are either isolated nodes, or nodes which have edges from only a single Geometry incident on them.</p>
<p>Isolated nodes are found because nodes in one graph which don't intersect nodes in the other are not completely labelled by the initial process of adding nodes to the nodeList. To complete the labelling we need to check for nodes that lie in the interior of edges, and in the interior of areas.</p>
<p>When each node labelling is completed, the labelling of the incident edges is updated, to complete their labelling as well. </p>
</div>
</div>
<a class="anchor" id="a204bb5a299b28129efb8458143b84992"></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::overlay::OverlayOp::mergeSymLabels </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>For nodes which have edges from only one Geometry incident on them, the previous step will have left their dirEdges with no labelling for the other Geometry. However, the sym dirEdge may have a labelling for the other Geometry, so merge the two labels. </p>
</div>
</div>
<a class="anchor" id="ac6c98e0e0292ecb49901e4e18267f243"></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::overlay::OverlayOp::mergeZ </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgeos_1_1geomgraph_1_1Node.html">geomgraph::Node</a> *&#160;</td>
<td class="paramname"><em>n</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Polygon.html">geom::Polygon</a> *&#160;</td>
<td class="paramname"><em>poly</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</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>Merge Z values of node with those of the segment or vertex in the given Polygon it is on. </p>
</div>
</div>
<a class="anchor" id="acf80f468cc3b0786f9e144eb909b6e0f"></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::overlay::OverlayOp::mergeZ </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgeos_1_1geomgraph_1_1Node.html">geomgraph::Node</a> *&#160;</td>
<td class="paramname"><em>n</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1LineString.html">geom::LineString</a> *&#160;</td>
<td class="paramname"><em>line</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</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>Merge Z values of node with those of the segment or vertex in the given LineString it is on. </p><dl class="section return"><dt>Returns</dt><dd>1 if an intersection is found, 0 otherwise. </dd></dl>
</div>
</div>
<a class="anchor" id="a7edc8d4f6460dad9d12359c15f3f8325"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a>* geos::operation::overlay::OverlayOp::overlayOp </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::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">geom::Geometry</a> *&#160;</td>
<td class="paramname"><em>geom1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a1f2552b975ce852f0b192dc00997b131">OpCode</a>&#160;</td>
<td class="paramname"><em>opCode</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">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Computes an overlay operation for the given geometry arguments. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">geom0</td><td>the first geometry argument </td></tr>
<tr><td class="paramname">geom1</td><td>the second geometry argument </td></tr>
<tr><td class="paramname">opCode</td><td>the code for the desired overlay operation </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the result of the overlay operation </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">TopologyException</td><td>if a robustness problem is encountered </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ac21e1a1b55f8e463e8e8750910922baa"></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::overlay::OverlayOp::replaceCollapsedEdges </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>If edges which have undergone dimensional collapse are found, replace them with a new edge which is a L edge. </p>
</div>
</div>
<a class="anchor" id="adba9273d58a22ae6c32180c18c00148c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="classgeos_1_1geom_1_1Dimension.html#af46f1c0c325eb685fcf32987748d04cf">geom::Dimension::DimensionType</a> geos::operation::overlay::OverlayOp::resultDimension </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#a1f2552b975ce852f0b192dc00997b131">OverlayOp::OpCode</a>&#160;</td>
<td class="paramname"><em>overlayOpCode</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *&#160;</td>
<td class="paramname"><em>g0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *&#160;</td>
<td class="paramname"><em>g1</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">static</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>For empty result, what is the correct geometry type to apply to the empty? </p>
</div>
</div>
<a class="anchor" id="ac1f6623524926f1131cdb82cbdd3dbf8"></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::overlay::OverlayOp::updateNodeLabelling </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">
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="ae4bf97c2cd3d8205d9225eabfd617ed8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">double geos::operation::overlay::OverlayOp::avgz[2]</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>Average Z of input geometries </p>
<p>Definition at line <a class="el" href="OverlayOp_8h_source.html#l00389">389</a> of file <a class="el" href="OverlayOp_8h_source.html">OverlayOp.h</a>.</p>
</div>
</div>
<a class="anchor" id="ab8b5ebd7939d086acca08dbc743cb00b"></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::overlay::OverlayOp::avgzcomputed[2]</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="OverlayOp_8h_source.html#l00390">390</a> of file <a class="el" href="OverlayOp_8h_source.html">OverlayOp.h</a>.</p>
</div>
</div>
<a class="anchor" id="aefa4bd5d19d928e1e150ada6b417b0ed"></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_1geomgraph_1_1Edge.html">geomgraph::Edge</a>*&gt; geos::operation::overlay::OverlayOp::dupEdges</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>Caches for memory management. </p>
<p>Definition at line <a class="el" href="OverlayOp_8h_source.html#l00371">371</a> of file <a class="el" href="OverlayOp_8h_source.html">OverlayOp.h</a>.</p>
</div>
</div>
<a class="anchor" id="a657579ba1670103ea51460a335650b83"></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_1geomgraph_1_1EdgeList.html">geomgraph::EdgeList</a> geos::operation::overlay::OverlayOp::edgeList</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="OverlayOp_8h_source.html#l00217">217</a> of file <a class="el" href="OverlayOp_8h_source.html">OverlayOp.h</a>.</p>
</div>
</div>
<a class="anchor" id="a1838619b39387fd6039acaf0ed9065d2"></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_1operation_1_1overlay_1_1ElevationMatrix.html">ElevationMatrix</a>* geos::operation::overlay::OverlayOp::elevationMatrix</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="OverlayOp_8h_source.html#l00395">395</a> of file <a class="el" href="OverlayOp_8h_source.html">OverlayOp.h</a>.</p>
</div>
</div>
<a class="anchor" id="a23e18719ed97749ea1f7f79d88d95610"></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_1GeometryFactory.html">geom::GeometryFactory</a>* geos::operation::overlay::OverlayOp::geomFact</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="OverlayOp_8h_source.html#l00211">211</a> of file <a class="el" href="OverlayOp_8h_source.html">OverlayOp.h</a>.</p>
</div>
</div>
<a class="anchor" id="a4348c87dbe463426fce28de9c0a2f9a9"></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_1geomgraph_1_1PlanarGraph.html">geomgraph::PlanarGraph</a> geos::operation::overlay::OverlayOp::graph</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="OverlayOp_8h_source.html#l00215">215</a> of file <a class="el" href="OverlayOp_8h_source.html">OverlayOp.h</a>.</p>
</div>
</div>
<a class="anchor" id="a9dfca83dd72a364fa2e110826602a2b6"></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_1PointLocator.html">algorithm::PointLocator</a> geos::operation::overlay::OverlayOp::ptLocator</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="OverlayOp_8h_source.html#l00209">209</a> of file <a class="el" href="OverlayOp_8h_source.html">OverlayOp.h</a>.</p>
</div>
</div>
<a class="anchor" id="af4fc30a1b175611a88e8e3720a1657bc"></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_1geom_1_1Geometry.html">geom::Geometry</a>* geos::operation::overlay::OverlayOp::resultGeom</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="OverlayOp_8h_source.html#l00213">213</a> of file <a class="el" href="OverlayOp_8h_source.html">OverlayOp.h</a>.</p>
</div>
</div>
<a class="anchor" id="ab62527217ba5f4e988704a23d5e375aa"></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_1geom_1_1LineString.html">geom::LineString</a>*&gt;* geos::operation::overlay::OverlayOp::resultLineList</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="OverlayOp_8h_source.html#l00221">221</a> of file <a class="el" href="OverlayOp_8h_source.html">OverlayOp.h</a>.</p>
</div>
</div>
<a class="anchor" id="acffc600fb95eb6c5ed32dec01a02d983"></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_1geom_1_1Point.html">geom::Point</a>*&gt;* geos::operation::overlay::OverlayOp::resultPointList</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="OverlayOp_8h_source.html#l00223">223</a> of file <a class="el" href="OverlayOp_8h_source.html">OverlayOp.h</a>.</p>
</div>
</div>
<a class="anchor" id="aa817d0c6d588c6cdf2a0e63e8b0436a7"></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_1geom_1_1Polygon.html">geom::Polygon</a>*&gt;* geos::operation::overlay::OverlayOp::resultPolyList</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="OverlayOp_8h_source.html#l00219">219</a> of file <a class="el" href="OverlayOp_8h_source.html">OverlayOp.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="OverlayOp_8h_source.html">OverlayOp.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>