Files
rtabmap/api/latest/VWDictionary_8h_source.html
T

417 lines
76 KiB
HTML
Raw Normal View History

2026-08-06 22:56:24 +00:00
<!-- HTML header for doxygen 1.9.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>RTAB-Map: corelib/include/rtabmap/core/VWDictionary.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="custom.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript">window.RTABMAP_DOC_ROOT="";</script>
<script type="text/javascript" src="../versions.js"></script>
<script type="text/javascript" src="version-switcher.js"></script>
<script type="text/javascript" src="doxygen-awesome-darkmode-toggle.js"></script>
<script type="text/javascript">DoxygenAwesomeDarkModeToggle.init();</script>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
2026-09-28 16:36:22 +00:00
<div id="projectname">RTAB-Map<span id="projectnumber">&#160;0.23.13</span>
2026-08-06 22:56:24 +00:00
</div>
<div id="projectbrief">Real-Time Appearance-Based Mapping</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('VWDictionary_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">VWDictionary.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment">Copyright (c) 2010-2016, Mathieu Labbe - IntRoLab - Universite de Sherbrooke</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">All rights reserved.</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"></span> </div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment">Redistribution and use in source and binary forms, with or without</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment">modification, are permitted provided that the following conditions are met:</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> * Redistributions of source code must retain the above copyright</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> notice, this list of conditions and the following disclaimer.</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> * Redistributions in binary form must reproduce the above copyright</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> notice, this list of conditions and the following disclaimer in the</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> documentation and/or other materials provided with the distribution.</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> * Neither the name of the Universite de Sherbrooke nor the</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"> names of its contributors may be used to endorse or promote products</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment"> derived from this software without specific prior written permission.</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"></span> </div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment">THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&quot; AND</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment">ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment">WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment">DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment">DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="comment">(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment">LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="comment">ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="comment">(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="comment">SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="comment">*/</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> </div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="preprocessor">#pragma once</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> </div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="preprocessor">#include &quot;rtabmap/core/rtabmap_core_export.h&quot;</span> <span class="comment">// DLL export/import defines</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> </div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="preprocessor">#include &lt;opencv2/highgui/highgui.hpp&gt;</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="preprocessor">#include &lt;opencv2/core/core.hpp&gt;</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="preprocessor">#if CV_MAJOR_VERSION &lt; 5</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="preprocessor">#include &lt;opencv2/features2d/features2d.hpp&gt;</span></div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="preprocessor">#include &lt;opencv2/features.hpp&gt;</span></div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span><span class="preprocessor">#include &lt;list&gt;</span></div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="preprocessor">#include &lt;set&gt;</span></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span><span class="preprocessor">#include &quot;rtabmap/core/Parameters.h&quot;</span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> </div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacertabmap.html">rtabmap</a></div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span>{</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> </div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span><span class="keyword">class </span>DBDriver;</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span><span class="keyword">class </span>VisualWord;</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span><span class="keyword">class </span>FlannIndex;</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> </div>
<div class="foldopen" id="foldopen00065" data-start="{" data-end="};">
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html"> 65</a></span><span class="keyword">class </span>RTABMAP_CORE_EXPORT <a class="code hl_class" href="classrtabmap_1_1VWDictionary.html">VWDictionary</a></div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span>{</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span><span class="keyword">public</span>:</div>
2026-08-16 17:18:46 +00:00
<div class="foldopen" id="foldopen00077" data-start="{" data-end="};">
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#a9466840dd5ad3dc914543a97421c3655"> 77</a></span> <span class="keyword">enum</span> <a class="code hl_enumeration" href="classrtabmap_1_1VWDictionary.html#a9466840dd5ad3dc914543a97421c3655">NNStrategy</a>{</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#a9466840dd5ad3dc914543a97421c3655ae4301e202dd36e997bf3298390c667f0"> 78</a></span> <a class="code hl_enumvalue" href="classrtabmap_1_1VWDictionary.html#a9466840dd5ad3dc914543a97421c3655ae4301e202dd36e997bf3298390c667f0">kNNFlannNaive</a>, </div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#a9466840dd5ad3dc914543a97421c3655aaa1ea80fc9ca8809ad9b959e2e1564c5"> 79</a></span> <a class="code hl_enumvalue" href="classrtabmap_1_1VWDictionary.html#a9466840dd5ad3dc914543a97421c3655aaa1ea80fc9ca8809ad9b959e2e1564c5">kNNFlannKdTree</a>, </div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#a9466840dd5ad3dc914543a97421c3655a89ab72d0bccd61bb11abbd1edf1e6992"> 80</a></span> <a class="code hl_enumvalue" href="classrtabmap_1_1VWDictionary.html#a9466840dd5ad3dc914543a97421c3655a89ab72d0bccd61bb11abbd1edf1e6992">kNNFlannLSH</a>, </div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#a9466840dd5ad3dc914543a97421c3655a1745dd334296b8a41cf0c88dcc8a7d5d"> 81</a></span> <a class="code hl_enumvalue" href="classrtabmap_1_1VWDictionary.html#a9466840dd5ad3dc914543a97421c3655a1745dd334296b8a41cf0c88dcc8a7d5d">kNNBruteForce</a>, </div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#a9466840dd5ad3dc914543a97421c3655a602d99d5bdef453a39339a0b45979451"> 82</a></span> <a class="code hl_enumvalue" href="classrtabmap_1_1VWDictionary.html#a9466840dd5ad3dc914543a97421c3655a602d99d5bdef453a39339a0b45979451">kNNBruteForceGPU</a>, </div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#a9466840dd5ad3dc914543a97421c3655a994442dbb17b48ba9a9315edee24a7a1"> 83</a></span> <a class="code hl_enumvalue" href="classrtabmap_1_1VWDictionary.html#a9466840dd5ad3dc914543a97421c3655a994442dbb17b48ba9a9315edee24a7a1">kNNFlannKdTreeSingle</a>, </div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#a9466840dd5ad3dc914543a97421c3655a306c8d555b740267fa80a1ee673ef7c7"> 84</a></span> <a class="code hl_enumvalue" href="classrtabmap_1_1VWDictionary.html#a9466840dd5ad3dc914543a97421c3655a306c8d555b740267fa80a1ee673ef7c7">kNNNanoFlannKdTree</a>, </div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> kNNUndef </div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#a9466840dd5ad3dc914543a97421c3655afeba67ed0aafc39aa35b2a194e147ff9"> 86</a></span> };</div>
2026-08-06 22:56:24 +00:00
</div>
2026-08-16 17:18:46 +00:00
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> </div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#a2dbfec55a8921f52b642bf0dceea0c37"> 91</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code hl_variable" href="classrtabmap_1_1VWDictionary.html#a2dbfec55a8921f52b642bf0dceea0c37">ID_START</a>;</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> </div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#a83b1966a141848baeec5112c30bacf0f"> 96</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code hl_variable" href="classrtabmap_1_1VWDictionary.html#a83b1966a141848baeec5112c30bacf0f">ID_INVALID</a>;</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> </div>
<div class="foldopen" id="foldopen00103" data-start="{" data-end="}">
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#a7092a6a6af93772ce89793c5e54a17cc"> 103</a></span> <span class="keyword">static</span> std::string <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#a7092a6a6af93772ce89793c5e54a17cc">nnStrategyName</a>(<a class="code hl_enumeration" href="classrtabmap_1_1VWDictionary.html#a9466840dd5ad3dc914543a97421c3655">NNStrategy</a> strategy)</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> {</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> <span class="keywordflow">switch</span>(strategy) {</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> <span class="keywordflow">case</span> kNNFlannNaive:</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;FLANN NAIVE&quot;</span>;</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> <span class="keywordflow">case</span> kNNFlannKdTree:</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;FLANN KD-TREE&quot;</span>;</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> <span class="keywordflow">case</span> kNNFlannLSH:</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;FLANN LSH&quot;</span>;</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> <span class="keywordflow">case</span> kNNBruteForce:</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;BRUTE FORCE&quot;</span>;</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> <span class="keywordflow">case</span> kNNBruteForceGPU:</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;BRUTE FORCE GPU&quot;</span>;</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <span class="keywordflow">case</span> kNNNanoFlannKdTree:</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;NANOFLANN KD-TREE&quot;</span>;</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <span class="keywordflow">case</span> kNNFlannKdTreeSingle:</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;FLANN KD-TREE SINGLE&quot;</span>;</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> <span class="keywordflow">default</span>:</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;Unknown&quot;</span>;</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> }</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> }</div>
2026-08-06 22:56:24 +00:00
</div>
2026-08-16 17:18:46 +00:00
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> </div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> </div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> </div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#ada3980b520d8411a1ebb3ce14e2f8734"> 132</a></span> <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#ada3980b520d8411a1ebb3ce14e2f8734">VWDictionary</a>(<span class="keyword">const</span> <a class="code hl_typedef" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> &amp; parameters = <a class="code hl_typedef" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a>());</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> </div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#af7f669f103368e30e31a028efbcac89d"> 139</a></span> <span class="keyword">virtual</span> <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#af7f669f103368e30e31a028efbcac89d">~VWDictionary</a>();</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> </div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#a89893faef6c96e3b19bfeab86094af81"> 145</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#a89893faef6c96e3b19bfeab86094af81">parseParameters</a>(<span class="keyword">const</span> <a class="code hl_typedef" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> &amp; parameters);</div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> </div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#a844ae27eb6d1f0674c8f7777451812c5"> 153</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#a844ae27eb6d1f0674c8f7777451812c5">update</a>();</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> </div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#a2998a6b11e102a2253ac592acf076841"> 169</a></span> <span class="keyword">virtual</span> std::list&lt;int&gt; <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#a2998a6b11e102a2253ac592acf076841">addNewWords</a>(</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> <span class="keyword">const</span> cv::Mat &amp; descriptors,</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> <span class="keywordtype">int</span> signatureId);</div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> </div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#ad464ad961b0e4d4cd6dd7895e9ff3d59"> 179</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#ad464ad961b0e4d4cd6dd7895e9ff3d59">addWord</a>(<a class="code hl_class" href="classrtabmap_1_1VisualWord.html">VisualWord</a> * vw);</div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> </div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#ac2f21a98b70e91ab2e8a07151c508d1c"> 190</a></span> std::vector&lt;int&gt; <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#ac2f21a98b70e91ab2e8a07151c508d1c">findNN</a>(<span class="keyword">const</span> std::list&lt;VisualWord *&gt; &amp; vws) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> </div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#aada11cf01b586ac8205f8bff0b1ab295"> 201</a></span> std::vector&lt;int&gt; <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#aada11cf01b586ac8205f8bff0b1ab295">findNN</a>(<span class="keyword">const</span> cv::Mat &amp; descriptors) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> </div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#aea2f0d043d043df37258dc225c62edec"> 212</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#aea2f0d043d043df37258dc225c62edec">addWordRef</a>(<span class="keywordtype">int</span> wordId, <span class="keywordtype">int</span> signatureId);</div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> </div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#ac4a70358ca2db8e63c67a30383a1d34b"> 222</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#ac4a70358ca2db8e63c67a30383a1d34b">removeAllWordRef</a>(<span class="keywordtype">int</span> wordId, <span class="keywordtype">int</span> signatureId);</div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> </div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#a5cf9981cf11f8f93280b7d0c195159e1"> 229</a></span> <span class="keyword">const</span> <a class="code hl_class" href="classrtabmap_1_1VisualWord.html">VisualWord</a> * <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#a5cf9981cf11f8f93280b7d0c195159e1">getWord</a>(<span class="keywordtype">int</span> <span class="keywordtype">id</span>) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> </div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#abbd007a028847ecbbdd50e3480ba95e3"> 239</a></span> <a class="code hl_class" href="classrtabmap_1_1VisualWord.html">VisualWord</a> * <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#abbd007a028847ecbbdd50e3480ba95e3">getUnusedWord</a>(<span class="keywordtype">int</span> <span class="keywordtype">id</span>) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> </div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#af0b676e13c7dba437147520335289e97"> 245</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#af0b676e13c7dba437147520335289e97">setLastWordId</a>(<span class="keywordtype">int</span> <span class="keywordtype">id</span>) {_lastWordId = id;}</div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> </div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#a6bcad4c04999469001b5ac03b8a61ab4"> 251</a></span> <span class="keyword">const</span> std::map&lt;int, VisualWord *&gt; &amp; <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#a6bcad4c04999469001b5ac03b8a61ab4">getVisualWords</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> _visualWords;}</div>
2026-08-06 22:56:24 +00:00
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> </div>
2026-08-16 17:18:46 +00:00
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#a454639bff3d95b2f9dd346413981d5c5"> 264</a></span> <span class="keywordtype">float</span> <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#a454639bff3d95b2f9dd346413981d5c5">getNndrRatio</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> _nndrRatio;}</div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> </div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#a293c09f00caf84bb991d73983a5f22c8"> 270</a></span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#a293c09f00caf84bb991d73983a5f22c8">getNotIndexedWordsCount</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> (<span class="keywordtype">int</span>)_notIndexedWords.size();}</div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> </div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#a65a99ae457b1c779233de57d190ca8da"> 276</a></span> <span class="keywordtype">int</span> <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#a65a99ae457b1c779233de57d190ca8da">getLastIndexedWordId</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> </div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#a98447a880fdcf91709f00d00cfd4e54d"> 282</a></span> <span class="keywordtype">int</span> <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#a98447a880fdcf91709f00d00cfd4e54d">getTotalActiveReferences</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> _totalActiveReferences;}</div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span> </div>
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#a6a0610e87964c3881dc70cae6cd9123c"> 288</a></span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#a6a0610e87964c3881dc70cae6cd9123c">getIndexedWordsCount</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span> </div>
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#a63ec6a9b915eb939c2650e623feb0576"> 294</a></span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#a63ec6a9b915eb939c2650e623feb0576">getIndexMemoryUsed</a>() <span class="keyword">const</span>; <span class="comment">// KB</span></div>
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span> </div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#ac5177a75f402538b50ec6c36bdbc7307"> 300</a></span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#ac5177a75f402538b50ec6c36bdbc7307">getMemoryUsed</a>() <span class="keyword">const</span>; <span class="comment">//Bytes</span></div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span> </div>
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#af60e271facb40ff668c4bc24cff1b9cc"> 309</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#af60e271facb40ff668c4bc24cff1b9cc">setNNStrategy</a>(<a class="code hl_enumeration" href="classrtabmap_1_1VWDictionary.html#a9466840dd5ad3dc914543a97421c3655">NNStrategy</a> strategy);</div>
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"> 310</span> </div>
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#ab1ec0db96328164864953f25d463bcbb"> 315</a></span> <a class="code hl_enumeration" href="classrtabmap_1_1VWDictionary.html#a9466840dd5ad3dc914543a97421c3655">NNStrategy</a> <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#ab1ec0db96328164864953f25d463bcbb">getNNStrategy</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> _strategy;}</div>
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span> </div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#a706e209f6228c02730dd8ea501ab5369"> 321</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#a706e209f6228c02730dd8ea501ab5369">isIncremental</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> _incrementalDictionary;}</div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span> </div>
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#a9f016aa45f3b3d5618d104fb799ca998"> 327</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#a9f016aa45f3b3d5618d104fb799ca998">isIncrementalFlann</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> _incrementalFlann;}</div>
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span> </div>
<div class="line"><a id="l00335" name="l00335"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#ab14ef6e8fb979dce23f9a40a1faf8dff"> 335</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#ab14ef6e8fb979dce23f9a40a1faf8dff">setIncrementalDictionary</a>();</div>
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span> </div>
<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#a5f3712744b9f7beb5da186a842f7d74a"> 345</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#a5f3712744b9f7beb5da186a842f7d74a">setFixedDictionary</a>(<span class="keyword">const</span> std::string &amp; dictionaryPath);</div>
<div class="line"><a id="l00346" name="l00346"></a><span class="lineno"> 346</span> </div>
<div class="line"><a id="l00351" name="l00351"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#aa0bcdf4002305d36bb072c019d475f13"> 351</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#aa0bcdf4002305d36bb072c019d475f13">isModified</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"> 352</span> <span class="comment">// Re-index all the words from scratch. The index then contains the words in</span></div>
<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"> 353</span> <span class="comment">// the same order than the one built by update() on a dictionary freshly</span></div>
<div class="line"><a id="l00354" name="l00354"></a><span class="lineno"> 354</span> <span class="comment">// loaded from a database, which is required to serialize it (the serialized</span></div>
<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"> 355</span> <span class="comment">// index is matched against the words in that order when deserialized).</span></div>
<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"> 356</span> <span class="keywordtype">void</span> rebuildIndex();</div>
<div class="line"><a id="l00357" name="l00357"></a><span class="lineno"> 357</span> </div>
<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#a2864c406b3792dbfb7c8c334b6e44d41"> 362</a></span> std::vector&lt;unsigned char&gt; <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#a2864c406b3792dbfb7c8c334b6e44d41">serializeIndex</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00363" name="l00363"></a><span class="lineno"> 363</span> </div>
<div class="line"><a id="l00369" name="l00369"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#a3af1cce90b50dcb0f9dcd77e1fb08aad"> 369</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#a3af1cce90b50dcb0f9dcd77e1fb08aad">deserializeIndex</a>(<span class="keyword">const</span> std::vector&lt;unsigned char&gt; &amp; data);</div>
<div class="line"><a id="l00370" name="l00370"></a><span class="lineno"> 370</span> </div>
<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#a0a29d849a7c2b626407f453e5cb4b526"> 377</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#a0a29d849a7c2b626407f453e5cb4b526">deserializeIndex</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> * data, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"> 378</span> </div>
<div class="line"><a id="l00386" name="l00386"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#a1ba7cb31f8658980849ffd9ce76b3cb8"> 386</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#a1ba7cb31f8658980849ffd9ce76b3cb8">exportDictionary</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * fileNameReferences, <span class="keyword">const</span> <span class="keywordtype">char</span> * fileNameDescriptors) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00387" name="l00387"></a><span class="lineno"> 387</span> </div>
<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#a566aaf19cdc098587e88393e4140b351"> 394</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#a566aaf19cdc098587e88393e4140b351">clear</a>(<span class="keywordtype">bool</span> printWarningsIfNotEmpty = <span class="keyword">true</span>);</div>
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"> 395</span> </div>
<div class="line"><a id="l00405" name="l00405"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#ab47b5ecb12c822474004f0ad77dbb388"> 405</a></span> std::vector&lt;VisualWord *&gt; <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#ab47b5ecb12c822474004f0ad77dbb388">getUnusedWords</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"> 406</span> </div>
<div class="line"><a id="l00411" name="l00411"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#a64b0aee7f33cbd4df26e2d0c14329e9d"> 411</a></span> std::vector&lt;int&gt; <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#a64b0aee7f33cbd4df26e2d0c14329e9d">getUnusedWordIds</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00412" name="l00412"></a><span class="lineno"> 412</span> </div>
<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#a117282f59ed918808d8116cd1f92f412"> 417</a></span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#a117282f59ed918808d8116cd1f92f412">getUnusedWordsSize</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> (<span class="keywordtype">int</span>)_unusedWords.size();}</div>
<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"> 418</span> </div>
<div class="line"><a id="l00425" name="l00425"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#a7a506e15bf83d16cc98aaa34057216f4"> 425</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#a7a506e15bf83d16cc98aaa34057216f4">removeWords</a>(<span class="keyword">const</span> std::vector&lt;VisualWord*&gt; &amp; words); <span class="comment">// caller must delete the words</span></div>
<div class="line"><a id="l00426" name="l00426"></a><span class="lineno"> 426</span> </div>
<div class="line"><a id="l00432" name="l00432"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#a33c8904edf3d0af65dfd2a6d817416fa"> 432</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#a33c8904edf3d0af65dfd2a6d817416fa">deleteUnusedWords</a>();</div>
<div class="line"><a id="l00433" name="l00433"></a><span class="lineno"> 433</span> </div>
<div class="line"><a id="l00434" name="l00434"></a><span class="lineno"> 434</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00446" name="l00446"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#a70aec2b9d1bf55d47192949aa728448e"> 446</a></span> <span class="keyword">static</span> cv::Mat <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#a70aec2b9d1bf55d47192949aa728448e">convertBinTo32F</a>(<span class="keyword">const</span> cv::Mat &amp; descriptorsIn, <span class="keywordtype">bool</span> byteToFloat = <span class="keyword">true</span>);</div>
<div class="line"><a id="l00447" name="l00447"></a><span class="lineno"> 447</span> </div>
<div class="line"><a id="l00460" name="l00460"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#acda9d98e4ad4897ce8a8b945f396221c"> 460</a></span> <span class="keyword">static</span> cv::Mat <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#acda9d98e4ad4897ce8a8b945f396221c">convert32FToBin</a>(<span class="keyword">const</span> cv::Mat &amp; descriptorsIn, <span class="keywordtype">bool</span> byteToFloat = <span class="keyword">true</span>);</div>
<div class="line"><a id="l00461" name="l00461"></a><span class="lineno"> 461</span> </div>
<div class="line"><a id="l00462" name="l00462"></a><span class="lineno"> 462</span><span class="keyword">protected</span>:</div>
<div class="line"><a id="l00467" name="l00467"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#a085d69ef577600000f397bd63abeaf69"> 467</a></span> <span class="keywordtype">int</span> <a class="code hl_function" href="classrtabmap_1_1VWDictionary.html#a085d69ef577600000f397bd63abeaf69">getNextId</a>();</div>
2026-08-08 03:59:29 +00:00
<div class="line"><a id="l00468" name="l00468"></a><span class="lineno"> 468</span> </div>
2026-08-16 17:18:46 +00:00
<div class="line"><a id="l00469" name="l00469"></a><span class="lineno"> 469</span><span class="keyword">protected</span>:</div>
<div class="line"><a id="l00474" name="l00474"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#adcb4739e09e27b20125880e9d3026383"> 474</a></span> std::map&lt;int, VisualWord *&gt; <a class="code hl_variable" href="classrtabmap_1_1VWDictionary.html#adcb4739e09e27b20125880e9d3026383">_visualWords</a>; <span class="comment">//&lt;id,VisualWord*&gt;</span></div>
<div class="line"><a id="l00475" name="l00475"></a><span class="lineno"> 475</span> </div>
<div class="line"><a id="l00480" name="l00480"></a><span class="lineno"><a class="line" href="classrtabmap_1_1VWDictionary.html#a5222c6a21307f0e4b9346c87db166b44"> 480</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="classrtabmap_1_1VWDictionary.html#a5222c6a21307f0e4b9346c87db166b44">_totalActiveReferences</a>;</div>
<div class="line"><a id="l00481" name="l00481"></a><span class="lineno"> 481</span> </div>
<div class="line"><a id="l00482" name="l00482"></a><span class="lineno"> 482</span><span class="keyword">private</span>:</div>
<div class="line"><a id="l00486" name="l00486"></a><span class="lineno"> 486</span> <span class="keywordtype">bool</span> _incrementalDictionary;</div>
<div class="line"><a id="l00487" name="l00487"></a><span class="lineno"> 487</span> </div>
<div class="line"><a id="l00491" name="l00491"></a><span class="lineno"> 491</span> <span class="keywordtype">bool</span> _incrementalFlann;</div>
<div class="line"><a id="l00492" name="l00492"></a><span class="lineno"> 492</span> </div>
<div class="line"><a id="l00496" name="l00496"></a><span class="lineno"> 496</span> <span class="keywordtype">float</span> _rebalancingFactor;</div>
2026-08-06 22:56:24 +00:00
<div class="line"><a id="l00497" name="l00497"></a><span class="lineno"> 497</span> </div>
2026-09-11 07:17:46 +00:00
<div class="line"><a id="l00501" name="l00501"></a><span class="lineno"> 501</span> <span class="keywordtype">int</span> _flannThreads;</div>
2026-08-06 22:56:24 +00:00
<div class="line"><a id="l00502" name="l00502"></a><span class="lineno"> 502</span> </div>
2026-09-11 07:17:46 +00:00
<div class="line"><a id="l00506" name="l00506"></a><span class="lineno"> 506</span> <span class="keywordtype">bool</span> _byteToFloat;</div>
<div class="line"><a id="l00507" name="l00507"></a><span class="lineno"> 507</span> </div>
<div class="line"><a id="l00514" name="l00514"></a><span class="lineno"> 514</span> <span class="keywordtype">float</span> _nndrRatio;</div>
2026-08-16 17:18:46 +00:00
<div class="line"><a id="l00515" name="l00515"></a><span class="lineno"> 515</span> </div>
2026-09-11 07:17:46 +00:00
<div class="line"><a id="l00519" name="l00519"></a><span class="lineno"> 519</span> std::string _dictionaryPath; <span class="comment">// a pre-computed dictionary (.txt or .db)</span></div>
2026-08-16 17:18:46 +00:00
<div class="line"><a id="l00520" name="l00520"></a><span class="lineno"> 520</span> </div>
2026-09-11 07:17:46 +00:00
<div class="line"><a id="l00524" name="l00524"></a><span class="lineno"> 524</span> std::string _newDictionaryPath; <span class="comment">// a pre-computed dictionary (.txt or .db)</span></div>
2026-08-16 17:18:46 +00:00
<div class="line"><a id="l00525" name="l00525"></a><span class="lineno"> 525</span> </div>
2026-09-11 07:17:46 +00:00
<div class="line"><a id="l00529" name="l00529"></a><span class="lineno"> 529</span> <span class="keywordtype">bool</span> _newWordsComparedTogether;</div>
2026-08-16 17:18:46 +00:00
<div class="line"><a id="l00530" name="l00530"></a><span class="lineno"> 530</span> </div>
2026-09-11 07:17:46 +00:00
<div class="line"><a id="l00534" name="l00534"></a><span class="lineno"> 534</span> <span class="keywordtype">bool</span> _serializeWithChecksum;</div>
2026-08-16 17:18:46 +00:00
<div class="line"><a id="l00535" name="l00535"></a><span class="lineno"> 535</span> </div>
2026-09-11 07:17:46 +00:00
<div class="line"><a id="l00539" name="l00539"></a><span class="lineno"> 539</span> <span class="keywordtype">int</span> _lastWordId;</div>
2026-08-16 17:18:46 +00:00
<div class="line"><a id="l00540" name="l00540"></a><span class="lineno"> 540</span> </div>
2026-09-11 07:17:46 +00:00
<div class="line"><a id="l00544" name="l00544"></a><span class="lineno"> 544</span> <span class="keywordtype">bool</span> useDistanceL1_;</div>
2026-08-16 17:18:46 +00:00
<div class="line"><a id="l00545" name="l00545"></a><span class="lineno"> 545</span> </div>
2026-09-11 07:17:46 +00:00
<div class="line"><a id="l00549" name="l00549"></a><span class="lineno"> 549</span> <a class="code hl_class" href="classrtabmap_1_1FlannIndex.html">FlannIndex</a> * _flannIndex;</div>
2026-08-16 17:18:46 +00:00
<div class="line"><a id="l00550" name="l00550"></a><span class="lineno"> 550</span> </div>
2026-09-11 07:17:46 +00:00
<div class="line"><a id="l00554" name="l00554"></a><span class="lineno"> 554</span> cv::Mat _dataTree;</div>
2026-08-16 17:18:46 +00:00
<div class="line"><a id="l00555" name="l00555"></a><span class="lineno"> 555</span> </div>
2026-09-11 07:17:46 +00:00
<div class="line"><a id="l00559" name="l00559"></a><span class="lineno"> 559</span> <span class="keywordtype">bool</span> _modified;</div>
2026-08-16 17:18:46 +00:00
<div class="line"><a id="l00560" name="l00560"></a><span class="lineno"> 560</span> </div>
2026-09-11 07:17:46 +00:00
<div class="line"><a id="l00564" name="l00564"></a><span class="lineno"> 564</span> <a class="code hl_enumeration" href="classrtabmap_1_1VWDictionary.html#a9466840dd5ad3dc914543a97421c3655">NNStrategy</a> _strategy;</div>
2026-08-16 17:18:46 +00:00
<div class="line"><a id="l00565" name="l00565"></a><span class="lineno"> 565</span> </div>
2026-09-11 07:17:46 +00:00
<div class="line"><a id="l00569" name="l00569"></a><span class="lineno"> 569</span> std::map&lt;int ,int&gt; _mapIndexId;</div>
2026-08-16 17:18:46 +00:00
<div class="line"><a id="l00570" name="l00570"></a><span class="lineno"> 570</span> </div>
2026-09-11 07:17:46 +00:00
<div class="line"><a id="l00574" name="l00574"></a><span class="lineno"> 574</span> std::map&lt;int ,int&gt; _mapIdIndex;</div>
<div class="line"><a id="l00575" name="l00575"></a><span class="lineno"> 575</span> </div>
<div class="line"><a id="l00580" name="l00580"></a><span class="lineno"> 580</span> std::map&lt;int, VisualWord*&gt; _unusedWords; <span class="comment">//&lt;id,VisualWord*&gt;</span></div>
<div class="line"><a id="l00584" name="l00584"></a><span class="lineno"> 584</span> std::set&lt;int&gt; _notIndexedWords;</div>
<div class="line"><a id="l00585" name="l00585"></a><span class="lineno"> 585</span> </div>
<div class="line"><a id="l00589" name="l00589"></a><span class="lineno"> 589</span> std::set&lt;int&gt; _removedIndexedWords;</div>
<div class="line"><a id="l00590" name="l00590"></a><span class="lineno"> 590</span>};</div>
2026-08-06 22:56:24 +00:00
</div>
2026-09-11 07:17:46 +00:00
<div class="line"><a id="l00591" name="l00591"></a><span class="lineno"> 591</span> </div>
<div class="line"><a id="l00592" name="l00592"></a><span class="lineno"> 592</span>} <span class="comment">// namespace rtabmap</span></div>
2026-08-16 17:18:46 +00:00
<div class="ttc" id="aclassrtabmap_1_1FlannIndex_html"><div class="ttname"><a href="classrtabmap_1_1FlannIndex.html">rtabmap::FlannIndex</a></div><div class="ttdoc">Nearest neighbor index over a set of features.</div><div class="ttdef"><b>Definition</b> <a href="FlannIndex_8h_source.html#l00055">FlannIndex.h:56</a></div></div>
2026-08-06 22:56:24 +00:00
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html">rtabmap::VWDictionary</a></div><div class="ttdoc">Manages a dictionary of visual words for visual place recognition and loop closure detection.</div><div class="ttdef"><b>Definition</b> <a href="VWDictionary_8h_source.html#l00065">VWDictionary.h:66</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_a085d69ef577600000f397bd63abeaf69"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#a085d69ef577600000f397bd63abeaf69">rtabmap::VWDictionary::getNextId</a></div><div class="ttdeci">int getNextId()</div><div class="ttdoc">Get the next available visual word ID.</div></div>
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_a0a29d849a7c2b626407f453e5cb4b526"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#a0a29d849a7c2b626407f453e5cb4b526">rtabmap::VWDictionary::deserializeIndex</a></div><div class="ttdeci">bool deserializeIndex(const unsigned char *data, size_t size)</div><div class="ttdoc">Deserialize the search index from raw bytes.</div></div>
2026-08-16 17:18:46 +00:00
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_a117282f59ed918808d8116cd1f92f412"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#a117282f59ed918808d8116cd1f92f412">rtabmap::VWDictionary::getUnusedWordsSize</a></div><div class="ttdeci">unsigned int getUnusedWordsSize() const</div><div class="ttdoc">Get the count of unused visual words.</div><div class="ttdef"><b>Definition</b> <a href="VWDictionary_8h_source.html#l00417">VWDictionary.h:417</a></div></div>
2026-08-06 22:56:24 +00:00
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_a1ba7cb31f8658980849ffd9ce76b3cb8"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#a1ba7cb31f8658980849ffd9ce76b3cb8">rtabmap::VWDictionary::exportDictionary</a></div><div class="ttdeci">void exportDictionary(const char *fileNameReferences, const char *fileNameDescriptors) const</div><div class="ttdoc">Export the dictionary to files.</div></div>
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_a2864c406b3792dbfb7c8c334b6e44d41"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#a2864c406b3792dbfb7c8c334b6e44d41">rtabmap::VWDictionary::serializeIndex</a></div><div class="ttdeci">std::vector&lt; unsigned char &gt; serializeIndex() const</div><div class="ttdoc">Serialize the search index to a byte vector.</div></div>
2026-08-16 17:18:46 +00:00
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_a293c09f00caf84bb991d73983a5f22c8"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#a293c09f00caf84bb991d73983a5f22c8">rtabmap::VWDictionary::getNotIndexedWordsCount</a></div><div class="ttdeci">unsigned int getNotIndexedWordsCount() const</div><div class="ttdoc">Get the count of words not yet indexed in the search tree.</div><div class="ttdef"><b>Definition</b> <a href="VWDictionary_8h_source.html#l00270">VWDictionary.h:270</a></div></div>
2026-08-06 22:56:24 +00:00
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_a2998a6b11e102a2253ac592acf076841"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#a2998a6b11e102a2253ac592acf076841">rtabmap::VWDictionary::addNewWords</a></div><div class="ttdeci">virtual std::list&lt; int &gt; addNewWords(const cv::Mat &amp;descriptors, int signatureId)</div><div class="ttdoc">Add new visual words from descriptors.</div></div>
2026-08-16 17:18:46 +00:00
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_a2dbfec55a8921f52b642bf0dceea0c37"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#a2dbfec55a8921f52b642bf0dceea0c37">rtabmap::VWDictionary::ID_START</a></div><div class="ttdeci">static const int ID_START</div><div class="ttdoc">Starting ID for visual words (typically 1)</div><div class="ttdef"><b>Definition</b> <a href="VWDictionary_8h_source.html#l00091">VWDictionary.h:91</a></div></div>
2026-08-06 22:56:24 +00:00
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_a33c8904edf3d0af65dfd2a6d817416fa"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#a33c8904edf3d0af65dfd2a6d817416fa">rtabmap::VWDictionary::deleteUnusedWords</a></div><div class="ttdeci">void deleteUnusedWords()</div><div class="ttdoc">Delete all unused visual words.</div></div>
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_a3af1cce90b50dcb0f9dcd77e1fb08aad"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#a3af1cce90b50dcb0f9dcd77e1fb08aad">rtabmap::VWDictionary::deserializeIndex</a></div><div class="ttdeci">bool deserializeIndex(const std::vector&lt; unsigned char &gt; &amp;data)</div><div class="ttdoc">Deserialize the search index from a byte vector.</div></div>
2026-08-16 17:18:46 +00:00
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_a454639bff3d95b2f9dd346413981d5c5"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#a454639bff3d95b2f9dd346413981d5c5">rtabmap::VWDictionary::getNndrRatio</a></div><div class="ttdeci">float getNndrRatio() const</div><div class="ttdoc">Get the Nearest Neighbor Distance Ratio (NNDR) threshold.</div><div class="ttdef"><b>Definition</b> <a href="VWDictionary_8h_source.html#l00264">VWDictionary.h:264</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_a5222c6a21307f0e4b9346c87db166b44"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#a5222c6a21307f0e4b9346c87db166b44">rtabmap::VWDictionary::_totalActiveReferences</a></div><div class="ttdeci">int _totalActiveReferences</div><div class="ttdoc">Total count of active word-to-signature references.</div><div class="ttdef"><b>Definition</b> <a href="VWDictionary_8h_source.html#l00480">VWDictionary.h:480</a></div></div>
2026-08-06 22:56:24 +00:00
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_a566aaf19cdc098587e88393e4140b351"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#a566aaf19cdc098587e88393e4140b351">rtabmap::VWDictionary::clear</a></div><div class="ttdeci">void clear(bool printWarningsIfNotEmpty=true)</div><div class="ttdoc">Clear all visual words and reset the dictionary.</div></div>
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_a5cf9981cf11f8f93280b7d0c195159e1"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#a5cf9981cf11f8f93280b7d0c195159e1">rtabmap::VWDictionary::getWord</a></div><div class="ttdeci">const VisualWord * getWord(int id) const</div><div class="ttdoc">Get a visual word by ID.</div></div>
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_a5f3712744b9f7beb5da186a842f7d74a"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#a5f3712744b9f7beb5da186a842f7d74a">rtabmap::VWDictionary::setFixedDictionary</a></div><div class="ttdeci">void setFixedDictionary(const std::string &amp;dictionaryPath)</div><div class="ttdoc">Set the dictionary to fixed mode and load from file.</div></div>
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_a63ec6a9b915eb939c2650e623feb0576"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#a63ec6a9b915eb939c2650e623feb0576">rtabmap::VWDictionary::getIndexMemoryUsed</a></div><div class="ttdeci">unsigned int getIndexMemoryUsed() const</div><div class="ttdoc">Get the memory used by the search index.</div></div>
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_a64b0aee7f33cbd4df26e2d0c14329e9d"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#a64b0aee7f33cbd4df26e2d0c14329e9d">rtabmap::VWDictionary::getUnusedWordIds</a></div><div class="ttdeci">std::vector&lt; int &gt; getUnusedWordIds() const</div><div class="ttdoc">Get IDs of all unused visual words.</div></div>
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_a65a99ae457b1c779233de57d190ca8da"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#a65a99ae457b1c779233de57d190ca8da">rtabmap::VWDictionary::getLastIndexedWordId</a></div><div class="ttdeci">int getLastIndexedWordId() const</div><div class="ttdoc">Get the ID of the last indexed word.</div></div>
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_a6a0610e87964c3881dc70cae6cd9123c"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#a6a0610e87964c3881dc70cae6cd9123c">rtabmap::VWDictionary::getIndexedWordsCount</a></div><div class="ttdeci">unsigned int getIndexedWordsCount() const</div><div class="ttdoc">Get the count of words currently indexed in the search tree.</div></div>
2026-08-16 17:18:46 +00:00
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_a6bcad4c04999469001b5ac03b8a61ab4"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#a6bcad4c04999469001b5ac03b8a61ab4">rtabmap::VWDictionary::getVisualWords</a></div><div class="ttdeci">const std::map&lt; int, VisualWord * &gt; &amp; getVisualWords() const</div><div class="ttdoc">Get all visual words.</div><div class="ttdef"><b>Definition</b> <a href="VWDictionary_8h_source.html#l00251">VWDictionary.h:251</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_a706e209f6228c02730dd8ea501ab5369"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#a706e209f6228c02730dd8ea501ab5369">rtabmap::VWDictionary::isIncremental</a></div><div class="ttdeci">bool isIncremental() const</div><div class="ttdoc">Check if the dictionary is in incremental mode.</div><div class="ttdef"><b>Definition</b> <a href="VWDictionary_8h_source.html#l00321">VWDictionary.h:321</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_a7092a6a6af93772ce89793c5e54a17cc"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#a7092a6a6af93772ce89793c5e54a17cc">rtabmap::VWDictionary::nnStrategyName</a></div><div class="ttdeci">static std::string nnStrategyName(NNStrategy strategy)</div><div class="ttdoc">Get the name of a nearest neighbor strategy.</div><div class="ttdef"><b>Definition</b> <a href="VWDictionary_8h_source.html#l00103">VWDictionary.h:103</a></div></div>
2026-08-06 22:56:24 +00:00
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_a70aec2b9d1bf55d47192949aa728448e"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#a70aec2b9d1bf55d47192949aa728448e">rtabmap::VWDictionary::convertBinTo32F</a></div><div class="ttdeci">static cv::Mat convertBinTo32F(const cv::Mat &amp;descriptorsIn, bool byteToFloat=true)</div><div class="ttdoc">Convert binary descriptors to 32-bit float format.</div></div>
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_a7a506e15bf83d16cc98aaa34057216f4"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#a7a506e15bf83d16cc98aaa34057216f4">rtabmap::VWDictionary::removeWords</a></div><div class="ttdeci">void removeWords(const std::vector&lt; VisualWord * &gt; &amp;words)</div><div class="ttdoc">Remove words from the dictionary.</div></div>
2026-08-16 17:18:46 +00:00
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_a83b1966a141848baeec5112c30bacf0f"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#a83b1966a141848baeec5112c30bacf0f">rtabmap::VWDictionary::ID_INVALID</a></div><div class="ttdeci">static const int ID_INVALID</div><div class="ttdoc">Invalid visual word ID (typically 0)</div><div class="ttdef"><b>Definition</b> <a href="VWDictionary_8h_source.html#l00096">VWDictionary.h:96</a></div></div>
2026-08-06 22:56:24 +00:00
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_a844ae27eb6d1f0674c8f7777451812c5"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#a844ae27eb6d1f0674c8f7777451812c5">rtabmap::VWDictionary::update</a></div><div class="ttdeci">virtual void update()</div><div class="ttdoc">Update the search index with newly added words.</div></div>
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_a89893faef6c96e3b19bfeab86094af81"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#a89893faef6c96e3b19bfeab86094af81">rtabmap::VWDictionary::parseParameters</a></div><div class="ttdeci">virtual void parseParameters(const ParametersMap &amp;parameters)</div><div class="ttdoc">Parse and apply parameters from a parameters map.</div></div>
2026-08-16 17:18:46 +00:00
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_a9466840dd5ad3dc914543a97421c3655"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#a9466840dd5ad3dc914543a97421c3655">rtabmap::VWDictionary::NNStrategy</a></div><div class="ttdeci">NNStrategy</div><div class="ttdoc">Nearest neighbor search strategies for descriptor matching.</div><div class="ttdef"><b>Definition</b> <a href="VWDictionary_8h_source.html#l00077">VWDictionary.h:77</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_a9466840dd5ad3dc914543a97421c3655a1745dd334296b8a41cf0c88dcc8a7d5d"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#a9466840dd5ad3dc914543a97421c3655a1745dd334296b8a41cf0c88dcc8a7d5d">rtabmap::VWDictionary::kNNBruteForce</a></div><div class="ttdeci">@ kNNBruteForce</div><div class="ttdoc">Brute force CPU search.</div><div class="ttdef"><b>Definition</b> <a href="VWDictionary_8h_source.html#l00081">VWDictionary.h:81</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_a9466840dd5ad3dc914543a97421c3655a306c8d555b740267fa80a1ee673ef7c7"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#a9466840dd5ad3dc914543a97421c3655a306c8d555b740267fa80a1ee673ef7c7">rtabmap::VWDictionary::kNNNanoFlannKdTree</a></div><div class="ttdeci">@ kNNNanoFlannKdTree</div><div class="ttdoc">nanoflann kd-tree index (float descriptors only, incremental)</div><div class="ttdef"><b>Definition</b> <a href="VWDictionary_8h_source.html#l00084">VWDictionary.h:84</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_a9466840dd5ad3dc914543a97421c3655a602d99d5bdef453a39339a0b45979451"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#a9466840dd5ad3dc914543a97421c3655a602d99d5bdef453a39339a0b45979451">rtabmap::VWDictionary::kNNBruteForceGPU</a></div><div class="ttdeci">@ kNNBruteForceGPU</div><div class="ttdoc">Brute force GPU-accelerated search (requires CUDA)</div><div class="ttdef"><b>Definition</b> <a href="VWDictionary_8h_source.html#l00082">VWDictionary.h:82</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_a9466840dd5ad3dc914543a97421c3655a89ab72d0bccd61bb11abbd1edf1e6992"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#a9466840dd5ad3dc914543a97421c3655a89ab72d0bccd61bb11abbd1edf1e6992">rtabmap::VWDictionary::kNNFlannLSH</a></div><div class="ttdeci">@ kNNFlannLSH</div><div class="ttdoc">FLANN Locality-Sensitive Hashing (ideal for binary descriptors)</div><div class="ttdef"><b>Definition</b> <a href="VWDictionary_8h_source.html#l00080">VWDictionary.h:80</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_a9466840dd5ad3dc914543a97421c3655a994442dbb17b48ba9a9315edee24a7a1"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#a9466840dd5ad3dc914543a97421c3655a994442dbb17b48ba9a9315edee24a7a1">rtabmap::VWDictionary::kNNFlannKdTreeSingle</a></div><div class="ttdeci">@ kNNFlannKdTreeSingle</div><div class="ttdoc">FLANN single exact kd-tree index (rebuilt whenever a word is added, for an index built once)</div><div class="ttdef"><b>Definition</b> <a href="VWDictionary_8h_source.html#l00083">VWDictionary.h:83</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_a9466840dd5ad3dc914543a97421c3655aaa1ea80fc9ca8809ad9b959e2e1564c5"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#a9466840dd5ad3dc914543a97421c3655aaa1ea80fc9ca8809ad9b959e2e1564c5">rtabmap::VWDictionary::kNNFlannKdTree</a></div><div class="ttdeci">@ kNNFlannKdTree</div><div class="ttdoc">FLANN kd-tree index (fast for high-dimensional descriptors)</div><div class="ttdef"><b>Definition</b> <a href="VWDictionary_8h_source.html#l00079">VWDictionary.h:79</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_a9466840dd5ad3dc914543a97421c3655ae4301e202dd36e997bf3298390c667f0"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#a9466840dd5ad3dc914543a97421c3655ae4301e202dd36e997bf3298390c667f0">rtabmap::VWDictionary::kNNFlannNaive</a></div><div class="ttdeci">@ kNNFlannNaive</div><div class="ttdoc">FLANN naive search (exhaustive)</div><div class="ttdef"><b>Definition</b> <a href="VWDictionary_8h_source.html#l00078">VWDictionary.h:78</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_a98447a880fdcf91709f00d00cfd4e54d"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#a98447a880fdcf91709f00d00cfd4e54d">rtabmap::VWDictionary::getTotalActiveReferences</a></div><div class="ttdeci">int getTotalActiveReferences() const</div><div class="ttdoc">Get the total number of active word-to-signature references.</div><div class="ttdef"><b>Definition</b> <a href="VWDictionary_8h_source.html#l00282">VWDictionary.h:282</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_a9f016aa45f3b3d5618d104fb799ca998"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#a9f016aa45f3b3d5618d104fb799ca998">rtabmap::VWDictionary::isIncrementalFlann</a></div><div class="ttdeci">bool isIncrementalFlann() const</div><div class="ttdoc">Check if FLANN index is updated incrementally.</div><div class="ttdef"><b>Definition</b> <a href="VWDictionary_8h_source.html#l00327">VWDictionary.h:327</a></div></div>
2026-08-06 22:56:24 +00:00
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_aa0bcdf4002305d36bb072c019d475f13"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#aa0bcdf4002305d36bb072c019d475f13">rtabmap::VWDictionary::isModified</a></div><div class="ttdeci">bool isModified() const</div><div class="ttdoc">Check if the dictionary has been modified since last save.</div></div>
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_aada11cf01b586ac8205f8bff0b1ab295"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#aada11cf01b586ac8205f8bff0b1ab295">rtabmap::VWDictionary::findNN</a></div><div class="ttdeci">std::vector&lt; int &gt; findNN(const cv::Mat &amp;descriptors) const</div><div class="ttdoc">Find nearest neighbor visual word IDs for descriptors.</div></div>
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_ab14ef6e8fb979dce23f9a40a1faf8dff"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#ab14ef6e8fb979dce23f9a40a1faf8dff">rtabmap::VWDictionary::setIncrementalDictionary</a></div><div class="ttdeci">void setIncrementalDictionary()</div><div class="ttdoc">Set the dictionary to incremental mode.</div></div>
2026-08-16 17:18:46 +00:00
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_ab1ec0db96328164864953f25d463bcbb"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#ab1ec0db96328164864953f25d463bcbb">rtabmap::VWDictionary::getNNStrategy</a></div><div class="ttdeci">NNStrategy getNNStrategy() const</div><div class="ttdoc">Get the current nearest neighbor search strategy.</div><div class="ttdef"><b>Definition</b> <a href="VWDictionary_8h_source.html#l00315">VWDictionary.h:315</a></div></div>
2026-08-06 22:56:24 +00:00
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_ab47b5ecb12c822474004f0ad77dbb388"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#ab47b5ecb12c822474004f0ad77dbb388">rtabmap::VWDictionary::getUnusedWords</a></div><div class="ttdeci">std::vector&lt; VisualWord * &gt; getUnusedWords() const</div><div class="ttdoc">Get all unused visual words.</div></div>
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_abbd007a028847ecbbdd50e3480ba95e3"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#abbd007a028847ecbbdd50e3480ba95e3">rtabmap::VWDictionary::getUnusedWord</a></div><div class="ttdeci">VisualWord * getUnusedWord(int id) const</div><div class="ttdoc">Get an unused visual word by ID.</div></div>
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_ac2f21a98b70e91ab2e8a07151c508d1c"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#ac2f21a98b70e91ab2e8a07151c508d1c">rtabmap::VWDictionary::findNN</a></div><div class="ttdeci">std::vector&lt; int &gt; findNN(const std::list&lt; VisualWord * &gt; &amp;vws) const</div><div class="ttdoc">Find nearest neighbor visual word IDs for a list of visual words.</div></div>
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_ac4a70358ca2db8e63c67a30383a1d34b"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#ac4a70358ca2db8e63c67a30383a1d34b">rtabmap::VWDictionary::removeAllWordRef</a></div><div class="ttdeci">void removeAllWordRef(int wordId, int signatureId)</div><div class="ttdoc">Remove all references from a visual word to a signature.</div></div>
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_ac5177a75f402538b50ec6c36bdbc7307"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#ac5177a75f402538b50ec6c36bdbc7307">rtabmap::VWDictionary::getMemoryUsed</a></div><div class="ttdeci">unsigned long getMemoryUsed() const</div><div class="ttdoc">Get the total memory used by the dictionary.</div></div>
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_acda9d98e4ad4897ce8a8b945f396221c"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#acda9d98e4ad4897ce8a8b945f396221c">rtabmap::VWDictionary::convert32FToBin</a></div><div class="ttdeci">static cv::Mat convert32FToBin(const cv::Mat &amp;descriptorsIn, bool byteToFloat=true)</div><div class="ttdoc">Convert 32-bit float descriptors to binary format.</div></div>
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_ad464ad961b0e4d4cd6dd7895e9ff3d59"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#ad464ad961b0e4d4cd6dd7895e9ff3d59">rtabmap::VWDictionary::addWord</a></div><div class="ttdeci">virtual void addWord(VisualWord *vw)</div><div class="ttdoc">Add an existing visual word to the dictionary.</div></div>
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_ada3980b520d8411a1ebb3ce14e2f8734"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#ada3980b520d8411a1ebb3ce14e2f8734">rtabmap::VWDictionary::VWDictionary</a></div><div class="ttdeci">VWDictionary(const ParametersMap &amp;parameters=ParametersMap())</div><div class="ttdoc">Constructor.</div></div>
2026-08-16 17:18:46 +00:00
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_adcb4739e09e27b20125880e9d3026383"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#adcb4739e09e27b20125880e9d3026383">rtabmap::VWDictionary::_visualWords</a></div><div class="ttdeci">std::map&lt; int, VisualWord * &gt; _visualWords</div><div class="ttdoc">Map of visual word ID to VisualWord pointer.</div><div class="ttdef"><b>Definition</b> <a href="VWDictionary_8h_source.html#l00474">VWDictionary.h:474</a></div></div>
2026-08-06 22:56:24 +00:00
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_aea2f0d043d043df37258dc225c62edec"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#aea2f0d043d043df37258dc225c62edec">rtabmap::VWDictionary::addWordRef</a></div><div class="ttdeci">bool addWordRef(int wordId, int signatureId)</div><div class="ttdoc">Add a reference from a visual word to a signature.</div></div>
2026-08-16 17:18:46 +00:00
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_af0b676e13c7dba437147520335289e97"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#af0b676e13c7dba437147520335289e97">rtabmap::VWDictionary::setLastWordId</a></div><div class="ttdeci">void setLastWordId(int id)</div><div class="ttdoc">Set the last word ID (used when loading from database)</div><div class="ttdef"><b>Definition</b> <a href="VWDictionary_8h_source.html#l00245">VWDictionary.h:245</a></div></div>
2026-08-06 22:56:24 +00:00
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_af60e271facb40ff668c4bc24cff1b9cc"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#af60e271facb40ff668c4bc24cff1b9cc">rtabmap::VWDictionary::setNNStrategy</a></div><div class="ttdeci">bool setNNStrategy(NNStrategy strategy)</div><div class="ttdoc">Set the nearest neighbor search strategy.</div></div>
<div class="ttc" id="aclassrtabmap_1_1VWDictionary_html_af7f669f103368e30e31a028efbcac89d"><div class="ttname"><a href="classrtabmap_1_1VWDictionary.html#af7f669f103368e30e31a028efbcac89d">rtabmap::VWDictionary::~VWDictionary</a></div><div class="ttdeci">virtual ~VWDictionary()</div><div class="ttdoc">Destructor.</div></div>
<div class="ttc" id="aclassrtabmap_1_1VisualWord_html"><div class="ttname"><a href="classrtabmap_1_1VisualWord.html">rtabmap::VisualWord</a></div><div class="ttdoc">Represents a visual word (feature descriptor) used in the bag-of-words (BoW) model.</div><div class="ttdef"><b>Definition</b> <a href="VisualWord_8h_source.html#l00049">VisualWord.h:50</a></div></div>
2026-08-23 20:27:42 +00:00
<div class="ttc" id="anamespacertabmap_html"><div class="ttname"><a href="namespacertabmap.html">rtabmap</a></div><div class="ttdef"><b>Definition</b> <a href="BayesFilter_8h_source.html#l00042">BayesFilter.h:42</a></div></div>
2026-08-06 22:56:24 +00:00
<div class="ttc" id="anamespacertabmap_html_ad08b6f1796a27dd7316c99c385e2cc55"><div class="ttname"><a href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">rtabmap::ParametersMap</a></div><div class="ttdeci">std::map&lt; std::string, std::string &gt; ParametersMap</div><div class="ttdoc">Parameter keys mapped to their values, as used by every configurable class (see Parameters).</div><div class="ttdef"><b>Definition</b> <a href="Parameters_8h_source.html#l00044">Parameters.h:44</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_04d49acea3c42cab2afcd35cb2f2a48f.html">corelib</a></li><li class="navelem"><a class="el" href="dir_e996b11fd4b3a747423759b16a8ba4a6.html">include</a></li><li class="navelem"><a class="el" href="dir_ff01f7bc5399ccf9ff1cc91d1f45726a.html">rtabmap</a></li><li class="navelem"><a class="el" href="dir_884419f21456e80aa47bc1d0c2ab0140.html">core</a></li><li class="navelem"><b>VWDictionary.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>