geos_390_docs/classgeos_1_1noding_1_1Inte...

761 lines
41 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::noding::IntersectionAdder 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_1noding.html">noding</a></li><li class="navelem"><a class="el" href="classgeos_1_1noding_1_1IntersectionAdder.html">IntersectionAdder</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classgeos_1_1noding_1_1IntersectionAdder-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">geos::noding::IntersectionAdder Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Computes the intersections between two line segments in <a class="el" href="classgeos_1_1noding_1_1SegmentString.html" title="An interface for classes which represent a sequence of contiguous line segments. ">SegmentString</a> and adds them to each string.
<a href="classgeos_1_1noding_1_1IntersectionAdder.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="IntersectionAdder_8h_source.html">IntersectionAdder.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for geos::noding::IntersectionAdder:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classgeos_1_1noding_1_1IntersectionAdder__inherit__graph.svg" width="250" height="131"><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::noding::IntersectionAdder:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="classgeos_1_1noding_1_1IntersectionAdder__coll__graph.svg" width="100%" height="444"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a2261aabc8f21db65c3c6dda7e245c955"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1noding_1_1IntersectionAdder.html#a2261aabc8f21db65c3c6dda7e245c955">IntersectionAdder</a> (<a class="el" href="classgeos_1_1algorithm_1_1LineIntersector.html">algorithm::LineIntersector</a> &amp;newLi)</td></tr>
<tr class="separator:a2261aabc8f21db65c3c6dda7e245c955"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f9b105d999b63621d1856e425f98655"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1algorithm_1_1LineIntersector.html">algorithm::LineIntersector</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1noding_1_1IntersectionAdder.html#a4f9b105d999b63621d1856e425f98655">getLineIntersector</a> ()</td></tr>
<tr class="separator:a4f9b105d999b63621d1856e425f98655"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a498656c55fb638a303a02b20b688cbc7"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1noding_1_1IntersectionAdder.html#a498656c55fb638a303a02b20b688cbc7">getProperIntersectionPoint</a> ()</td></tr>
<tr class="separator:a498656c55fb638a303a02b20b688cbc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa24647fa6f90433ae81c8109beddc829"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1noding_1_1IntersectionAdder.html#aa24647fa6f90433ae81c8109beddc829">hasIntersection</a> ()</td></tr>
<tr class="separator:aa24647fa6f90433ae81c8109beddc829"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97e082438a0ca42ab804b7d061a752d3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1noding_1_1IntersectionAdder.html#a97e082438a0ca42ab804b7d061a752d3">hasProperIntersection</a> ()</td></tr>
<tr class="memdesc:a97e082438a0ca42ab804b7d061a752d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">A proper intersection is an intersection which is interior to at least two line segments. <a href="#a97e082438a0ca42ab804b7d061a752d3">More...</a><br /></td></tr>
<tr class="separator:a97e082438a0ca42ab804b7d061a752d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7226f13f231d0a496f0286a42d9e1ea4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1noding_1_1IntersectionAdder.html#a7226f13f231d0a496f0286a42d9e1ea4">hasProperInteriorIntersection</a> ()</td></tr>
<tr class="memdesc:a7226f13f231d0a496f0286a42d9e1ea4"><td class="mdescLeft">&#160;</td><td class="mdescRight">A proper interior intersection is a proper intersection which is <em>not</em> contained in the set of boundary nodes set for this <a class="el" href="classgeos_1_1noding_1_1SegmentIntersector.html" title="Processes possible intersections detected by a Noder. ">SegmentIntersector</a>. <a href="#a7226f13f231d0a496f0286a42d9e1ea4">More...</a><br /></td></tr>
<tr class="separator:a7226f13f231d0a496f0286a42d9e1ea4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b2affb36276fc054692f90196204377"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1noding_1_1IntersectionAdder.html#a1b2affb36276fc054692f90196204377">hasInteriorIntersection</a> ()</td></tr>
<tr class="memdesc:a1b2affb36276fc054692f90196204377"><td class="mdescLeft">&#160;</td><td class="mdescRight">An interior intersection is an intersection which is in the interior of some segment. <a href="#a1b2affb36276fc054692f90196204377">More...</a><br /></td></tr>
<tr class="separator:a1b2affb36276fc054692f90196204377"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26dbd8ecc9501c2092a09bfea2dc2f8c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1noding_1_1IntersectionAdder.html#a26dbd8ecc9501c2092a09bfea2dc2f8c">processIntersections</a> (<a class="el" href="classgeos_1_1noding_1_1SegmentString.html">SegmentString</a> *e0, size_t segIndex0, <a class="el" href="classgeos_1_1noding_1_1SegmentString.html">SegmentString</a> *e1, size_t segIndex1) override</td></tr>
<tr class="memdesc:a26dbd8ecc9501c2092a09bfea2dc2f8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method is called by clients of the <a class="el" href="classgeos_1_1noding_1_1SegmentIntersector.html" title="Processes possible intersections detected by a Noder. ">SegmentIntersector</a> class to process intersections for two segments of the SegmentStrings being intersected. <a href="#a26dbd8ecc9501c2092a09bfea2dc2f8c">More...</a><br /></td></tr>
<tr class="separator:a26dbd8ecc9501c2092a09bfea2dc2f8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7628f2135fca2b67837ccb1169d5b95a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1noding_1_1IntersectionAdder.html#a7628f2135fca2b67837ccb1169d5b95a">isDone</a> () const override</td></tr>
<tr class="memdesc:a7628f2135fca2b67837ccb1169d5b95a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Always process all intersections. <a href="#a7628f2135fca2b67837ccb1169d5b95a">More...</a><br /></td></tr>
<tr class="separator:a7628f2135fca2b67837ccb1169d5b95a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgeos_1_1noding_1_1SegmentIntersector"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgeos_1_1noding_1_1SegmentIntersector')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgeos_1_1noding_1_1SegmentIntersector.html">geos::noding::SegmentIntersector</a></td></tr>
<tr class="memitem:abaed578d309e9cc6816f532a12e6019e inherit pub_methods_classgeos_1_1noding_1_1SegmentIntersector"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1noding_1_1SegmentIntersector.html#abaed578d309e9cc6816f532a12e6019e">~SegmentIntersector</a> ()</td></tr>
<tr class="separator:abaed578d309e9cc6816f532a12e6019e inherit pub_methods_classgeos_1_1noding_1_1SegmentIntersector"><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:a94a898bf97e5b79b7199c0f21c9a5bae"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1noding_1_1IntersectionAdder.html#a94a898bf97e5b79b7199c0f21c9a5bae">isAdjacentSegments</a> (size_t i1, size_t i2)</td></tr>
<tr class="separator:a94a898bf97e5b79b7199c0f21c9a5bae"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a496dabe962092df690ac70afbe69c9fe"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1noding_1_1IntersectionAdder.html#a496dabe962092df690ac70afbe69c9fe">numIntersections</a></td></tr>
<tr class="separator:a496dabe962092df690ac70afbe69c9fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab075115ac08a8665d94ddabb73008640"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1noding_1_1IntersectionAdder.html#ab075115ac08a8665d94ddabb73008640">numInteriorIntersections</a></td></tr>
<tr class="separator:ab075115ac08a8665d94ddabb73008640"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3da93f0736166f59a1a14bd8e20240fb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1noding_1_1IntersectionAdder.html#a3da93f0736166f59a1a14bd8e20240fb">numProperIntersections</a></td></tr>
<tr class="separator:a3da93f0736166f59a1a14bd8e20240fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ca6ef03f448f707e9fb8cdbb652a8bc"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1noding_1_1IntersectionAdder.html#a3ca6ef03f448f707e9fb8cdbb652a8bc">numTests</a></td></tr>
<tr class="separator:a3ca6ef03f448f707e9fb8cdbb652a8bc"><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:a41ee675831b65837818e43ccbd9027f7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1noding_1_1IntersectionAdder.html#a41ee675831b65837818e43ccbd9027f7">isTrivialIntersection</a> (const <a class="el" href="classgeos_1_1noding_1_1SegmentString.html">SegmentString</a> *e0, size_t segIndex0, const <a class="el" href="classgeos_1_1noding_1_1SegmentString.html">SegmentString</a> *e1, size_t segIndex1)</td></tr>
<tr class="separator:a41ee675831b65837818e43ccbd9027f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3719249943a6eb77f463aff3511912d8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1noding_1_1IntersectionAdder.html#a3719249943a6eb77f463aff3511912d8">IntersectionAdder</a> (const <a class="el" href="classgeos_1_1noding_1_1IntersectionAdder.html">IntersectionAdder</a> &amp;other)=delete</td></tr>
<tr class="separator:a3719249943a6eb77f463aff3511912d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5291ffe490e58abf3770299e88407930"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1noding_1_1IntersectionAdder.html">IntersectionAdder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1noding_1_1IntersectionAdder.html#a5291ffe490e58abf3770299e88407930">operator=</a> (const <a class="el" href="classgeos_1_1noding_1_1IntersectionAdder.html">IntersectionAdder</a> &amp;rhs)=delete</td></tr>
<tr class="separator:a5291ffe490e58abf3770299e88407930"><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:a09085352629b26478b7f23a002b20a9f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1noding_1_1IntersectionAdder.html#a09085352629b26478b7f23a002b20a9f">hasIntersectionVar</a></td></tr>
<tr class="separator:a09085352629b26478b7f23a002b20a9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee12520745bd75fb021d44c2893a2f30"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1noding_1_1IntersectionAdder.html#aee12520745bd75fb021d44c2893a2f30">hasProper</a></td></tr>
<tr class="separator:aee12520745bd75fb021d44c2893a2f30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a6fbde0619a02b61e552ec27912bd0e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1noding_1_1IntersectionAdder.html#a8a6fbde0619a02b61e552ec27912bd0e">hasProperInterior</a></td></tr>
<tr class="separator:a8a6fbde0619a02b61e552ec27912bd0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a549e1a30ce5877a52ed592e69b95de4c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1noding_1_1IntersectionAdder.html#a549e1a30ce5877a52ed592e69b95de4c">hasInterior</a></td></tr>
<tr class="separator:a549e1a30ce5877a52ed592e69b95de4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ff685e031eb3b908503f316124bcaaa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1noding_1_1IntersectionAdder.html#a4ff685e031eb3b908503f316124bcaaa">properIntersectionPoint</a></td></tr>
<tr class="separator:a4ff685e031eb3b908503f316124bcaaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0be21628b72da86ccd6255c9ed99016f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1algorithm_1_1LineIntersector.html">algorithm::LineIntersector</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1noding_1_1IntersectionAdder.html#a0be21628b72da86ccd6255c9ed99016f">li</a></td></tr>
<tr class="separator:a0be21628b72da86ccd6255c9ed99016f"><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_methods_classgeos_1_1noding_1_1SegmentIntersector"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classgeos_1_1noding_1_1SegmentIntersector')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classgeos_1_1noding_1_1SegmentIntersector.html">geos::noding::SegmentIntersector</a></td></tr>
<tr class="memitem:aad5d64d5214d60e5e867379dc7d9c9ea inherit pro_methods_classgeos_1_1noding_1_1SegmentIntersector"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1noding_1_1SegmentIntersector.html#aad5d64d5214d60e5e867379dc7d9c9ea">SegmentIntersector</a> ()</td></tr>
<tr class="separator:aad5d64d5214d60e5e867379dc7d9c9ea inherit pro_methods_classgeos_1_1noding_1_1SegmentIntersector"><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 intersections between two line segments in <a class="el" href="classgeos_1_1noding_1_1SegmentString.html" title="An interface for classes which represent a sequence of contiguous line segments. ">SegmentString</a> and adds them to each string. </p>
<p>The <a class="el" href="classgeos_1_1noding_1_1SegmentIntersector.html" title="Processes possible intersections detected by a Noder. ">SegmentIntersector</a> is passed to a <a class="el" href="classgeos_1_1noding_1_1Noder.html" title="Computes all intersections between segments in a set of SegmentString. ">Noder</a>. The <a class="el" href="classgeos_1_1noding_1_1NodedSegmentString.html#a060219c7fd7de00b66dbcf80816e84b4" title="Add SegmentNodes for one or both intersections found for a segment of an edge to the edge intersectio...">NodedSegmentString::addIntersections(algorithm::LineIntersector* li, size_t segmentIndex, size_t geomIndex)</a> method is called whenever the <a class="el" href="classgeos_1_1noding_1_1Noder.html" title="Computes all intersections between segments in a set of SegmentString. ">Noder</a> detects that two SegmentStrings <em>might</em> intersect. This class is an example of the <em>Strategy</em> pattern. </p>
<p>Definition at line <a class="el" href="IntersectionAdder_8h_source.html#l00057">57</a> of file <a class="el" href="IntersectionAdder_8h_source.html">IntersectionAdder.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a3719249943a6eb77f463aff3511912d8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">geos::noding::IntersectionAdder::IntersectionAdder </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1noding_1_1IntersectionAdder.html">IntersectionAdder</a> &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">delete</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a2261aabc8f21db65c3c6dda7e245c955"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">geos::noding::IntersectionAdder::IntersectionAdder </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgeos_1_1algorithm_1_1LineIntersector.html">algorithm::LineIntersector</a> &amp;&#160;</td>
<td class="paramname"><em>newLi</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="IntersectionAdder_8h_source.html#l00099">99</a> of file <a class="el" href="IntersectionAdder_8h_source.html">IntersectionAdder.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a4f9b105d999b63621d1856e425f98655"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgeos_1_1algorithm_1_1LineIntersector.html">algorithm::LineIntersector</a>&amp; geos::noding::IntersectionAdder::getLineIntersector </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="IntersectionAdder_8h_source.html#l00114">114</a> of file <a class="el" href="IntersectionAdder_8h_source.html">IntersectionAdder.h</a>.</p>
</div>
</div>
<a class="anchor" id="a498656c55fb638a303a02b20b688cbc7"></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_1Coordinate.html">geom::Coordinate</a>&amp; geos::noding::IntersectionAdder::getProperIntersectionPoint </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">
<dl class="section return"><dt>Returns</dt><dd>the proper intersection point, or <code>Coordinate::getNull()</code> if none was found </dd></dl>
<p>Definition at line <a class="el" href="IntersectionAdder_8h_source.html#l00124">124</a> of file <a class="el" href="IntersectionAdder_8h_source.html">IntersectionAdder.h</a>.</p>
</div>
</div>
<a class="anchor" id="a1b2affb36276fc054692f90196204377"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool geos::noding::IntersectionAdder::hasInteriorIntersection </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>An interior intersection is an intersection which is in the interior of some segment. </p>
<p>Definition at line <a class="el" href="IntersectionAdder_8h_source.html#l00165">165</a> of file <a class="el" href="IntersectionAdder_8h_source.html">IntersectionAdder.h</a>.</p>
</div>
</div>
<a class="anchor" id="aa24647fa6f90433ae81c8109beddc829"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool geos::noding::IntersectionAdder::hasIntersection </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="IntersectionAdder_8h_source.html#l00130">130</a> of file <a class="el" href="IntersectionAdder_8h_source.html">IntersectionAdder.h</a>.</p>
</div>
</div>
<a class="anchor" id="a7226f13f231d0a496f0286a42d9e1ea4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool geos::noding::IntersectionAdder::hasProperInteriorIntersection </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>A proper interior intersection is a proper intersection which is <em>not</em> contained in the set of boundary nodes set for this <a class="el" href="classgeos_1_1noding_1_1SegmentIntersector.html" title="Processes possible intersections detected by a Noder. ">SegmentIntersector</a>. </p>
<p>Definition at line <a class="el" href="IntersectionAdder_8h_source.html#l00155">155</a> of file <a class="el" href="IntersectionAdder_8h_source.html">IntersectionAdder.h</a>.</p>
</div>
</div>
<a class="anchor" id="a97e082438a0ca42ab804b7d061a752d3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool geos::noding::IntersectionAdder::hasProperIntersection </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>A proper intersection is an intersection which is interior to at least two line segments. </p>
<p>Note that a proper intersection is not necessarily in the interior of the entire Geometry, since another edge may have an endpoint equal to the intersection, which according to SFS semantics can result in the point being on the Boundary of the Geometry. </p>
<p>Definition at line <a class="el" href="IntersectionAdder_8h_source.html#l00145">145</a> of file <a class="el" href="IntersectionAdder_8h_source.html">IntersectionAdder.h</a>.</p>
</div>
</div>
<a class="anchor" id="a94a898bf97e5b79b7199c0f21c9a5bae"></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::noding::IntersectionAdder::isAdjacentSegments </td>
<td>(</td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>i1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>i2</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="IntersectionAdder_8h_source.html#l00185">185</a> of file <a class="el" href="IntersectionAdder_8h_source.html">IntersectionAdder.h</a>.</p>
</div>
</div>
<a class="anchor" id="a7628f2135fca2b67837ccb1169d5b95a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool geos::noding::IntersectionAdder::isDone </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Always process all intersections. </p>
<dl class="section return"><dt>Returns</dt><dd>false always </dd></dl>
<p>Reimplemented from <a class="el" href="classgeos_1_1noding_1_1SegmentIntersector.html#a2402e2ce3a39edad9f5d283be73b5d1d">geos::noding::SegmentIntersector</a>.</p>
<p>Definition at line <a class="el" href="IntersectionAdder_8h_source.html#l00196">196</a> of file <a class="el" href="IntersectionAdder_8h_source.html">IntersectionAdder.h</a>.</p>
</div>
</div>
<a class="anchor" id="a41ee675831b65837818e43ccbd9027f7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool geos::noding::IntersectionAdder::isTrivialIntersection </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1noding_1_1SegmentString.html">SegmentString</a> *&#160;</td>
<td class="paramname"><em>e0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>segIndex0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classgeos_1_1noding_1_1SegmentString.html">SegmentString</a> *&#160;</td>
<td class="paramname"><em>e1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>segIndex1</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>A trivial intersection is an apparent self-intersection which in fact is simply the point shared by adjacent line segments. Note that closed edges require a special check for the point shared by the beginning and end segments. </p>
</div>
</div>
<a class="anchor" id="a5291ffe490e58abf3770299e88407930"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgeos_1_1noding_1_1IntersectionAdder.html">IntersectionAdder</a>&amp; geos::noding::IntersectionAdder::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1noding_1_1IntersectionAdder.html">IntersectionAdder</a> &amp;&#160;</td>
<td class="paramname"><em>rhs</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">delete</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a26dbd8ecc9501c2092a09bfea2dc2f8c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void geos::noding::IntersectionAdder::processIntersections </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgeos_1_1noding_1_1SegmentString.html">SegmentString</a> *&#160;</td>
<td class="paramname"><em>e0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>segIndex0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classgeos_1_1noding_1_1SegmentString.html">SegmentString</a> *&#160;</td>
<td class="paramname"><em>e1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>segIndex1</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">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method is called by clients of the <a class="el" href="classgeos_1_1noding_1_1SegmentIntersector.html" title="Processes possible intersections detected by a Noder. ">SegmentIntersector</a> class to process intersections for two segments of the SegmentStrings being intersected. </p>
<p>Note that some clients (such as MonotoneChains) may optimize away this call for segment pairs which they have determined do not intersect (e.g. by an disjoint envelope test). </p>
<p>Implements <a class="el" href="classgeos_1_1noding_1_1SegmentIntersector.html#ab37c13c8ccf0a75ad60df76fab4e4175">geos::noding::SegmentIntersector</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a549e1a30ce5877a52ed592e69b95de4c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool geos::noding::IntersectionAdder::hasInterior</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="IntersectionAdder_8h_source.html#l00068">68</a> of file <a class="el" href="IntersectionAdder_8h_source.html">IntersectionAdder.h</a>.</p>
</div>
</div>
<a class="anchor" id="a09085352629b26478b7f23a002b20a9f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool geos::noding::IntersectionAdder::hasIntersectionVar</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>These variables keep track of what types of intersections were found during ALL edges that have been intersected. </p>
<p>Definition at line <a class="el" href="IntersectionAdder_8h_source.html#l00065">65</a> of file <a class="el" href="IntersectionAdder_8h_source.html">IntersectionAdder.h</a>.</p>
</div>
</div>
<a class="anchor" id="aee12520745bd75fb021d44c2893a2f30"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool geos::noding::IntersectionAdder::hasProper</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="IntersectionAdder_8h_source.html#l00066">66</a> of file <a class="el" href="IntersectionAdder_8h_source.html">IntersectionAdder.h</a>.</p>
</div>
</div>
<a class="anchor" id="a8a6fbde0619a02b61e552ec27912bd0e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool geos::noding::IntersectionAdder::hasProperInterior</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="IntersectionAdder_8h_source.html#l00067">67</a> of file <a class="el" href="IntersectionAdder_8h_source.html">IntersectionAdder.h</a>.</p>
</div>
</div>
<a class="anchor" id="a0be21628b72da86ccd6255c9ed99016f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgeos_1_1algorithm_1_1LineIntersector.html">algorithm::LineIntersector</a>&amp; geos::noding::IntersectionAdder::li</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="IntersectionAdder_8h_source.html#l00073">73</a> of file <a class="el" href="IntersectionAdder_8h_source.html">IntersectionAdder.h</a>.</p>
</div>
</div>
<a class="anchor" id="ab075115ac08a8665d94ddabb73008640"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int geos::noding::IntersectionAdder::numInteriorIntersections</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="IntersectionAdder_8h_source.html#l00093">93</a> of file <a class="el" href="IntersectionAdder_8h_source.html">IntersectionAdder.h</a>.</p>
</div>
</div>
<a class="anchor" id="a496dabe962092df690ac70afbe69c9fe"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int geos::noding::IntersectionAdder::numIntersections</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="IntersectionAdder_8h_source.html#l00092">92</a> of file <a class="el" href="IntersectionAdder_8h_source.html">IntersectionAdder.h</a>.</p>
</div>
</div>
<a class="anchor" id="a3da93f0736166f59a1a14bd8e20240fb"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int geos::noding::IntersectionAdder::numProperIntersections</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="IntersectionAdder_8h_source.html#l00094">94</a> of file <a class="el" href="IntersectionAdder_8h_source.html">IntersectionAdder.h</a>.</p>
</div>
</div>
<a class="anchor" id="a3ca6ef03f448f707e9fb8cdbb652a8bc"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int geos::noding::IntersectionAdder::numTests</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="IntersectionAdder_8h_source.html#l00097">97</a> of file <a class="el" href="IntersectionAdder_8h_source.html">IntersectionAdder.h</a>.</p>
</div>
</div>
<a class="anchor" id="a4ff685e031eb3b908503f316124bcaaa"></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_1Coordinate.html">geom::Coordinate</a> geos::noding::IntersectionAdder::properIntersectionPoint</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="IntersectionAdder_8h_source.html#l00071">71</a> of file <a class="el" href="IntersectionAdder_8h_source.html">IntersectionAdder.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="IntersectionAdder_8h_source.html">IntersectionAdder.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>