Preview for PR #1492 c82721341cb6b9be5ea6c74e1c195f07d4187738

This commit is contained in:
github-actions[bot]
2026-08-02 07:56:38 +00:00
parent 6259cf4409
commit 9043c4a9aa
1083 changed files with 121946 additions and 11202 deletions
@@ -10,6 +10,10 @@
<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>
@@ -27,6 +31,7 @@
<td id="projectalign">
<div id="projectname">RTAB-Map<span id="projectnumber">&#160;0.23.10</span>
</div>
<div id="projectbrief">Real-Time Appearance-Based Mapping</div>
</td>
</tr>
</tbody>
@@ -50,6 +55,23 @@ $(function() {
/* @license-end */
</script>
<div id="main-nav"></div>
</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('classrtabmap_1_1Registration.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -71,11 +93,6 @@ $(function() {
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacertabmap.html">rtabmap</a></li><li class="navelem"><a class="el" href="classrtabmap_1_1Registration.html">Registration</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-types">Public Types</a> &#124;
@@ -103,22 +120,22 @@ Inheritance diagram for rtabmap::Registration:</div>
<area shape="rect" href="classrtabmap_1_1RegistrationVis.html" title="Visual registration between two signatures using features and geometry." alt="" coords="213,79,397,104"/>
<area shape="poly" title=" " alt="" coords="230,36,289,76,286,81,227,41"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-types" name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:ae693713cd8b7ece4b147eae99880b849" id="r_ae693713cd8b7ece4b147eae99880b849"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1Registration.html#ae693713cd8b7ece4b147eae99880b849">Type</a> { <b>kTypeUndef</b> = -1
, <b>kTypeVis</b> = 0
, <b>kTypeIcp</b> = 1
, <b>kTypeVisIcp</b> = 2
<tr class="memitem:ae693713cd8b7ece4b147eae99880b849" id="r_ae693713cd8b7ece4b147eae99880b849"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1Registration.html#ae693713cd8b7ece4b147eae99880b849">Type</a> { <a class="el" href="classrtabmap_1_1Registration.html#ae693713cd8b7ece4b147eae99880b849a1e25205ebb65fe2315a0b7050e613c6d">kTypeUndef</a> = -1
, <a class="el" href="classrtabmap_1_1Registration.html#ae693713cd8b7ece4b147eae99880b849a8e6dbf98a9a843c34d16b8c7e546c724">kTypeVis</a> = 0
, <a class="el" href="classrtabmap_1_1Registration.html#ae693713cd8b7ece4b147eae99880b849a8638e369c895a337f587e727e1a712ab">kTypeIcp</a> = 1
, <a class="el" href="classrtabmap_1_1Registration.html#ae693713cd8b7ece4b147eae99880b849ad03189dad590b6e2d81adbc7d20bf662">kTypeVisIcp</a> = 2
}</td></tr>
<tr class="memdesc:ae693713cd8b7ece4b147eae99880b849"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classrtabmap_1_1Registration.html" title="Abstract base for registering two observations (visual, ICP, or both).">Registration</a> strategy selected by <b>Reg/Strategy</b>. <a href="classrtabmap_1_1Registration.html#ae693713cd8b7ece4b147eae99880b849">More...</a><br /></td></tr>
<tr class="separator:ae693713cd8b7ece4b147eae99880b849"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a0f409a8f0973667ef1687fe102bbf930" id="r_a0f409a8f0973667ef1687fe102bbf930"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1Registration.html#a0f409a8f0973667ef1687fe102bbf930">parseParameters</a> (const ParametersMap &amp;parameters)</td></tr>
<tr class="memdesc:a0f409a8f0973667ef1687fe102bbf930"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parses <b>Reg/RepeatOnce</b>, <b>Reg/Force3DoF</b> and forwards to child_ if set. <br /></td></tr>
<tr class="memitem:a0f409a8f0973667ef1687fe102bbf930" id="r_a0f409a8f0973667ef1687fe102bbf930"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1Registration.html#a0f409a8f0973667ef1687fe102bbf930">parseParameters</a> (const <a class="el" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> &amp;parameters)</td></tr>
<tr class="memdesc:a0f409a8f0973667ef1687fe102bbf930"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parses <b>Reg/RepeatOnce</b>, <b>Reg/Force3DoF</b> and forwards to the child registration if set. <br /></td></tr>
<tr class="separator:a0f409a8f0973667ef1687fe102bbf930"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae10ae7b6dbf4d5396db66600ebe18228" id="r_ae10ae7b6dbf4d5396db66600ebe18228"><td class="memItemLeft" align="right" valign="top"><a id="ae10ae7b6dbf4d5396db66600ebe18228" name="ae10ae7b6dbf4d5396db66600ebe18228"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>isImageRequired</b> () const</td></tr>
@@ -150,7 +167,7 @@ float&#160;</td><td class="memItemRight" valign="bottom"><b>getMinGeometryCorres
<tr class="separator:abb255bdab60a262f9cfc5d868e50cc9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac105402feeb2ec6551235296604145aa" id="r_ac105402feeb2ec6551235296604145aa"><td class="memItemLeft" align="right" valign="top"><a id="ac105402feeb2ec6551235296604145aa" name="ac105402feeb2ec6551235296604145aa"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>setChildRegistration</b> (<a class="el" href="classrtabmap_1_1Registration.html">Registration</a> *child)</td></tr>
<tr class="memdesc:ac105402feeb2ec6551235296604145aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replaces child_; takes ownership of <code>child</code>. <br /></td></tr>
<tr class="memdesc:ac105402feeb2ec6551235296604145aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replaces the current child registration; takes ownership of <code>child</code>. <br /></td></tr>
<tr class="separator:ac105402feeb2ec6551235296604145aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6b81a6f4137138a1b49510cc3f97679" id="r_aa6b81a6f4137138a1b49510cc3f97679"><td class="memItemLeft" align="right" valign="top"><a id="aa6b81a6f4137138a1b49510cc3f97679" name="aa6b81a6f4137138a1b49510cc3f97679"></a>
<a class="el" href="classrtabmap_1_1Transform.html">Transform</a>&#160;</td><td class="memItemRight" valign="bottom"><b>computeTransformation</b> (const <a class="el" href="classrtabmap_1_1Signature.html">Signature</a> &amp;from, const <a class="el" href="classrtabmap_1_1Signature.html">Signature</a> &amp;to, <a class="el" href="classrtabmap_1_1Transform.html">Transform</a> guess=<a class="el" href="classrtabmap_1_1Transform.html#a8ea4368f2018d751d2733038081d56a2">Transform::getIdentity</a>(), <a class="el" href="classrtabmap_1_1RegistrationInfo.html">RegistrationInfo</a> *info=0) const</td></tr>
@@ -168,12 +185,12 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>setChildRegistration<
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a516e8d64cdb3e7a743a3aa40ab026def" id="r_a516e8d64cdb3e7a743a3aa40ab026def"><td class="memItemLeft" align="right" valign="top"><a id="a516e8d64cdb3e7a743a3aa40ab026def" name="a516e8d64cdb3e7a743a3aa40ab026def"></a>
static <a class="el" href="classrtabmap_1_1Registration.html">Registration</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>create</b> (const ParametersMap &amp;parameters)</td></tr>
static <a class="el" href="classrtabmap_1_1Registration.html">Registration</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>create</b> (const <a class="el" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> &amp;parameters)</td></tr>
<tr class="memdesc:a516e8d64cdb3e7a743a3aa40ab026def"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a registration from <b>Reg/Strategy</b> in <code>parameters</code>. Caller owns the pointer. <br /></td></tr>
<tr class="separator:a516e8d64cdb3e7a743a3aa40ab026def"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e3493a850551c98f9e814fed74400e6" id="r_a1e3493a850551c98f9e814fed74400e6"><td class="memItemLeft" align="right" valign="top"><a id="a1e3493a850551c98f9e814fed74400e6" name="a1e3493a850551c98f9e814fed74400e6"></a>
static <a class="el" href="classrtabmap_1_1Registration.html">Registration</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>create</b> (<a class="el" href="classrtabmap_1_1Registration.html#ae693713cd8b7ece4b147eae99880b849">Type</a> &amp;type, const ParametersMap &amp;parameters=ParametersMap())</td></tr>
<tr class="memdesc:a1e3493a850551c98f9e814fed74400e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a registration of <code>type</code> (may be adjusted, e.g. to kTypeVis). Caller owns the pointer. <br /></td></tr>
static <a class="el" href="classrtabmap_1_1Registration.html">Registration</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>create</b> (<a class="el" href="classrtabmap_1_1Registration.html#ae693713cd8b7ece4b147eae99880b849">Type</a> &amp;type, const <a class="el" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> &amp;parameters=<a class="el" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a>())</td></tr>
<tr class="memdesc:a1e3493a850551c98f9e814fed74400e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a registration of <code>type</code> (may be adjusted, e.g. to <a class="el" href="classrtabmap_1_1Registration.html#ae693713cd8b7ece4b147eae99880b849a8e6dbf98a9a843c34d16b8c7e546c724">kTypeVis</a>). Caller owns the pointer. <br /></td></tr>
<tr class="separator:a1e3493a850551c98f9e814fed74400e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-attribs" name="pub-static-attribs"></a>
@@ -188,7 +205,7 @@ Static Public Attributes</h2></td></tr>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a7d0ff4149da7f5839308ff543932b067" id="r_a7d0ff4149da7f5839308ff543932b067"><td class="memItemLeft" align="right" valign="top"><a id="a7d0ff4149da7f5839308ff543932b067" name="a7d0ff4149da7f5839308ff543932b067"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>Registration</b> (const ParametersMap &amp;parameters=ParametersMap(), <a class="el" href="classrtabmap_1_1Registration.html">Registration</a> *child=0)</td></tr>
&#160;</td><td class="memItemRight" valign="bottom"><b>Registration</b> (const <a class="el" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> &amp;parameters=<a class="el" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a>(), <a class="el" href="classrtabmap_1_1Registration.html">Registration</a> *child=0)</td></tr>
<tr class="memdesc:a7d0ff4149da7f5839308ff543932b067"><td class="mdescLeft">&#160;</td><td class="mdescRight"><code>child</code> is owned and deleted in the destructor. <br /></td></tr>
<tr class="separator:a7d0ff4149da7f5839308ff543932b067"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21635a391a85b64bc33787179a6cd71b" id="r_a21635a391a85b64bc33787179a6cd71b"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classrtabmap_1_1Transform.html">Transform</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1Registration.html#a21635a391a85b64bc33787179a6cd71b">computeTransformationImpl</a> (<a class="el" href="classrtabmap_1_1Signature.html">Signature</a> &amp;from, <a class="el" href="classrtabmap_1_1Signature.html">Signature</a> &amp;to, <a class="el" href="classrtabmap_1_1Transform.html">Transform</a> guess, <a class="el" href="classrtabmap_1_1RegistrationInfo.html">RegistrationInfo</a> &amp;info) const =0</td></tr>
@@ -209,8 +226,8 @@ Protected Member Functions</h2></td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Abstract base for registering two observations (visual, ICP, or both). </p>
<p>Factory <a class="el" href="classrtabmap_1_1Registration.html#a516e8d64cdb3e7a743a3aa40ab026def">create()</a> builds <a class="el" href="classrtabmap_1_1RegistrationVis.html">RegistrationVis</a>, <a class="el" href="classrtabmap_1_1RegistrationIcp.html">RegistrationIcp</a>, or RegistrationVisIcp from <b>Reg/Strategy</b> in a ParametersMap.</p>
<p><a class="el" href="classrtabmap_1_1Registration.html#aa6b81a6f4137138a1b49510cc3f97679">computeTransformation()</a> wraps signatures and delegates to <a class="el" href="classrtabmap_1_1Registration.html#a44530cd77f6d0a9657251864fb136c0d">computeTransformationMod()</a>, which calls <a class="el" href="classrtabmap_1_1Registration.html#a21635a391a85b64bc33787179a6cd71b">computeTransformationImpl()</a> on the concrete strategy, optionally chains a child_ registration (e.g. ICP after visual), applies <b>Reg/Force3DoF</b>, and may repeat once with the first result as guess when <b>Reg/RepeatOnce</b> is enabled.</p>
<p>Factory <a class="el" href="classrtabmap_1_1Registration.html#a516e8d64cdb3e7a743a3aa40ab026def">create()</a> builds <a class="el" href="classrtabmap_1_1RegistrationVis.html">RegistrationVis</a>, <a class="el" href="classrtabmap_1_1RegistrationIcp.html">RegistrationIcp</a>, or the two chained (<a class="el" href="classrtabmap_1_1Registration.html#ae693713cd8b7ece4b147eae99880b849ad03189dad590b6e2d81adbc7d20bf662">kTypeVisIcp</a>) from <b>Reg/Strategy</b> in a <a class="el" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a>.</p>
<p><a class="el" href="classrtabmap_1_1Registration.html#aa6b81a6f4137138a1b49510cc3f97679">computeTransformation()</a> wraps signatures and delegates to <a class="el" href="classrtabmap_1_1Registration.html#a44530cd77f6d0a9657251864fb136c0d">computeTransformationMod()</a>, which calls <a class="el" href="classrtabmap_1_1Registration.html#a21635a391a85b64bc33787179a6cd71b">computeTransformationImpl()</a> on the concrete strategy, optionally chains a child registration (e.g. ICP after visual), applies <b>Reg/Force3DoF</b>, and may repeat once with the first result as guess when <b>Reg/RepeatOnce</b> is enabled.</p>
<p>Requirement queries (<a class="el" href="classrtabmap_1_1Registration.html#ae10ae7b6dbf4d5396db66600ebe18228">isImageRequired()</a>, <a class="el" href="classrtabmap_1_1Registration.html#aa0748ad5a576d0919ef0d360137e5ea7">isScanRequired()</a>, etc.) OR-combine with the child when the parent returns false. Minimum correspondence thresholds take the maximum between parent and child.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classrtabmap_1_1RegistrationVis.html" title="Visual registration between two signatures using features and geometry.">RegistrationVis</a> </dd>
<dd>
@@ -233,6 +250,16 @@ Protected Member Functions</h2></td></tr>
</div><div class="memdoc">
<p><a class="el" href="classrtabmap_1_1Registration.html" title="Abstract base for registering two observations (visual, ICP, or both).">Registration</a> strategy selected by <b>Reg/Strategy</b>. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ae693713cd8b7ece4b147eae99880b849a1e25205ebb65fe2315a0b7050e613c6d" name="ae693713cd8b7ece4b147eae99880b849a1e25205ebb65fe2315a0b7050e613c6d"></a>kTypeUndef&#160;</td><td class="fielddoc"><p>Undefined / invalid strategy. </p>
</td></tr>
<tr><td class="fieldname"><a id="ae693713cd8b7ece4b147eae99880b849a8e6dbf98a9a843c34d16b8c7e546c724" name="ae693713cd8b7ece4b147eae99880b849a8e6dbf98a9a843c34d16b8c7e546c724"></a>kTypeVis&#160;</td><td class="fielddoc"><p>Visual registration only (<a class="el" href="classrtabmap_1_1RegistrationVis.html">RegistrationVis</a>). </p>
</td></tr>
<tr><td class="fieldname"><a id="ae693713cd8b7ece4b147eae99880b849a8638e369c895a337f587e727e1a712ab" name="ae693713cd8b7ece4b147eae99880b849a8638e369c895a337f587e727e1a712ab"></a>kTypeIcp&#160;</td><td class="fielddoc"><p>Geometric registration only (<a class="el" href="classrtabmap_1_1RegistrationIcp.html">RegistrationIcp</a>). </p>
</td></tr>
<tr><td class="fieldname"><a id="ae693713cd8b7ece4b147eae99880b849ad03189dad590b6e2d81adbc7d20bf662" name="ae693713cd8b7ece4b147eae99880b849ad03189dad590b6e2d81adbc7d20bf662"></a>kTypeVisIcp&#160;</td><td class="fielddoc"><p>Visual registration refined by ICP (<a class="el" href="classrtabmap_1_1RegistrationVis.html">RegistrationVis</a> chained with <a class="el" href="classrtabmap_1_1RegistrationIcp.html">RegistrationIcp</a>). </p>
</td></tr>
</table>
<p class="definition">Definition at line <a class="el" href="Registration_8h_source.html#l00064">64</a> of file <a class="el" href="Registration_8h_source.html">Registration.h</a>.</p>
@@ -251,7 +278,7 @@ Protected Member Functions</h2></td></tr>
<tr>
<td class="memname">virtual void rtabmap::Registration::parseParameters </td>
<td>(</td>
<td class="paramtype">const ParametersMap &amp;&#160;</td>
<td class="paramtype">const <a class="el" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> &amp;&#160;</td>
<td class="paramname"><em>parameters</em></td><td>)</td>
<td></td>
</tr>
@@ -263,7 +290,7 @@ Protected Member Functions</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Parses <b>Reg/RepeatOnce</b>, <b>Reg/Force3DoF</b> and forwards to child_ if set. </p>
<p>Parses <b>Reg/RepeatOnce</b>, <b>Reg/Force3DoF</b> and forwards to the child registration if set. </p>
<p>Reimplemented in <a class="el" href="classrtabmap_1_1RegistrationIcp.html#abd60fffd946201723c35beebc7bfea6a">rtabmap::RegistrationIcp</a>, and <a class="el" href="classrtabmap_1_1RegistrationVis.html#a6560046940995044d7a51cb0066d420e">rtabmap::RegistrationVis</a>.</p>
@@ -372,7 +399,7 @@ Protected Member Functions</h2></td></tr>
</div><div class="memdoc">
<p>Strategy-specific registration. </p>
<p>May modify <code>from</code> and <code>to</code>; a child_ registration reuses those changes. </p>
<p>May modify <code>from</code> and <code>to</code>; a child registration reuses those changes. </p>
<p>Implemented in <a class="el" href="classrtabmap_1_1RegistrationIcp.html#a8a18107160cfc05cfb8a5109540d81b5">rtabmap::RegistrationIcp</a>, and <a class="el" href="classrtabmap_1_1RegistrationVis.html#aa47fd3a0599ee918e024161db330a92f">rtabmap::RegistrationVis</a>.</p>
@@ -597,9 +624,13 @@ Protected Member Functions</h2></td></tr>
<li>corelib/include/rtabmap/core/<a class="el" href="Registration_8h_source.html">Registration.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacertabmap.html">rtabmap</a></li><li class="navelem"><a class="el" href="classrtabmap_1_1Registration.html">Registration</a></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>