geos_390_docs/classgeos_1_1algorithm_1_1d...

590 lines
32 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::algorithm::distance::DiscreteHausdorffDistance 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_1algorithm.html">algorithm</a></li><li class="navelem"><a class="el" href="namespacegeos_1_1algorithm_1_1distance.html">distance</a></li><li class="navelem"><a class="el" href="classgeos_1_1algorithm_1_1distance_1_1DiscreteHausdorffDistance.html">DiscreteHausdorffDistance</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classgeos_1_1algorithm_1_1distance_1_1DiscreteHausdorffDistance-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">geos::algorithm::distance::DiscreteHausdorffDistance Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>An algorithm for computing a distance metric which is an approximation to the Hausdorff <a class="el" href="classgeos_1_1algorithm_1_1Distance.html" title="Functions to compute distance between basic geometric structures. ">Distance</a> based on a discretization of the input <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a>.
<a href="classgeos_1_1algorithm_1_1distance_1_1DiscreteHausdorffDistance.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="DiscreteHausdorffDistance_8h_source.html">DiscreteHausdorffDistance.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for geos::algorithm::distance::DiscreteHausdorffDistance:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="classgeos_1_1algorithm_1_1distance_1_1DiscreteHausdorffDistance__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="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1algorithm_1_1distance_1_1DiscreteHausdorffDistance_1_1MaxDensifiedByFractionDistanceFilter.html">MaxDensifiedByFractionDistanceFilter</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1algorithm_1_1distance_1_1DiscreteHausdorffDistance_1_1MaxPointDistanceFilter.html">MaxPointDistanceFilter</a></td></tr>
<tr class="separator:"><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:a691035954eb6881c7124b9d55716bfa0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1algorithm_1_1distance_1_1DiscreteHausdorffDistance.html#a691035954eb6881c7124b9d55716bfa0">DiscreteHausdorffDistance</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> &amp;p_g0, const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> &amp;p_g1)</td></tr>
<tr class="separator:a691035954eb6881c7124b9d55716bfa0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83c84f436933402aae360a3115336416"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1algorithm_1_1distance_1_1DiscreteHausdorffDistance.html#a83c84f436933402aae360a3115336416">setDensifyFraction</a> (double dFrac)</td></tr>
<tr class="separator:a83c84f436933402aae360a3115336416"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7089843f2a6cdcf015509b4dba1d8d42"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1algorithm_1_1distance_1_1DiscreteHausdorffDistance.html#a7089843f2a6cdcf015509b4dba1d8d42">distance</a> ()</td></tr>
<tr class="separator:a7089843f2a6cdcf015509b4dba1d8d42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a520ffe124732bb78c7fcf53f8a837bd4"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1algorithm_1_1distance_1_1DiscreteHausdorffDistance.html#a520ffe124732bb78c7fcf53f8a837bd4">orientedDistance</a> ()</td></tr>
<tr class="separator:a520ffe124732bb78c7fcf53f8a837bd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a967ff354d3827af9100e36bdd0cf5a1a"><td class="memItemLeft" align="right" valign="top">const std::array&lt; <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a>, 2 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1algorithm_1_1distance_1_1DiscreteHausdorffDistance.html#a967ff354d3827af9100e36bdd0cf5a1a">getCoordinates</a> () const </td></tr>
<tr class="separator:a967ff354d3827af9100e36bdd0cf5a1a"><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:abfe80c59bd22ce6617af00c37be98348"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1algorithm_1_1distance_1_1DiscreteHausdorffDistance.html#abfe80c59bd22ce6617af00c37be98348">distance</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> &amp;<a class="el" href="classgeos_1_1algorithm_1_1distance_1_1DiscreteHausdorffDistance.html#a434b0a3504600af240b06e3bb0f339d3">g0</a>, const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> &amp;<a class="el" href="classgeos_1_1algorithm_1_1distance_1_1DiscreteHausdorffDistance.html#aa722ddab0619dbac0bed81f867f30486">g1</a>)</td></tr>
<tr class="separator:abfe80c59bd22ce6617af00c37be98348"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aebc8cecc70327b0c19e75c87a64be699"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1algorithm_1_1distance_1_1DiscreteHausdorffDistance.html#aebc8cecc70327b0c19e75c87a64be699">distance</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> &amp;<a class="el" href="classgeos_1_1algorithm_1_1distance_1_1DiscreteHausdorffDistance.html#a434b0a3504600af240b06e3bb0f339d3">g0</a>, const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> &amp;<a class="el" href="classgeos_1_1algorithm_1_1distance_1_1DiscreteHausdorffDistance.html#aa722ddab0619dbac0bed81f867f30486">g1</a>, double <a class="el" href="classgeos_1_1algorithm_1_1distance_1_1DiscreteHausdorffDistance.html#a1c590ce8beb97d43640f6f7aaaa199e7">densifyFrac</a>)</td></tr>
<tr class="separator:aebc8cecc70327b0c19e75c87a64be699"><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:a428ab7f8452ef062aae509758824ae26"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1algorithm_1_1distance_1_1DiscreteHausdorffDistance.html#a428ab7f8452ef062aae509758824ae26">compute</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> &amp;p_g0, const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> &amp;p_g1)</td></tr>
<tr class="separator:a428ab7f8452ef062aae509758824ae26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aefed03f035f99633cc285bd3ebf36011"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1algorithm_1_1distance_1_1DiscreteHausdorffDistance.html#aefed03f035f99633cc285bd3ebf36011">computeOrientedDistance</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> &amp;discreteGeom, const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> &amp;geom, <a class="el" href="classgeos_1_1algorithm_1_1distance_1_1PointPairDistance.html">PointPairDistance</a> &amp;<a class="el" href="classgeos_1_1algorithm_1_1distance_1_1DiscreteHausdorffDistance.html#a19241129e23cb5666b78292807754016">ptDist</a>)</td></tr>
<tr class="separator:aefed03f035f99633cc285bd3ebf36011"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f508ed084457d1d5f5e0c9ba22f12d3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1algorithm_1_1distance_1_1DiscreteHausdorffDistance.html#a7f508ed084457d1d5f5e0c9ba22f12d3">DiscreteHausdorffDistance</a> (const <a class="el" href="classgeos_1_1algorithm_1_1distance_1_1DiscreteHausdorffDistance.html">DiscreteHausdorffDistance</a> &amp;other)=delete</td></tr>
<tr class="separator:a7f508ed084457d1d5f5e0c9ba22f12d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5bd1dae7730905c71b945a7797e210bc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1algorithm_1_1distance_1_1DiscreteHausdorffDistance.html">DiscreteHausdorffDistance</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1algorithm_1_1distance_1_1DiscreteHausdorffDistance.html#a5bd1dae7730905c71b945a7797e210bc">operator=</a> (const <a class="el" href="classgeos_1_1algorithm_1_1distance_1_1DiscreteHausdorffDistance.html">DiscreteHausdorffDistance</a> &amp;rhs)=delete</td></tr>
<tr class="separator:a5bd1dae7730905c71b945a7797e210bc"><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:a434b0a3504600af240b06e3bb0f339d3"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1algorithm_1_1distance_1_1DiscreteHausdorffDistance.html#a434b0a3504600af240b06e3bb0f339d3">g0</a></td></tr>
<tr class="separator:a434b0a3504600af240b06e3bb0f339d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa722ddab0619dbac0bed81f867f30486"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1algorithm_1_1distance_1_1DiscreteHausdorffDistance.html#aa722ddab0619dbac0bed81f867f30486">g1</a></td></tr>
<tr class="separator:aa722ddab0619dbac0bed81f867f30486"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19241129e23cb5666b78292807754016"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1algorithm_1_1distance_1_1PointPairDistance.html">PointPairDistance</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1algorithm_1_1distance_1_1DiscreteHausdorffDistance.html#a19241129e23cb5666b78292807754016">ptDist</a></td></tr>
<tr class="separator:a19241129e23cb5666b78292807754016"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c590ce8beb97d43640f6f7aaaa199e7"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1algorithm_1_1distance_1_1DiscreteHausdorffDistance.html#a1c590ce8beb97d43640f6f7aaaa199e7">densifyFrac</a></td></tr>
<tr class="memdesc:a1c590ce8beb97d43640f6f7aaaa199e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Value of 0.0 indicates that no densification should take place. <a href="#a1c590ce8beb97d43640f6f7aaaa199e7">More...</a><br /></td></tr>
<tr class="separator:a1c590ce8beb97d43640f6f7aaaa199e7"><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>An algorithm for computing a distance metric which is an approximation to the Hausdorff <a class="el" href="classgeos_1_1algorithm_1_1Distance.html" title="Functions to compute distance between basic geometric structures. ">Distance</a> based on a discretization of the input <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a>. </p>
<p>The algorithm computes the Hausdorff distance restricted to discrete points for one of the geometries. The points can be either the vertices of the geometries (the default), or the geometries with line segments densified by a given fraction. Also determines two points of the Geometries which are separated by the computed distance.</p>
<p>This algorithm is an approximation to the standard Hausdorff distance. Specifically, </p><pre>
for all geometries a, b: DHD(a, b) &lt;= HD(a, b)
</pre><p> The approximation can be made as close as needed by densifying the input geometries. In the limit, this value will approach the true Hausdorff distance: </p><pre>
DHD(A, B, densifyFactor) -&gt; HD(A, B) as densifyFactor -&gt; 0.0
</pre><p> The default approximation is exact or close enough for a large subset of useful cases. Examples of these are:</p>
<ul>
<li>computing distance between Linestrings that are roughly parallel to each other, and roughly equal in length. This occurs in matching linear networks.</li>
<li>Testing similarity of geometries.</li>
</ul>
<p>An example where the default approximation is not close is: </p><pre>
A = LINESTRING (0 0, 100 0, 10 100, 10 100)
B = LINESTRING (0 100, 0 10, 80 10)</pre><pre> DHD(A, B) = 22.360679774997898
HD(A, B) ~= 47.8
</pre>
<p>Definition at line <a class="el" href="DiscreteHausdorffDistance_8h_source.html#l00100">100</a> of file <a class="el" href="DiscreteHausdorffDistance_8h_source.html">DiscreteHausdorffDistance.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a691035954eb6881c7124b9d55716bfa0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">geos::algorithm::distance::DiscreteHausdorffDistance::DiscreteHausdorffDistance </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> &amp;&#160;</td>
<td class="paramname"><em>p_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> &amp;&#160;</td>
<td class="paramname"><em>p_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">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="DiscreteHausdorffDistance_8h_source.html#l00109">109</a> of file <a class="el" href="DiscreteHausdorffDistance_8h_source.html">DiscreteHausdorffDistance.h</a>.</p>
</div>
</div>
<a class="anchor" id="a7f508ed084457d1d5f5e0c9ba22f12d3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">geos::algorithm::distance::DiscreteHausdorffDistance::DiscreteHausdorffDistance </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1algorithm_1_1distance_1_1DiscreteHausdorffDistance.html">DiscreteHausdorffDistance</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>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a428ab7f8452ef062aae509758824ae26"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void geos::algorithm::distance::DiscreteHausdorffDistance::compute </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> &amp;&#160;</td>
<td class="paramname"><em>p_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> &amp;&#160;</td>
<td class="paramname"><em>p_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">inline</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="DiscreteHausdorffDistance_8h_source.html#l00237">237</a> of file <a class="el" href="DiscreteHausdorffDistance_8h_source.html">DiscreteHausdorffDistance.h</a>.</p>
</div>
</div>
<a class="anchor" id="aefed03f035f99633cc285bd3ebf36011"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void geos::algorithm::distance::DiscreteHausdorffDistance::computeOrientedDistance </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> &amp;&#160;</td>
<td class="paramname"><em>discreteGeom</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> &amp;&#160;</td>
<td class="paramname"><em>geom</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classgeos_1_1algorithm_1_1distance_1_1PointPairDistance.html">PointPairDistance</a> &amp;&#160;</td>
<td class="paramname"><em>ptDist</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="abfe80c59bd22ce6617af00c37be98348"></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::algorithm::distance::DiscreteHausdorffDistance::distance </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> &amp;&#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> &amp;&#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> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aebc8cecc70327b0c19e75c87a64be699"></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::algorithm::distance::DiscreteHausdorffDistance::distance </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> &amp;&#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> &amp;&#160;</td>
<td class="paramname"><em>g1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>densifyFrac</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">
</div>
</div>
<a class="anchor" id="a7089843f2a6cdcf015509b4dba1d8d42"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">double geos::algorithm::distance::DiscreteHausdorffDistance::distance </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="DiscreteHausdorffDistance_8h_source.html#l00138">138</a> of file <a class="el" href="DiscreteHausdorffDistance_8h_source.html">DiscreteHausdorffDistance.h</a>.</p>
</div>
</div>
<a class="anchor" id="a967ff354d3827af9100e36bdd0cf5a1a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const std::array&lt;<a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a>, 2&gt; geos::algorithm::distance::DiscreteHausdorffDistance::getCoordinates </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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="DiscreteHausdorffDistance_8h_source.html#l00152">152</a> of file <a class="el" href="DiscreteHausdorffDistance_8h_source.html">DiscreteHausdorffDistance.h</a>.</p>
</div>
</div>
<a class="anchor" id="a5bd1dae7730905c71b945a7797e210bc"></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_1distance_1_1DiscreteHausdorffDistance.html">DiscreteHausdorffDistance</a>&amp; geos::algorithm::distance::DiscreteHausdorffDistance::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1algorithm_1_1distance_1_1DiscreteHausdorffDistance.html">DiscreteHausdorffDistance</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="a520ffe124732bb78c7fcf53f8a837bd4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">double geos::algorithm::distance::DiscreteHausdorffDistance::orientedDistance </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="DiscreteHausdorffDistance_8h_source.html#l00145">145</a> of file <a class="el" href="DiscreteHausdorffDistance_8h_source.html">DiscreteHausdorffDistance.h</a>.</p>
</div>
</div>
<a class="anchor" id="a83c84f436933402aae360a3115336416"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void geos::algorithm::distance::DiscreteHausdorffDistance::setDensifyFraction </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>dFrac</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>Sets the fraction by which to densify each segment. Each segment will be (virtually) split into a number of equal-length subsegments, whose fraction of the total length is closest to the given fraction.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">dFrac</td><td></td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="DiscreteHausdorffDistance_8h_source.html#l00127">127</a> of file <a class="el" href="DiscreteHausdorffDistance_8h_source.html">DiscreteHausdorffDistance.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a1c590ce8beb97d43640f6f7aaaa199e7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">double geos::algorithm::distance::DiscreteHausdorffDistance::densifyFrac</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>Value of 0.0 indicates that no densification should take place. </p>
<p>Definition at line <a class="el" href="DiscreteHausdorffDistance_8h_source.html#l00255">255</a> of file <a class="el" href="DiscreteHausdorffDistance_8h_source.html">DiscreteHausdorffDistance.h</a>.</p>
</div>
</div>
<a class="anchor" id="a434b0a3504600af240b06e3bb0f339d3"></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_1Geometry.html">geom::Geometry</a>&amp; geos::algorithm::distance::DiscreteHausdorffDistance::g0</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="DiscreteHausdorffDistance_8h_source.html#l00248">248</a> of file <a class="el" href="DiscreteHausdorffDistance_8h_source.html">DiscreteHausdorffDistance.h</a>.</p>
</div>
</div>
<a class="anchor" id="aa722ddab0619dbac0bed81f867f30486"></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_1Geometry.html">geom::Geometry</a>&amp; geos::algorithm::distance::DiscreteHausdorffDistance::g1</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="DiscreteHausdorffDistance_8h_source.html#l00250">250</a> of file <a class="el" href="DiscreteHausdorffDistance_8h_source.html">DiscreteHausdorffDistance.h</a>.</p>
</div>
</div>
<a class="anchor" id="a19241129e23cb5666b78292807754016"></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_1distance_1_1PointPairDistance.html">PointPairDistance</a> geos::algorithm::distance::DiscreteHausdorffDistance::ptDist</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="DiscreteHausdorffDistance_8h_source.html#l00252">252</a> of file <a class="el" href="DiscreteHausdorffDistance_8h_source.html">DiscreteHausdorffDistance.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="DiscreteHausdorffDistance_8h_source.html">DiscreteHausdorffDistance.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>