<divclass="line"><aid="l00005"name="l00005"></a><spanclass="lineno"> 5</span><spanclass="comment">Redistribution and use in source and binary forms, with or without</span></div>
<divclass="line"><aid="l00006"name="l00006"></a><spanclass="lineno"> 6</span><spanclass="comment">modification, are permitted provided that the following conditions are met:</span></div>
<divclass="line"><aid="l00007"name="l00007"></a><spanclass="lineno"> 7</span><spanclass="comment"> * Redistributions of source code must retain the above copyright</span></div>
<divclass="line"><aid="l00008"name="l00008"></a><spanclass="lineno"> 8</span><spanclass="comment"> notice, this list of conditions and the following disclaimer.</span></div>
<divclass="line"><aid="l00009"name="l00009"></a><spanclass="lineno"> 9</span><spanclass="comment"> * Redistributions in binary form must reproduce the above copyright</span></div>
<divclass="line"><aid="l00010"name="l00010"></a><spanclass="lineno"> 10</span><spanclass="comment"> notice, this list of conditions and the following disclaimer in the</span></div>
<divclass="line"><aid="l00011"name="l00011"></a><spanclass="lineno"> 11</span><spanclass="comment"> documentation and/or other materials provided with the distribution.</span></div>
<divclass="line"><aid="l00012"name="l00012"></a><spanclass="lineno"> 12</span><spanclass="comment"> * Neither the name of the Universite de Sherbrooke nor the</span></div>
<divclass="line"><aid="l00013"name="l00013"></a><spanclass="lineno"> 13</span><spanclass="comment"> names of its contributors may be used to endorse or promote products</span></div>
<divclass="line"><aid="l00014"name="l00014"></a><spanclass="lineno"> 14</span><spanclass="comment"> derived from this software without specific prior written permission.</span></div>
<divclass="line"><aid="l00016"name="l00016"></a><spanclass="lineno"> 16</span><spanclass="comment">THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND</span></div>
<divclass="line"><aid="l00017"name="l00017"></a><spanclass="lineno"> 17</span><spanclass="comment">ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED</span></div>
<divclass="line"><aid="l00018"name="l00018"></a><spanclass="lineno"> 18</span><spanclass="comment">WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE</span></div>
<divclass="line"><aid="l00019"name="l00019"></a><spanclass="lineno"> 19</span><spanclass="comment">DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY</span></div>
<divclass="line"><aid="l00020"name="l00020"></a><spanclass="lineno"> 20</span><spanclass="comment">DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES</span></div>
<divclass="line"><aid="l00021"name="l00021"></a><spanclass="lineno"> 21</span><spanclass="comment">(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;</span></div>
<divclass="line"><aid="l00022"name="l00022"></a><spanclass="lineno"> 22</span><spanclass="comment">LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND</span></div>
<divclass="line"><aid="l00023"name="l00023"></a><spanclass="lineno"> 23</span><spanclass="comment">ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span></div>
<divclass="line"><aid="l00024"name="l00024"></a><spanclass="lineno"> 24</span><spanclass="comment">(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS</span></div>
<divclass="line"><aid="l00025"name="l00025"></a><spanclass="lineno"> 25</span><spanclass="comment">SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span></div>
<divclass="line"><aid="l00241"name="l00241"></a><spanclass="lineno"> 241</span> NanoFlannIndex * nanoIndex_; <spanclass="comment">// nanoflann backend, only one of the two is set</span></div>
<divclass="line"><aid="l00249"name="l00249"></a><spanclass="lineno"> 249</span><spanclass="comment">// keep feature in memory until the tree is rebuilt</span></div>
<divclass="line"><aid="l00250"name="l00250"></a><spanclass="lineno"> 250</span><spanclass="comment">// (in case the word is deleted when removed from the VWDictionary)</span></div>
<divclass="ttc"id="aclassrtabmap_1_1FlannIndex_html"><divclass="ttname"><ahref="classrtabmap_1_1FlannIndex.html">rtabmap::FlannIndex</a></div><divclass="ttdoc">Nearest neighbor index over a set of features.</div><divclass="ttdef"><b>Definition</b><ahref="FlannIndex_8h_source.html#l00055">FlannIndex.h:56</a></div></div>
<divclass="ttc"id="aclassrtabmap_1_1FlannIndex_html_a028eac4aeef64d62b9edea1f7b38a71e"><divclass="ttname"><ahref="classrtabmap_1_1FlannIndex.html#a028eac4aeef64d62b9edea1f7b38a71e">rtabmap::FlannIndex::loadIndex</a></div><divclass="ttdeci">bool loadIndex(const unsigned char *indexData, size_t indexDataSize, flann_algorithm_t algorithm, const cv::Mat &features, bool useDistanceL1=false, float rebalancingFactor=2.0f, std::string *errorMsg=NULL)</div><divclass="ttdoc">Load an index from a raw buffer, see the overload above.</div></div>
<divclass="ttc"id="aclassrtabmap_1_1FlannIndex_html_a1f2bf8718a75aa0b5dded8c287293c23"><divclass="ttname"><ahref="classrtabmap_1_1FlannIndex.html#a1f2bf8718a75aa0b5dded8c287293c23">rtabmap::FlannIndex::serializeIndex</a></div><divclass="ttdeci">std::vector< unsigned char > serializeIndex(bool computeChecksum=true) const</div><divclass="ttdoc">Serialize the index, to be given back to loadIndex()</div></div>
<divclass="ttc"id="aclassrtabmap_1_1FlannIndex_html_a37bb608ab9ae1e7db35c2681a0c17eb5"><divclass="ttname"><ahref="classrtabmap_1_1FlannIndex.html#a37bb608ab9ae1e7db35c2681a0c17eb5">rtabmap::FlannIndex::radiusSearch</a></div><divclass="ttdeci">void radiusSearch(const cv::Mat &query, std::vector< std::vector< size_t >>&indices, std::vector< std::vector< float >>&dists, float radius, int maxNeighbors=0, int checks=32, float eps=0.0, bool sorted=true) const</div><divclass="ttdoc">Search the neighbors of each query within a radius.</div></div>
<divclass="ttc"id="aclassrtabmap_1_1FlannIndex_html_a6eb4692afb561932aa6a20f7ebdee6c4"><divclass="ttname"><ahref="classrtabmap_1_1FlannIndex.html#a6eb4692afb561932aa6a20f7ebdee6c4">rtabmap::FlannIndex::release</a></div><divclass="ttdeci">void release()</div><divclass="ttdoc">Drop the index and everything it holds, back to the state of a new one.</div></div>
<divclass="ttc"id="aclassrtabmap_1_1FlannIndex_html_a7d78d049ac4afb9f90fc0705506a6ce0"><divclass="ttname"><ahref="classrtabmap_1_1FlannIndex.html#a7d78d049ac4afb9f90fc0705506a6ce0">rtabmap::FlannIndex::removePoint</a></div><divclass="ttdeci">void removePoint(unsigned int index)</div><divclass="ttdoc">Remove an indexed feature, by the index addPoints() gave for it.</div></div>
<divclass="ttc"id="aclassrtabmap_1_1FlannIndex_html_a826b3a33e22f455f04688df9d0d25b0b"><divclass="ttname"><ahref="classrtabmap_1_1FlannIndex.html#a826b3a33e22f455f04688df9d0d25b0b">rtabmap::FlannIndex::loadIndex</a></div><divclass="ttdeci">bool loadIndex(const std::vector< unsigned char >&indexData, flann_algorithm_t algorithm, const cv::Mat &features, bool useDistanceL1=false, float rebalancingFactor=2.0f, std::string *errorMsg=NULL)</div><divclass="ttdoc">Load an index serialized by serializeIndex(), releasing any previous one.</div></div>
<divclass="ttc"id="aclassrtabmap_1_1FlannIndex_html_a88ddfe63de9e9f574ac804ade460f010"><divclass="ttname"><ahref="classrtabmap_1_1FlannIndex.html#a88ddfe63de9e9f574ac804ade460f010">rtabmap::FlannIndex::flann_algorithm_t</a></div><divclass="ttdeci">flann_algorithm_t</div><divclass="ttdoc">The index structure built by buildIndex()</div><divclass="ttdef"><b>Definition</b><ahref="FlannIndex_8h_source.html#l00075">FlannIndex.h:76</a></div></div>
<divclass="ttc"id="aclassrtabmap_1_1FlannIndex_html_a8bd8312e92376d6bf2885907f5d93c68"><divclass="ttname"><ahref="classrtabmap_1_1FlannIndex.html#a8bd8312e92376d6bf2885907f5d93c68">rtabmap::FlannIndex::addPoints</a></div><divclass="ttdeci">std::vector< unsigned int > addPoints(const cv::Mat &features)</div><divclass="ttdoc">Add features to the index.</div></div>
<divclass="ttc"id="aclassrtabmap_1_1FlannIndex_html_aad2f29314c6b021d1c53217a7a041521"><divclass="ttname"><ahref="classrtabmap_1_1FlannIndex.html#aad2f29314c6b021d1c53217a7a041521">rtabmap::FlannIndex::buildIndex</a></div><divclass="ttdeci">void buildIndex(flann_algorithm_t algorithm, const cv::Mat &features, bool useDistanceL1=false, float rebalancingFactor=2.0f)</div><divclass="ttdoc">Build the index over the given features, releasing any previous one.</div></div>
<divclass="ttc"id="aclassrtabmap_1_1FlannIndex_html_accf263b21aaacf3d00e6e73ccef5cc75"><divclass="ttname"><ahref="classrtabmap_1_1FlannIndex.html#accf263b21aaacf3d00e6e73ccef5cc75">rtabmap::FlannIndex::knnSearch</a></div><divclass="ttdeci">void knnSearch(const cv::Mat &query, cv::Mat &indices, cv::Mat &dists, int knn, int checks=32, float eps=0.0, bool sorted=true) const</div><divclass="ttdoc">Search the k nearest neighbors of each query.</div></div>
<liclass="footer">Generated by <ahref="https://www.doxygen.org/index.html"><imgclass="footer"src="doxygen.svg"width="104"height="31"alt="doxygen"/></a> 1.9.8 </li>