geos_390_docs/classgeos_1_1geom_1_1prep_1...

625 lines
42 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::geom::prep::PreparedGeometry 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_1geom.html">geom</a></li><li class="navelem"><a class="el" href="namespacegeos_1_1geom_1_1prep.html">prep</a></li><li class="navelem"><a class="el" href="classgeos_1_1geom_1_1prep_1_1PreparedGeometry.html">PreparedGeometry</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classgeos_1_1geom_1_1prep_1_1PreparedGeometry-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">geos::geom::prep::PreparedGeometry Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
</div><!--header-->
<div class="contents">
<p>An interface for classes which prepare <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>s in order to optimize the performance of repeated calls to specific geometric operations.
<a href="classgeos_1_1geom_1_1prep_1_1PreparedGeometry.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="PreparedGeometry_8h_source.html">PreparedGeometry.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for geos::geom::prep::PreparedGeometry:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="classgeos_1_1geom_1_1prep_1_1PreparedGeometry__inherit__graph.svg" width="100%" height="443"><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:abf0605e7228d7a4b4f4541caea670993"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1prep_1_1PreparedGeometry.html#abf0605e7228d7a4b4f4541caea670993">~PreparedGeometry</a> ()</td></tr>
<tr class="separator:abf0605e7228d7a4b4f4541caea670993"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5e467731267877794c461e91609a035"><td class="memItemLeft" align="right" valign="top">virtual 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_1geom_1_1prep_1_1PreparedGeometry.html#ab5e467731267877794c461e91609a035">getGeometry</a> () const =0</td></tr>
<tr class="memdesc:ab5e467731267877794c461e91609a035"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the original <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> which has been prepared. <a href="#ab5e467731267877794c461e91609a035">More...</a><br /></td></tr>
<tr class="separator:ab5e467731267877794c461e91609a035"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18be2527cd5f01479f658ad27d7b89e9"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1prep_1_1PreparedGeometry.html#a18be2527cd5f01479f658ad27d7b89e9">contains</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *geom) const =0</td></tr>
<tr class="memdesc:a18be2527cd5f01479f658ad27d7b89e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests whether the base <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> contains a given geometry. <a href="#a18be2527cd5f01479f658ad27d7b89e9">More...</a><br /></td></tr>
<tr class="separator:a18be2527cd5f01479f658ad27d7b89e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a371c2321555ca375fd6726f8a44fdf20"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1prep_1_1PreparedGeometry.html#a371c2321555ca375fd6726f8a44fdf20">containsProperly</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *geom) const =0</td></tr>
<tr class="memdesc:a371c2321555ca375fd6726f8a44fdf20"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests whether the base <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> properly contains a given geometry. <a href="#a371c2321555ca375fd6726f8a44fdf20">More...</a><br /></td></tr>
<tr class="separator:a371c2321555ca375fd6726f8a44fdf20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24c940cef46fcc8c067c628335cd727d"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1prep_1_1PreparedGeometry.html#a24c940cef46fcc8c067c628335cd727d">coveredBy</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *geom) const =0</td></tr>
<tr class="memdesc:a24c940cef46fcc8c067c628335cd727d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests whether the base <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> is covered by a given geometry. <a href="#a24c940cef46fcc8c067c628335cd727d">More...</a><br /></td></tr>
<tr class="separator:a24c940cef46fcc8c067c628335cd727d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c64d1365d88a6b56074b7cfdcca6557"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1prep_1_1PreparedGeometry.html#a8c64d1365d88a6b56074b7cfdcca6557">covers</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *geom) const =0</td></tr>
<tr class="memdesc:a8c64d1365d88a6b56074b7cfdcca6557"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests whether the base <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> covers a given geometry. <a href="#a8c64d1365d88a6b56074b7cfdcca6557">More...</a><br /></td></tr>
<tr class="separator:a8c64d1365d88a6b56074b7cfdcca6557"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64d1274f40934ead8f9e29211e67a75a"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1prep_1_1PreparedGeometry.html#a64d1274f40934ead8f9e29211e67a75a">crosses</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *geom) const =0</td></tr>
<tr class="memdesc:a64d1274f40934ead8f9e29211e67a75a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests whether the base <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> crosses a given geometry. <a href="#a64d1274f40934ead8f9e29211e67a75a">More...</a><br /></td></tr>
<tr class="separator:a64d1274f40934ead8f9e29211e67a75a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53a9bed0039bded4b7d291f999f90db2"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1prep_1_1PreparedGeometry.html#a53a9bed0039bded4b7d291f999f90db2">disjoint</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *geom) const =0</td></tr>
<tr class="memdesc:a53a9bed0039bded4b7d291f999f90db2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests whether the base <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> is disjoint from a given geometry. <a href="#a53a9bed0039bded4b7d291f999f90db2">More...</a><br /></td></tr>
<tr class="separator:a53a9bed0039bded4b7d291f999f90db2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05f062f6af7ad3f600069500aaacde93"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1prep_1_1PreparedGeometry.html#a05f062f6af7ad3f600069500aaacde93">intersects</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *geom) const =0</td></tr>
<tr class="memdesc:a05f062f6af7ad3f600069500aaacde93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests whether the base <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> intersects a given geometry. <a href="#a05f062f6af7ad3f600069500aaacde93">More...</a><br /></td></tr>
<tr class="separator:a05f062f6af7ad3f600069500aaacde93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b9ebc778a38d3007439f40b7f3df2ac"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1prep_1_1PreparedGeometry.html#a2b9ebc778a38d3007439f40b7f3df2ac">overlaps</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *geom) const =0</td></tr>
<tr class="memdesc:a2b9ebc778a38d3007439f40b7f3df2ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests whether the base <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> overlaps a given geometry. <a href="#a2b9ebc778a38d3007439f40b7f3df2ac">More...</a><br /></td></tr>
<tr class="separator:a2b9ebc778a38d3007439f40b7f3df2ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a927bb37d80b3fe6820be5d73d6315525"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1prep_1_1PreparedGeometry.html#a927bb37d80b3fe6820be5d73d6315525">touches</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *geom) const =0</td></tr>
<tr class="memdesc:a927bb37d80b3fe6820be5d73d6315525"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests whether the base <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> touches a given geometry. <a href="#a927bb37d80b3fe6820be5d73d6315525">More...</a><br /></td></tr>
<tr class="separator:a927bb37d80b3fe6820be5d73d6315525"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a2db04339bde105d820253995ffd428"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1prep_1_1PreparedGeometry.html#a7a2db04339bde105d820253995ffd428">within</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *geom) const =0</td></tr>
<tr class="memdesc:a7a2db04339bde105d820253995ffd428"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests whether the base <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> is within a given geometry. <a href="#a7a2db04339bde105d820253995ffd428">More...</a><br /></td></tr>
<tr class="separator:a7a2db04339bde105d820253995ffd428"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b507d3e24ed29a88b055c311d289807"><td class="memItemLeft" align="right" valign="top">virtual std::unique_ptr&lt; <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">geom::CoordinateSequence</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1prep_1_1PreparedGeometry.html#a4b507d3e24ed29a88b055c311d289807">nearestPoints</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *geom) const =0</td></tr>
<tr class="memdesc:a4b507d3e24ed29a88b055c311d289807"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the nearest locations on the base <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> and the given geometry. <a href="#a4b507d3e24ed29a88b055c311d289807">More...</a><br /></td></tr>
<tr class="separator:a4b507d3e24ed29a88b055c311d289807"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab8b9f273f2b6597a9feacfcdd195973a"><td class="memItemLeft" align="right" valign="top">virtual double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1prep_1_1PreparedGeometry.html#ab8b9f273f2b6597a9feacfcdd195973a">distance</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *geom) const =0</td></tr>
<tr class="memdesc:ab8b9f273f2b6597a9feacfcdd195973a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the minimum distance between the base <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> and the given geometry. <a href="#ab8b9f273f2b6597a9feacfcdd195973a">More...</a><br /></td></tr>
<tr class="separator:ab8b9f273f2b6597a9feacfcdd195973a"><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 interface for classes which prepare <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>s in order to optimize the performance of repeated calls to specific geometric operations. </p>
<p>A given implementation may provide optimized implementations for only some of the specified methods, and delegate the remaining methods to the original <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> operations. An implementation may also only optimize certain situations, and delegate others. See the implementing classes for documentation about which methods and situations they optimize. </p>
<p>Definition at line <a class="el" href="PreparedGeometry_8h_source.html#l00057">57</a> of file <a class="el" href="PreparedGeometry_8h_source.html">PreparedGeometry.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="abf0605e7228d7a4b4f4541caea670993"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual geos::geom::prep::PreparedGeometry::~PreparedGeometry </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 class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="PreparedGeometry_8h_source.html#l00060">60</a> of file <a class="el" href="PreparedGeometry_8h_source.html">PreparedGeometry.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a18be2527cd5f01479f658ad27d7b89e9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool geos::geom::prep::PreparedGeometry::contains </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *&#160;</td>
<td class="paramname"><em>geom</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Tests whether the base <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> contains a given geometry. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">geom</td><td>the <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory. ">Geometry</a> to test </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if this <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory. ">Geometry</a> contains the given <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory. ">Geometry</a></dd></dl>
<dl class="section see"><dt>See also</dt><dd>Geometry::contains(Geometry) </dd></dl>
<p>Implemented in <a class="el" href="classgeos_1_1geom_1_1prep_1_1BasicPreparedGeometry.html#a7417fc2dae1879bcc49a1f69468aedbb">geos::geom::prep::BasicPreparedGeometry</a>, and <a class="el" href="classgeos_1_1geom_1_1prep_1_1PreparedPolygon.html#a8ae78c4dfd3bb73f609dec54410369b9">geos::geom::prep::PreparedPolygon</a>.</p>
</div>
</div>
<a class="anchor" id="a371c2321555ca375fd6726f8a44fdf20"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool geos::geom::prep::PreparedGeometry::containsProperly </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *&#160;</td>
<td class="paramname"><em>geom</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Tests whether the base <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> properly contains a given geometry. </p>
<p>The <code>containsProperly</code> predicate has the following equivalent definitions:</p>
<ul>
<li>Every point of the other geometry is a point of this geometry's interior.</li>
<li>The DE-9IM Intersection Matrix for the two geometries matches <code>[T**FF*FF*]</code></li>
</ul>
<p>In other words, if the test geometry has any interaction with the boundary of the target geometry the result of <code>containsProperly</code> is <code>false</code>. This is different semantics to the <a class="el" href="classgeos_1_1geom_1_1Geometry.html#a5a1244c6b1d1e9ab823a282692d06cb9">Geometry::contains</a> predicate, in which test geometries can intersect the target's boundary and still be contained.</p>
<p>The advantage of using this predicate is that it can be computed efficiently, since it avoids the need to compute the full topological relationship of the input boundaries in cases where they intersect.</p>
<p>An example use case is computing the intersections of a set of geometries with a large polygonal geometry. Since <code>intersection</code> is a fairly slow operation, it can be more efficient to use <code>containsProperly</code> to filter out test geometries which lie wholly inside the area. In these cases the intersection is known <em>a priori</em> to be exactly the original test geometry.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">geom</td><td>the <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory. ">Geometry</a> to test </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if this <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory. ">Geometry</a> properly contains the given <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory. ">Geometry</a></dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classgeos_1_1geom_1_1Geometry.html#a5a1244c6b1d1e9ab823a282692d06cb9" title="Returns true if other.within(this) returns true. ">Geometry::contains</a> </dd></dl>
<p>Implemented in <a class="el" href="classgeos_1_1geom_1_1prep_1_1BasicPreparedGeometry.html#afb079ffcde7ce04d0a7e51e5d0970f31">geos::geom::prep::BasicPreparedGeometry</a>, and <a class="el" href="classgeos_1_1geom_1_1prep_1_1PreparedPolygon.html#ab47a4f238e196e5f87eaea9db1bd981b">geos::geom::prep::PreparedPolygon</a>.</p>
</div>
</div>
<a class="anchor" id="a24c940cef46fcc8c067c628335cd727d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool geos::geom::prep::PreparedGeometry::coveredBy </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *&#160;</td>
<td class="paramname"><em>geom</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Tests whether the base <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> is covered by a given geometry. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">geom</td><td>the <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory. ">Geometry</a> to test </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if this <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory. ">Geometry</a> is covered by the given <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory. ">Geometry</a></dd></dl>
<dl class="section see"><dt>See also</dt><dd>Geometry::coveredBy(Geometry) </dd></dl>
<p>Implemented in <a class="el" href="classgeos_1_1geom_1_1prep_1_1BasicPreparedGeometry.html#a3530b24af764d284eaf31412fbfdd701">geos::geom::prep::BasicPreparedGeometry</a>.</p>
</div>
</div>
<a class="anchor" id="a8c64d1365d88a6b56074b7cfdcca6557"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool geos::geom::prep::PreparedGeometry::covers </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *&#160;</td>
<td class="paramname"><em>geom</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Tests whether the base <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> covers a given geometry. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">geom</td><td>the <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory. ">Geometry</a> to test </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if this <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory. ">Geometry</a> covers the given <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory. ">Geometry</a></dd></dl>
<dl class="section see"><dt>See also</dt><dd>Geometry::covers(Geometry) </dd></dl>
<p>Implemented in <a class="el" href="classgeos_1_1geom_1_1prep_1_1BasicPreparedGeometry.html#a1a63567d1fcb73567f1abfc1dad39e93">geos::geom::prep::BasicPreparedGeometry</a>, and <a class="el" href="classgeos_1_1geom_1_1prep_1_1PreparedPolygon.html#a9e73c3f54809e8ce10a21515cc141924">geos::geom::prep::PreparedPolygon</a>.</p>
</div>
</div>
<a class="anchor" id="a64d1274f40934ead8f9e29211e67a75a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool geos::geom::prep::PreparedGeometry::crosses </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *&#160;</td>
<td class="paramname"><em>geom</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Tests whether the base <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> crosses a given geometry. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">geom</td><td>the <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory. ">Geometry</a> to test </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if this <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory. ">Geometry</a> crosses the given <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory. ">Geometry</a></dd></dl>
<dl class="section see"><dt>See also</dt><dd>Geometry::crosses(Geometry) </dd></dl>
<p>Implemented in <a class="el" href="classgeos_1_1geom_1_1prep_1_1BasicPreparedGeometry.html#ad1535db9ffb311e814616905503ed064">geos::geom::prep::BasicPreparedGeometry</a>.</p>
</div>
</div>
<a class="anchor" id="a53a9bed0039bded4b7d291f999f90db2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool geos::geom::prep::PreparedGeometry::disjoint </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *&#160;</td>
<td class="paramname"><em>geom</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Tests whether the base <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> is disjoint from a given geometry. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">geom</td><td>the <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory. ">Geometry</a> to test </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if this <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory. ">Geometry</a> is disjoint from the given <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory. ">Geometry</a></dd></dl>
<dl class="section see"><dt>See also</dt><dd>Geometry::disjoint(Geometry) </dd></dl>
<p>Implemented in <a class="el" href="classgeos_1_1geom_1_1prep_1_1BasicPreparedGeometry.html#ae820eb7967c5a9de2963cb9c00714d0e">geos::geom::prep::BasicPreparedGeometry</a>.</p>
</div>
</div>
<a class="anchor" id="ab8b9f273f2b6597a9feacfcdd195973a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual double geos::geom::prep::PreparedGeometry::distance </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *&#160;</td>
<td class="paramname"><em>geom</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Compute the minimum distance between the base <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> and the given geometry. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">geom</td><td>the <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory. ">Geometry</a> to compute the distance to </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the minimum distance between the two geometries </dd></dl>
<p>Implemented in <a class="el" href="classgeos_1_1geom_1_1prep_1_1BasicPreparedGeometry.html#a96605754786187a8a8cc9ee167053411">geos::geom::prep::BasicPreparedGeometry</a>, <a class="el" href="classgeos_1_1geom_1_1prep_1_1PreparedPolygon.html#a2ae73533c60e4b4785b3378aca971dcb">geos::geom::prep::PreparedPolygon</a>, and <a class="el" href="classgeos_1_1geom_1_1prep_1_1PreparedLineString.html#ac8798ad999e6e17d69da1c51e2902b7c">geos::geom::prep::PreparedLineString</a>.</p>
</div>
</div>
<a class="anchor" id="ab5e467731267877794c461e91609a035"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a>&amp; geos::geom::prep::PreparedGeometry::getGeometry </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">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the original <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> which has been prepared. </p>
<dl class="section return"><dt>Returns</dt><dd>the base geometry </dd></dl>
<p>Implemented in <a class="el" href="classgeos_1_1geom_1_1prep_1_1BasicPreparedGeometry.html#a15dcf8aebf8089c3fe035543ea460348">geos::geom::prep::BasicPreparedGeometry</a>.</p>
</div>
</div>
<a class="anchor" id="a05f062f6af7ad3f600069500aaacde93"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool geos::geom::prep::PreparedGeometry::intersects </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *&#160;</td>
<td class="paramname"><em>geom</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Tests whether the base <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> intersects a given geometry. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">geom</td><td>the <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory. ">Geometry</a> to test </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if this <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory. ">Geometry</a> intersects the given <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory. ">Geometry</a></dd></dl>
<dl class="section see"><dt>See also</dt><dd>Geometry::intersects(Geometry) </dd></dl>
<p>Implemented in <a class="el" href="classgeos_1_1geom_1_1prep_1_1BasicPreparedGeometry.html#a5e0570d2e70a0234c8fa20febdda33f7">geos::geom::prep::BasicPreparedGeometry</a>, <a class="el" href="classgeos_1_1geom_1_1prep_1_1PreparedPolygon.html#a7a1e6c0d0de46a4a6bdb55e9c03ec579">geos::geom::prep::PreparedPolygon</a>, <a class="el" href="classgeos_1_1geom_1_1prep_1_1PreparedLineString.html#a3916569335b2783e40fb4e3037c04c05">geos::geom::prep::PreparedLineString</a>, and <a class="el" href="classgeos_1_1geom_1_1prep_1_1PreparedPoint.html#a1013685aa26c1359224e860dac4abee3">geos::geom::prep::PreparedPoint</a>.</p>
</div>
</div>
<a class="anchor" id="a4b507d3e24ed29a88b055c311d289807"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual std::unique_ptr&lt;<a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">geom::CoordinateSequence</a>&gt; geos::geom::prep::PreparedGeometry::nearestPoints </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *&#160;</td>
<td class="paramname"><em>geom</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Compute the nearest locations on the base <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> and the given geometry. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">geom</td><td>the <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory. ">Geometry</a> to compute the nearest point to </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true the nearest points </dd></dl>
<p>Implemented in <a class="el" href="classgeos_1_1geom_1_1prep_1_1BasicPreparedGeometry.html#ab230303197319276462ae44dae7980ba">geos::geom::prep::BasicPreparedGeometry</a>, and <a class="el" href="classgeos_1_1geom_1_1prep_1_1PreparedLineString.html#a023e1f1fb8bc1eaa1e69be4091344939">geos::geom::prep::PreparedLineString</a>.</p>
</div>
</div>
<a class="anchor" id="a2b9ebc778a38d3007439f40b7f3df2ac"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool geos::geom::prep::PreparedGeometry::overlaps </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *&#160;</td>
<td class="paramname"><em>geom</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Tests whether the base <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> overlaps a given geometry. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">geom</td><td>the <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory. ">Geometry</a> to test </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if this <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory. ">Geometry</a> overlaps the given <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory. ">Geometry</a></dd></dl>
<dl class="section see"><dt>See also</dt><dd>Geometry::overlaps(Geometry) </dd></dl>
<p>Implemented in <a class="el" href="classgeos_1_1geom_1_1prep_1_1BasicPreparedGeometry.html#ada0bc0ee51cecbb570329bb19da6166e">geos::geom::prep::BasicPreparedGeometry</a>.</p>
</div>
</div>
<a class="anchor" id="a927bb37d80b3fe6820be5d73d6315525"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool geos::geom::prep::PreparedGeometry::touches </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *&#160;</td>
<td class="paramname"><em>geom</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Tests whether the base <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> touches a given geometry. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">geom</td><td>the <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory. ">Geometry</a> to test </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if this <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory. ">Geometry</a> touches the given <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory. ">Geometry</a></dd></dl>
<dl class="section see"><dt>See also</dt><dd>Geometry::touches(Geometry) </dd></dl>
<p>Implemented in <a class="el" href="classgeos_1_1geom_1_1prep_1_1BasicPreparedGeometry.html#acea3e74ee926bc155dab23b2ad7cacda">geos::geom::prep::BasicPreparedGeometry</a>.</p>
</div>
</div>
<a class="anchor" id="a7a2db04339bde105d820253995ffd428"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool geos::geom::prep::PreparedGeometry::within </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *&#160;</td>
<td class="paramname"><em>geom</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Tests whether the base <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> is within a given geometry. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">geom</td><td>the <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory. ">Geometry</a> to test </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if this <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory. ">Geometry</a> is within the given <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory. ">Geometry</a></dd></dl>
<dl class="section see"><dt>See also</dt><dd>Geometry::within(Geometry) </dd></dl>
<p>Implemented in <a class="el" href="classgeos_1_1geom_1_1prep_1_1BasicPreparedGeometry.html#ae0622be9b88507d7f08757276490a632">geos::geom::prep::BasicPreparedGeometry</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="PreparedGeometry_8h_source.html">PreparedGeometry.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>