geos_390_docs/classgeos_1_1noding_1_1Vali...

273 lines
16 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::ValidatingNoder 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_1ValidatingNoder.html">ValidatingNoder</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classgeos_1_1noding_1_1ValidatingNoder-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">geos::noding::ValidatingNoder Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="ValidatingNoder_8h_source.html">ValidatingNoder.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for geos::noding::ValidatingNoder:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classgeos_1_1noding_1_1ValidatingNoder__inherit__graph.svg" width="186" 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::ValidatingNoder:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classgeos_1_1noding_1_1ValidatingNoder__coll__graph.svg" width="186" 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>
<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:a62302b1cafc2524fd9d9f9ff9026a5a6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1noding_1_1ValidatingNoder.html#a62302b1cafc2524fd9d9f9ff9026a5a6">ValidatingNoder</a> (<a class="el" href="classgeos_1_1noding_1_1Noder.html">Noder</a> &amp;noderArg)</td></tr>
<tr class="separator:a62302b1cafc2524fd9d9f9ff9026a5a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5706fc6562cd5343f8b1e75d2f08632"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1noding_1_1ValidatingNoder.html#af5706fc6562cd5343f8b1e75d2f08632">computeNodes</a> (std::vector&lt; <a class="el" href="classgeos_1_1noding_1_1SegmentString.html">SegmentString</a> * &gt; *segStrings) override</td></tr>
<tr class="memdesc:af5706fc6562cd5343f8b1e75d2f08632"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the noding for a collection of <a class="el" href="classgeos_1_1noding_1_1SegmentString.html">SegmentStrings</a>. <a href="#af5706fc6562cd5343f8b1e75d2f08632">More...</a><br /></td></tr>
<tr class="separator:af5706fc6562cd5343f8b1e75d2f08632"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae579e757603d7ced56b0fc393f4c24eb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1noding_1_1ValidatingNoder.html#ae579e757603d7ced56b0fc393f4c24eb">validate</a> ()</td></tr>
<tr class="separator:ae579e757603d7ced56b0fc393f4c24eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadcf7eddd70de502862bc266132503e9"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classgeos_1_1noding_1_1SegmentString.html">SegmentString</a> * &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1noding_1_1ValidatingNoder.html#aadcf7eddd70de502862bc266132503e9">getNodedSubstrings</a> () const override</td></tr>
<tr class="memdesc:aadcf7eddd70de502862bc266132503e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a collection of fully noded <a class="el" href="classgeos_1_1noding_1_1SegmentString.html">SegmentStrings</a>. The SegmentStrings have the same context as their parent. <a href="#aadcf7eddd70de502862bc266132503e9">More...</a><br /></td></tr>
<tr class="separator:aadcf7eddd70de502862bc266132503e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgeos_1_1noding_1_1Noder"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgeos_1_1noding_1_1Noder')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgeos_1_1noding_1_1Noder.html">geos::noding::Noder</a></td></tr>
<tr class="memitem:a51af7a896051686b867d1e6aac6f8387 inherit pub_methods_classgeos_1_1noding_1_1Noder"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1noding_1_1Noder.html#a51af7a896051686b867d1e6aac6f8387">~Noder</a> ()</td></tr>
<tr class="separator:a51af7a896051686b867d1e6aac6f8387 inherit pub_methods_classgeos_1_1noding_1_1Noder"><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:ac5734b3d56b5d3323d91681266558326"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classgeos_1_1noding_1_1SegmentString.html">SegmentString</a> * &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1noding_1_1ValidatingNoder.html#ac5734b3d56b5d3323d91681266558326">nodedSS</a></td></tr>
<tr class="separator:ac5734b3d56b5d3323d91681266558326"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acce09e21209df7f5fe338bb20014bd85"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1noding_1_1Noder.html">noding::Noder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1noding_1_1ValidatingNoder.html#acce09e21209df7f5fe338bb20014bd85">noder</a></td></tr>
<tr class="separator:acce09e21209df7f5fe338bb20014bd85"><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_1Noder"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classgeos_1_1noding_1_1Noder')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classgeos_1_1noding_1_1Noder.html">geos::noding::Noder</a></td></tr>
<tr class="memitem:a44ae3fde11fa58e6f3637ebd67f6571e inherit pro_methods_classgeos_1_1noding_1_1Noder"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1noding_1_1Noder.html#a44ae3fde11fa58e6f3637ebd67f6571e">Noder</a> ()</td></tr>
<tr class="separator:a44ae3fde11fa58e6f3637ebd67f6571e inherit pro_methods_classgeos_1_1noding_1_1Noder"><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 wrapper for <a class="el" href="classgeos_1_1noding_1_1Noder.html">noding::Noder</a>s which validates the output arrangement is correctly noded. An arrangement of line segments is fully noded if there is no line segment which has another segment intersecting its interior. If the noding is not correct, a <a class="el" href="classgeos_1_1util_1_1TopologyException.html">util::TopologyException</a> is thrown with details of the first invalid location found.</p>
<dl class="section author"><dt>Author</dt><dd>mdavis</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classgeos_1_1noding_1_1FastNodingValidator.html" title="Validates that a collection of SegmentStrings is correctly noded. ">FastNodingValidator</a> </dd></dl>
<p>Definition at line <a class="el" href="ValidatingNoder_8h_source.html#l00050">50</a> of file <a class="el" href="ValidatingNoder_8h_source.html">ValidatingNoder.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a62302b1cafc2524fd9d9f9ff9026a5a6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">geos::noding::ValidatingNoder::ValidatingNoder </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgeos_1_1noding_1_1Noder.html">Noder</a> &amp;&#160;</td>
<td class="paramname"><em>noderArg</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="ValidatingNoder_8h_source.html#l00060">60</a> of file <a class="el" href="ValidatingNoder_8h_source.html">ValidatingNoder.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="af5706fc6562cd5343f8b1e75d2f08632"></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::ValidatingNoder::computeNodes </td>
<td>(</td>
<td class="paramtype">std::vector&lt; <a class="el" href="classgeos_1_1noding_1_1SegmentString.html">SegmentString</a> * &gt; *&#160;</td>
<td class="paramname"><em>segStrings</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Computes the noding for a collection of <a class="el" href="classgeos_1_1noding_1_1SegmentString.html">SegmentStrings</a>. </p>
<p>Some Noders may add all these nodes to the input SegmentStrings; others may only add some or none at all.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">segStrings</td><td>a collection of <a class="el" href="classgeos_1_1noding_1_1SegmentString.html">SegmentString</a>s to node The caller remains responsible for releasing the memory associated with the container and its elements. </td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="classgeos_1_1noding_1_1Noder.html#a42da20658cf8a969a1cbb15fd2de725d">geos::noding::Noder</a>.</p>
</div>
</div>
<a class="anchor" id="aadcf7eddd70de502862bc266132503e9"></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_1noding_1_1SegmentString.html">SegmentString</a>*&gt;* geos::noding::ValidatingNoder::getNodedSubstrings </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">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a collection of fully noded <a class="el" href="classgeos_1_1noding_1_1SegmentString.html">SegmentStrings</a>. The SegmentStrings have the same context as their parent. </p>
<dl class="section return"><dt>Returns</dt><dd>a newly allocated std::vector of newly allocated SegmentStrings (copies of input, if needs be). Caller is responsible to delete container and elements. </dd></dl>
<p>Implements <a class="el" href="classgeos_1_1noding_1_1Noder.html#a47dfe5a95741c2c9809d94f8ba39fa89">geos::noding::Noder</a>.</p>
</div>
</div>
<a class="anchor" id="ae579e757603d7ced56b0fc393f4c24eb"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void geos::noding::ValidatingNoder::validate </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="ac5734b3d56b5d3323d91681266558326"></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_1noding_1_1SegmentString.html">SegmentString</a>*&gt;* geos::noding::ValidatingNoder::nodedSS</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="ValidatingNoder_8h_source.html#l00054">54</a> of file <a class="el" href="ValidatingNoder_8h_source.html">ValidatingNoder.h</a>.</p>
</div>
</div>
<a class="anchor" id="acce09e21209df7f5fe338bb20014bd85"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgeos_1_1noding_1_1Noder.html">noding::Noder</a>&amp; geos::noding::ValidatingNoder::noder</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="ValidatingNoder_8h_source.html#l00055">55</a> of file <a class="el" href="ValidatingNoder_8h_source.html">ValidatingNoder.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="ValidatingNoder_8h_source.html">ValidatingNoder.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>