geos_390_docs/classgeos_1_1index_1_1strtr...

1212 lines
60 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::index::strtree::SimpleSTRtree 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_1index.html">index</a></li><li class="navelem"><a class="el" href="namespacegeos_1_1index_1_1strtree.html">strtree</a></li><li class="navelem"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html">SimpleSTRtree</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">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-static-methods">Static Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">geos::index::strtree::SimpleSTRtree Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>A query-only R-tree created using the Sort-Tile-Recursive (STR) algorithm. For two-dimensional spatial data.
<a href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="SimpleSTRtree_8h_source.html">SimpleSTRtree.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for geos::index::strtree::SimpleSTRtree:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree__inherit__graph.svg" width="194" 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::index::strtree::SimpleSTRtree:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree__coll__graph.svg" width="430" height="364"><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:a2eb1b89f166844c7a5785f3fecc07fa9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html#a2eb1b89f166844c7a5785f3fecc07fa9">SimpleSTRtree</a> (std::size_t capacity=10)</td></tr>
<tr class="separator:a2eb1b89f166844c7a5785f3fecc07fa9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acde08a65abf0217c28cebb4790e40de9"><td class="memItemLeft" align="right" valign="top">std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html#acde08a65abf0217c28cebb4790e40de9">getNodeCapacity</a> () const </td></tr>
<tr class="separator:acde08a65abf0217c28cebb4790e40de9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5886726f3492ca1a4faf9cbcb0b17c8e"><td class="memItemLeft" align="right" valign="top">std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html#a5886726f3492ca1a4faf9cbcb0b17c8e">getNumLeafNodes</a> () const </td></tr>
<tr class="separator:a5886726f3492ca1a4faf9cbcb0b17c8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97280c129b343681e6dce67f514f926b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html#a97280c129b343681e6dce67f514f926b">getBuilt</a> () const </td></tr>
<tr class="separator:a97280c129b343681e6dce67f514f926b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc3bb14df05f9caf9b5c528f0745107f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRnode.html">SimpleSTRnode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html#afc3bb14df05f9caf9b5c528f0745107f">getRoot</a> ()</td></tr>
<tr class="separator:afc3bb14df05f9caf9b5c528f0745107f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a41d49fa80e479e15be26f75932b4bdc9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html#a41d49fa80e479e15be26f75932b4bdc9">insert</a> (<a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *geom)</td></tr>
<tr class="separator:a41d49fa80e479e15be26f75932b4bdc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72054c47a12ba5bf1190a8ab23fc7cd9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html#a72054c47a12ba5bf1190a8ab23fc7cd9">insert</a> (const <a class="el" href="classgeos_1_1geom_1_1Envelope.html">geom::Envelope</a> *itemEnv, void *item) override</td></tr>
<tr class="memdesc:a72054c47a12ba5bf1190a8ab23fc7cd9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a spatial item with an extent specified by the given Envelope to the index. <a href="#a72054c47a12ba5bf1190a8ab23fc7cd9">More...</a><br /></td></tr>
<tr class="separator:a72054c47a12ba5bf1190a8ab23fc7cd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a537f2afa997e2d8d6afc584b4ce6d64b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html#a537f2afa997e2d8d6afc584b4ce6d64b">iterate</a> (<a class="el" href="classgeos_1_1index_1_1ItemVisitor.html">ItemVisitor</a> &amp;visitor)</td></tr>
<tr class="separator:a537f2afa997e2d8d6afc584b4ce6d64b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3cf8152f97246edd336f6ed54b5a5568"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html#a3cf8152f97246edd336f6ed54b5a5568">query</a> (const <a class="el" href="classgeos_1_1geom_1_1Envelope.html">geom::Envelope</a> *searchEnv, std::vector&lt; void * &gt; &amp;matches) override</td></tr>
<tr class="memdesc:a3cf8152f97246edd336f6ed54b5a5568"><td class="mdescLeft">&#160;</td><td class="mdescRight">Queries the index for all items whose extents intersect the given search Envelope. <a href="#a3cf8152f97246edd336f6ed54b5a5568">More...</a><br /></td></tr>
<tr class="separator:a3cf8152f97246edd336f6ed54b5a5568"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38c10b235bc266141f3d561f714f67c5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html#a38c10b235bc266141f3d561f714f67c5">query</a> (const <a class="el" href="classgeos_1_1geom_1_1Envelope.html">geom::Envelope</a> *searchEnv, <a class="el" href="classgeos_1_1index_1_1ItemVisitor.html">ItemVisitor</a> &amp;visitor) override</td></tr>
<tr class="memdesc:a38c10b235bc266141f3d561f714f67c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Queries the index for all items whose extents intersect the given search Envelope and applies an <a class="el" href="classgeos_1_1index_1_1ItemVisitor.html" title="A visitor for items in an index. ">ItemVisitor</a> to them. <a href="#a38c10b235bc266141f3d561f714f67c5">More...</a><br /></td></tr>
<tr class="separator:a38c10b235bc266141f3d561f714f67c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01f981639612d817a82d80be421c27ff"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html#a01f981639612d817a82d80be421c27ff">remove</a> (const <a class="el" href="classgeos_1_1geom_1_1Envelope.html">geom::Envelope</a> *searchBounds, void *item) override</td></tr>
<tr class="memdesc:a01f981639612d817a82d80be421c27ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes a single item from the tree. <a href="#a01f981639612d817a82d80be421c27ff">More...</a><br /></td></tr>
<tr class="separator:a01f981639612d817a82d80be421c27ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfbcc0b29d39988e834b38b44ecdefac"><td class="memItemLeft" align="right" valign="top">std::pair&lt; const void *, const void * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html#adfbcc0b29d39988e834b38b44ecdefac">nearestNeighbour</a> (<a class="el" href="classgeos_1_1index_1_1strtree_1_1ItemDistance.html">ItemDistance</a> *itemDist)</td></tr>
<tr class="separator:adfbcc0b29d39988e834b38b44ecdefac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d404b5d3c2f9b0b5d37aae869b16709"><td class="memItemLeft" align="right" valign="top">const void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html#a1d404b5d3c2f9b0b5d37aae869b16709">nearestNeighbour</a> (const <a class="el" href="classgeos_1_1geom_1_1Envelope.html">geom::Envelope</a> *env, const void *item, <a class="el" href="classgeos_1_1index_1_1strtree_1_1ItemDistance.html">ItemDistance</a> *itemDist)</td></tr>
<tr class="separator:a1d404b5d3c2f9b0b5d37aae869b16709"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afed205bd618d28a266f89a71b842ea80"><td class="memItemLeft" align="right" valign="top">std::pair&lt; const void *, const void * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html#afed205bd618d28a266f89a71b842ea80">nearestNeighbour</a> (<a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html">SimpleSTRtree</a> &amp;tree, <a class="el" href="classgeos_1_1index_1_1strtree_1_1ItemDistance.html">ItemDistance</a> *itemDist)</td></tr>
<tr class="separator:afed205bd618d28a266f89a71b842ea80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0edf1babba7aa29aac01d3a53a6550bb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html#a0edf1babba7aa29aac01d3a53a6550bb">isWithinDistance</a> (<a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html">SimpleSTRtree</a> &amp;tree, <a class="el" href="classgeos_1_1index_1_1strtree_1_1ItemDistance.html">ItemDistance</a> *itemDist, double maxDistance)</td></tr>
<tr class="separator:a0edf1babba7aa29aac01d3a53a6550bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgeos_1_1index_1_1SpatialIndex"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgeos_1_1index_1_1SpatialIndex')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgeos_1_1index_1_1SpatialIndex.html">geos::index::SpatialIndex</a></td></tr>
<tr class="memitem:a877d6b8da4c0b28041aeb94297e7021c inherit pub_methods_classgeos_1_1index_1_1SpatialIndex"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1SpatialIndex.html#a877d6b8da4c0b28041aeb94297e7021c">~SpatialIndex</a> ()</td></tr>
<tr class="separator:a877d6b8da4c0b28041aeb94297e7021c inherit pub_methods_classgeos_1_1index_1_1SpatialIndex"><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:a3ee90ba6106bdd32ae6b1a5190e13211"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRnode.html">SimpleSTRnode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html#a3ee90ba6106bdd32ae6b1a5190e13211">root</a></td></tr>
<tr class="separator:a3ee90ba6106bdd32ae6b1a5190e13211"><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:a79a1f8abc4dd05f025f49cdc762a168c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRnode.html">SimpleSTRnode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html#a79a1f8abc4dd05f025f49cdc762a168c">createNode</a> (int newLevel, const <a class="el" href="classgeos_1_1geom_1_1Envelope.html">geom::Envelope</a> *itemEnv, void *item)</td></tr>
<tr class="separator:a79a1f8abc4dd05f025f49cdc762a168c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ec6a9edffd64bd59b69eae0d7e8d038"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRnode.html">SimpleSTRnode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html#a0ec6a9edffd64bd59b69eae0d7e8d038">createNode</a> (int newLevel)</td></tr>
<tr class="separator:a0ec6a9edffd64bd59b69eae0d7e8d038"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f3a49cb8c516f7936eb0bd3f5c65cbe"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html#a2f3a49cb8c516f7936eb0bd3f5c65cbe">build</a> ()</td></tr>
<tr class="separator:a2f3a49cb8c516f7936eb0bd3f5c65cbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ac985a9a44591c7a7c88b68fcbc1979"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html#a1ac985a9a44591c7a7c88b68fcbc1979">query</a> (const <a class="el" href="classgeos_1_1geom_1_1Envelope.html">geom::Envelope</a> *searchEnv, const <a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRnode.html">SimpleSTRnode</a> *node, <a class="el" href="classgeos_1_1index_1_1ItemVisitor.html">ItemVisitor</a> &amp;visitor)</td></tr>
<tr class="separator:a1ac985a9a44591c7a7c88b68fcbc1979"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02b65eb4135a48ab84fd11acf1630842"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html#a02b65eb4135a48ab84fd11acf1630842">query</a> (const <a class="el" href="classgeos_1_1geom_1_1Envelope.html">geom::Envelope</a> *searchEnv, const <a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRnode.html">SimpleSTRnode</a> *node, std::vector&lt; void * &gt; &amp;matches)</td></tr>
<tr class="separator:a02b65eb4135a48ab84fd11acf1630842"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94fec0468ee4ff6d3b84c60687501f37"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html#a94fec0468ee4ff6d3b84c60687501f37">SimpleSTRtree</a> (const <a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html">SimpleSTRtree</a> &amp;)=delete</td></tr>
<tr class="separator:a94fec0468ee4ff6d3b84c60687501f37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10cc3d5bebde05c06771fb6bcd1b7e26"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html">SimpleSTRtree</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html#a10cc3d5bebde05c06771fb6bcd1b7e26">operator=</a> (const <a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html">SimpleSTRtree</a> &amp;)=delete</td></tr>
<tr class="separator:a10cc3d5bebde05c06771fb6bcd1b7e26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c07d7bf7de51c837e66eed8e73f4718"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRnode.html">SimpleSTRnode</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html#a7c07d7bf7de51c837e66eed8e73f4718">createHigherLevels</a> (std::vector&lt; <a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRnode.html">SimpleSTRnode</a> * &gt; &amp;nodesOfALevel, int level)</td></tr>
<tr class="separator:a7c07d7bf7de51c837e66eed8e73f4718"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ea1235abb2a0c42133868658f1be77f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html#a6ea1235abb2a0c42133868658f1be77f">addParentNodesFromVerticalSlice</a> (std::vector&lt; <a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRnode.html">SimpleSTRnode</a> * &gt; &amp;verticalSlice, int newLevel, std::vector&lt; <a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRnode.html">SimpleSTRnode</a> * &gt; &amp;parentNodes)</td></tr>
<tr class="separator:a6ea1235abb2a0c42133868658f1be77f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe5ee849a130f7e6fe9ad6e393f97868"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRnode.html">SimpleSTRnode</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html#abe5ee849a130f7e6fe9ad6e393f97868">createParentNodes</a> (std::vector&lt; <a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRnode.html">SimpleSTRnode</a> * &gt; &amp;childNodes, int newLevel)</td></tr>
<tr class="separator:abe5ee849a130f7e6fe9ad6e393f97868"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6162aa9a770b6aeff1aad01d4050a42c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html#a6162aa9a770b6aeff1aad01d4050a42c">remove</a> (const <a class="el" href="classgeos_1_1geom_1_1Envelope.html">geom::Envelope</a> *searchBounds, <a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRnode.html">SimpleSTRnode</a> *node, void *item)</td></tr>
<tr class="separator:a6162aa9a770b6aeff1aad01d4050a42c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-static-methods"></a>
Static Private Member Functions</h2></td></tr>
<tr class="memitem:af4b1f2d15dd76fe813910f251b447c29"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html#af4b1f2d15dd76fe813910f251b447c29">sortNodesY</a> (std::vector&lt; <a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRnode.html">SimpleSTRnode</a> * &gt; &amp;nodeList)</td></tr>
<tr class="separator:af4b1f2d15dd76fe813910f251b447c29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a617a40b854bea2ddf70cf48100dfa9a3"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html#a617a40b854bea2ddf70cf48100dfa9a3">sortNodesX</a> (std::vector&lt; <a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRnode.html">SimpleSTRnode</a> * &gt; &amp;nodeList)</td></tr>
<tr class="separator:a617a40b854bea2ddf70cf48100dfa9a3"><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:ad5d8d2a7ac993b65c5c1b20d46de07da"><td class="memItemLeft" align="right" valign="top">std::deque&lt; <a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRnode.html">SimpleSTRnode</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html#ad5d8d2a7ac993b65c5c1b20d46de07da">nodesQue</a></td></tr>
<tr class="separator:ad5d8d2a7ac993b65c5c1b20d46de07da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a399ab7a3fb5f70cbb04e33ec1c1ad219"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRnode.html">SimpleSTRnode</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html#a399ab7a3fb5f70cbb04e33ec1c1ad219">nodes</a></td></tr>
<tr class="separator:a399ab7a3fb5f70cbb04e33ec1c1ad219"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f1fbe00217a22d2a65f6111813ebd19"><td class="memItemLeft" align="right" valign="top">std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html#a6f1fbe00217a22d2a65f6111813ebd19">nodeCapacity</a></td></tr>
<tr class="separator:a6f1fbe00217a22d2a65f6111813ebd19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82affc7544a7e0750a93897d9d54e66e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html#a82affc7544a7e0750a93897d9d54e66e">built</a></td></tr>
<tr class="separator:a82affc7544a7e0750a93897d9d54e66e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:a3f5b37e0d80e6547069de3c74b0fb815"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html#a3f5b37e0d80e6547069de3c74b0fb815">operator&lt;&lt;</a> (std::ostream &amp;os, const <a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html">SimpleSTRtree</a> &amp;tree)</td></tr>
<tr class="separator:a3f5b37e0d80e6547069de3c74b0fb815"><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 query-only R-tree created using the Sort-Tile-Recursive (STR) algorithm. For two-dimensional spatial data. </p>
<p>The STR packed R-tree is simple to implement and maximizes space utilization; that is, as many leaves as possible are filled to capacity. Overlap between nodes is far less than in a basic R-tree. However, once the tree has been built (explicitly or on the first call to query), items may not be added or removed.</p>
<p>Described in: P. Rigaux, Michel Scholl and Agnes Voisard. Spatial Databases With Application To GIS. Morgan Kaufmann, San Francisco, 2002. </p>
<p>Definition at line <a class="el" href="SimpleSTRtree_8h_source.html#l00065">65</a> of file <a class="el" href="SimpleSTRtree_8h_source.html">SimpleSTRtree.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a94fec0468ee4ff6d3b84c60687501f37"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">geos::index::strtree::SimpleSTRtree::SimpleSTRtree </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html">SimpleSTRtree</a> &amp;&#160;</td>
<td class="paramname"></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="a2eb1b89f166844c7a5785f3fecc07fa9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">geos::index::strtree::SimpleSTRtree::SimpleSTRtree </td>
<td>(</td>
<td class="paramtype">std::size_t&#160;</td>
<td class="paramname"><em>capacity</em> = <code>10</code></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>Constructs an <a class="el" href="classgeos_1_1index_1_1strtree_1_1STRtree.html" title="A query-only R-tree created using the Sort-Tile-Recursive (STR) algorithm. For two-dimensional spatia...">STRtree</a> with the given maximum number of child nodes that a node may have </p>
<p>Definition at line <a class="el" href="SimpleSTRtree_8h_source.html#l00120">120</a> of file <a class="el" href="SimpleSTRtree_8h_source.html">SimpleSTRtree.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a6ea1235abb2a0c42133868658f1be77f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void geos::index::strtree::SimpleSTRtree::addParentNodesFromVerticalSlice </td>
<td>(</td>
<td class="paramtype">std::vector&lt; <a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRnode.html">SimpleSTRnode</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>verticalSlice</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>newLevel</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRnode.html">SimpleSTRnode</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>parentNodes</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="a2f3a49cb8c516f7936eb0bd3f5c65cbe"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void geos::index::strtree::SimpleSTRtree::build </td>
<td>(</td>
<td class="paramname"></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="a7c07d7bf7de51c837e66eed8e73f4718"></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_1index_1_1strtree_1_1SimpleSTRnode.html">SimpleSTRnode</a>*&gt; geos::index::strtree::SimpleSTRtree::createHigherLevels </td>
<td>(</td>
<td class="paramtype">std::vector&lt; <a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRnode.html">SimpleSTRnode</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>nodesOfALevel</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>level</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="a79a1f8abc4dd05f025f49cdc762a168c"></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_1index_1_1strtree_1_1SimpleSTRnode.html">SimpleSTRnode</a>* geos::index::strtree::SimpleSTRtree::createNode </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>newLevel</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Envelope.html">geom::Envelope</a> *&#160;</td>
<td class="paramname"><em>itemEnv</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>item</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="a0ec6a9edffd64bd59b69eae0d7e8d038"></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_1index_1_1strtree_1_1SimpleSTRnode.html">SimpleSTRnode</a>* geos::index::strtree::SimpleSTRtree::createNode </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>newLevel</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="abe5ee849a130f7e6fe9ad6e393f97868"></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_1index_1_1strtree_1_1SimpleSTRnode.html">SimpleSTRnode</a>*&gt; geos::index::strtree::SimpleSTRtree::createParentNodes </td>
<td>(</td>
<td class="paramtype">std::vector&lt; <a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRnode.html">SimpleSTRnode</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>childNodes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>newLevel</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="a97280c129b343681e6dce67f514f926b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool geos::index::strtree::SimpleSTRtree::getBuilt </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="SimpleSTRtree_8h_source.html#l00139">139</a> of file <a class="el" href="SimpleSTRtree_8h_source.html">SimpleSTRtree.h</a>.</p>
</div>
</div>
<a class="anchor" id="acde08a65abf0217c28cebb4790e40de9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::size_t geos::index::strtree::SimpleSTRtree::getNodeCapacity </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="SimpleSTRtree_8h_source.html#l00126">126</a> of file <a class="el" href="SimpleSTRtree_8h_source.html">SimpleSTRtree.h</a>.</p>
</div>
</div>
<a class="anchor" id="a5886726f3492ca1a4faf9cbcb0b17c8e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::size_t geos::index::strtree::SimpleSTRtree::getNumLeafNodes </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="SimpleSTRtree_8h_source.html#l00130">130</a> of file <a class="el" href="SimpleSTRtree_8h_source.html">SimpleSTRtree.h</a>.</p>
<p>References <a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRnode.html#a5cbe8f5d6139728874f9672f00252cfe">geos::index::strtree::SimpleSTRnode::getNumLeafNodes()</a>.</p>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree_a5886726f3492ca1a4faf9cbcb0b17c8e_cgraph.svg" width="498" height="71"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</p>
</div>
</div>
<a class="anchor" id="afc3bb14df05f9caf9b5c528f0745107f"></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_1index_1_1strtree_1_1SimpleSTRnode.html">SimpleSTRnode</a>* geos::index::strtree::SimpleSTRtree::getRoot </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="SimpleSTRtree_8h_source.html#l00143">143</a> of file <a class="el" href="SimpleSTRtree_8h_source.html">SimpleSTRtree.h</a>.</p>
<p>References <a class="el" href="namespacegeos_1_1geom.html#a2031e0143940407ca589d3216cf0eb06">geos::geom::operator&lt;&lt;()</a>.</p>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree_afc3bb14df05f9caf9b5c528f0745107f_cgraph.svg" width="424" height="55"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</p>
</div>
</div>
<a class="anchor" id="a41d49fa80e479e15be26f75932b4bdc9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void geos::index::strtree::SimpleSTRtree::insert </td>
<td>(</td>
<td class="paramtype"><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></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a72054c47a12ba5bf1190a8ab23fc7cd9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void geos::index::strtree::SimpleSTRtree::insert </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Envelope.html">geom::Envelope</a> *&#160;</td>
<td class="paramname"><em>itemEnv</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>item</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>Adds a spatial item with an extent specified by the given Envelope to the index. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">itemEnv</td><td>Envelope of the item, ownership left to caller. TODO: Reference hold by this class ?</td></tr>
<tr><td class="paramname">item</td><td>Opaque item, ownership left to caller. Reference hold by this class. </td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="classgeos_1_1index_1_1SpatialIndex.html#aaac40880b4fbc4a32d1d0aba1d679117">geos::index::SpatialIndex</a>.</p>
</div>
</div>
<a class="anchor" id="a0edf1babba7aa29aac01d3a53a6550bb"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool geos::index::strtree::SimpleSTRtree::isWithinDistance </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html">SimpleSTRtree</a> &amp;&#160;</td>
<td class="paramname"><em>tree</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classgeos_1_1index_1_1strtree_1_1ItemDistance.html">ItemDistance</a> *&#160;</td>
<td class="paramname"><em>itemDist</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>maxDistance</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a537f2afa997e2d8d6afc584b4ce6d64b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void geos::index::strtree::SimpleSTRtree::iterate </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgeos_1_1index_1_1ItemVisitor.html">ItemVisitor</a> &amp;&#160;</td>
<td class="paramname"><em>visitor</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="adfbcc0b29d39988e834b38b44ecdefac"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::pair&lt;const void*, const void*&gt; geos::index::strtree::SimpleSTRtree::nearestNeighbour </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgeos_1_1index_1_1strtree_1_1ItemDistance.html">ItemDistance</a> *&#160;</td>
<td class="paramname"><em>itemDist</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a1d404b5d3c2f9b0b5d37aae869b16709"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const void* geos::index::strtree::SimpleSTRtree::nearestNeighbour </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Envelope.html">geom::Envelope</a> *&#160;</td>
<td class="paramname"><em>env</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const void *&#160;</td>
<td class="paramname"><em>item</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classgeos_1_1index_1_1strtree_1_1ItemDistance.html">ItemDistance</a> *&#160;</td>
<td class="paramname"><em>itemDist</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="afed205bd618d28a266f89a71b842ea80"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::pair&lt;const void*, const void*&gt; geos::index::strtree::SimpleSTRtree::nearestNeighbour </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html">SimpleSTRtree</a> &amp;&#160;</td>
<td class="paramname"><em>tree</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classgeos_1_1index_1_1strtree_1_1ItemDistance.html">ItemDistance</a> *&#160;</td>
<td class="paramname"><em>itemDist</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a10cc3d5bebde05c06771fb6bcd1b7e26"></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_1index_1_1strtree_1_1SimpleSTRtree.html">SimpleSTRtree</a>&amp; geos::index::strtree::SimpleSTRtree::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html">SimpleSTRtree</a> &amp;&#160;</td>
<td class="paramname"></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="a1ac985a9a44591c7a7c88b68fcbc1979"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void geos::index::strtree::SimpleSTRtree::query </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Envelope.html">geom::Envelope</a> *&#160;</td>
<td class="paramname"><em>searchEnv</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRnode.html">SimpleSTRnode</a> *&#160;</td>
<td class="paramname"><em>node</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classgeos_1_1index_1_1ItemVisitor.html">ItemVisitor</a> &amp;&#160;</td>
<td class="paramname"><em>visitor</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="a02b65eb4135a48ab84fd11acf1630842"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void geos::index::strtree::SimpleSTRtree::query </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Envelope.html">geom::Envelope</a> *&#160;</td>
<td class="paramname"><em>searchEnv</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRnode.html">SimpleSTRnode</a> *&#160;</td>
<td class="paramname"><em>node</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; void * &gt; &amp;&#160;</td>
<td class="paramname"><em>matches</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="a3cf8152f97246edd336f6ed54b5a5568"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void geos::index::strtree::SimpleSTRtree::query </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Envelope.html">geom::Envelope</a> *&#160;</td>
<td class="paramname"><em>searchEnv</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; void * &gt; &amp;&#160;</td>
<td class="paramname">&#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>Queries the index for all items whose extents intersect the given search Envelope. </p>
<p>Note that some kinds of indexes may also return objects which do not in fact intersect the query envelope.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">searchEnv</td><td>the envelope to query for </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a list of the items found by the query in a newly allocated vector </dd></dl>
<p>Implements <a class="el" href="classgeos_1_1index_1_1SpatialIndex.html#aec3aa2aafa2eff5679c75388afb34ab2">geos::index::SpatialIndex</a>.</p>
</div>
</div>
<a class="anchor" id="a38c10b235bc266141f3d561f714f67c5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void geos::index::strtree::SimpleSTRtree::query </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Envelope.html">geom::Envelope</a> *&#160;</td>
<td class="paramname"><em>searchEnv</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classgeos_1_1index_1_1ItemVisitor.html">ItemVisitor</a> &amp;&#160;</td>
<td class="paramname"><em>visitor</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>Queries the index for all items whose extents intersect the given search Envelope and applies an <a class="el" href="classgeos_1_1index_1_1ItemVisitor.html" title="A visitor for items in an index. ">ItemVisitor</a> to them. </p>
<p>Note that some kinds of indexes may also return objects which do not in fact intersect the query envelope.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">searchEnv</td><td>the envelope to query for </td></tr>
<tr><td class="paramname">visitor</td><td>a visitor object to apply to the items found </td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="classgeos_1_1index_1_1SpatialIndex.html#ab79a4e1da4835cbfa030f25867effcde">geos::index::SpatialIndex</a>.</p>
</div>
</div>
<a class="anchor" id="a6162aa9a770b6aeff1aad01d4050a42c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool geos::index::strtree::SimpleSTRtree::remove </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Envelope.html">geom::Envelope</a> *&#160;</td>
<td class="paramname"><em>searchBounds</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRnode.html">SimpleSTRnode</a> *&#160;</td>
<td class="paramname"><em>node</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>item</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="a01f981639612d817a82d80be421c27ff"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool geos::index::strtree::SimpleSTRtree::remove </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Envelope.html">geom::Envelope</a> *&#160;</td>
<td class="paramname"><em>itemEnv</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>item</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>Removes a single item from the tree. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">itemEnv</td><td>the Envelope of the item to remove </td></tr>
<tr><td class="paramname">item</td><td>the item to remove </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if the item was found </dd></dl>
<p>Implements <a class="el" href="classgeos_1_1index_1_1SpatialIndex.html#a70adf500577ec4c6a595d3d26196eb04">geos::index::SpatialIndex</a>.</p>
</div>
</div>
<a class="anchor" id="a617a40b854bea2ddf70cf48100dfa9a3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void geos::index::strtree::SimpleSTRtree::sortNodesX </td>
<td>(</td>
<td class="paramtype">std::vector&lt; <a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRnode.html">SimpleSTRnode</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>nodeList</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="af4b1f2d15dd76fe813910f251b447c29"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void geos::index::strtree::SimpleSTRtree::sortNodesY </td>
<td>(</td>
<td class="paramtype">std::vector&lt; <a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRnode.html">SimpleSTRnode</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>nodeList</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a class="anchor" id="a3f5b37e0d80e6547069de3c74b0fb815"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::ostream&amp; operator&lt;&lt; </td>
<td>(</td>
<td class="paramtype">std::ostream &amp;&#160;</td>
<td class="paramname"><em>os</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRtree.html">SimpleSTRtree</a> &amp;&#160;</td>
<td class="paramname"><em>tree</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a82affc7544a7e0750a93897d9d54e66e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool geos::index::strtree::SimpleSTRtree::built</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="SimpleSTRtree_8h_source.html#l00074">74</a> of file <a class="el" href="SimpleSTRtree_8h_source.html">SimpleSTRtree.h</a>.</p>
</div>
</div>
<a class="anchor" id="a6f1fbe00217a22d2a65f6111813ebd19"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::size_t geos::index::strtree::SimpleSTRtree::nodeCapacity</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="SimpleSTRtree_8h_source.html#l00073">73</a> of file <a class="el" href="SimpleSTRtree_8h_source.html">SimpleSTRtree.h</a>.</p>
</div>
</div>
<a class="anchor" id="a399ab7a3fb5f70cbb04e33ec1c1ad219"></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_1index_1_1strtree_1_1SimpleSTRnode.html">SimpleSTRnode</a>*&gt; geos::index::strtree::SimpleSTRtree::nodes</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="SimpleSTRtree_8h_source.html#l00072">72</a> of file <a class="el" href="SimpleSTRtree_8h_source.html">SimpleSTRtree.h</a>.</p>
</div>
</div>
<a class="anchor" id="ad5d8d2a7ac993b65c5c1b20d46de07da"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::deque&lt;<a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRnode.html">SimpleSTRnode</a>&gt; geos::index::strtree::SimpleSTRtree::nodesQue</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="SimpleSTRtree_8h_source.html#l00071">71</a> of file <a class="el" href="SimpleSTRtree_8h_source.html">SimpleSTRtree.h</a>.</p>
</div>
</div>
<a class="anchor" id="a3ee90ba6106bdd32ae6b1a5190e13211"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SimpleSTRnode.html">SimpleSTRnode</a>* geos::index::strtree::SimpleSTRtree::root</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="SimpleSTRtree_8h_source.html#l00114">114</a> of file <a class="el" href="SimpleSTRtree_8h_source.html">SimpleSTRtree.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="SimpleSTRtree_8h_source.html">SimpleSTRtree.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>