geos_390_docs/classgeos_1_1operation_1_1o...

541 lines
30 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::OverlayGraph 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_1OverlayGraph.html">OverlayGraph</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="#friends">Friends</a> &#124;
<a href="classgeos_1_1operation_1_1overlayng_1_1OverlayGraph-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">geos::operation::overlayng::OverlayGraph Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="OverlayGraph_8h_source.html">OverlayGraph.h</a>&gt;</code></p>
<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:ae952d126ba4335ef7f2e9a9854427720"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayGraph.html#ae952d126ba4335ef7f2e9a9854427720">OverlayGraph</a> ()</td></tr>
<tr class="separator:ae952d126ba4335ef7f2e9a9854427720"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7e8bd566a10a95d0cc9a2091d18558b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayGraph.html#ae7e8bd566a10a95d0cc9a2091d18558b">OverlayGraph</a> (const <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayGraph.html">OverlayGraph</a> &amp;g)=delete</td></tr>
<tr class="separator:ae7e8bd566a10a95d0cc9a2091d18558b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13932dae2f4bce79f5bdec24a27fc9e5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayGraph.html">OverlayGraph</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayGraph.html#a13932dae2f4bce79f5bdec24a27fc9e5">operator=</a> (const <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayGraph.html">OverlayGraph</a> &amp;g)=delete</td></tr>
<tr class="separator:a13932dae2f4bce79f5bdec24a27fc9e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc9e59147778cc1e9a22051afde12efa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayEdge.html">OverlayEdge</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayGraph.html#acc9e59147778cc1e9a22051afde12efa">addEdge</a> (<a class="el" href="classgeos_1_1operation_1_1overlayng_1_1Edge.html">Edge</a> *edge)</td></tr>
<tr class="separator:acc9e59147778cc1e9a22051afde12efa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae3c943ba9a19f44e68b265e7ff3488c"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayEdge.html">OverlayEdge</a> * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayGraph.html#aae3c943ba9a19f44e68b265e7ff3488c">getEdges</a> ()</td></tr>
<tr class="separator:aae3c943ba9a19f44e68b265e7ff3488c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a207acb0b3e03f8e8f8657d40f312fa3d"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayEdge.html">OverlayEdge</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayGraph.html#a207acb0b3e03f8e8f8657d40f312fa3d">getNodeEdges</a> ()</td></tr>
<tr class="separator:a207acb0b3e03f8e8f8657d40f312fa3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af88a4afc08f192aea977385a447896e1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayEdge.html">OverlayEdge</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayGraph.html#af88a4afc08f192aea977385a447896e1">getNodeEdge</a> (const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> &amp;nodePt) const </td></tr>
<tr class="separator:af88a4afc08f192aea977385a447896e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abdd1883686ebda1e9b014ad7d7d1008a"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayEdge.html">OverlayEdge</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayGraph.html#abdd1883686ebda1e9b014ad7d7d1008a">getResultAreaEdges</a> ()</td></tr>
<tr class="separator:abdd1883686ebda1e9b014ad7d7d1008a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abffdf53d72bf3b2faaba878d2b90e60f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayLabel.html">OverlayLabel</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayGraph.html#abffdf53d72bf3b2faaba878d2b90e60f">createOverlayLabel</a> (const <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1Edge.html">Edge</a> *edge)</td></tr>
<tr class="separator:abffdf53d72bf3b2faaba878d2b90e60f"><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:a494ec7e1707a8ff627f7464b492a3011"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayEdge.html">OverlayEdge</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayGraph.html#a494ec7e1707a8ff627f7464b492a3011">createEdgePair</a> (const <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> *pts, <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayLabel.html">OverlayLabel</a> *lbl)</td></tr>
<tr class="separator:a494ec7e1707a8ff627f7464b492a3011"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6945c1a5e1ce656e490aa1aad8df2103"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayEdge.html">OverlayEdge</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayGraph.html#a6945c1a5e1ce656e490aa1aad8df2103">createOverlayEdge</a> (const <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> *pts, <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayLabel.html">OverlayLabel</a> *lbl, bool direction)</td></tr>
<tr class="separator:a6945c1a5e1ce656e490aa1aad8df2103"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e46260ac31818ef3770d8bb69e7fefe"><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_1OverlayGraph.html#a3e46260ac31818ef3770d8bb69e7fefe">insert</a> (<a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayEdge.html">OverlayEdge</a> *e)</td></tr>
<tr class="separator:a3e46260ac31818ef3770d8bb69e7fefe"><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:a35077cc0987d4596374a651e83dd04cb"><td class="memItemLeft" align="right" valign="top">std::map&lt; <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a>, <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayEdge.html">OverlayEdge</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayGraph.html#a35077cc0987d4596374a651e83dd04cb">nodeMap</a></td></tr>
<tr class="separator:a35077cc0987d4596374a651e83dd04cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abdbce832d06974ef0cbcba888068c336"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayEdge.html">OverlayEdge</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayGraph.html#abdbce832d06974ef0cbcba888068c336">edges</a></td></tr>
<tr class="separator:abdbce832d06974ef0cbcba888068c336"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4518905bd2982cc9aa738d5fb18e3f3b"><td class="memItemLeft" align="right" valign="top">std::deque&lt; <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayEdge.html">OverlayEdge</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayGraph.html#a4518905bd2982cc9aa738d5fb18e3f3b">ovEdgeQue</a></td></tr>
<tr class="separator:a4518905bd2982cc9aa738d5fb18e3f3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69fe1d189128284e50a10cd7090edf77"><td class="memItemLeft" align="right" valign="top">std::deque&lt; <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayLabel.html">OverlayLabel</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayGraph.html#a69fe1d189128284e50a10cd7090edf77">ovLabelQue</a></td></tr>
<tr class="separator:a69fe1d189128284e50a10cd7090edf77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1f5282edb753795483c15625e6672ab"><td class="memItemLeft" align="right" valign="top">std::vector&lt; std::unique_ptr&lt; const <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">geom::CoordinateSequence</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayGraph.html#ac1f5282edb753795483c15625e6672ab">csQue</a></td></tr>
<tr class="separator:ac1f5282edb753795483c15625e6672ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:a51bd32e9acff2fef4c95064cb0494f00"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayGraph.html#a51bd32e9acff2fef4c95064cb0494f00">operator&lt;&lt;</a> (std::ostream &amp;os, const <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayGraph.html">OverlayGraph</a> &amp;og)</td></tr>
<tr class="separator:a51bd32e9acff2fef4c95064cb0494f00"><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>A planar graph of <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayEdge.html">OverlayEdge</a>, representing the topology resulting from an overlay operation. Each source <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1Edge.html">Edge</a> is represented by two OverlayEdges, with opposite orientation. A single <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayLabel.html">OverlayLabel</a> is created for each symmetric pair of OverlayEdges.</p>
<dl class="section author"><dt>Author</dt><dd>mdavis </dd></dl>
<p>Definition at line <a class="el" href="OverlayGraph_8h_source.html#l00054">54</a> of file <a class="el" href="OverlayGraph_8h_source.html">OverlayGraph.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ae952d126ba4335ef7f2e9a9854427720"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">geos::operation::overlayng::OverlayGraph::OverlayGraph </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a new graph for a set of noded, labelled <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1Edge.html">Edge</a>s. </p>
</div>
</div>
<a class="anchor" id="ae7e8bd566a10a95d0cc9a2091d18558b"></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::OverlayGraph::OverlayGraph </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayGraph.html">OverlayGraph</a> &amp;&#160;</td>
<td class="paramname"><em>g</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">delete</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="acc9e59147778cc1e9a22051afde12efa"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayEdge.html">OverlayEdge</a>* geos::operation::overlayng::OverlayGraph::addEdge </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1Edge.html">Edge</a> *&#160;</td>
<td class="paramname"><em>edge</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Adds an edge between the coordinates orig and dest to this graph. Only valid edges can be added (in particular, zero-length segments cannot be added) </p>
</div>
</div>
<a class="anchor" id="a494ec7e1707a8ff627f7464b492a3011"></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_1overlayng_1_1OverlayEdge.html">OverlayEdge</a>* geos::operation::overlayng::OverlayGraph::createEdgePair </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> *&#160;</td>
<td class="paramname"><em>pts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayLabel.html">OverlayLabel</a> *&#160;</td>
<td class="paramname"><em>lbl</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>Create and add HalfEdge pairs to map and vector containers, using local std::deque storage for objects. </p>
</div>
</div>
<a class="anchor" id="a6945c1a5e1ce656e490aa1aad8df2103"></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_1overlayng_1_1OverlayEdge.html">OverlayEdge</a>* geos::operation::overlayng::OverlayGraph::createOverlayEdge </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> *&#160;</td>
<td class="paramname"><em>pts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayLabel.html">OverlayLabel</a> *&#160;</td>
<td class="paramname"><em>lbl</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>direction</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>Create a single <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayEdge.html">OverlayEdge</a> in local std::deque storage, and return the pointer. </p>
</div>
</div>
<a class="anchor" id="abffdf53d72bf3b2faaba878d2b90e60f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayLabel.html">OverlayLabel</a>* geos::operation::overlayng::OverlayGraph::createOverlayLabel </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1Edge.html">Edge</a> *&#160;</td>
<td class="paramname"><em>edge</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a single <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayLabel.html">OverlayLabel</a> in local std::deque storage and return a pointer to the stored object. </p>
</div>
</div>
<a class="anchor" id="aae3c943ba9a19f44e68b265e7ff3488c"></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_1OverlayEdge.html">OverlayEdge</a>*&gt;&amp; geos::operation::overlayng::OverlayGraph::getEdges </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the set of edges in this graph. Only one of each symmetric pair of OverlayEdges is included. The opposing edge can be found by using <a class="el" href="classgeos_1_1edgegraph_1_1HalfEdge.html#a20617634c3ef1c1a0bff8b6c49fadae5">OverlayEdge#sym()</a>. </p>
</div>
</div>
<a class="anchor" id="af88a4afc08f192aea977385a447896e1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayEdge.html">OverlayEdge</a>* geos::operation::overlayng::OverlayGraph::getNodeEdge </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> &amp;&#160;</td>
<td class="paramname"><em>nodePt</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets an edge originating at the given node point. </p>
</div>
</div>
<a class="anchor" id="a207acb0b3e03f8e8f8657d40f312fa3d"></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_1OverlayEdge.html">OverlayEdge</a>*&gt; geos::operation::overlayng::OverlayGraph::getNodeEdges </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the collection of edges representing the nodes in this graph. For each star of edges originating at a node a single representative edge is included. The other edges around the node can be found by following the next and prev links. </p>
</div>
</div>
<a class="anchor" id="abdd1883686ebda1e9b014ad7d7d1008a"></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_1OverlayEdge.html">OverlayEdge</a>*&gt; geos::operation::overlayng::OverlayGraph::getResultAreaEdges </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the representative edges marked as being in the result area. </p>
</div>
</div>
<a class="anchor" id="a3e46260ac31818ef3770d8bb69e7fefe"></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::OverlayGraph::insert </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayEdge.html">OverlayEdge</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">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a13932dae2f4bce79f5bdec24a27fc9e5"></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_1overlayng_1_1OverlayGraph.html">OverlayGraph</a>&amp; geos::operation::overlayng::OverlayGraph::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayGraph.html">OverlayGraph</a> &amp;&#160;</td>
<td class="paramname"><em>g</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">delete</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a class="anchor" id="a51bd32e9acff2fef4c95064cb0494f00"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::ostream&amp; operator&lt;&lt; </td>
<td>(</td>
<td class="paramtype">std::ostream &amp;&#160;</td>
<td class="paramname"><em>os</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayGraph.html">OverlayGraph</a> &amp;&#160;</td>
<td class="paramname"><em>og</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">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="ac1f5282edb753795483c15625e6672ab"></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;const <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">geom::CoordinateSequence</a>&gt; &gt; geos::operation::overlayng::OverlayGraph::csQue</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="OverlayGraph_8h_source.html#l00066">66</a> of file <a class="el" href="OverlayGraph_8h_source.html">OverlayGraph.h</a>.</p>
</div>
</div>
<a class="anchor" id="abdbce832d06974ef0cbcba888068c336"></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_1OverlayEdge.html">OverlayEdge</a>*&gt; geos::operation::overlayng::OverlayGraph::edges</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="OverlayGraph_8h_source.html#l00060">60</a> of file <a class="el" href="OverlayGraph_8h_source.html">OverlayGraph.h</a>.</p>
</div>
</div>
<a class="anchor" id="a35077cc0987d4596374a651e83dd04cb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::map&lt;<a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a>, <a class="el" href="classgeos_1_1operation_1_1overlayng_1_1OverlayEdge.html">OverlayEdge</a>*&gt; geos::operation::overlayng::OverlayGraph::nodeMap</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="OverlayGraph_8h_source.html#l00059">59</a> of file <a class="el" href="OverlayGraph_8h_source.html">OverlayGraph.h</a>.</p>
</div>
</div>
<a class="anchor" id="a4518905bd2982cc9aa738d5fb18e3f3b"></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_1OverlayEdge.html">OverlayEdge</a>&gt; geos::operation::overlayng::OverlayGraph::ovEdgeQue</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="OverlayGraph_8h_source.html#l00063">63</a> of file <a class="el" href="OverlayGraph_8h_source.html">OverlayGraph.h</a>.</p>
</div>
</div>
<a class="anchor" id="a69fe1d189128284e50a10cd7090edf77"></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_1OverlayLabel.html">OverlayLabel</a>&gt; geos::operation::overlayng::OverlayGraph::ovLabelQue</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="OverlayGraph_8h_source.html#l00064">64</a> of file <a class="el" href="OverlayGraph_8h_source.html">OverlayGraph.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="OverlayGraph_8h_source.html">OverlayGraph.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>