<!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> > <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 Page</span></a></li> <li><a href="pages.html"><span>Related 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 List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class 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> | <a href="#pub-methods">Public Member Functions</a> | <a href="#pub-attribs">Public Attributes</a> | <a href="#pro-types">Protected Types</a> | <a href="#pro-methods">Protected Member Functions</a> | <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< CFeatureList >" --><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 <<a class="el" href="_c_feature_8h_source.html">mrpt/vision/CFeature.h</a>></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\< CFeatureList \>" 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>< Derived, <br class="typebreak"/> num_t, metric_t > </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> </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"> </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 </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> &fileName, bool APPEND=false)</td></tr> <tr><td class="mdescLeft"> </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 </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> &fileName)</td></tr> <tr><td class="mdescLeft"> </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 </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> &otherList)</td></tr> <tr><td class="mdescLeft"> </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> </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"> </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> </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> &ID) const </td></tr> <tr><td class="mdescLeft"> </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> </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> &ID, int &out_idx) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </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>< <a class="el" href="group__mrpt__vision__grp.html#ga5bfc93fce347933b63640f2de874ba26">TFeatureID</a> > &IDs, <a class="el" href="classstd_1_1vector.html">vector</a>< <a class="el" href="structmrpt_1_1vision_1_1_c_feature_ptr.html">CFeaturePtr</a> > &out, <a class="el" href="classstd_1_1vector.html">vector</a>< int > &outIndex) const </td></tr> <tr><td class="mdescLeft"> </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> </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 &max_dist) const </td></tr> <tr><td class="mdescLeft"> </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"> </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"> </td><td class="mdescRight">Constructor. <a href="#accdcace07ea61ac0bffe52f03ba90a04"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual </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"> </td><td class="mdescRight">Virtual destructor. <a href="#ab6307f31d4201a7ebf4a1589597912ed"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </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"> </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 & </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"> </td><td class="mdescRight">CRTP helper method. <a href="#a1f2be858dfb40e06cbae68375c98941b"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">Derived & </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"> </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 </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"> </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 </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"> </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 </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"> </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<typename BBOX > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">bool </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 &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 </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 </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> </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 </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 </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 </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> </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 &out_x, float &out_y, float &out_dist_sqr) const </td></tr> <tr><td class="mdescLeft"> </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 </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 &out_dist_sqr) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">size_t </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> &p0, <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &pOut, float &outDistSqr) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">float </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"> </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 </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> &p0) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </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 &out_x1, float &out_y1, float &out_x2, float &out_y2, float &out_dist_sqr1, float &out_dist_sqr2) const </td></tr> <tr><td class="mdescLeft"> </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 </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> &p0, <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &pOut1, <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &pOut2, float &outDistSqr1, float &outDistSqr2) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1vector.html">std::vector</a>< int > </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>< float > &out_x, <a class="el" href="classstd_1_1vector.html">std::vector</a>< float > &out_y, <a class="el" href="classstd_1_1vector.html">std::vector</a>< float > &out_dist_sqr) const </td></tr> <tr><td class="mdescLeft"> </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>< int > </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> &p0, size_t N, <a class="el" href="classstd_1_1vector.html">std::vector</a>< <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> > &pOut, <a class="el" href="classstd_1_1vector.html">std::vector</a>< float > &outDistSqr) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </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>< int > &out_idx, <a class="el" href="classstd_1_1vector.html">std::vector</a>< float > &out_dist_sqr) const </td></tr> <tr><td class="mdescLeft"> </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 </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> &p0, size_t N, <a class="el" href="classstd_1_1vector.html">std::vector</a>< int > &outIdx, <a class="el" href="classstd_1_1vector.html">std::vector</a>< float > &outDistSqr) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">size_t </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 &out_x, float &out_y, float &out_z, float &out_dist_sqr) const </td></tr> <tr><td class="mdescLeft"> </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 </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 &out_dist_sqr) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">size_t </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> &p0, <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &pOut, float &outDistSqr) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </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>< float > &out_x, <a class="el" href="classstd_1_1vector.html">std::vector</a>< float > &out_y, <a class="el" href="classstd_1_1vector.html">std::vector</a>< float > &out_z, <a class="el" href="classstd_1_1vector.html">std::vector</a>< float > &out_dist_sqr) const </td></tr> <tr><td class="mdescLeft"> </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 </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> &p0, size_t N, <a class="el" href="classstd_1_1vector.html">std::vector</a>< <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> > &pOut, <a class="el" href="classstd_1_1vector.html">std::vector</a>< float > &outDistSqr) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </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>< int > &out_idx, <a class="el" href="classstd_1_1vector.html">std::vector</a>< float > &out_dist_sqr) const </td></tr> <tr><td class="mdescLeft"> </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 </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> &p0, size_t N, <a class="el" href="classstd_1_1vector.html">std::vector</a>< int > &outIdx, <a class="el" href="classstd_1_1vector.html">std::vector</a>< float > &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 </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"> </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>< <a class="el" href="structmrpt_1_1vision_1_1_c_feature_ptr.html">CFeaturePtr</a> > </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 </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"> </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> </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"> </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> </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> </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 </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 </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> </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> </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> </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> </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> </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> </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> </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> </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> </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 </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 </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 </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 </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 </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> &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> & </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> & </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><Derived,num_t,metric_t> <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><<a class="el" href="structmrpt_1_1vision_1_1_c_feature_ptr.html">CFeaturePtr</a>> <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 & 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 </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 &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> & </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& 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& 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> </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 &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> & </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 &ID, int &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> & </td> <td class="paramname"><em>ID</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int & </td> <td class="paramname"><em>out_idx</em> </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< TFeatureID > &IDs, vector< CFeaturePtr > &out, vector< int > &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>< <a class="el" href="group__mrpt__vision__grp.html#ga5bfc93fce347933b63640f2de874ba26">TFeatureID</a> > & </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>< <a class="el" href="structmrpt_1_1vision_1_1_c_feature_ptr.html">CFeaturePtr</a> > & </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>< int > & </td> <td class="paramname"><em>outIndex</em> </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 </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 </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 </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 </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 </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 </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 </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 * </td> <td class="paramname"><em>p1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const size_t </td> <td class="paramname"><em>idx_p2</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>size</em> </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 &bb) const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename BBOX > </div> <table class="memname"> <tr> <td class="memname">bool mrpt::vision::CFeatureList::kdtree_get_bbox </td> <td>(</td> <td class="paramtype">BBOX & </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 </td> <td class="paramname"><em>idx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>dim</em> </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 &out_x, float &out_y, float &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 </td> <td class="paramname"><em>x0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"><em>y0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float & </td> <td class="paramname"><em>out_x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float & </td> <td class="paramname"><em>out_y</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float & </td> <td class="paramname"><em>out_dist_sqr</em> </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 &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 </td> <td class="paramname"><em>x0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"><em>y0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float & </td> <td class="paramname"><em>out_dist_sqr</em> </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 &p0, TPoint2D &pOut, float &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> & </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> & </td> <td class="paramname"><em>pOut</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float & </td> <td class="paramname"><em>outDistSqr</em> </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 </td> <td class="paramname"><em>x0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"><em>y0</em> </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 &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> & </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 &out_x, float &out_y, float &out_z, float &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 </td> <td class="paramname"><em>x0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"><em>y0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"><em>z0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float & </td> <td class="paramname"><em>out_x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float & </td> <td class="paramname"><em>out_y</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float & </td> <td class="paramname"><em>out_z</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float & </td> <td class="paramname"><em>out_dist_sqr</em> </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 &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 </td> <td class="paramname"><em>x0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"><em>y0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"><em>z0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float & </td> <td class="paramname"><em>out_dist_sqr</em> </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 &p0, TPoint3D &pOut, float &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> & </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> & </td> <td class="paramname"><em>pOut</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float & </td> <td class="paramname"><em>outDistSqr</em> </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< float > &out_x, std::vector< float > &out_y, std::vector< float > &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><int> mrpt::math::KDTreeCapable::kdTreeNClosestPoint2D </td> <td>(</td> <td class="paramtype">float </td> <td class="paramname"><em>x0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"><em>y0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </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>< float > & </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>< float > & </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>< float > & </td> <td class="paramname"><em>out_dist_sqr</em> </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 &p0, size_t N, std::vector< TPoint2D > &pOut, std::vector< float > &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><int> 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> & </td> <td class="paramname"><em>p0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </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>< <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> > & </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>< float > & </td> <td class="paramname"><em>outDistSqr</em> </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< int > &out_idx, std::vector< float > &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 </td> <td class="paramname"><em>x0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"><em>y0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </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>< int > & </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>< float > & </td> <td class="paramname"><em>out_dist_sqr</em> </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 &p0, size_t N, std::vector< int > &outIdx, std::vector< float > &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> & </td> <td class="paramname"><em>p0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </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>< int > & </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>< float > & </td> <td class="paramname"><em>outDistSqr</em> </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< float > &out_x, std::vector< float > &out_y, std::vector< float > &out_z, std::vector< float > &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 </td> <td class="paramname"><em>x0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"><em>y0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"><em>z0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </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>< float > & </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>< float > & </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>< float > & </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>< float > & </td> <td class="paramname"><em>out_dist_sqr</em> </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 &p0, size_t N, std::vector< TPoint3D > &pOut, std::vector< float > &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> & </td> <td class="paramname"><em>p0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </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>< <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> > & </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>< float > & </td> <td class="paramname"><em>outDistSqr</em> </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< int > &out_idx, std::vector< float > &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 </td> <td class="paramname"><em>x0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"><em>y0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"><em>z0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </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>< int > & </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>< float > & </td> <td class="paramname"><em>out_dist_sqr</em> </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 &p0, size_t N, std::vector< int > &outIdx, std::vector< float > &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> & </td> <td class="paramname"><em>p0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </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>< int > & </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>< float > & </td> <td class="paramname"><em>outDistSqr</em> </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 &out_x1, float &out_y1, float &out_x2, float &out_y2, float &out_dist_sqr1, float &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 </td> <td class="paramname"><em>x0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"><em>y0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float & </td> <td class="paramname"><em>out_x1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float & </td> <td class="paramname"><em>out_y1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float & </td> <td class="paramname"><em>out_x2</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float & </td> <td class="paramname"><em>out_y2</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float & </td> <td class="paramname"><em>out_dist_sqr1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float & </td> <td class="paramname"><em>out_dist_sqr2</em> </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 &p0, TPoint2D &pOut1, TPoint2D &pOut2, float &outDistSqr1, float &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> & </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> & </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> & </td> <td class="paramname"><em>pOut2</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float & </td> <td class="paramname"><em>outDistSqr1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float & </td> <td class="paramname"><em>outDistSqr2</em> </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 &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> & </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 &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 </td> <td class="paramname"><em>x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const float </td> <td class="paramname"><em>y</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double & </td> <td class="paramname"><em>max_dist</em> </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>& mrpt::vision::CFeatureList::operator[] </td> <td>(</td> <td class="paramtype">const unsigned int </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>& mrpt::vision::CFeatureList::operator[] </td> <td>(</td> <td class="paramtype">const unsigned int </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 &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> & </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 </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 &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> & </td> <td class="paramname"><em>fileName</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>APPEND</em> = <code>false</code> </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 </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> </td> <td class="paramname"><em>id</em> </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 </td> <td class="paramname"><em>i</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"><em>r</em> </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 </td> <td class="paramname"><em>i</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"><em>x</em> </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 </td> <td class="paramname"><em>i</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"><em>x</em> </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 </td> <td class="paramname"><em>i</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"><em>y</em> </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 </td> <td class="paramname"><em>i</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"><em>y</em> </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 </td> <td class="paramname"><em>i</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"><em>s</em> </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 </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> </td> <td class="paramname"><em>s</em> </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>