<!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"/> <title>GEOS: geos::index::strtree::SIRtree Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.7.1 --> <div class="navigation" id="top"> <div class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related 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 class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"> <ul> <li><a class="el" href="namespacegeos.html">geos</a> </li> <li><a class="el" href="namespacegeos_1_1index.html">index</a> </li> <li><a class="el" href="namespacegeos_1_1index_1_1strtree.html">strtree</a> </li> <li><a class="el" href="classgeos_1_1index_1_1strtree_1_1SIRtree.html">geos::index::strtree::SIRtree</a> </li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> | <a href="#pro-methods">Protected Member Functions</a> </div> <div class="headertitle"> <h1>geos::index::strtree::SIRtree Class Reference</h1> </div> </div> <div class="contents"> <!-- doxytag: class="geos::index::strtree::SIRtree" --><!-- doxytag: inherits="geos::index::strtree::AbstractSTRtree" --> <p>One-dimensional version of an STR-packed R-tree. <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="SIRtree_8h_source.html">SIRtree.h</a>></code></p> <div class="dynheader"> Inheritance diagram for geos::index::strtree::SIRtree:</div> <div class="dyncontent"> <div class="center"> <img src="classgeos_1_1index_1_1strtree_1_1SIRtree.png" usemap="#geos::index::strtree::SIRtree_map" alt=""/> <map id="geos::index::strtree::SIRtree_map" name="geos::index::strtree::SIRtree_map"> <area href="classgeos_1_1index_1_1strtree_1_1AbstractSTRtree.html" alt="geos::index::strtree::AbstractSTRtree" shape="rect" coords="0,0,215,24"/> </map> </div> <p><a href="classgeos_1_1index_1_1strtree_1_1SIRtree-members.html">List of all members.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a02a25e553364e6d7284a83820abb843d"></a><!-- doxytag: member="geos::index::strtree::SIRtree::SIRtree" ref="a02a25e553364e6d7284a83820abb843d" args="()" --> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SIRtree.html#a02a25e553364e6d7284a83820abb843d">SIRtree</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructs an <a class="el" href="classgeos_1_1index_1_1strtree_1_1SIRtree.html" title="One-dimensional version of an STR-packed R-tree.">SIRtree</a> with the default node capacity. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8bb01e69827e5c867de22b2d53ee1577"></a><!-- doxytag: member="geos::index::strtree::SIRtree::SIRtree" ref="a8bb01e69827e5c867de22b2d53ee1577" args="(size_t nodeCapacity)" --> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SIRtree.html#a8bb01e69827e5c867de22b2d53ee1577">SIRtree</a> (size_t nodeCapacity)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructs an <a class="el" href="classgeos_1_1index_1_1strtree_1_1SIRtree.html" title="One-dimensional version of an STR-packed R-tree.">SIRtree</a> with the given maximum number of child nodes that a node may have. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abcb2dec41fd3d883e7aba2970f475a56"></a><!-- doxytag: member="geos::index::strtree::SIRtree::insert" ref="abcb2dec41fd3d883e7aba2970f475a56" args="(double x1, double x2, void *item)" --> void </td><td class="memItemRight" valign="bottom"><b>insert</b> (double x1, double x2, void *item)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">std::vector< void * > * </td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SIRtree.html#a1e46acbeb2ed6fce4fad344f62b57403">query</a> (double x1, double x2)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">std::vector< void * > * </td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SIRtree.html#a6bd16d6643dfdb9e170d484bdce78ae5">query</a> (double x)</td></tr> <tr><td colspan="2"><h2><a name="pro-methods"></a> Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9779cb39b2c713e5d10e47987f24921b"></a><!-- doxytag: member="geos::index::strtree::SIRtree::createParentBoundables" ref="a9779cb39b2c713e5d10e47987f24921b" args="(BoundableList *childBoundables, int newLevel)" --> std::auto_ptr< <a class="el" href="namespacegeos_1_1index_1_1strtree.html#add68ce1c4a60ff15e78bb77f47605dbe">BoundableList</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SIRtree.html#a9779cb39b2c713e5d10e47987f24921b">createParentBoundables</a> (<a class="el" href="namespacegeos_1_1index_1_1strtree.html#add68ce1c4a60ff15e78bb77f47605dbe">BoundableList</a> *childBoundables, int newLevel)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sorts the childBoundables then divides them into groups of size M, where M is the node capacity. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a06879d8e48eedb534867280e7c0a4aff"></a><!-- doxytag: member="geos::index::strtree::SIRtree::createNode" ref="a06879d8e48eedb534867280e7c0a4aff" args="(int level)" --> <a class="el" href="classgeos_1_1index_1_1strtree_1_1AbstractNode.html">AbstractNode</a> * </td><td class="memItemRight" valign="bottom"><b>createNode</b> (int level)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">IntersectsOp * </td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1strtree_1_1SIRtree.html#ac5f419431bca442e8c64eb62da135280">getIntersectsOp</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a549c9b9164e19e1d0fe534967a2c6ad7"></a><!-- doxytag: member="geos::index::strtree::SIRtree::sortBoundables" ref="a549c9b9164e19e1d0fe534967a2c6ad7" args="(const BoundableList *input)" --> std::auto_ptr< <a class="el" href="namespacegeos_1_1index_1_1strtree.html#add68ce1c4a60ff15e78bb77f47605dbe">BoundableList</a> > </td><td class="memItemRight" valign="bottom"><b>sortBoundables</b> (const <a class="el" href="namespacegeos_1_1index_1_1strtree.html#add68ce1c4a60ff15e78bb77f47605dbe">BoundableList</a> *input)</td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>One-dimensional version of an STR-packed R-tree. </p> <p>SIR stands for "Sort-Interval-Recursive".</p> <p>STR-packed R-trees are described in: P. Rigaux, Michel Scholl and Agnes Voisard. Spatial Databases With Application To GIS. Morgan Kaufmann, San Francisco, 2002.</p> <dl class="see"><dt><b>See also:</b></dt><dd><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> </dd></dl> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="ac5f419431bca442e8c64eb62da135280"></a><!-- doxytag: member="geos::index::strtree::SIRtree::getIntersectsOp" ref="ac5f419431bca442e8c64eb62da135280" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">IntersectsOp* geos::index::strtree::SIRtree::getIntersectsOp </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [inline, protected, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <dl class="return"><dt><b>Returns:</b></dt><dd>a test for intersection between two bounds, necessary because subclasses of <a class="el" href="classgeos_1_1index_1_1strtree_1_1AbstractSTRtree.html" title="Base class for STRtree and SIRtree.">AbstractSTRtree</a> have different implementations of bounds. </dd></dl> <dl class="see"><dt><b>See also:</b></dt><dd>IntersectsOp </dd></dl> <p>Implements <a class="el" href="classgeos_1_1index_1_1strtree_1_1AbstractSTRtree.html#a7db78c9982ce34909c6c4c660cefd8b4">geos::index::strtree::AbstractSTRtree</a>.</p> </div> </div> <a class="anchor" id="a1e46acbeb2ed6fce4fad344f62b57403"></a><!-- doxytag: member="geos::index::strtree::SIRtree::query" ref="a1e46acbeb2ed6fce4fad344f62b57403" args="(double x1, double x2)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::vector<void*>* geos::index::strtree::SIRtree::query </td> <td>(</td> <td class="paramtype">double </td> <td class="paramname"> <em>x1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"> <em>x2</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Returns items whose bounds intersect the given bounds. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>x1</em> </td><td>possibly equal to x2 </td></tr> </table> </dd> </dl> <p>References <a class="el" href="classgeos_1_1index_1_1strtree_1_1AbstractSTRtree.html#a668b51c0354bee9934ebeca13f68d8b1">geos::index::strtree::AbstractSTRtree::query()</a>.</p> </div> </div> <a class="anchor" id="a6bd16d6643dfdb9e170d484bdce78ae5"></a><!-- doxytag: member="geos::index::strtree::SIRtree::query" ref="a6bd16d6643dfdb9e170d484bdce78ae5" args="(double x)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::vector<void*>* geos::index::strtree::SIRtree::query </td> <td>(</td> <td class="paramtype">double </td> <td class="paramname"> <em>x</em></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Returns items whose bounds intersect the given value. </p> <p>References <a class="el" href="classgeos_1_1index_1_1strtree_1_1SIRtree.html#a6bd16d6643dfdb9e170d484bdce78ae5">query()</a>.</p> <p>Referenced by <a class="el" href="classgeos_1_1index_1_1strtree_1_1SIRtree.html#a6bd16d6643dfdb9e170d484bdce78ae5">query()</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="SIRtree_8h_source.html">SIRtree.h</a></li> </ul> </div> <hr class="footer"/><address class="footer"><small>Generated on Thu Jul 22 2010 for GEOS by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address> </body> </html>