Sophie

Sophie

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

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::CFeatureList 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.html">CFeatureList</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-types">Protected Types</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a>  </div>
  <div class="headertitle">
<div class="title">mrpt::vision::CFeatureList 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::CFeatureList" --><!-- doxytag: inherits="KDTreeCapable&lt; CFeatureList &gt;" --><hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>A list of visual features, to be used as output by detectors, as input/output by trackers, etc. </p>
</div>
<p><code>#include &lt;<a class="el" href="_c_feature_8h_source.html">mrpt/vision/CFeature.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for mrpt::vision::CFeatureList:</div>
<div class="dyncontent">
<div class="center"><img src="classmrpt_1_1vision_1_1_c_feature_list__inherit__graph.png" border="0" usemap="#mrpt_1_1vision_1_1_c_feature_list_inherit__map" alt="Inheritance graph"/></div>
<map name="mrpt_1_1vision_1_1_c_feature_list_inherit__map" id="mrpt_1_1vision_1_1_c_feature_list_inherit__map">
<area shape="rect" id="node2" href="classmrpt_1_1math_1_1_k_d_tree_capable.html" title="mrpt::math::KDTreeCapable\&lt; CFeatureList \&gt;" alt="" coords="4,96,288,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="53,5,240,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-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"><a class="el" href="group__mrpt__vision__grp.html#ga3a5b54ab814bafc8bb108e37bbee4e19">TFeatureType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#ae699258ecc3e2527591875f2114f2118">get_type</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The type of the first feature in the list.  <a href="#ae699258ecc3e2527591875f2114f2118"></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_1vision_1_1_c_feature_list.html#a5f6fcf0544cd2896fb6ccdabc64a5e87">saveToTextFile</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;fileName, bool APPEND=false)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Save feature list to a text file.  <a href="#a5f6fcf0544cd2896fb6ccdabc64a5e87"></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_1vision_1_1_c_feature_list.html#ab94daeb3f459a80c6aed416c526ddad0">loadFromTextFile</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;fileName)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Save feature list to a text file.  <a href="#ab94daeb3f459a80c6aed416c526ddad0"></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_1vision_1_1_c_feature_list.html#a4ec691232bf85fa9df6aa02675e2bd38">copyListFrom</a> (const <a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html">CFeatureList</a> &amp;otherList)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Copies the content of another <a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html" title="A list of visual features, to be used as output by detectors, as input/output by trackers, etc.">CFeatureList</a> inside this one.  <a href="#a4ec691232bf85fa9df6aa02675e2bd38"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__mrpt__vision__grp.html#ga5bfc93fce347933b63640f2de874ba26">TFeatureID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a7e8078c60486daac55181669585e2565">getMaxID</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the maximum ID into the list.  <a href="#a7e8078c60486daac55181669585e2565"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1vision_1_1_c_feature_ptr.html">CFeaturePtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#aca84b06e5591c2691fed7d303522fc4f">getByID</a> (const <a class="el" href="group__mrpt__vision__grp.html#ga5bfc93fce347933b63640f2de874ba26">TFeatureID</a> &amp;ID) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a reference to a Feature from its ID.  <a href="#aca84b06e5591c2691fed7d303522fc4f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1vision_1_1_c_feature_ptr.html">CFeaturePtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a8535c4c598afdf6716f8083e2788d544">getByID</a> (const <a class="el" href="group__mrpt__vision__grp.html#ga5bfc93fce347933b63640f2de874ba26">TFeatureID</a> &amp;ID, int &amp;out_idx) 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_1vision_1_1_c_feature_list.html#a26b988a6c8a034a147e03695e7a1ddd1">getByMultiIDs</a> (const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="group__mrpt__vision__grp.html#ga5bfc93fce347933b63640f2de874ba26">TFeatureID</a> &gt; &amp;IDs, <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1vision_1_1_c_feature_ptr.html">CFeaturePtr</a> &gt; &amp;out, <a class="el" href="classstd_1_1vector.html">vector</a>&lt; int &gt; &amp;outIndex) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a vector of references to a subset of features from their IDs.  <a href="#a26b988a6c8a034a147e03695e7a1ddd1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1vision_1_1_c_feature_ptr.html">CFeaturePtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#af9fa3dbf7da996618ad591646d3f1050">nearest</a> (const float x, const float y, double &amp;max_dist) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a reference to the nearest feature to the a given 2D point (version returning distance to closest feature in "max_dist")  <a href="#af9fa3dbf7da996618ad591646d3f1050"></a><br/></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.html#accdcace07ea61ac0bffe52f03ba90a04">CFeatureList</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#accdcace07ea61ac0bffe52f03ba90a04"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#ab6307f31d4201a7ebf4a1589597912ed">~CFeatureList</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Virtual destructor.  <a href="#ab6307f31d4201a7ebf4a1589597912ed"></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_1vision_1_1_c_feature_list.html#a524563954d19cf20dee5b70e5f71780b">mark_kdtree_as_outdated</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Call this when the list of features has been modified so the KD-tree is marked as outdated.  <a href="#a524563954d19cf20dee5b70e5f71780b"></a><br/></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.html#a97a0ca986d97de26d5cf3f035c8749ca">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="#a97a0ca986d97de26d5cf3f035c8749ca"></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.html#aea0217ce0039a4cb93e066ecd7a903b2">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="#aea0217ce0039a4cb93e066ecd7a903b2"></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.html#acd65d5fb0cd684fb303ed2b4a2b66770">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="#acd65d5fb0cd684fb303ed2b4a2b66770"></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.html#a4d44595b2a8928b309b4b89596fcbfcf">kdtree_get_bbox</a> (BBOX &amp;bb) const </td></tr>
<tr><td colspan="2"><div class="groupHeader">getFeature*() methods for template-based access to feature list</div></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.html#a7cb301d74fb033a13a25dfbb4a7b9d47">getFeatureX</a> (size_t i) 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_1vision_1_1_c_feature_list.html#a9e7e7010f5ba9319c33b6383737fa3e5">getFeatureY</a> (size_t i) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__mrpt__vision__grp.html#ga5bfc93fce347933b63640f2de874ba26">TFeatureID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#ac9eb99ed542cb83a9abb84bfc8a41a3f">getFeatureID</a> (size_t i) 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_1vision_1_1_c_feature_list.html#a7a012f3532ef37d1b99802f56a6f4cf5">getFeatureResponse</a> (size_t i) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a000059862a6f422921c4f562b3e3ff73">isPointFeature</a> (size_t i) 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_1vision_1_1_c_feature_list.html#a88c5315e5a788af7e2f34b2ce2d6adc6">getScale</a> (size_t i) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__mrpt__vision__grp.html#ga0437f34e59ac06cddc3a490e2605bb71">TFeatureTrackStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a5c8e32f910077355e84a88bb86d066a4">getTrackStatus</a> (size_t i)</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.html#a7e0c45ba19c5e7254de1fa079a33f0e3">setFeatureX</a> (size_t i, float x)</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.html#a5ab4e8b09d7372b3e24e8efaaad48477">setFeatureXf</a> (size_t i, float x)</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.html#ab982d598a6c5933ced076b2c08f00500">setFeatureY</a> (size_t i, float y)</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.html#a006a483585d3da67eb7ef37f14f12fcc">setFeatureYf</a> (size_t i, float y)</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.html#abc516d209bb5673c5834cebdda258d6c">setFeatureID</a> (size_t i, <a class="el" href="group__mrpt__vision__grp.html#ga5bfc93fce347933b63640f2de874ba26">TFeatureID</a> id)</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.html#a33a06b89aa25be88bdb297bc342452c6">setFeatureResponse</a> (size_t i, float r)</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.html#ad314373d9d4f0f09a39ec6ec80cf309a">setScale</a> (size_t i, float s)</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.html#a28b27bfb0e11998a0e839fa08763b272">setTrackStatus</a> (size_t i, <a class="el" href="group__mrpt__vision__grp.html#ga0437f34e59ac06cddc3a490e2605bb71">TFeatureTrackStatus</a> s)</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.html#af48155a949a3f39bce127928c9607dcf">mark_as_outdated</a> () 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">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-types"></a>
Protected Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; <a class="el" href="structmrpt_1_1vision_1_1_c_feature_ptr.html">CFeaturePtr</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#ad78c7429f48503c5628d0589eca29117">TInternalFeatList</a></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>
<tr><td colspan="2"><h2><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#ad78c7429f48503c5628d0589eca29117">TInternalFeatList</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#ad0c2dc38a9e2b8cbc6ba88c143d8c57f">m_feats</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The actual container with the list of features.  <a href="#ad0c2dc38a9e2b8cbc6ba88c143d8c57f"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="member-group"></a>
Method and datatypes to emulate a STL container</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="eigen__plugins_8h.html#a39c5d6430ea9395ae7ae729dd0c3f18c">TInternalFeatList::iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a76ce4dd9b8a0d1d002c94381d46fc4c1">iterator</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <br class="typebreak"/>
<a class="el" href="eigen__plugins_8h.html#a8dbda719917732693c56cee228465ed9">TInternalFeatList::const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a6312f92a49f307ac17a295aaae6585b8">const_iterator</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <br class="typebreak"/>
TInternalFeatList::reverse_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a6b0fa203794dfd9c460add1010ec8547">reverse_iterator</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <br class="typebreak"/>
TInternalFeatList::const_reverse_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a56f07e5ecb033082f0bf40d1113def3a">const_reverse_iterator</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a76ce4dd9b8a0d1d002c94381d46fc4c1">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a51d87725bb158a2a648b18e0b99ddad0">begin</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a76ce4dd9b8a0d1d002c94381d46fc4c1">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a8aeaa665d175d6586be382752a2cef41">end</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a6312f92a49f307ac17a295aaae6585b8">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#ad38b0a919f5e601862979777bafbec9e">begin</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a6312f92a49f307ac17a295aaae6585b8">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a2b69dadf0399fb55b32c893c7995a5c9">end</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a6b0fa203794dfd9c460add1010ec8547">reverse_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a618d64dcb5d749fd5b4af2d60757ced1">rbegin</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a6b0fa203794dfd9c460add1010ec8547">reverse_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#afb2ae6eeaf50b9553c097c5a6f5efe6a">rend</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a56f07e5ecb033082f0bf40d1113def3a">const_reverse_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a17fe09fb4c4fbb16daa5a95f5aebe8a7">rbegin</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a56f07e5ecb033082f0bf40d1113def3a">const_reverse_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#accd5dab737f75a6667351afa7448d8d0">rend</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a76ce4dd9b8a0d1d002c94381d46fc4c1">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a2cce2b3afbe1a94fa31754f45f729ed7">erase</a> (const <a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a76ce4dd9b8a0d1d002c94381d46fc4c1">iterator</a> it)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a118556b83dd11ee57c8baee42949a699">empty</a> () 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_1vision_1_1_c_feature_list.html#a642057e017f87b01ae71fca3efbd8527">size</a> () 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_1vision_1_1_c_feature_list.html#ae66587d1f0e356f422328b6f0a0b90d6">clear</a> ()</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.html#a8b303b4d3faa7e1bb7bd67d4feda4d21">resize</a> (size_t N)</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.html#a29c1449887c7a214099abd8f4dcfd310">push_back</a> (const <a class="el" href="structmrpt_1_1vision_1_1_c_feature_ptr.html">CFeaturePtr</a> &amp;f)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1vision_1_1_c_feature_ptr.html">CFeaturePtr</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a9ecac8909a45f24c3d946ff754f02ecd">operator[]</a> (const unsigned int index)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structmrpt_1_1vision_1_1_c_feature_ptr.html">CFeaturePtr</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#aa0e7a7e474715a3274e8fc671678618c">operator[]</a> (const unsigned int index) const </td></tr>
</table>
<hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="a6312f92a49f307ac17a295aaae6585b8"></a><!-- doxytag: member="mrpt::vision::CFeatureList::const_iterator" ref="a6312f92a49f307ac17a295aaae6585b8" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="eigen__plugins_8h.html#a8dbda719917732693c56cee228465ed9">TInternalFeatList::const_iterator</a> <a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a6312f92a49f307ac17a295aaae6585b8">mrpt::vision::CFeatureList::const_iterator</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_feature_8h_source.html#l00280">280</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

</div>
</div>
<a class="anchor" id="a56f07e5ecb033082f0bf40d1113def3a"></a><!-- doxytag: member="mrpt::vision::CFeatureList::const_reverse_iterator" ref="a56f07e5ecb033082f0bf40d1113def3a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef TInternalFeatList::const_reverse_iterator <a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a56f07e5ecb033082f0bf40d1113def3a">mrpt::vision::CFeatureList::const_reverse_iterator</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_feature_8h_source.html#l00283">283</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

</div>
</div>
<a class="anchor" id="a76ce4dd9b8a0d1d002c94381d46fc4c1"></a><!-- doxytag: member="mrpt::vision::CFeatureList::iterator" ref="a76ce4dd9b8a0d1d002c94381d46fc4c1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="eigen__plugins_8h.html#a39c5d6430ea9395ae7ae729dd0c3f18c">TInternalFeatList::iterator</a> <a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a76ce4dd9b8a0d1d002c94381d46fc4c1">mrpt::vision::CFeatureList::iterator</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_feature_8h_source.html#l00279">279</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

</div>
</div>
<a class="anchor" id="a6b0fa203794dfd9c460add1010ec8547"></a><!-- doxytag: member="mrpt::vision::CFeatureList::reverse_iterator" ref="a6b0fa203794dfd9c460add1010ec8547" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef TInternalFeatList::reverse_iterator <a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a6b0fa203794dfd9c460add1010ec8547">mrpt::vision::CFeatureList::reverse_iterator</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_feature_8h_source.html#l00282">282</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae848e2006de4cda4f4a50d0c057d086c"></a><!-- doxytag: member="mrpt::vision::CFeatureList::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>
<a class="anchor" id="ad78c7429f48503c5628d0589eca29117"></a><!-- doxytag: member="mrpt::vision::CFeatureList::TInternalFeatList" ref="ad78c7429f48503c5628d0589eca29117" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt;<a class="el" href="structmrpt_1_1vision_1_1_c_feature_ptr.html">CFeaturePtr</a>&gt; <a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#ad78c7429f48503c5628d0589eca29117">mrpt::vision::CFeatureList::TInternalFeatList</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_feature_8h_source.html#l00232">232</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="accdcace07ea61ac0bffe52f03ba90a04"></a><!-- doxytag: member="mrpt::vision::CFeatureList::CFeatureList" ref="accdcace07ea61ac0bffe52f03ba90a04" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">mrpt::vision::CFeatureList::CFeatureList </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor. </p>

</div>
</div>
<a class="anchor" id="ab6307f31d4201a7ebf4a1589597912ed"></a><!-- doxytag: member="mrpt::vision::CFeatureList::~CFeatureList" ref="ab6307f31d4201a7ebf4a1589597912ed" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual mrpt::vision::CFeatureList::~CFeatureList </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Virtual destructor. </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a51d87725bb158a2a648b18e0b99ddad0"></a><!-- doxytag: member="mrpt::vision::CFeatureList::begin" ref="a51d87725bb158a2a648b18e0b99ddad0" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a76ce4dd9b8a0d1d002c94381d46fc4c1">iterator</a> mrpt::vision::CFeatureList::begin </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="_c_feature_8h_source.html#l00285">285</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

<p>Referenced by <a class="el" href="tracking_8h_source.html#l00165">mrpt::vision::CGenericFeatureTracker::trackFeaturesNewList()</a>.</p>

</div>
</div>
<a class="anchor" id="ad38b0a919f5e601862979777bafbec9e"></a><!-- doxytag: member="mrpt::vision::CFeatureList::begin" ref="ad38b0a919f5e601862979777bafbec9e" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a6312f92a49f307ac17a295aaae6585b8">const_iterator</a> mrpt::vision::CFeatureList::begin </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_feature_8h_source.html#l00287">287</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae66587d1f0e356f422328b6f0a0b90d6"></a><!-- doxytag: member="mrpt::vision::CFeatureList::clear" ref="ae66587d1f0e356f422328b6f0a0b90d6" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::vision::CFeatureList::clear </td>
          <td>(</td>
          <td class="paramtype">void&#160;</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="_c_feature_8h_source.html#l00300">300</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4ec691232bf85fa9df6aa02675e2bd38"></a><!-- doxytag: member="mrpt::vision::CFeatureList::copyListFrom" ref="a4ec691232bf85fa9df6aa02675e2bd38" args="(const CFeatureList &amp;otherList)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::vision::CFeatureList::copyListFrom </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html">CFeatureList</a> &amp;&#160;</td>
          <td class="paramname"><em>otherList</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Copies the content of another <a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html" title="A list of visual features, to be used as output by detectors, as input/output by trackers, etc.">CFeatureList</a> inside this one. </p>
<p>The inner features are also copied. </p>

</div>
</div>
<a class="anchor" id="a1f2be858dfb40e06cbae68375c98941b"></a><!-- doxytag: member="mrpt::vision::CFeatureList::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::CFeatureList::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="a118556b83dd11ee57c8baee42949a699"></a><!-- doxytag: member="mrpt::vision::CFeatureList::empty" ref="a118556b83dd11ee57c8baee42949a699" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::vision::CFeatureList::empty </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_feature_8h_source.html#l00297">297</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8aeaa665d175d6586be382752a2cef41"></a><!-- doxytag: member="mrpt::vision::CFeatureList::end" ref="a8aeaa665d175d6586be382752a2cef41" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a76ce4dd9b8a0d1d002c94381d46fc4c1">iterator</a> mrpt::vision::CFeatureList::end </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="_c_feature_8h_source.html#l00286">286</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

<p>Referenced by <a class="el" href="tracking_8h_source.html#l00165">mrpt::vision::CGenericFeatureTracker::trackFeaturesNewList()</a>.</p>

</div>
</div>
<a class="anchor" id="a2b69dadf0399fb55b32c893c7995a5c9"></a><!-- doxytag: member="mrpt::vision::CFeatureList::end" ref="a2b69dadf0399fb55b32c893c7995a5c9" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a6312f92a49f307ac17a295aaae6585b8">const_iterator</a> mrpt::vision::CFeatureList::end </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_feature_8h_source.html#l00288">288</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

</div>
</div>
<a class="anchor" id="a2cce2b3afbe1a94fa31754f45f729ed7"></a><!-- doxytag: member="mrpt::vision::CFeatureList::erase" ref="a2cce2b3afbe1a94fa31754f45f729ed7" args="(const iterator it)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a76ce4dd9b8a0d1d002c94381d46fc4c1">iterator</a> mrpt::vision::CFeatureList::erase </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a76ce4dd9b8a0d1d002c94381d46fc4c1">iterator</a>&#160;</td>
          <td class="paramname"><em>it</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_feature_8h_source.html#l00295">295</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae699258ecc3e2527591875f2114f2118"></a><!-- doxytag: member="mrpt::vision::CFeatureList::get_type" ref="ae699258ecc3e2527591875f2114f2118" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__mrpt__vision__grp.html#ga3a5b54ab814bafc8bb108e37bbee4e19">TFeatureType</a> mrpt::vision::CFeatureList::get_type </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The type of the first feature in the list. </p>

<p>Definition at line <a class="el" href="_c_feature_8h_source.html#l00238">238</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

<p>References <a class="el" href="eigen__plugins_8h_source.html#l00503">empty()</a>, <a class="el" href="vision_2include_2mrpt_2vision_2types_8h_source.html#l00067">mrpt::vision::featNotDefined</a>, <a class="el" href="eigen__plugins_8h_source.html#l00046">begin()</a>, and <a class="el" href="_c_feature_8h_source.html#l00238">get_type()</a>.</p>

<p>Referenced by <a class="el" href="_c_feature_8h_source.html#l00238">get_type()</a>.</p>

</div>
</div>
<a class="anchor" id="aca84b06e5591c2691fed7d303522fc4f"></a><!-- doxytag: member="mrpt::vision::CFeatureList::getByID" ref="aca84b06e5591c2691fed7d303522fc4f" args="(const TFeatureID &amp;ID) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1vision_1_1_c_feature_ptr.html">CFeaturePtr</a> mrpt::vision::CFeatureList::getByID </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__mrpt__vision__grp.html#ga5bfc93fce347933b63640f2de874ba26">TFeatureID</a> &amp;&#160;</td>
          <td class="paramname"><em>ID</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get a reference to a Feature from its ID. </p>

</div>
</div>
<a class="anchor" id="a8535c4c598afdf6716f8083e2788d544"></a><!-- doxytag: member="mrpt::vision::CFeatureList::getByID" ref="a8535c4c598afdf6716f8083e2788d544" args="(const TFeatureID &amp;ID, int &amp;out_idx) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1vision_1_1_c_feature_ptr.html">CFeaturePtr</a> mrpt::vision::CFeatureList::getByID </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__mrpt__vision__grp.html#ga5bfc93fce347933b63640f2de874ba26">TFeatureID</a> &amp;&#160;</td>
          <td class="paramname"><em>ID</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&#160;</td>
          <td class="paramname"><em>out_idx</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a26b988a6c8a034a147e03695e7a1ddd1"></a><!-- doxytag: member="mrpt::vision::CFeatureList::getByMultiIDs" ref="a26b988a6c8a034a147e03695e7a1ddd1" args="(const vector&lt; TFeatureID &gt; &amp;IDs, vector&lt; CFeaturePtr &gt; &amp;out, vector&lt; int &gt; &amp;outIndex) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::vision::CFeatureList::getByMultiIDs </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="group__mrpt__vision__grp.html#ga5bfc93fce347933b63640f2de874ba26">TFeatureID</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>IDs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1vision_1_1_c_feature_ptr.html">CFeaturePtr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">vector</a>&lt; int &gt; &amp;&#160;</td>
          <td class="paramname"><em>outIndex</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get a vector of references to a subset of features from their IDs. </p>

</div>
</div>
<a class="anchor" id="ac9eb99ed542cb83a9abb84bfc8a41a3f"></a><!-- doxytag: member="mrpt::vision::CFeatureList::getFeatureID" ref="ac9eb99ed542cb83a9abb84bfc8a41a3f" args="(size_t i) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__mrpt__vision__grp.html#ga5bfc93fce347933b63640f2de874ba26">TFeatureID</a> mrpt::vision::CFeatureList::getFeatureID </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_feature_8h_source.html#l00347">347</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7a012f3532ef37d1b99802f56a6f4cf5"></a><!-- doxytag: member="mrpt::vision::CFeatureList::getFeatureResponse" ref="a7a012f3532ef37d1b99802f56a6f4cf5" args="(size_t i) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float mrpt::vision::CFeatureList::getFeatureResponse </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_feature_8h_source.html#l00348">348</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7cb301d74fb033a13a25dfbb4a7b9d47"></a><!-- doxytag: member="mrpt::vision::CFeatureList::getFeatureX" ref="a7cb301d74fb033a13a25dfbb4a7b9d47" args="(size_t i) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float mrpt::vision::CFeatureList::getFeatureX </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_feature_8h_source.html#l00345">345</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

</div>
</div>
<a class="anchor" id="a9e7e7010f5ba9319c33b6383737fa3e5"></a><!-- doxytag: member="mrpt::vision::CFeatureList::getFeatureY" ref="a9e7e7010f5ba9319c33b6383737fa3e5" args="(size_t i) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float mrpt::vision::CFeatureList::getFeatureY </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_feature_8h_source.html#l00346">346</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7e8078c60486daac55181669585e2565"></a><!-- doxytag: member="mrpt::vision::CFeatureList::getMaxID" ref="a7e8078c60486daac55181669585e2565" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__mrpt__vision__grp.html#ga5bfc93fce347933b63640f2de874ba26">TFeatureID</a> mrpt::vision::CFeatureList::getMaxID </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the maximum ID into the list. </p>

</div>
</div>
<a class="anchor" id="a88c5315e5a788af7e2f34b2ce2d6adc6"></a><!-- doxytag: member="mrpt::vision::CFeatureList::getScale" ref="a88c5315e5a788af7e2f34b2ce2d6adc6" args="(size_t i) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float mrpt::vision::CFeatureList::getScale </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_feature_8h_source.html#l00350">350</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5c8e32f910077355e84a88bb86d066a4"></a><!-- doxytag: member="mrpt::vision::CFeatureList::getTrackStatus" ref="a5c8e32f910077355e84a88bb86d066a4" args="(size_t i)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__mrpt__vision__grp.html#ga0437f34e59ac06cddc3a490e2605bb71">TFeatureTrackStatus</a> mrpt::vision::CFeatureList::getTrackStatus </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

</div>
</div>
<a class="anchor" id="a000059862a6f422921c4f562b3e3ff73"></a><!-- doxytag: member="mrpt::vision::CFeatureList::isPointFeature" ref="a000059862a6f422921c4f562b3e3ff73" args="(size_t i) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::vision::CFeatureList::isPointFeature </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_feature_8h_source.html#l00349">349</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

</div>
</div>
<a class="anchor" id="acd65d5fb0cd684fb303ed2b4a2b66770"></a><!-- doxytag: member="mrpt::vision::CFeatureList::kdtree_distance" ref="acd65d5fb0cd684fb303ed2b4a2b66770" 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::CFeatureList::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="_c_feature_8h_source.html#l00325">325</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

<p>References <a class="el" href="mrpt__macros_8h_source.html#l00304">ASSERTDEB_</a>.</p>

</div>
</div>
<a class="anchor" id="a4d44595b2a8928b309b4b89596fcbfcf"></a><!-- doxytag: member="mrpt::vision::CFeatureList::kdtree_get_bbox" ref="a4d44595b2a8928b309b4b89596fcbfcf" 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::CFeatureList::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="_c_feature_8h_source.html#l00338">338</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

</div>
</div>
<a class="anchor" id="a97a0ca986d97de26d5cf3f035c8749ca"></a><!-- doxytag: member="mrpt::vision::CFeatureList::kdtree_get_point_count" ref="a97a0ca986d97de26d5cf3f035c8749ca" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t mrpt::vision::CFeatureList::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="_c_feature_8h_source.html#l00315">315</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

<p>References <a class="el" href="bits_8h_source.html#l00065">mrpt::math::size()</a>.</p>

</div>
</div>
<a class="anchor" id="aea0217ce0039a4cb93e066ecd7a903b2"></a><!-- doxytag: member="mrpt::vision::CFeatureList::kdtree_get_pt" ref="aea0217ce0039a4cb93e066ecd7a903b2" args="(const size_t idx, int dim) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float mrpt::vision::CFeatureList::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="_c_feature_8h_source.html#l00318">318</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

<p>References <a class="el" href="mrpt__macros_8h_source.html#l00304">ASSERTDEB_</a>.</p>

</div>
</div>
<a class="anchor" id="a257dd22c1a52d1150117195aaf416f16"></a><!-- doxytag: member="mrpt::vision::CFeatureList::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>References <a class="el" href="_k_d_tree_capable_8h_source.html#l00612">mrpt::math::KDTreeCapable::m_kdtree_is_uptodate</a>.</p>

</div>
</div>
<a class="anchor" id="ae9c0bb8eae4945085a0b03408adaa180"></a><!-- doxytag: member="mrpt::vision::CFeatureList::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>

<p>References <a class="el" href="mrpt__macros_8h_source.html#l00370">MRPT_START</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00615">mrpt::math::KDTreeCapable::rebuild_kdTree_2D()</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00609">mrpt::math::KDTreeCapable::m_kdtree2d_data</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00606">mrpt::math::KDTreeCapable::TKDTreeDataHolder::m_num_points</a>, <a class="el" href="mrpt__macros_8h_source.html#l00131">THROW_EXCEPTION</a>, <a class="el" href="nanoflann_8hpp_source.html#l00073">nanoflann::KNNResultSet::init()</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00604">mrpt::math::KDTreeCapable::TKDTreeDataHolder::query_point</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00602">mrpt::math::KDTreeCapable::TKDTreeDataHolder::index</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00116">mrpt::math::KDTreeCapable::kdtree_search_params</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00112">mrpt::math::KDTreeCapable::TKDTreeSearchParams::nChecks</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00100">mrpt::math::KDTreeCapable::derived()</a>, and <a class="el" href="mrpt__macros_8h_source.html#l00374">MRPT_END</a>.</p>

</div>
</div>
<a class="anchor" id="acccf80ebe86d7512a2eabb1f4cd7d5e7"></a><!-- doxytag: member="mrpt::vision::CFeatureList::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>

<p>References <a class="el" href="mrpt__macros_8h_source.html#l00370">MRPT_START</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00615">mrpt::math::KDTreeCapable::rebuild_kdTree_2D()</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00609">mrpt::math::KDTreeCapable::m_kdtree2d_data</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00606">mrpt::math::KDTreeCapable::TKDTreeDataHolder::m_num_points</a>, <a class="el" href="mrpt__macros_8h_source.html#l00131">THROW_EXCEPTION</a>, <a class="el" href="nanoflann_8hpp_source.html#l00073">nanoflann::KNNResultSet::init()</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00604">mrpt::math::KDTreeCapable::TKDTreeDataHolder::query_point</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00602">mrpt::math::KDTreeCapable::TKDTreeDataHolder::index</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00116">mrpt::math::KDTreeCapable::kdtree_search_params</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00112">mrpt::math::KDTreeCapable::TKDTreeSearchParams::nChecks</a>, and <a class="el" href="mrpt__macros_8h_source.html#l00374">MRPT_END</a>.</p>

</div>
</div>
<a class="anchor" id="aa931ad90835e719b966cf61c317c6e6d"></a><!-- doxytag: member="mrpt::vision::CFeatureList::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>

<p>References <a class="el" href="_k_d_tree_capable_8h_source.html#l00136">mrpt::math::KDTreeCapable::kdTreeClosestPoint2D()</a>, <a class="el" href="lightweight__geom__data_8h_source.html#l00076">mrpt::math::TPoint2D::x</a>, and <a class="el" href="lightweight__geom__data_8h_source.html#l00080">mrpt::math::TPoint2D::y</a>.</p>

</div>
</div>
<a class="anchor" id="aa8a35f96809c7677b730f8282c77e1ac"></a><!-- doxytag: member="mrpt::vision::CFeatureList::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>

<p>References <a class="el" href="_k_d_tree_capable_8h_source.html#l00136">mrpt::math::KDTreeCapable::kdTreeClosestPoint2D()</a>.</p>

</div>
</div>
<a class="anchor" id="abee2f8ff656e8eca62d0444021577776"></a><!-- doxytag: member="mrpt::vision::CFeatureList::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>

<p>References <a class="el" href="_k_d_tree_capable_8h_source.html#l00199">mrpt::math::KDTreeCapable::kdTreeClosestPoint2DsqrError()</a>, <a class="el" href="lightweight__geom__data_8h_source.html#l00076">mrpt::math::TPoint2D::x</a>, and <a class="el" href="lightweight__geom__data_8h_source.html#l00080">mrpt::math::TPoint2D::y</a>.</p>

</div>
</div>
<a class="anchor" id="a89eab3ed58a61ba1dd561552562a1215"></a><!-- doxytag: member="mrpt::vision::CFeatureList::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>

<p>References <a class="el" href="mrpt__macros_8h_source.html#l00370">MRPT_START</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00640">mrpt::math::KDTreeCapable::rebuild_kdTree_3D()</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00610">mrpt::math::KDTreeCapable::m_kdtree3d_data</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00606">mrpt::math::KDTreeCapable::TKDTreeDataHolder::m_num_points</a>, <a class="el" href="mrpt__macros_8h_source.html#l00131">THROW_EXCEPTION</a>, <a class="el" href="nanoflann_8hpp_source.html#l00073">nanoflann::KNNResultSet::init()</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00604">mrpt::math::KDTreeCapable::TKDTreeDataHolder::query_point</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00602">mrpt::math::KDTreeCapable::TKDTreeDataHolder::index</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00116">mrpt::math::KDTreeCapable::kdtree_search_params</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00112">mrpt::math::KDTreeCapable::TKDTreeSearchParams::nChecks</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00100">mrpt::math::KDTreeCapable::derived()</a>, and <a class="el" href="mrpt__macros_8h_source.html#l00374">MRPT_END</a>.</p>

</div>
</div>
<a class="anchor" id="a44afd69e49d989baa2973ffd7f7037e6"></a><!-- doxytag: member="mrpt::vision::CFeatureList::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>

<p>References <a class="el" href="mrpt__macros_8h_source.html#l00370">MRPT_START</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00640">mrpt::math::KDTreeCapable::rebuild_kdTree_3D()</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00610">mrpt::math::KDTreeCapable::m_kdtree3d_data</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00606">mrpt::math::KDTreeCapable::TKDTreeDataHolder::m_num_points</a>, <a class="el" href="mrpt__macros_8h_source.html#l00131">THROW_EXCEPTION</a>, <a class="el" href="nanoflann_8hpp_source.html#l00073">nanoflann::KNNResultSet::init()</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00604">mrpt::math::KDTreeCapable::TKDTreeDataHolder::query_point</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00602">mrpt::math::KDTreeCapable::TKDTreeDataHolder::index</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00116">mrpt::math::KDTreeCapable::kdtree_search_params</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00112">mrpt::math::KDTreeCapable::TKDTreeSearchParams::nChecks</a>, and <a class="el" href="mrpt__macros_8h_source.html#l00374">MRPT_END</a>.</p>

</div>
</div>
<a class="anchor" id="a2f18fd292f21f156b9ac5ae3503f44aa"></a><!-- doxytag: member="mrpt::vision::CFeatureList::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>

<p>References <a class="el" href="_k_d_tree_capable_8h_source.html#l00394">mrpt::math::KDTreeCapable::kdTreeClosestPoint3D()</a>, <a class="el" href="lightweight__geom__data_8h_source.html#l00293">mrpt::math::TPoint3D::x</a>, <a class="el" href="lightweight__geom__data_8h_source.html#l00294">mrpt::math::TPoint3D::y</a>, and <a class="el" href="lightweight__geom__data_8h_source.html#l00295">mrpt::math::TPoint3D::z</a>.</p>

</div>
</div>
<a class="anchor" id="abf55cf62066eeff4c9db446b040c481d"></a><!-- doxytag: member="mrpt::vision::CFeatureList::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>

<p>References <a class="el" href="mrpt__macros_8h_source.html#l00370">MRPT_START</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00615">mrpt::math::KDTreeCapable::rebuild_kdTree_2D()</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00609">mrpt::math::KDTreeCapable::m_kdtree2d_data</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00606">mrpt::math::KDTreeCapable::TKDTreeDataHolder::m_num_points</a>, <a class="el" href="mrpt__macros_8h_source.html#l00131">THROW_EXCEPTION</a>, <a class="el" href="nanoflann_8hpp_source.html#l00073">nanoflann::KNNResultSet::init()</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00604">mrpt::math::KDTreeCapable::TKDTreeDataHolder::query_point</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00602">mrpt::math::KDTreeCapable::TKDTreeDataHolder::index</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00116">mrpt::math::KDTreeCapable::kdtree_search_params</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00112">mrpt::math::KDTreeCapable::TKDTreeSearchParams::nChecks</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00100">mrpt::math::KDTreeCapable::derived()</a>, and <a class="el" href="mrpt__macros_8h_source.html#l00374">MRPT_END</a>.</p>

</div>
</div>
<a class="anchor" id="a98394b54ad28658bdb397116bcd7a1d7"></a><!-- doxytag: member="mrpt::vision::CFeatureList::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>

<p>References <a class="el" href="_k_d_tree_capable_8h_source.html#l00293">mrpt::math::KDTreeCapable::kdTreeNClosestPoint2D()</a>, <a class="el" href="lightweight__geom__data_8h_source.html#l00076">mrpt::math::TPoint2D::x</a>, and <a class="el" href="lightweight__geom__data_8h_source.html#l00080">mrpt::math::TPoint2D::y</a>.</p>

</div>
</div>
<a class="anchor" id="a17665632b43c9a65530cbc97581128bc"></a><!-- doxytag: member="mrpt::vision::CFeatureList::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>

<p>References <a class="el" href="mrpt__macros_8h_source.html#l00370">MRPT_START</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00615">mrpt::math::KDTreeCapable::rebuild_kdTree_2D()</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00609">mrpt::math::KDTreeCapable::m_kdtree2d_data</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00606">mrpt::math::KDTreeCapable::TKDTreeDataHolder::m_num_points</a>, <a class="el" href="mrpt__macros_8h_source.html#l00131">THROW_EXCEPTION</a>, <a class="el" href="nanoflann_8hpp_source.html#l00073">nanoflann::KNNResultSet::init()</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00604">mrpt::math::KDTreeCapable::TKDTreeDataHolder::query_point</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00602">mrpt::math::KDTreeCapable::TKDTreeDataHolder::index</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00116">mrpt::math::KDTreeCapable::kdtree_search_params</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00112">mrpt::math::KDTreeCapable::TKDTreeSearchParams::nChecks</a>, and <a class="el" href="mrpt__macros_8h_source.html#l00374">MRPT_END</a>.</p>

</div>
</div>
<a class="anchor" id="a6d16ab2d09b0e2f59b368ce43f4ba944"></a><!-- doxytag: member="mrpt::vision::CFeatureList::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>

<p>References <a class="el" href="_k_d_tree_capable_8h_source.html#l00351">mrpt::math::KDTreeCapable::kdTreeNClosestPoint2DIdx()</a>, <a class="el" href="lightweight__geom__data_8h_source.html#l00076">mrpt::math::TPoint2D::x</a>, and <a class="el" href="lightweight__geom__data_8h_source.html#l00080">mrpt::math::TPoint2D::y</a>.</p>

</div>
</div>
<a class="anchor" id="a9fd5af04995704c55b1a17f4515da803"></a><!-- doxytag: member="mrpt::vision::CFeatureList::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>

<p>References <a class="el" href="mrpt__macros_8h_source.html#l00370">MRPT_START</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00640">mrpt::math::KDTreeCapable::rebuild_kdTree_3D()</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00610">mrpt::math::KDTreeCapable::m_kdtree3d_data</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00606">mrpt::math::KDTreeCapable::TKDTreeDataHolder::m_num_points</a>, <a class="el" href="mrpt__macros_8h_source.html#l00131">THROW_EXCEPTION</a>, <a class="el" href="nanoflann_8hpp_source.html#l00073">nanoflann::KNNResultSet::init()</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00604">mrpt::math::KDTreeCapable::TKDTreeDataHolder::query_point</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00602">mrpt::math::KDTreeCapable::TKDTreeDataHolder::index</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00116">mrpt::math::KDTreeCapable::kdtree_search_params</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00112">mrpt::math::KDTreeCapable::TKDTreeSearchParams::nChecks</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00100">mrpt::math::KDTreeCapable::derived()</a>, and <a class="el" href="mrpt__macros_8h_source.html#l00374">MRPT_END</a>.</p>

</div>
</div>
<a class="anchor" id="a61a35dc755ae1225f6d09e6d81eefb05"></a><!-- doxytag: member="mrpt::vision::CFeatureList::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>

<p>References <a class="el" href="_k_d_tree_capable_8h_source.html#l00480">mrpt::math::KDTreeCapable::kdTreeNClosestPoint3D()</a>, <a class="el" href="lightweight__geom__data_8h_source.html#l00293">mrpt::math::TPoint3D::x</a>, <a class="el" href="lightweight__geom__data_8h_source.html#l00294">mrpt::math::TPoint3D::y</a>, and <a class="el" href="lightweight__geom__data_8h_source.html#l00295">mrpt::math::TPoint3D::z</a>.</p>

</div>
</div>
<a class="anchor" id="a343546d3f23d9c1df671c4d8c5c9eb39"></a><!-- doxytag: member="mrpt::vision::CFeatureList::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>

<p>References <a class="el" href="mrpt__macros_8h_source.html#l00370">MRPT_START</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00640">mrpt::math::KDTreeCapable::rebuild_kdTree_3D()</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00610">mrpt::math::KDTreeCapable::m_kdtree3d_data</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00606">mrpt::math::KDTreeCapable::TKDTreeDataHolder::m_num_points</a>, <a class="el" href="mrpt__macros_8h_source.html#l00131">THROW_EXCEPTION</a>, <a class="el" href="nanoflann_8hpp_source.html#l00073">nanoflann::KNNResultSet::init()</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00604">mrpt::math::KDTreeCapable::TKDTreeDataHolder::query_point</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00602">mrpt::math::KDTreeCapable::TKDTreeDataHolder::index</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00116">mrpt::math::KDTreeCapable::kdtree_search_params</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00112">mrpt::math::KDTreeCapable::TKDTreeSearchParams::nChecks</a>, and <a class="el" href="mrpt__macros_8h_source.html#l00374">MRPT_END</a>.</p>

</div>
</div>
<a class="anchor" id="ab6112525867566c872402236781413e7"></a><!-- doxytag: member="mrpt::vision::CFeatureList::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>

<p>References <a class="el" href="_k_d_tree_capable_8h_source.html#l00543">mrpt::math::KDTreeCapable::kdTreeNClosestPoint3DIdx()</a>, <a class="el" href="lightweight__geom__data_8h_source.html#l00293">mrpt::math::TPoint3D::x</a>, <a class="el" href="lightweight__geom__data_8h_source.html#l00294">mrpt::math::TPoint3D::y</a>, and <a class="el" href="lightweight__geom__data_8h_source.html#l00295">mrpt::math::TPoint3D::z</a>.</p>

</div>
</div>
<a class="anchor" id="a9edfbd2ada1466c02e7bf136c39ca9dd"></a><!-- doxytag: member="mrpt::vision::CFeatureList::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>

<p>References <a class="el" href="mrpt__macros_8h_source.html#l00370">MRPT_START</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00615">mrpt::math::KDTreeCapable::rebuild_kdTree_2D()</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00609">mrpt::math::KDTreeCapable::m_kdtree2d_data</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00606">mrpt::math::KDTreeCapable::TKDTreeDataHolder::m_num_points</a>, <a class="el" href="mrpt__macros_8h_source.html#l00131">THROW_EXCEPTION</a>, <a class="el" href="nanoflann_8hpp_source.html#l00073">nanoflann::KNNResultSet::init()</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00604">mrpt::math::KDTreeCapable::TKDTreeDataHolder::query_point</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00602">mrpt::math::KDTreeCapable::TKDTreeDataHolder::index</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00116">mrpt::math::KDTreeCapable::kdtree_search_params</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00112">mrpt::math::KDTreeCapable::TKDTreeSearchParams::nChecks</a>, <a class="el" href="_k_d_tree_capable_8h_source.html#l00100">mrpt::math::KDTreeCapable::derived()</a>, and <a class="el" href="mrpt__macros_8h_source.html#l00374">MRPT_END</a>.</p>

</div>
</div>
<a class="anchor" id="ad9af4bb0f1547c6718c7a5ef5f3e7591"></a><!-- doxytag: member="mrpt::vision::CFeatureList::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>

<p>References <a class="el" href="_k_d_tree_capable_8h_source.html#l00229">mrpt::math::KDTreeCapable::kdTreeTwoClosestPoint2D()</a>, <a class="el" href="lightweight__geom__data_8h_source.html#l00076">mrpt::math::TPoint2D::x</a>, and <a class="el" href="lightweight__geom__data_8h_source.html#l00080">mrpt::math::TPoint2D::y</a>.</p>

</div>
</div>
<a class="anchor" id="ab94daeb3f459a80c6aed416c526ddad0"></a><!-- doxytag: member="mrpt::vision::CFeatureList::loadFromTextFile" ref="ab94daeb3f459a80c6aed416c526ddad0" args="(const std::string &amp;fileName)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::vision::CFeatureList::loadFromTextFile </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>fileName</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Save feature list to a text file. </p>

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

<p>Definition at line <a class="el" href="_c_feature_8h_source.html#l00363">363</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

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

<p>Call this when the list of features has been modified so the KD-tree is marked as outdated. </p>

<p>Definition at line <a class="el" href="_c_feature_8h_source.html#l00275">275</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

</div>
</div>
<a class="anchor" id="af9fa3dbf7da996618ad591646d3f1050"></a><!-- doxytag: member="mrpt::vision::CFeatureList::nearest" ref="af9fa3dbf7da996618ad591646d3f1050" args="(const float x, const float y, double &amp;max_dist) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1vision_1_1_c_feature_ptr.html">CFeaturePtr</a> mrpt::vision::CFeatureList::nearest </td>
          <td>(</td>
          <td class="paramtype">const float&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const float&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"><em>max_dist</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get a reference to the nearest feature to the a given 2D point (version returning distance to closest feature in "max_dist") </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>[IN] The query point x-coordinate </td></tr>
    <tr><td class="paramname">y</td><td>[IN] The query point y-coordinate </td></tr>
    <tr><td class="paramname">max_dist</td><td>[IN/OUT] At input: The maximum distance to search for. At output: The actual distance to the feature. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A reference to the found feature, or a NULL smart pointer if none found. </dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>See also all the available KD-tree search methods, listed in <a class="el" 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)...">mrpt::math::KDTreeCapable</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a9ecac8909a45f24c3d946ff754f02ecd"></a><!-- doxytag: member="mrpt::vision::CFeatureList::operator[]" ref="a9ecac8909a45f24c3d946ff754f02ecd" args="(const unsigned int index)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1vision_1_1_c_feature_ptr.html">CFeaturePtr</a>&amp; mrpt::vision::CFeatureList::operator[] </td>
          <td>(</td>
          <td class="paramtype">const unsigned int&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_feature_8h_source.html#l00305">305</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa0e7a7e474715a3274e8fc671678618c"></a><!-- doxytag: member="mrpt::vision::CFeatureList::operator[]" ref="aa0e7a7e474715a3274e8fc671678618c" args="(const unsigned int index) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structmrpt_1_1vision_1_1_c_feature_ptr.html">CFeaturePtr</a>&amp; mrpt::vision::CFeatureList::operator[] </td>
          <td>(</td>
          <td class="paramtype">const unsigned int&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_feature_8h_source.html#l00306">306</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

</div>
</div>
<a class="anchor" id="a29c1449887c7a214099abd8f4dcfd310"></a><!-- doxytag: member="mrpt::vision::CFeatureList::push_back" ref="a29c1449887c7a214099abd8f4dcfd310" args="(const CFeaturePtr &amp;f)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::vision::CFeatureList::push_back </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1vision_1_1_c_feature_ptr.html">CFeaturePtr</a> &amp;&#160;</td>
          <td class="paramname"><em>f</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_feature_8h_source.html#l00303">303</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

</div>
</div>
<a class="anchor" id="a618d64dcb5d749fd5b4af2d60757ced1"></a><!-- doxytag: member="mrpt::vision::CFeatureList::rbegin" ref="a618d64dcb5d749fd5b4af2d60757ced1" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a6b0fa203794dfd9c460add1010ec8547">reverse_iterator</a> mrpt::vision::CFeatureList::rbegin </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="_c_feature_8h_source.html#l00290">290</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

</div>
</div>
<a class="anchor" id="a17fe09fb4c4fbb16daa5a95f5aebe8a7"></a><!-- doxytag: member="mrpt::vision::CFeatureList::rbegin" ref="a17fe09fb4c4fbb16daa5a95f5aebe8a7" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a56f07e5ecb033082f0bf40d1113def3a">const_reverse_iterator</a> mrpt::vision::CFeatureList::rbegin </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_feature_8h_source.html#l00292">292</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

</div>
</div>
<a class="anchor" id="afb2ae6eeaf50b9553c097c5a6f5efe6a"></a><!-- doxytag: member="mrpt::vision::CFeatureList::rend" ref="afb2ae6eeaf50b9553c097c5a6f5efe6a" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a6b0fa203794dfd9c460add1010ec8547">reverse_iterator</a> mrpt::vision::CFeatureList::rend </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="_c_feature_8h_source.html#l00291">291</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

</div>
</div>
<a class="anchor" id="accd5dab737f75a6667351afa7448d8d0"></a><!-- doxytag: member="mrpt::vision::CFeatureList::rend" ref="accd5dab737f75a6667351afa7448d8d0" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#a56f07e5ecb033082f0bf40d1113def3a">const_reverse_iterator</a> mrpt::vision::CFeatureList::rend </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

</div>
</div>
<a class="anchor" id="a8b303b4d3faa7e1bb7bd67d4feda4d21"></a><!-- doxytag: member="mrpt::vision::CFeatureList::resize" ref="a8b303b4d3faa7e1bb7bd67d4feda4d21" args="(size_t N)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::vision::CFeatureList::resize </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>N</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_feature_8h_source.html#l00301">301</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5f6fcf0544cd2896fb6ccdabc64a5e87"></a><!-- doxytag: member="mrpt::vision::CFeatureList::saveToTextFile" ref="a5f6fcf0544cd2896fb6ccdabc64a5e87" args="(const std::string &amp;fileName, bool APPEND=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::vision::CFeatureList::saveToTextFile </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>fileName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>APPEND</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Save feature list to a text file. </p>

</div>
</div>
<a class="anchor" id="abc516d209bb5673c5834cebdda258d6c"></a><!-- doxytag: member="mrpt::vision::CFeatureList::setFeatureID" ref="abc516d209bb5673c5834cebdda258d6c" args="(size_t i, TFeatureID id)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::vision::CFeatureList::setFeatureID </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__mrpt__vision__grp.html#ga5bfc93fce347933b63640f2de874ba26">TFeatureID</a>&#160;</td>
          <td class="paramname"><em>id</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_feature_8h_source.html#l00358">358</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

</div>
</div>
<a class="anchor" id="a33a06b89aa25be88bdb297bc342452c6"></a><!-- doxytag: member="mrpt::vision::CFeatureList::setFeatureResponse" ref="a33a06b89aa25be88bdb297bc342452c6" args="(size_t i, float r)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::vision::CFeatureList::setFeatureResponse </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>r</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_feature_8h_source.html#l00359">359</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7e0c45ba19c5e7254de1fa079a33f0e3"></a><!-- doxytag: member="mrpt::vision::CFeatureList::setFeatureX" ref="a7e0c45ba19c5e7254de1fa079a33f0e3" args="(size_t i, float x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::vision::CFeatureList::setFeatureX </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_feature_8h_source.html#l00353">353</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5ab4e8b09d7372b3e24e8efaaad48477"></a><!-- doxytag: member="mrpt::vision::CFeatureList::setFeatureXf" ref="a5ab4e8b09d7372b3e24e8efaaad48477" args="(size_t i, float x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::vision::CFeatureList::setFeatureXf </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_feature_8h_source.html#l00354">354</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab982d598a6c5933ced076b2c08f00500"></a><!-- doxytag: member="mrpt::vision::CFeatureList::setFeatureY" ref="ab982d598a6c5933ced076b2c08f00500" args="(size_t i, float y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::vision::CFeatureList::setFeatureY </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_feature_8h_source.html#l00355">355</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

<p>References <a class="el" href="_core_source.html#l00604">Eigen::internal::y</a>.</p>

</div>
</div>
<a class="anchor" id="a006a483585d3da67eb7ef37f14f12fcc"></a><!-- doxytag: member="mrpt::vision::CFeatureList::setFeatureYf" ref="a006a483585d3da67eb7ef37f14f12fcc" args="(size_t i, float y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::vision::CFeatureList::setFeatureYf </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_feature_8h_source.html#l00356">356</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

<p>References <a class="el" href="_core_source.html#l00604">Eigen::internal::y</a>.</p>

</div>
</div>
<a class="anchor" id="ad314373d9d4f0f09a39ec6ec80cf309a"></a><!-- doxytag: member="mrpt::vision::CFeatureList::setScale" ref="ad314373d9d4f0f09a39ec6ec80cf309a" args="(size_t i, float s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::vision::CFeatureList::setScale </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>s</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_feature_8h_source.html#l00360">360</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

</div>
</div>
<a class="anchor" id="a28b27bfb0e11998a0e839fa08763b272"></a><!-- doxytag: member="mrpt::vision::CFeatureList::setTrackStatus" ref="a28b27bfb0e11998a0e839fa08763b272" args="(size_t i, TFeatureTrackStatus s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::vision::CFeatureList::setTrackStatus </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__mrpt__vision__grp.html#ga0437f34e59ac06cddc3a490e2605bb71">TFeatureTrackStatus</a>&#160;</td>
          <td class="paramname"><em>s</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_feature_8h_source.html#l00361">361</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

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

<p>Definition at line <a class="el" href="_c_feature_8h_source.html#l00298">298</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a65f5da9a222c2c7b913f7e6242c6c77e"></a><!-- doxytag: member="mrpt::vision::CFeatureList::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="ad0c2dc38a9e2b8cbc6ba88c143d8c57f"></a><!-- doxytag: member="mrpt::vision::CFeatureList::m_feats" ref="ad0c2dc38a9e2b8cbc6ba88c143d8c57f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#ad78c7429f48503c5628d0589eca29117">TInternalFeatList</a> <a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html#ad0c2dc38a9e2b8cbc6ba88c143d8c57f">mrpt::vision::CFeatureList::m_feats</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The actual container with the list of features. </p>

<p>Definition at line <a class="el" href="_c_feature_8h_source.html#l00234">234</a> of file <a class="el" href="_c_feature_8h_source.html">CFeature.h</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>