Sophie

Sophie

distrib > Fedora > 16 > i386 > by-pkgid > 4bc66056a634db26a1f4d0845dc41ca6 > files > 5507

mrpt-doc-0.9.5-0.1.20110925svn2670.fc16.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>mrpt::vision::CFeatureListKDTree Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<div align="left"><a href="http://www.mrpt.org/">Main MRPT website</a> &gt; <b>C++ reference</b> </div>
<div align="right">
<a href="index.html"><img border="0" src="mrpt_logo.png" alt="MRPT logo"></a>
</div>
<!-- Generated by Doxygen 1.7.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <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="modules.html"><span>Modules</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>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
          <div class="left">
            <form id="FSearchBox" action="search.php" method="get">
              <img id="MSearchSelect" src="search/mag.png" alt=""/>
              <input type="text" id="MSearchField" name="query" value="Search" size="20" accesskey="S" 
                     onfocus="searchBox.OnSearchFieldFocus(true)" 
                     onblur="searchBox.OnSearchFieldFocus(false)"/>
            </form>
          </div><div class="right"></div>
        </div>
      </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="classes.html"><span>Class&#160;Index</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="namespacemrpt.html">mrpt</a>      </li>
      <li class="navelem"><a class="el" href="namespacemrpt_1_1vision.html">vision</a>      </li>
      <li class="navelem"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list_k_d_tree.html">CFeatureListKDTree</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#pro-methods">Protected Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">mrpt::vision::CFeatureListKDTree Class Reference<div class="ingroups"><a class="el" href="group__mrptvision__features.html">Feature detection, tracking, descriptors and matching</a></div></div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="mrpt::vision::CFeatureListKDTree" --><!-- doxytag: inherits="KDTreeCapable&lt; CFeatureListKDTree&lt; FEAT &gt; &gt;" --><hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Helper class: KD-tree search class for vector&lt;KeyPoint&gt;: Call <a class="el" href="classmrpt_1_1vision_1_1_c_feature_list_k_d_tree.html#a7af8b1c8c455e55055209a49b189398b">mark_as_outdated()</a> to force rebuilding the kd-tree after modifying the linked feature list. </p>
<dl><dt><b>Template Parameters:</b></dt><dd>
  <table class="">
    <tr><td class="paramname">FEAT</td><td>Can be cv::KeyPoint or <a class="el" href="group__mrptvision__features.html#ga72f50e326eac6ef6efa51b6c26d8c2e6" title="A simple structure for representing one image feature (without descriptor nor patch).">mrpt::vision::TSimpleFeature</a> </td></tr>
  </table>
  </dd>
</dl>
</div>
<p><code>#include &lt;<a class="el" href="_t_simple_feature_8h_source.html">mrpt/vision/TSimpleFeature.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for mrpt::vision::CFeatureListKDTree:</div>
<div class="dyncontent">
<div class="center"><img src="classmrpt_1_1vision_1_1_c_feature_list_k_d_tree__inherit__graph.png" border="0" usemap="#mrpt_1_1vision_1_1_c_feature_list_k_d_tree_inherit__map" alt="Inheritance graph"/></div>
<map name="mrpt_1_1vision_1_1_c_feature_list_k_d_tree_inherit__map" id="mrpt_1_1vision_1_1_c_feature_list_k_d_tree_inherit__map">
<area shape="rect" id="node2" href="classmrpt_1_1math_1_1_k_d_tree_capable.html" title="mrpt::math::KDTreeCapable\&lt; CFeatureListKDTree\&lt; FEAT \&gt; \&gt;" alt="" coords="5,96,392,123"/><area shape="rect" id="node4" href="classmrpt_1_1math_1_1_k_d_tree_capable.html" title="A generic adaptor class for providing Approximate Nearest Neighbors (ANN) (via the nanoflann library)..." alt="" coords="105,5,292,32"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classmrpt_1_1vision_1_1_c_feature_list_k_d_tree-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classmrpt_1_1math_1_1_k_d_tree_capable.html">KDTreeCapable</a>&lt; Derived, <br class="typebreak"/>
num_t, metric_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_k_d_tree_capable.html#ae848e2006de4cda4f4a50d0c057d086c">self_t</a></td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list_k_d_tree.html#a7af8b1c8c455e55055209a49b189398b">mark_as_outdated</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list_k_d_tree.html#ab0ef87ae15ec6544d53deb865dbcd53e">CFeatureListKDTree</a> (const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; FEAT &gt; &amp;data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const Derived &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_k_d_tree_capable.html#a1f2be858dfb40e06cbae68375c98941b">derived</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">CRTP helper method.  <a href="#a1f2be858dfb40e06cbae68375c98941b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">Derived &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_k_d_tree_capable.html#a0be68a7843dfe5d5dfa5206c06e3d4fb">derived</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">CRTP helper method.  <a href="#a0be68a7843dfe5d5dfa5206c06e3d4fb"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Methods that MUST be implemented by children classes of KDTreeCapable</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list_k_d_tree.html#ad5895533d0de345c9f9d76873d45b948">kdtree_get_point_count</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Must return the number of data points.  <a href="#ad5895533d0de345c9f9d76873d45b948"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list_k_d_tree.html#a337ffb74c8f18511c7b2727d3b808bd1">kdtree_get_pt</a> (const size_t idx, int dim) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the dim'th component of the idx'th point in the class:  <a href="#a337ffb74c8f18511c7b2727d3b808bd1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list_k_d_tree.html#a43f6dc7854c74f00a7f6f072273df7e6">kdtree_distance</a> (const float *p1, const size_t idx_p2, size_t size) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the distance between the vector "p1[0:size-1]" and the data point with index "idx_p2" stored in the class:  <a href="#a43f6dc7854c74f00a7f6f072273df7e6"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename BBOX &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list_k_d_tree.html#ad183af2012533a8266171f5192ec6ac9">kdtree_get_bbox</a> (BBOX &amp;bb) const </td></tr>
<tr><td colspan="2"><div class="groupHeader">Public utility methods to query the KD-tree</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_k_d_tree_capable.html#ae9c0bb8eae4945085a0b03408adaa180">kdTreeClosestPoint2D</a> (float x0, float y0, float &amp;out_x, float &amp;out_y, float &amp;out_dist_sqr) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">KD Tree-based search for the closest point (only ONE) to some given 2D coordinates.  <a href="#ae9c0bb8eae4945085a0b03408adaa180"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_k_d_tree_capable.html#acccf80ebe86d7512a2eabb1f4cd7d5e7">kdTreeClosestPoint2D</a> (float x0, float y0, float &amp;out_dist_sqr) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_k_d_tree_capable.html#aa931ad90835e719b966cf61c317c6e6d">kdTreeClosestPoint2D</a> (const <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &amp;p0, <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &amp;pOut, float &amp;outDistSqr) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_k_d_tree_capable.html#aa8a35f96809c7677b730f8282c77e1ac">kdTreeClosestPoint2DsqrError</a> (float x0, float y0) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Like kdTreeClosestPoint2D, but just return the square error from some point to its closest neighbor.  <a href="#aa8a35f96809c7677b730f8282c77e1ac"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_k_d_tree_capable.html#abee2f8ff656e8eca62d0444021577776">kdTreeClosestPoint2DsqrError</a> (const <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &amp;p0) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_k_d_tree_capable.html#a9edfbd2ada1466c02e7bf136c39ca9dd">kdTreeTwoClosestPoint2D</a> (float x0, float y0, float &amp;out_x1, float &amp;out_y1, float &amp;out_x2, float &amp;out_y2, float &amp;out_dist_sqr1, float &amp;out_dist_sqr2) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">KD Tree-based search for the TWO closest point to some given 2D coordinates.  <a href="#a9edfbd2ada1466c02e7bf136c39ca9dd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_k_d_tree_capable.html#ad9af4bb0f1547c6718c7a5ef5f3e7591">kdTreeTwoClosestPoint2D</a> (const <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &amp;p0, <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &amp;pOut1, <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &amp;pOut2, float &amp;outDistSqr1, float &amp;outDistSqr2) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_k_d_tree_capable.html#abf55cf62066eeff4c9db446b040c481d">kdTreeNClosestPoint2D</a> (float x0, float y0, size_t knn, <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; float &gt; &amp;out_x, <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; float &gt; &amp;out_y, <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; float &gt; &amp;out_dist_sqr) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">KD Tree-based search for the N closest point to some given 2D coordinates.  <a href="#abf55cf62066eeff4c9db446b040c481d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_k_d_tree_capable.html#a98394b54ad28658bdb397116bcd7a1d7">kdTreeNClosestPoint2D</a> (const <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &amp;p0, size_t N, <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &gt; &amp;pOut, <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; float &gt; &amp;outDistSqr) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_k_d_tree_capable.html#a17665632b43c9a65530cbc97581128bc">kdTreeNClosestPoint2DIdx</a> (float x0, float y0, size_t knn, <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; int &gt; &amp;out_idx, <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; float &gt; &amp;out_dist_sqr) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">KD Tree-based search for the N closest point to some given 2D coordinates and returns their indexes.  <a href="#a17665632b43c9a65530cbc97581128bc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_k_d_tree_capable.html#a6d16ab2d09b0e2f59b368ce43f4ba944">kdTreeNClosestPoint2DIdx</a> (const <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &amp;p0, size_t N, <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; int &gt; &amp;outIdx, <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; float &gt; &amp;outDistSqr) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_k_d_tree_capable.html#a89eab3ed58a61ba1dd561552562a1215">kdTreeClosestPoint3D</a> (float x0, float y0, float z0, float &amp;out_x, float &amp;out_y, float &amp;out_z, float &amp;out_dist_sqr) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">KD Tree-based search for the closest point (only ONE) to some given 3D coordinates.  <a href="#a89eab3ed58a61ba1dd561552562a1215"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_k_d_tree_capable.html#a44afd69e49d989baa2973ffd7f7037e6">kdTreeClosestPoint3D</a> (float x0, float y0, float z0, float &amp;out_dist_sqr) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_k_d_tree_capable.html#a2f18fd292f21f156b9ac5ae3503f44aa">kdTreeClosestPoint3D</a> (const <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &amp;p0, <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &amp;pOut, float &amp;outDistSqr) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_k_d_tree_capable.html#a9fd5af04995704c55b1a17f4515da803">kdTreeNClosestPoint3D</a> (float x0, float y0, float z0, size_t knn, <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; float &gt; &amp;out_x, <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; float &gt; &amp;out_y, <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; float &gt; &amp;out_z, <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; float &gt; &amp;out_dist_sqr) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">KD Tree-based search for the N closest points to some given 3D coordinates.  <a href="#a9fd5af04995704c55b1a17f4515da803"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_k_d_tree_capable.html#a61a35dc755ae1225f6d09e6d81eefb05">kdTreeNClosestPoint3D</a> (const <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &amp;p0, size_t N, <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &gt; &amp;pOut, <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; float &gt; &amp;outDistSqr) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_k_d_tree_capable.html#a343546d3f23d9c1df671c4d8c5c9eb39">kdTreeNClosestPoint3DIdx</a> (float x0, float y0, float z0, size_t knn, <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; int &gt; &amp;out_idx, <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; float &gt; &amp;out_dist_sqr) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">KD Tree-based search for the N closest point to some given 3D coordinates and returns their indexes.  <a href="#a343546d3f23d9c1df671c4d8c5c9eb39"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_k_d_tree_capable.html#ab6112525867566c872402236781413e7">kdTreeNClosestPoint3DIdx</a> (const <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &amp;p0, size_t N, <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; int &gt; &amp;outIdx, <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; float &gt; &amp;outDistSqr) const </td></tr>
<tr><td colspan="2"><h2><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; FEAT &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list_k_d_tree.html#a5bd18ade3256fb64ecc5a82f836ae9c7">m_data</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">TKDTreeSearchParams&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_k_d_tree_capable.html#a65f5da9a222c2c7b913f7e6242c6c77e">kdtree_search_params</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameters to tune the ANN searches.  <a href="#a65f5da9a222c2c7b913f7e6242c6c77e"></a><br/></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">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_k_d_tree_capable.html#a257dd22c1a52d1150117195aaf416f16">kdtree_mark_as_outdated</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">To be called by child classes when KD tree data changes.  <a href="#a257dd22c1a52d1150117195aaf416f16"></a><br/></td></tr>
</table>
<hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="ae848e2006de4cda4f4a50d0c057d086c"></a><!-- doxytag: member="mrpt::vision::CFeatureListKDTree::self_t" ref="ae848e2006de4cda4f4a50d0c057d086c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classmrpt_1_1math_1_1_k_d_tree_capable.html">KDTreeCapable</a>&lt;Derived,num_t,metric_t&gt; <a class="el" href="classmrpt_1_1math_1_1_k_d_tree_capable.html#ae848e2006de4cda4f4a50d0c057d086c">mrpt::math::KDTreeCapable::self_t</a><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_k_d_tree_capable_8h_source.html#l00090">90</a> of file <a class="el" href="_k_d_tree_capable_8h_source.html">KDTreeCapable.h</a>.</p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ab0ef87ae15ec6544d53deb865dbcd53e"></a><!-- doxytag: member="mrpt::vision::CFeatureListKDTree::CFeatureListKDTree" ref="ab0ef87ae15ec6544d53deb865dbcd53e" args="(const std::vector&lt; FEAT &gt; &amp;data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">mrpt::vision::CFeatureListKDTree::CFeatureListKDTree </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; FEAT &gt; &amp;&#160;</td>
          <td class="paramname"><em>data</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_t_simple_feature_8h_source.html#l00236">236</a> of file <a class="el" href="_t_simple_feature_8h_source.html">TSimpleFeature.h</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a1f2be858dfb40e06cbae68375c98941b"></a><!-- doxytag: member="mrpt::vision::CFeatureListKDTree::derived" ref="a1f2be858dfb40e06cbae68375c98941b" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const Derived&amp; mrpt::math::KDTreeCapable::derived </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>CRTP helper method. </p>

<p>Definition at line <a class="el" href="_k_d_tree_capable_8h_source.html#l00100">100</a> of file <a class="el" href="_k_d_tree_capable_8h_source.html">KDTreeCapable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0be68a7843dfe5d5dfa5206c06e3d4fb"></a><!-- doxytag: member="mrpt::vision::CFeatureListKDTree::derived" ref="a0be68a7843dfe5d5dfa5206c06e3d4fb" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Derived&amp; mrpt::math::KDTreeCapable::derived </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>CRTP helper method. </p>

<p>Definition at line <a class="el" href="_k_d_tree_capable_8h_source.html#l00102">102</a> of file <a class="el" href="_k_d_tree_capable_8h_source.html">KDTreeCapable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a43f6dc7854c74f00a7f6f072273df7e6"></a><!-- doxytag: member="mrpt::vision::CFeatureListKDTree::kdtree_distance" ref="a43f6dc7854c74f00a7f6f072273df7e6" args="(const float *p1, const size_t idx_p2, size_t size) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float mrpt::vision::CFeatureListKDTree::kdtree_distance </td>
          <td>(</td>
          <td class="paramtype">const float *&#160;</td>
          <td class="paramname"><em>p1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>idx_p2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the distance between the vector "p1[0:size-1]" and the data point with index "idx_p2" stored in the class: </p>

<p>Definition at line <a class="el" href="_t_simple_feature_8h_source.html#l00253">253</a> of file <a class="el" href="_t_simple_feature_8h_source.html">TSimpleFeature.h</a>.</p>

<p>References <a class="el" href="mrpt__macros_8h_source.html#l00304">ASSERTDEB_</a>, and <a class="el" href="_t_simple_feature_8h_source.html#l00235">m_data</a>.</p>

</div>
</div>
<a class="anchor" id="ad183af2012533a8266171f5192ec6ac9"></a><!-- doxytag: member="mrpt::vision::CFeatureListKDTree::kdtree_get_bbox" ref="ad183af2012533a8266171f5192ec6ac9" args="(BBOX &amp;bb) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename BBOX &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::vision::CFeatureListKDTree::kdtree_get_bbox </td>
          <td>(</td>
          <td class="paramtype">BBOX &amp;&#160;</td>
          <td class="paramname"><em>bb</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_t_simple_feature_8h_source.html#l00266">266</a> of file <a class="el" href="_t_simple_feature_8h_source.html">TSimpleFeature.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad5895533d0de345c9f9d76873d45b948"></a><!-- doxytag: member="mrpt::vision::CFeatureListKDTree::kdtree_get_point_count" ref="ad5895533d0de345c9f9d76873d45b948" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t mrpt::vision::CFeatureListKDTree::kdtree_get_point_count </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Must return the number of data points. </p>

<p>Definition at line <a class="el" href="_t_simple_feature_8h_source.html#l00243">243</a> of file <a class="el" href="_t_simple_feature_8h_source.html">TSimpleFeature.h</a>.</p>

<p>References <a class="el" href="_t_simple_feature_8h_source.html#l00235">m_data</a>.</p>

</div>
</div>
<a class="anchor" id="a337ffb74c8f18511c7b2727d3b808bd1"></a><!-- doxytag: member="mrpt::vision::CFeatureListKDTree::kdtree_get_pt" ref="a337ffb74c8f18511c7b2727d3b808bd1" args="(const size_t idx, int dim) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float mrpt::vision::CFeatureListKDTree::kdtree_get_pt </td>
          <td>(</td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>idx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>dim</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the dim'th component of the idx'th point in the class: </p>

<p>Definition at line <a class="el" href="_t_simple_feature_8h_source.html#l00246">246</a> of file <a class="el" href="_t_simple_feature_8h_source.html">TSimpleFeature.h</a>.</p>

<p>References <a class="el" href="mrpt__macros_8h_source.html#l00304">ASSERTDEB_</a>, and <a class="el" href="_t_simple_feature_8h_source.html#l00235">m_data</a>.</p>

</div>
</div>
<a class="anchor" id="a257dd22c1a52d1150117195aaf416f16"></a><!-- doxytag: member="mrpt::vision::CFeatureListKDTree::kdtree_mark_as_outdated" ref="a257dd22c1a52d1150117195aaf416f16" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::KDTreeCapable::kdtree_mark_as_outdated </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>To be called by child classes when KD tree data changes. </p>

<p>Definition at line <a class="el" href="_k_d_tree_capable_8h_source.html#l00575">575</a> of file <a class="el" href="_k_d_tree_capable_8h_source.html">KDTreeCapable.h</a>.</p>

<p>Referenced by <a class="el" href="_t_simple_feature_8h_source.html#l00233">mark_as_outdated()</a>.</p>

</div>
</div>
<a class="anchor" id="ae9c0bb8eae4945085a0b03408adaa180"></a><!-- doxytag: member="mrpt::vision::CFeatureListKDTree::kdTreeClosestPoint2D" ref="ae9c0bb8eae4945085a0b03408adaa180" args="(float x0, float y0, float &amp;out_x, float &amp;out_y, float &amp;out_dist_sqr) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t mrpt::math::KDTreeCapable::kdTreeClosestPoint2D </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float &amp;&#160;</td>
          <td class="paramname"><em>out_x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float &amp;&#160;</td>
          <td class="paramname"><em>out_y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float &amp;&#160;</td>
          <td class="paramname"><em>out_dist_sqr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>KD Tree-based search for the closest point (only ONE) to some given 2D coordinates. </p>
<p>This method automatically build the "m_kdtree_data" structure when:</p>
<ul>
<li>It is called for the first time</li>
<li>The map has changed</li>
<li>The KD-tree was build for 3D.</li>
</ul>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x0</td><td>The X coordinate of the query. </td></tr>
    <tr><td class="paramname">y0</td><td>The Y coordinate of the query. </td></tr>
    <tr><td class="paramname">out_x</td><td>The X coordinate of the found closest correspondence. </td></tr>
    <tr><td class="paramname">out_y</td><td>The Y coordinate of the found closest correspondence. </td></tr>
    <tr><td class="paramname">out_dist_sqr</td><td>The square distance between the query and the returned point.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The index of the closest point in the map array. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd>kdTreeClosestPoint3D, kdTreeTwoClosestPoint2D </dd></dl>

<p>Definition at line <a class="el" href="_k_d_tree_capable_8h_source.html#l00136">136</a> of file <a class="el" href="_k_d_tree_capable_8h_source.html">KDTreeCapable.h</a>.</p>

</div>
</div>
<a class="anchor" id="acccf80ebe86d7512a2eabb1f4cd7d5e7"></a><!-- doxytag: member="mrpt::vision::CFeatureListKDTree::kdTreeClosestPoint2D" ref="acccf80ebe86d7512a2eabb1f4cd7d5e7" args="(float x0, float y0, float &amp;out_dist_sqr) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t mrpt::math::KDTreeCapable::kdTreeClosestPoint2D </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float &amp;&#160;</td>
          <td class="paramname"><em>out_dist_sqr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>

<p>Definition at line <a class="el" href="_k_d_tree_capable_8h_source.html#l00166">166</a> of file <a class="el" href="_k_d_tree_capable_8h_source.html">KDTreeCapable.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa931ad90835e719b966cf61c317c6e6d"></a><!-- doxytag: member="mrpt::vision::CFeatureListKDTree::kdTreeClosestPoint2D" ref="aa931ad90835e719b966cf61c317c6e6d" args="(const TPoint2D &amp;p0, TPoint2D &amp;pOut, float &amp;outDistSqr) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t mrpt::math::KDTreeCapable::kdTreeClosestPoint2D </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &amp;&#160;</td>
          <td class="paramname"><em>p0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &amp;&#160;</td>
          <td class="paramname"><em>pOut</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float &amp;&#160;</td>
          <td class="paramname"><em>outDistSqr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>

<p>Definition at line <a class="el" href="_k_d_tree_capable_8h_source.html#l00189">189</a> of file <a class="el" href="_k_d_tree_capable_8h_source.html">KDTreeCapable.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa8a35f96809c7677b730f8282c77e1ac"></a><!-- doxytag: member="mrpt::vision::CFeatureListKDTree::kdTreeClosestPoint2DsqrError" ref="aa8a35f96809c7677b730f8282c77e1ac" args="(float x0, float y0) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float mrpt::math::KDTreeCapable::kdTreeClosestPoint2DsqrError </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y0</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Like kdTreeClosestPoint2D, but just return the square error from some point to its closest neighbor. </p>

<p>Definition at line <a class="el" href="_k_d_tree_capable_8h_source.html#l00199">199</a> of file <a class="el" href="_k_d_tree_capable_8h_source.html">KDTreeCapable.h</a>.</p>

</div>
</div>
<a class="anchor" id="abee2f8ff656e8eca62d0444021577776"></a><!-- doxytag: member="mrpt::vision::CFeatureListKDTree::kdTreeClosestPoint2DsqrError" ref="abee2f8ff656e8eca62d0444021577776" args="(const TPoint2D &amp;p0) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float mrpt::math::KDTreeCapable::kdTreeClosestPoint2DsqrError </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &amp;&#160;</td>
          <td class="paramname"><em>p0</em></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_k_d_tree_capable_8h_source.html#l00208">208</a> of file <a class="el" href="_k_d_tree_capable_8h_source.html">KDTreeCapable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a89eab3ed58a61ba1dd561552562a1215"></a><!-- doxytag: member="mrpt::vision::CFeatureListKDTree::kdTreeClosestPoint3D" ref="a89eab3ed58a61ba1dd561552562a1215" args="(float x0, float y0, float z0, float &amp;out_x, float &amp;out_y, float &amp;out_z, float &amp;out_dist_sqr) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t mrpt::math::KDTreeCapable::kdTreeClosestPoint3D </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>z0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float &amp;&#160;</td>
          <td class="paramname"><em>out_x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float &amp;&#160;</td>
          <td class="paramname"><em>out_y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float &amp;&#160;</td>
          <td class="paramname"><em>out_z</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float &amp;&#160;</td>
          <td class="paramname"><em>out_dist_sqr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>KD Tree-based search for the closest point (only ONE) to some given 3D coordinates. </p>
<p>This method automatically build the "m_kdtree_data" structure when:</p>
<ul>
<li>It is called for the first time</li>
<li>The map has changed</li>
<li>The KD-tree was build for 2D.</li>
</ul>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x0</td><td>The X coordinate of the query. </td></tr>
    <tr><td class="paramname">y0</td><td>The Y coordinate of the query. </td></tr>
    <tr><td class="paramname">z0</td><td>The Z coordinate of the query. </td></tr>
    <tr><td class="paramname">out_x</td><td>The X coordinate of the found closest correspondence. </td></tr>
    <tr><td class="paramname">out_y</td><td>The Y coordinate of the found closest correspondence. </td></tr>
    <tr><td class="paramname">out_z</td><td>The Z coordinate of the found closest correspondence. </td></tr>
    <tr><td class="paramname">out_dist_sqr</td><td>The square distance between the query and the returned point.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The index of the closest point in the map array. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd>kdTreeClosestPoint2D </dd></dl>

<p>Definition at line <a class="el" href="_k_d_tree_capable_8h_source.html#l00394">394</a> of file <a class="el" href="_k_d_tree_capable_8h_source.html">KDTreeCapable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a44afd69e49d989baa2973ffd7f7037e6"></a><!-- doxytag: member="mrpt::vision::CFeatureListKDTree::kdTreeClosestPoint3D" ref="a44afd69e49d989baa2973ffd7f7037e6" args="(float x0, float y0, float z0, float &amp;out_dist_sqr) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t mrpt::math::KDTreeCapable::kdTreeClosestPoint3D </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>z0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float &amp;&#160;</td>
          <td class="paramname"><em>out_dist_sqr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>

<p>Definition at line <a class="el" href="_k_d_tree_capable_8h_source.html#l00428">428</a> of file <a class="el" href="_k_d_tree_capable_8h_source.html">KDTreeCapable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a2f18fd292f21f156b9ac5ae3503f44aa"></a><!-- doxytag: member="mrpt::vision::CFeatureListKDTree::kdTreeClosestPoint3D" ref="a2f18fd292f21f156b9ac5ae3503f44aa" args="(const TPoint3D &amp;p0, TPoint3D &amp;pOut, float &amp;outDistSqr) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t mrpt::math::KDTreeCapable::kdTreeClosestPoint3D </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &amp;&#160;</td>
          <td class="paramname"><em>p0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &amp;&#160;</td>
          <td class="paramname"><em>pOut</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float &amp;&#160;</td>
          <td class="paramname"><em>outDistSqr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>

<p>Definition at line <a class="el" href="_k_d_tree_capable_8h_source.html#l00454">454</a> of file <a class="el" href="_k_d_tree_capable_8h_source.html">KDTreeCapable.h</a>.</p>

</div>
</div>
<a class="anchor" id="abf55cf62066eeff4c9db446b040c481d"></a><!-- doxytag: member="mrpt::vision::CFeatureListKDTree::kdTreeNClosestPoint2D" ref="abf55cf62066eeff4c9db446b040c481d" args="(float x0, float y0, size_t knn, std::vector&lt; float &gt; &amp;out_x, std::vector&lt; float &gt; &amp;out_y, std::vector&lt; float &gt; &amp;out_dist_sqr) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt;int&gt; mrpt::math::KDTreeCapable::kdTreeNClosestPoint2D </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>knn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; float &gt; &amp;&#160;</td>
          <td class="paramname"><em>out_x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; float &gt; &amp;&#160;</td>
          <td class="paramname"><em>out_y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; float &gt; &amp;&#160;</td>
          <td class="paramname"><em>out_dist_sqr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>KD Tree-based search for the N closest point to some given 2D coordinates. </p>
<p>This method automatically build the "m_kdtree_data" structure when:</p>
<ul>
<li>It is called for the first time</li>
<li>The map has changed</li>
<li>The KD-tree was build for 3D.</li>
</ul>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x0</td><td>The X coordinate of the query. </td></tr>
    <tr><td class="paramname">y0</td><td>The Y coordinate of the query. </td></tr>
    <tr><td class="paramname">N</td><td>The number of closest points to search. </td></tr>
    <tr><td class="paramname">out_x</td><td>The vector containing the X coordinates of the correspondences. </td></tr>
    <tr><td class="paramname">out_y</td><td>The vector containing the Y coordinates of the correspondences. </td></tr>
    <tr><td class="paramname">out_dist_sqr</td><td>The vector containing the square distance between the query and the returned points.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The list of indices </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd>kdTreeClosestPoint2D </dd>
<dd>
kdTreeTwoClosestPoint2D </dd></dl>

<p>Definition at line <a class="el" href="_k_d_tree_capable_8h_source.html#l00293">293</a> of file <a class="el" href="_k_d_tree_capable_8h_source.html">KDTreeCapable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a98394b54ad28658bdb397116bcd7a1d7"></a><!-- doxytag: member="mrpt::vision::CFeatureListKDTree::kdTreeNClosestPoint2D" ref="a98394b54ad28658bdb397116bcd7a1d7" args="(const TPoint2D &amp;p0, size_t N, std::vector&lt; TPoint2D &gt; &amp;pOut, std::vector&lt; float &gt; &amp;outDistSqr) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt;int&gt; mrpt::math::KDTreeCapable::kdTreeNClosestPoint2D </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &amp;&#160;</td>
          <td class="paramname"><em>p0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>N</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>pOut</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; float &gt; &amp;&#160;</td>
          <td class="paramname"><em>outDistSqr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_k_d_tree_capable_8h_source.html#l00326">326</a> of file <a class="el" href="_k_d_tree_capable_8h_source.html">KDTreeCapable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a17665632b43c9a65530cbc97581128bc"></a><!-- doxytag: member="mrpt::vision::CFeatureListKDTree::kdTreeNClosestPoint2DIdx" ref="a17665632b43c9a65530cbc97581128bc" args="(float x0, float y0, size_t knn, std::vector&lt; int &gt; &amp;out_idx, std::vector&lt; float &gt; &amp;out_dist_sqr) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::KDTreeCapable::kdTreeNClosestPoint2DIdx </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>knn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; int &gt; &amp;&#160;</td>
          <td class="paramname"><em>out_idx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; float &gt; &amp;&#160;</td>
          <td class="paramname"><em>out_dist_sqr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>KD Tree-based search for the N closest point to some given 2D coordinates and returns their indexes. </p>
<p>This method automatically build the "m_kdtree_data" structure when:</p>
<ul>
<li>It is called for the first time</li>
<li>The map has changed</li>
<li>The KD-tree was build for 3D.</li>
</ul>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x0</td><td>The X coordinate of the query. </td></tr>
    <tr><td class="paramname">y0</td><td>The Y coordinate of the query. </td></tr>
    <tr><td class="paramname">N</td><td>The number of closest points to search. </td></tr>
    <tr><td class="paramname">out_idx</td><td>The indexes of the found closest correspondence. </td></tr>
    <tr><td class="paramname">out_dist_sqr</td><td>The square distance between the query and the returned point.</td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd>kdTreeClosestPoint2D </dd></dl>

<p>Definition at line <a class="el" href="_k_d_tree_capable_8h_source.html#l00351">351</a> of file <a class="el" href="_k_d_tree_capable_8h_source.html">KDTreeCapable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a6d16ab2d09b0e2f59b368ce43f4ba944"></a><!-- doxytag: member="mrpt::vision::CFeatureListKDTree::kdTreeNClosestPoint2DIdx" ref="a6d16ab2d09b0e2f59b368ce43f4ba944" args="(const TPoint2D &amp;p0, size_t N, std::vector&lt; int &gt; &amp;outIdx, std::vector&lt; float &gt; &amp;outDistSqr) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::KDTreeCapable::kdTreeNClosestPoint2DIdx </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &amp;&#160;</td>
          <td class="paramname"><em>p0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>N</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; int &gt; &amp;&#160;</td>
          <td class="paramname"><em>outIdx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; float &gt; &amp;&#160;</td>
          <td class="paramname"><em>outDistSqr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_k_d_tree_capable_8h_source.html#l00373">373</a> of file <a class="el" href="_k_d_tree_capable_8h_source.html">KDTreeCapable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a9fd5af04995704c55b1a17f4515da803"></a><!-- doxytag: member="mrpt::vision::CFeatureListKDTree::kdTreeNClosestPoint3D" ref="a9fd5af04995704c55b1a17f4515da803" args="(float x0, float y0, float z0, size_t knn, std::vector&lt; float &gt; &amp;out_x, std::vector&lt; float &gt; &amp;out_y, std::vector&lt; float &gt; &amp;out_z, std::vector&lt; float &gt; &amp;out_dist_sqr) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::KDTreeCapable::kdTreeNClosestPoint3D </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>z0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>knn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; float &gt; &amp;&#160;</td>
          <td class="paramname"><em>out_x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; float &gt; &amp;&#160;</td>
          <td class="paramname"><em>out_y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; float &gt; &amp;&#160;</td>
          <td class="paramname"><em>out_z</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; float &gt; &amp;&#160;</td>
          <td class="paramname"><em>out_dist_sqr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>KD Tree-based search for the N closest points to some given 3D coordinates. </p>
<p>This method automatically build the "m_kdtree_data" structure when:</p>
<ul>
<li>It is called for the first time</li>
<li>The map has changed</li>
<li>The KD-tree was build for 2D.</li>
</ul>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x0</td><td>The X coordinate of the query. </td></tr>
    <tr><td class="paramname">y0</td><td>The Y coordinate of the query. </td></tr>
    <tr><td class="paramname">z0</td><td>The Z coordinate of the query. </td></tr>
    <tr><td class="paramname">N</td><td>The number of closest points to search. </td></tr>
    <tr><td class="paramname">out_x</td><td>The vector containing the X coordinates of the correspondences. </td></tr>
    <tr><td class="paramname">out_y</td><td>The vector containing the Y coordinates of the correspondences. </td></tr>
    <tr><td class="paramname">out_z</td><td>The vector containing the Z coordinates of the correspondences. </td></tr>
    <tr><td class="paramname">out_dist_sqr</td><td>The vector containing the square distance between the query and the returned points.</td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd>kdTreeNClosestPoint2D </dd></dl>

<p>Definition at line <a class="el" href="_k_d_tree_capable_8h_source.html#l00480">480</a> of file <a class="el" href="_k_d_tree_capable_8h_source.html">KDTreeCapable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a61a35dc755ae1225f6d09e6d81eefb05"></a><!-- doxytag: member="mrpt::vision::CFeatureListKDTree::kdTreeNClosestPoint3D" ref="a61a35dc755ae1225f6d09e6d81eefb05" args="(const TPoint3D &amp;p0, size_t N, std::vector&lt; TPoint3D &gt; &amp;pOut, std::vector&lt; float &gt; &amp;outDistSqr) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::KDTreeCapable::kdTreeNClosestPoint3D </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &amp;&#160;</td>
          <td class="paramname"><em>p0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>N</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>pOut</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; float &gt; &amp;&#160;</td>
          <td class="paramname"><em>outDistSqr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_k_d_tree_capable_8h_source.html#l00517">517</a> of file <a class="el" href="_k_d_tree_capable_8h_source.html">KDTreeCapable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a343546d3f23d9c1df671c4d8c5c9eb39"></a><!-- doxytag: member="mrpt::vision::CFeatureListKDTree::kdTreeNClosestPoint3DIdx" ref="a343546d3f23d9c1df671c4d8c5c9eb39" args="(float x0, float y0, float z0, size_t knn, std::vector&lt; int &gt; &amp;out_idx, std::vector&lt; float &gt; &amp;out_dist_sqr) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::KDTreeCapable::kdTreeNClosestPoint3DIdx </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>z0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>knn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; int &gt; &amp;&#160;</td>
          <td class="paramname"><em>out_idx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; float &gt; &amp;&#160;</td>
          <td class="paramname"><em>out_dist_sqr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>KD Tree-based search for the N closest point to some given 3D coordinates and returns their indexes. </p>
<p>This method automatically build the "m_kdtree_data" structure when:</p>
<ul>
<li>It is called for the first time</li>
<li>The map has changed</li>
<li>The KD-tree was build for 2D.</li>
</ul>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x0</td><td>The X coordinate of the query. </td></tr>
    <tr><td class="paramname">y0</td><td>The Y coordinate of the query. </td></tr>
    <tr><td class="paramname">z0</td><td>The Z coordinate of the query. </td></tr>
    <tr><td class="paramname">N</td><td>The number of closest points to search. </td></tr>
    <tr><td class="paramname">out_idx</td><td>The indexes of the found closest correspondence. </td></tr>
    <tr><td class="paramname">out_dist_sqr</td><td>The square distance between the query and the returned point.</td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd>kdTreeClosestPoint2D </dd></dl>

<p>Definition at line <a class="el" href="_k_d_tree_capable_8h_source.html#l00543">543</a> of file <a class="el" href="_k_d_tree_capable_8h_source.html">KDTreeCapable.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab6112525867566c872402236781413e7"></a><!-- doxytag: member="mrpt::vision::CFeatureListKDTree::kdTreeNClosestPoint3DIdx" ref="ab6112525867566c872402236781413e7" args="(const TPoint3D &amp;p0, size_t N, std::vector&lt; int &gt; &amp;outIdx, std::vector&lt; float &gt; &amp;outDistSqr) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::KDTreeCapable::kdTreeNClosestPoint3DIdx </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &amp;&#160;</td>
          <td class="paramname"><em>p0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>N</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; int &gt; &amp;&#160;</td>
          <td class="paramname"><em>outIdx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; float &gt; &amp;&#160;</td>
          <td class="paramname"><em>outDistSqr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_k_d_tree_capable_8h_source.html#l00567">567</a> of file <a class="el" href="_k_d_tree_capable_8h_source.html">KDTreeCapable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a9edfbd2ada1466c02e7bf136c39ca9dd"></a><!-- doxytag: member="mrpt::vision::CFeatureListKDTree::kdTreeTwoClosestPoint2D" ref="a9edfbd2ada1466c02e7bf136c39ca9dd" args="(float x0, float y0, float &amp;out_x1, float &amp;out_y1, float &amp;out_x2, float &amp;out_y2, float &amp;out_dist_sqr1, float &amp;out_dist_sqr2) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::KDTreeCapable::kdTreeTwoClosestPoint2D </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float &amp;&#160;</td>
          <td class="paramname"><em>out_x1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float &amp;&#160;</td>
          <td class="paramname"><em>out_y1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float &amp;&#160;</td>
          <td class="paramname"><em>out_x2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float &amp;&#160;</td>
          <td class="paramname"><em>out_y2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float &amp;&#160;</td>
          <td class="paramname"><em>out_dist_sqr1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float &amp;&#160;</td>
          <td class="paramname"><em>out_dist_sqr2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>KD Tree-based search for the TWO closest point to some given 2D coordinates. </p>
<p>This method automatically build the "m_kdtree_data" structure when:</p>
<ul>
<li>It is called for the first time</li>
<li>The map has changed</li>
<li>The KD-tree was build for 3D.</li>
</ul>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x0</td><td>The X coordinate of the query. </td></tr>
    <tr><td class="paramname">y0</td><td>The Y coordinate of the query. </td></tr>
    <tr><td class="paramname">out_x1</td><td>The X coordinate of the first correspondence. </td></tr>
    <tr><td class="paramname">out_y1</td><td>The Y coordinate of the first correspondence. </td></tr>
    <tr><td class="paramname">out_x2</td><td>The X coordinate of the second correspondence. </td></tr>
    <tr><td class="paramname">out_y2</td><td>The Y coordinate of the second correspondence. </td></tr>
    <tr><td class="paramname">out_dist_sqr1</td><td>The square distance between the query and the first returned point. </td></tr>
    <tr><td class="paramname">out_dist_sqr2</td><td>The square distance between the query and the second returned point.</td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd>kdTreeClosestPoint2D </dd></dl>

<p>Definition at line <a class="el" href="_k_d_tree_capable_8h_source.html#l00229">229</a> of file <a class="el" href="_k_d_tree_capable_8h_source.html">KDTreeCapable.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad9af4bb0f1547c6718c7a5ef5f3e7591"></a><!-- doxytag: member="mrpt::vision::CFeatureListKDTree::kdTreeTwoClosestPoint2D" ref="ad9af4bb0f1547c6718c7a5ef5f3e7591" args="(const TPoint2D &amp;p0, TPoint2D &amp;pOut1, TPoint2D &amp;pOut2, float &amp;outDistSqr1, float &amp;outDistSqr2) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::KDTreeCapable::kdTreeTwoClosestPoint2D </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &amp;&#160;</td>
          <td class="paramname"><em>p0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &amp;&#160;</td>
          <td class="paramname"><em>pOut1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &amp;&#160;</td>
          <td class="paramname"><em>pOut2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float &amp;&#160;</td>
          <td class="paramname"><em>outDistSqr1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float &amp;&#160;</td>
          <td class="paramname"><em>outDistSqr2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_k_d_tree_capable_8h_source.html#l00266">266</a> of file <a class="el" href="_k_d_tree_capable_8h_source.html">KDTreeCapable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7af8b1c8c455e55055209a49b189398b"></a><!-- doxytag: member="mrpt::vision::CFeatureListKDTree::mark_as_outdated" ref="a7af8b1c8c455e55055209a49b189398b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::vision::CFeatureListKDTree::mark_as_outdated </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_t_simple_feature_8h_source.html#l00233">233</a> of file <a class="el" href="_t_simple_feature_8h_source.html">TSimpleFeature.h</a>.</p>

<p>References <a class="el" href="_k_d_tree_capable_8h_source.html#l00575">mrpt::math::KDTreeCapable&lt; CFeatureListKDTree&lt; FEAT &gt; &gt;::kdtree_mark_as_outdated()</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a65f5da9a222c2c7b913f7e6242c6c77e"></a><!-- doxytag: member="mrpt::vision::CFeatureListKDTree::kdtree_search_params" ref="a65f5da9a222c2c7b913f7e6242c6c77e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">TKDTreeSearchParams <a class="el" href="classmrpt_1_1math_1_1_k_d_tree_capable.html#a65f5da9a222c2c7b913f7e6242c6c77e">mrpt::math::KDTreeCapable::kdtree_search_params</a><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Parameters to tune the ANN searches. </p>

<p>Definition at line <a class="el" href="_k_d_tree_capable_8h_source.html#l00116">116</a> of file <a class="el" href="_k_d_tree_capable_8h_source.html">KDTreeCapable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5bd18ade3256fb64ecc5a82f836ae9c7"></a><!-- doxytag: member="mrpt::vision::CFeatureListKDTree::m_data" ref="a5bd18ade3256fb64ecc5a82f836ae9c7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt;FEAT&gt;&amp; <a class="el" href="classmrpt_1_1vision_1_1_c_feature_list_k_d_tree.html#a5bd18ade3256fb64ecc5a82f836ae9c7">mrpt::vision::CFeatureListKDTree::m_data</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_t_simple_feature_8h_source.html#l00235">235</a> of file <a class="el" href="_t_simple_feature_8h_source.html">TSimpleFeature.h</a>.</p>

<p>Referenced by <a class="el" href="_t_simple_feature_8h_source.html#l00243">kdtree_get_point_count()</a>, <a class="el" href="_t_simple_feature_8h_source.html#l00246">kdtree_get_pt()</a>, and <a class="el" href="_t_simple_feature_8h_source.html#l00253">kdtree_distance()</a>.</p>

</div>
</div>
</div>
<br><hr><br> <table border="0" width="100%"> <tr> <td> Page generated by <a href="http://www.doxygen.org" target="_blank">Doxygen 1.7.5</a> for MRPT 0.9.5 SVN: at Sun Sep 25 17:20:18 UTC 2011</td><td></td> <td width="100"> </td> <td width="150">  </td></tr> </table>  </body></html>