2026-08-02 01:36:11 +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: rtabmap::OdometryThread Class Reference</ 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 >
2026-08-02 07:56:38 +00:00
< 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 >
2026-08-02 01:36:11 +00:00
< 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" />
< 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 >
</ 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" >
< div id = "projectname" > RTAB-Map< span id = "projectnumber" >   0.23.10</ span >
</ div >
2026-08-02 07:56:38 +00:00
< div id = "projectbrief" > Real-Time Appearance-Based Mapping</ div >
2026-08-02 01:36:11 +00:00
</ td >
</ tr >
</ tbody >
</ table >
</ div >
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
< script type = "text/javascript" >
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=expat.txt MIT */
$ ( function () {
initMenu ( '' , true , false , 'search.php' , 'Search' );
$ ( document ). ready ( function () { init_search (); });
});
/* @license-end */
</ script >
< div id = "main-nav" ></ div >
2026-08-02 07:56:38 +00:00
</ 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&dn=expat.txt MIT */
$ ( document ). ready ( function (){ initNavTree ( 'classrtabmap_1_1OdometryThread.html' , '' ); initResizable (); });
/* @license-end */
</ script >
< div id = "doc-content" >
2026-08-02 01:36:11 +00:00
<!-- 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 = "summary" >
< a href = "#pub-methods" > Public Member Functions</ a > |
< a href = "#pro-methods" > Protected Member Functions</ a > |
< a href = "classrtabmap_1_1OdometryThread-members.html" > List of all members</ a > </ div >
< div class = "headertitle" >< div class = "title" > rtabmap::OdometryThread Class Reference</ div ></ div >
</ div > <!--header-->
< div class = "contents" >
2026-08-02 07:56:38 +00:00
< p > Runs an < a class = "el" href = "classrtabmap_1_1Odometry.html" > Odometry</ a > front-end in its own thread, driven by events.
< a href = "classrtabmap_1_1OdometryThread.html#details" > More...</ a ></ p >
< p >< code > #include < < a class = "el" href = "OdometryThread_8h_source.html" > OdometryThread.h</ a > > </ code ></ p >
2026-08-02 01:36:11 +00:00
< div class = "dynheader" >
Inheritance diagram for rtabmap::OdometryThread:</ div >
< div class = "dyncontent" >
< div class = "center" >< img src = "classrtabmap_1_1OdometryThread__inherit__graph.png" border = "0" usemap = "#artabmap_1_1OdometryThread_inherit__map" alt = "Inheritance graph" /></ div >
< map name = "artabmap_1_1OdometryThread_inherit__map" id = "artabmap_1_1OdometryThread_inherit__map" >
2026-08-02 07:56:38 +00:00
< area shape = "rect" title = "Runs an Odometry front-end in its own thread, driven by events." alt = "" coords = "57,152,252,177" />
2026-08-02 01:36:11 +00:00
< area shape = "rect" href = "classUThread.html" title = " " alt = "" coords = "53,79,131,104" />
< area shape = "poly" title = " " alt = "" coords = "113,113,147,150,143,154,109,116" />
< area shape = "rect" href = "classUThreadC_3_01void_01_4.html" title = " " alt = "" coords = "5,5,149,31" />
< area shape = "poly" title = " " alt = "" coords = "85,44,92,78,87,79,80,45" />
< area shape = "rect" href = "classUEventsHandler.html" title = " " alt = "" coords = "163,79,290,104" />
< area shape = "poly" title = " " alt = "" coords = "207,116,168,154,164,150,203,112" />
< area shape = "rect" href = "classUEventsSender.html" title = " " alt = "" coords = "174,5,295,31" />
< area shape = "poly" title = " " alt = "" coords = "234,45,231,79,225,78,229,44" />
</ map >
2026-08-02 07:56:38 +00:00
< center >< span class = "legend" > [< a target = "top" href = "graph_legend.html" > legend</ a > ]</ span ></ center ></ div >
2026-08-02 01:36:11 +00:00
< div class = "dynheader" >
Collaboration diagram for rtabmap::OdometryThread:</ div >
< div class = "dyncontent" >
< div class = "center" >< img src = "classrtabmap_1_1OdometryThread__coll__graph.png" border = "0" usemap = "#artabmap_1_1OdometryThread_coll__map" alt = "Collaboration graph" /></ div >
< map name = "artabmap_1_1OdometryThread_coll__map" id = "artabmap_1_1OdometryThread_coll__map" >
2026-08-02 07:56:38 +00:00
< area shape = "rect" title = "Runs an Odometry front-end in its own thread, driven by events." alt = "" coords = "57,152,252,177" />
2026-08-02 01:36:11 +00:00
< area shape = "rect" href = "classUThread.html" title = " " alt = "" coords = "53,79,131,104" />
< area shape = "poly" title = " " alt = "" coords = "113,113,147,150,143,154,109,116" />
< area shape = "rect" href = "classUThreadC_3_01void_01_4.html" title = " " alt = "" coords = "5,5,149,31" />
< area shape = "poly" title = " " alt = "" coords = "85,44,92,78,87,79,80,45" />
< area shape = "rect" href = "classUEventsHandler.html" title = " " alt = "" coords = "163,79,290,104" />
< area shape = "poly" title = " " alt = "" coords = "207,116,168,154,164,150,203,112" />
< area shape = "rect" href = "classUEventsSender.html" title = " " alt = "" coords = "174,5,295,31" />
< area shape = "poly" title = " " alt = "" coords = "234,45,231,79,225,78,229,44" />
</ map >
2026-08-02 07:56:38 +00:00
< center >< span class = "legend" > [< a target = "top" href = "graph_legend.html" > legend</ a > ]</ span ></ center ></ div >
2026-08-02 01:36:11 +00:00
< 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 >
2026-08-02 07:56:38 +00:00
< tr class = "memitem:a66435ffb547d7d59faa9224fe030934b" id = "r_a66435ffb547d7d59faa9224fe030934b" >< td class = "memItemLeft" align = "right" valign = "top" >   </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1OdometryThread.html#a66435ffb547d7d59faa9224fe030934b" > OdometryThread</ a > (< a class = "el" href = "classrtabmap_1_1Odometry.html" > Odometry</ a > *odometry, unsigned int dataBufferMaxSize=1)</ td ></ tr >
< tr class = "memdesc:a66435ffb547d7d59faa9224fe030934b" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Constructor. < br /></ td ></ tr >
2026-08-02 01:36:11 +00:00
< tr class = "separator:a66435ffb547d7d59faa9224fe030934b" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "inherit_header pub_methods_classUThread" >< td colspan = "2" onclick = "javascript:toggleInherit('pub_methods_classUThread')" >< img src = "closed.png" alt = "-" />   Public Member Functions inherited from < a class = "el" href = "classUThread.html" > UThread</ a ></ td ></ tr >
< tr class = "memitem:a05a92f95e2a8900f27b09ddf907b97be inherit pub_methods_classUThread" id = "r_a05a92f95e2a8900f27b09ddf907b97be" >< td class = "memItemLeft" align = "right" valign = "top" >   </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUThread.html#a05a92f95e2a8900f27b09ddf907b97be" > UThread</ a > (< a class = "el" href = "classUThread.html#a731ef4dd5a8d15abcc06e7cfa53cd153" > Priority</ a > priority=kPNormal)</ td ></ tr >
< tr class = "separator:a05a92f95e2a8900f27b09ddf907b97be inherit pub_methods_classUThread" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a437580d224111e60cbe2626f0e4cb12e inherit pub_methods_classUThread" id = "r_a437580d224111e60cbe2626f0e4cb12e" >< td class = "memItemLeft" align = "right" valign = "top" > virtual  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUThread.html#a437580d224111e60cbe2626f0e4cb12e" > ~UThread</ a > ()</ td ></ tr >
< tr class = "separator:a437580d224111e60cbe2626f0e4cb12e inherit pub_methods_classUThread" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a051e9adcf24f92b9c8e31acd06bad88c inherit pub_methods_classUThread" id = "r_a051e9adcf24f92b9c8e31acd06bad88c" >< td class = "memItemLeft" align = "right" valign = "top" > void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUThread.html#a051e9adcf24f92b9c8e31acd06bad88c" > start</ a > ()</ td ></ tr >
< tr class = "separator:a051e9adcf24f92b9c8e31acd06bad88c inherit pub_methods_classUThread" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a8dfefcfd68b453da08ddba9836f35965 inherit pub_methods_classUThread" id = "r_a8dfefcfd68b453da08ddba9836f35965" >< td class = "memItemLeft" align = "right" valign = "top" > void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUThread.html#a8dfefcfd68b453da08ddba9836f35965" > kill</ a > ()</ td ></ tr >
< tr class = "separator:a8dfefcfd68b453da08ddba9836f35965 inherit pub_methods_classUThread" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:acf33c0e4b656af76da100e7d4f69ed1d inherit pub_methods_classUThread" id = "r_acf33c0e4b656af76da100e7d4f69ed1d" >< td class = "memItemLeft" align = "right" valign = "top" > void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUThread.html#acf33c0e4b656af76da100e7d4f69ed1d" > join</ a > (bool killFirst=false)</ td ></ tr >
< tr class = "separator:acf33c0e4b656af76da100e7d4f69ed1d inherit pub_methods_classUThread" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a80418be3a80a01ddd05a863b58787b43 inherit pub_methods_classUThread" id = "r_a80418be3a80a01ddd05a863b58787b43" >< td class = "memItemLeft" align = "right" valign = "top" > void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUThread.html#a80418be3a80a01ddd05a863b58787b43" > setPriority</ a > (< a class = "el" href = "classUThread.html#a731ef4dd5a8d15abcc06e7cfa53cd153" > Priority</ a > priority)</ td ></ tr >
< tr class = "separator:a80418be3a80a01ddd05a863b58787b43 inherit pub_methods_classUThread" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:aabcf31acae6ca5b8503ec320acbc11f8 inherit pub_methods_classUThread" id = "r_aabcf31acae6ca5b8503ec320acbc11f8" >< td class = "memItemLeft" align = "right" valign = "top" > void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUThread.html#aabcf31acae6ca5b8503ec320acbc11f8" > setAffinity</ a > (int cpu=0)</ td ></ tr >
< tr class = "separator:aabcf31acae6ca5b8503ec320acbc11f8 inherit pub_methods_classUThread" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:ac80eff7d48382fd230141ca286370d33 inherit pub_methods_classUThread" id = "r_ac80eff7d48382fd230141ca286370d33" >< td class = "memItemLeft" align = "right" valign = "top" > bool  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUThread.html#ac80eff7d48382fd230141ca286370d33" > isCreating</ a > () const</ td ></ tr >
< tr class = "separator:ac80eff7d48382fd230141ca286370d33 inherit pub_methods_classUThread" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a38e2b22f0616ed4128312baff9cfeba9 inherit pub_methods_classUThread" id = "r_a38e2b22f0616ed4128312baff9cfeba9" >< td class = "memItemLeft" align = "right" valign = "top" > bool  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUThread.html#a38e2b22f0616ed4128312baff9cfeba9" > isRunning</ a > () const</ td ></ tr >
< tr class = "separator:a38e2b22f0616ed4128312baff9cfeba9 inherit pub_methods_classUThread" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a2c4554ad881c0532239a0930c2ebfe24 inherit pub_methods_classUThread" id = "r_a2c4554ad881c0532239a0930c2ebfe24" >< td class = "memItemLeft" align = "right" valign = "top" > bool  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUThread.html#a2c4554ad881c0532239a0930c2ebfe24" > isIdle</ a > () const</ td ></ tr >
< tr class = "separator:a2c4554ad881c0532239a0930c2ebfe24 inherit pub_methods_classUThread" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a3a0d0de0f78eab72512941ccd048477b inherit pub_methods_classUThread" id = "r_a3a0d0de0f78eab72512941ccd048477b" >< td class = "memItemLeft" align = "right" valign = "top" > bool  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUThread.html#a3a0d0de0f78eab72512941ccd048477b" > isKilled</ a > () const</ td ></ tr >
< tr class = "separator:a3a0d0de0f78eab72512941ccd048477b inherit pub_methods_classUThread" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a4f404f03046fa89dced06514f040b2af inherit pub_methods_classUThread" id = "r_a4f404f03046fa89dced06514f040b2af" >< td class = "memItemLeft" align = "right" valign = "top" > Handle  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUThread.html#a4f404f03046fa89dced06514f040b2af" > getThreadHandle</ a > () const</ td ></ tr >
< tr class = "separator:a4f404f03046fa89dced06514f040b2af inherit pub_methods_classUThread" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a40e8ea82c06ed20bb6266a6a42a8f51f inherit pub_methods_classUThread" id = "r_a40e8ea82c06ed20bb6266a6a42a8f51f" >< td class = "memItemLeft" align = "right" valign = "top" > unsigned long  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUThread.html#a40e8ea82c06ed20bb6266a6a42a8f51f" > getThreadId</ a > () const</ td ></ tr >
< tr class = "separator:a40e8ea82c06ed20bb6266a6a42a8f51f inherit pub_methods_classUThread" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "inherit_header pub_methods_classUThreadC_3_01void_01_4" >< td colspan = "2" onclick = "javascript:toggleInherit('pub_methods_classUThreadC_3_01void_01_4')" >< img src = "closed.png" alt = "-" />   Public Member Functions inherited from < a class = "el" href = "classUThreadC_3_01void_01_4.html" > UThreadC< void > </ a ></ td ></ tr >
< tr class = "memitem:a724a5919ea1f1e74b69a9073d532e400 inherit pub_methods_classUThreadC_3_01void_01_4" id = "r_a724a5919ea1f1e74b69a9073d532e400" >< td class = "memItemLeft" align = "right" valign = "top" > int  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUThreadC_3_01void_01_4.html#a724a5919ea1f1e74b69a9073d532e400" > Create</ a > (Handle *const & H=0, const bool & CreateDetached=false, const unsigned int & StackSize=0, const bool & CancelEnable=false, const bool & CancelAsync=false) const</ td ></ tr >
< tr class = "separator:a724a5919ea1f1e74b69a9073d532e400 inherit pub_methods_classUThreadC_3_01void_01_4" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a5af5c76be4b8e6b746a77146a3d7021a inherit pub_methods_classUThreadC_3_01void_01_4" id = "r_a5af5c76be4b8e6b746a77146a3d7021a" >< td class = "memItemLeft" align = "right" valign = "top" > int  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUThreadC_3_01void_01_4.html#a5af5c76be4b8e6b746a77146a3d7021a" > Create</ a > (unsigned long & ThreadId, Handle *const & H=0, const bool & CreateDetached=false, const unsigned int & StackSize=0, const bool & CancelEnable=false, const bool & CancelAsync=false) const</ td ></ tr >
< tr class = "separator:a5af5c76be4b8e6b746a77146a3d7021a inherit pub_methods_classUThreadC_3_01void_01_4" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a724a5919ea1f1e74b69a9073d532e400 inherit pub_methods_classUThreadC_3_01void_01_4" id = "r_a724a5919ea1f1e74b69a9073d532e400" >< td class = "memItemLeft" align = "right" valign = "top" > int  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUThreadC_3_01void_01_4.html#a724a5919ea1f1e74b69a9073d532e400" > Create</ a > (Handle *const & H=0, const bool & CreateDetached=false, const unsigned int & StackSize=0, const bool & CancelEnable=false, const bool & CancelAsync=false) const</ td ></ tr >
< tr class = "separator:a724a5919ea1f1e74b69a9073d532e400 inherit pub_methods_classUThreadC_3_01void_01_4" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a5af5c76be4b8e6b746a77146a3d7021a inherit pub_methods_classUThreadC_3_01void_01_4" id = "r_a5af5c76be4b8e6b746a77146a3d7021a" >< td class = "memItemLeft" align = "right" valign = "top" > int  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUThreadC_3_01void_01_4.html#a5af5c76be4b8e6b746a77146a3d7021a" > Create</ a > (unsigned long & ThreadId, Handle *const & H=0, const bool & CreateDetached=false, const unsigned int & StackSize=0, const bool & CancelEnable=false, const bool & CancelAsync=false) const</ td ></ tr >
< tr class = "separator:a5af5c76be4b8e6b746a77146a3d7021a inherit pub_methods_classUThreadC_3_01void_01_4" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "inherit_header pub_methods_classUEventsHandler" >< td colspan = "2" onclick = "javascript:toggleInherit('pub_methods_classUEventsHandler')" >< img src = "closed.png" alt = "-" />   Public Member Functions inherited from < a class = "el" href = "classUEventsHandler.html" > UEventsHandler</ a ></ td ></ tr >
< tr class = "memitem:a425f7af2882c980044a310e68ab13877 inherit pub_methods_classUEventsHandler" id = "r_a425f7af2882c980044a310e68ab13877" >< td class = "memItemLeft" align = "right" valign = "top" >
void  </ td >< td class = "memItemRight" valign = "bottom" >< b > registerToEventsManager</ b > ()</ td ></ tr >
< tr class = "separator:a425f7af2882c980044a310e68ab13877 inherit pub_methods_classUEventsHandler" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:aa83926b16066f18dcae9d55997fa11ba inherit pub_methods_classUEventsHandler" id = "r_aa83926b16066f18dcae9d55997fa11ba" >< td class = "memItemLeft" align = "right" valign = "top" >
void  </ td >< td class = "memItemRight" valign = "bottom" >< b > unregisterFromEventsManager</ b > ()</ td ></ tr >
< tr class = "separator:aa83926b16066f18dcae9d55997fa11ba inherit pub_methods_classUEventsHandler" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
</ table >< table class = "memberdecls" >
< 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:a65808dd7148c1e2c49dcf90ef718b5a8" id = "r_a65808dd7148c1e2c49dcf90ef718b5a8" >< td class = "memItemLeft" align = "right" valign = "top" > virtual bool  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1OdometryThread.html#a65808dd7148c1e2c49dcf90ef718b5a8" > handleEvent</ a > (< a class = "el" href = "classUEvent.html" > UEvent</ a > *event)</ td ></ tr >
2026-08-02 07:56:38 +00:00
< tr class = "memdesc:a65808dd7148c1e2c49dcf90ef718b5a8" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Receives the events listed in the class description. < br /></ td ></ tr >
2026-08-02 01:36:11 +00:00
< tr class = "separator:a65808dd7148c1e2c49dcf90ef718b5a8" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "inherit_header pro_methods_classUEventsHandler" >< td colspan = "2" onclick = "javascript:toggleInherit('pro_methods_classUEventsHandler')" >< img src = "closed.png" alt = "-" />   Protected Member Functions inherited from < a class = "el" href = "classUEventsHandler.html" > UEventsHandler</ a ></ td ></ tr >
< tr class = "memitem:abfe2ba3d1fb92e59aff1978cbc21d134 inherit pro_methods_classUEventsHandler" id = "r_abfe2ba3d1fb92e59aff1978cbc21d134" >< td class = "memItemLeft" align = "right" valign = "top" >   </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUEventsHandler.html#abfe2ba3d1fb92e59aff1978cbc21d134" > UEventsHandler</ a > ()</ td ></ tr >
< tr class = "separator:abfe2ba3d1fb92e59aff1978cbc21d134 inherit pro_methods_classUEventsHandler" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a15ac2bf243e938c411fac0dff7db2f51 inherit pro_methods_classUEventsHandler" id = "r_a15ac2bf243e938c411fac0dff7db2f51" >< td class = "memItemLeft" align = "right" valign = "top" > virtual  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUEventsHandler.html#a15ac2bf243e938c411fac0dff7db2f51" > ~UEventsHandler</ a > ()</ td ></ tr >
< tr class = "separator:a15ac2bf243e938c411fac0dff7db2f51 inherit pro_methods_classUEventsHandler" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "inherit_header pro_methods_classUEventsSender" >< td colspan = "2" onclick = "javascript:toggleInherit('pro_methods_classUEventsSender')" >< img src = "closed.png" alt = "-" />   Protected Member Functions inherited from < a class = "el" href = "classUEventsSender.html" > UEventsSender</ a ></ td ></ tr >
< tr class = "memitem:ab03886c42164f2f9bf89fd3da641526f inherit pro_methods_classUEventsSender" id = "r_ab03886c42164f2f9bf89fd3da641526f" >< td class = "memItemLeft" align = "right" valign = "top" > void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUEventsSender.html#ab03886c42164f2f9bf89fd3da641526f" > post</ a > (< a class = "el" href = "classUEvent.html" > UEvent</ a > *event, bool async=true) const</ td ></ tr >
< tr class = "separator:ab03886c42164f2f9bf89fd3da641526f inherit pro_methods_classUEventsSender" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
</ table >< table class = "memberdecls" >
< tr class = "heading" >< td colspan = "2" >< h2 class = "groupheader" >< a id = "inherited" name = "inherited" ></ a >
Additional Inherited Members</ h2 ></ td ></ tr >
< tr class = "inherit_header pub_types_classUThread" >< td colspan = "2" onclick = "javascript:toggleInherit('pub_types_classUThread')" >< img src = "closed.png" alt = "-" />   Public Types inherited from < a class = "el" href = "classUThread.html" > UThread</ a ></ td ></ tr >
< tr class = "memitem:a731ef4dd5a8d15abcc06e7cfa53cd153 inherit pub_types_classUThread" id = "r_a731ef4dd5a8d15abcc06e7cfa53cd153" >< td class = "memItemLeft" align = "right" valign = "top" > enum   </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUThread.html#a731ef4dd5a8d15abcc06e7cfa53cd153" > Priority</ a > { < br />
   < b > kPLow</ b >
, < b > kPBelowNormal</ b >
, < b > kPNormal</ b >
, < b > kPAboveNormal</ b >
, < br />
   < b > kPRealTime</ b >
< br />
}</ td ></ tr >
< tr class = "separator:a731ef4dd5a8d15abcc06e7cfa53cd153 inherit pub_types_classUThread" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "inherit_header pub_types_classUThreadC_3_01void_01_4" >< td colspan = "2" onclick = "javascript:toggleInherit('pub_types_classUThreadC_3_01void_01_4')" >< img src = "closed.png" alt = "-" />   Public Types inherited from < a class = "el" href = "classUThreadC_3_01void_01_4.html" > UThreadC< void > </ a ></ td ></ tr >
< tr class = "memitem:a0ffb19a834ba3271ed3c9f650f119664 inherit pub_types_classUThreadC_3_01void_01_4" id = "r_a0ffb19a834ba3271ed3c9f650f119664" >< td class = "memItemLeft" align = "right" valign = "top" > typedef THREAD_HANDLE  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUThreadC_3_01void_01_4.html#a0ffb19a834ba3271ed3c9f650f119664" > Handle</ a ></ td ></ tr >
< tr class = "separator:a0ffb19a834ba3271ed3c9f650f119664 inherit pub_types_classUThreadC_3_01void_01_4" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a14b685cdf9b6529a5e31f0f021c4cfd9 inherit pub_types_classUThreadC_3_01void_01_4" id = "r_a14b685cdf9b6529a5e31f0f021c4cfd9" >< td class = "memItemLeft" align = "right" valign = "top" > typedef void(*  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUThreadC_3_01void_01_4.html#a14b685cdf9b6529a5e31f0f021c4cfd9" > Handler</ a > ) ()</ td ></ tr >
< tr class = "separator:a14b685cdf9b6529a5e31f0f021c4cfd9 inherit pub_types_classUThreadC_3_01void_01_4" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a0ffb19a834ba3271ed3c9f650f119664 inherit pub_types_classUThreadC_3_01void_01_4" id = "r_a0ffb19a834ba3271ed3c9f650f119664" >< td class = "memItemLeft" align = "right" valign = "top" > typedef THREAD_HANDLE  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUThreadC_3_01void_01_4.html#a0ffb19a834ba3271ed3c9f650f119664" > Handle</ a ></ td ></ tr >
< tr class = "separator:a0ffb19a834ba3271ed3c9f650f119664 inherit pub_types_classUThreadC_3_01void_01_4" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a14b685cdf9b6529a5e31f0f021c4cfd9 inherit pub_types_classUThreadC_3_01void_01_4" id = "r_a14b685cdf9b6529a5e31f0f021c4cfd9" >< td class = "memItemLeft" align = "right" valign = "top" > typedef void(*  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUThreadC_3_01void_01_4.html#a14b685cdf9b6529a5e31f0f021c4cfd9" > Handler</ a > ) ()</ td ></ tr >
< tr class = "separator:a14b685cdf9b6529a5e31f0f021c4cfd9 inherit pub_types_classUThreadC_3_01void_01_4" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "inherit_header pub_static_methods_classUThread" >< td colspan = "2" onclick = "javascript:toggleInherit('pub_static_methods_classUThread')" >< img src = "closed.png" alt = "-" />   Static Public Member Functions inherited from < a class = "el" href = "classUThread.html" > UThread</ a ></ td ></ tr >
< tr class = "memitem:a6fa5e2358a86c5185371fd14305021aa inherit pub_static_methods_classUThread" id = "r_a6fa5e2358a86c5185371fd14305021aa" >< td class = "memItemLeft" align = "right" valign = "top" > static unsigned long  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUThread.html#a6fa5e2358a86c5185371fd14305021aa" > currentThreadId</ a > ()</ td ></ tr >
< tr class = "separator:a6fa5e2358a86c5185371fd14305021aa inherit pub_static_methods_classUThread" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "inherit_header pub_static_methods_classUThreadC_3_01void_01_4" >< td colspan = "2" onclick = "javascript:toggleInherit('pub_static_methods_classUThreadC_3_01void_01_4')" >< img src = "closed.png" alt = "-" />   Static Public Member Functions inherited from < a class = "el" href = "classUThreadC_3_01void_01_4.html" > UThreadC< void > </ a ></ td ></ tr >
< tr class = "memitem:a17eb99ec0990246c0c7161e6bec84c74 inherit pub_static_methods_classUThreadC_3_01void_01_4" id = "r_a17eb99ec0990246c0c7161e6bec84c74" >< td class = "memItemLeft" align = "right" valign = "top" > static int  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUThreadC_3_01void_01_4.html#a17eb99ec0990246c0c7161e6bec84c74" > Create</ a > (const Handler & Function, Handle *const & H=0, const bool & CreateDetached=false, const unsigned int & StackSize=0, const bool & CancelEnable=false, const bool & CancelAsync=false)</ td ></ tr >
< tr class = "separator:a17eb99ec0990246c0c7161e6bec84c74 inherit pub_static_methods_classUThreadC_3_01void_01_4" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a1584a3a80d86181ff66784cf0f8c2392 inherit pub_static_methods_classUThreadC_3_01void_01_4" id = "r_a1584a3a80d86181ff66784cf0f8c2392" >< td class = "memItemLeft" align = "right" valign = "top" > static int  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUThreadC_3_01void_01_4.html#a1584a3a80d86181ff66784cf0f8c2392" > Join</ a > (Handle H)</ td ></ tr >
< tr class = "separator:a1584a3a80d86181ff66784cf0f8c2392 inherit pub_static_methods_classUThreadC_3_01void_01_4" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:aec2af3352538bb8e45916c468e6960dc inherit pub_static_methods_classUThreadC_3_01void_01_4" id = "r_aec2af3352538bb8e45916c468e6960dc" >< td class = "memItemLeft" align = "right" valign = "top" > static int  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUThreadC_3_01void_01_4.html#aec2af3352538bb8e45916c468e6960dc" > Kill</ a > (Handle H)</ td ></ tr >
< tr class = "separator:aec2af3352538bb8e45916c468e6960dc inherit pub_static_methods_classUThreadC_3_01void_01_4" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a591f5bfcea463cfaa2249bbcdd3ab522 inherit pub_static_methods_classUThreadC_3_01void_01_4" id = "r_a591f5bfcea463cfaa2249bbcdd3ab522" >< td class = "memItemLeft" align = "right" valign = "top" > static int  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUThreadC_3_01void_01_4.html#a591f5bfcea463cfaa2249bbcdd3ab522" > Detach</ a > (Handle H)</ td ></ tr >
< tr class = "separator:a591f5bfcea463cfaa2249bbcdd3ab522 inherit pub_static_methods_classUThreadC_3_01void_01_4" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a17eb99ec0990246c0c7161e6bec84c74 inherit pub_static_methods_classUThreadC_3_01void_01_4" id = "r_a17eb99ec0990246c0c7161e6bec84c74" >< td class = "memItemLeft" align = "right" valign = "top" > static int  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUThreadC_3_01void_01_4.html#a17eb99ec0990246c0c7161e6bec84c74" > Create</ a > (const Handler & Function, Handle *const & H=0, const bool & CreateDetached=false, const unsigned int & StackSize=0, const bool & CancelEnable=false, const bool & CancelAsync=false)</ td ></ tr >
< tr class = "separator:a17eb99ec0990246c0c7161e6bec84c74 inherit pub_static_methods_classUThreadC_3_01void_01_4" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a1d704989d9a19f552ac0387c143cad95 inherit pub_static_methods_classUThreadC_3_01void_01_4" id = "r_a1d704989d9a19f552ac0387c143cad95" >< td class = "memItemLeft" align = "right" valign = "top" > static int  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUThreadC_3_01void_01_4.html#a1d704989d9a19f552ac0387c143cad95" > Join</ a > (const Handle & H)</ td ></ tr >
< tr class = "separator:a1d704989d9a19f552ac0387c143cad95 inherit pub_static_methods_classUThreadC_3_01void_01_4" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a4a83aaa66db8ee6f07482130091690e3 inherit pub_static_methods_classUThreadC_3_01void_01_4" id = "r_a4a83aaa66db8ee6f07482130091690e3" >< td class = "memItemLeft" align = "right" valign = "top" > static int  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUThreadC_3_01void_01_4.html#a4a83aaa66db8ee6f07482130091690e3" > Kill</ a > (const Handle & H)</ td ></ tr >
< tr class = "separator:a4a83aaa66db8ee6f07482130091690e3 inherit pub_static_methods_classUThreadC_3_01void_01_4" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a094155ec7163e19480ed2181ef8032ed inherit pub_static_methods_classUThreadC_3_01void_01_4" id = "r_a094155ec7163e19480ed2181ef8032ed" >< td class = "memItemLeft" align = "right" valign = "top" > static int  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUThreadC_3_01void_01_4.html#a094155ec7163e19480ed2181ef8032ed" > Detach</ a > (const Handle & H)</ td ></ tr >
< tr class = "separator:a094155ec7163e19480ed2181ef8032ed inherit pub_static_methods_classUThreadC_3_01void_01_4" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "inherit_header pro_static_methods_classUThreadC_3_01void_01_4" >< td colspan = "2" onclick = "javascript:toggleInherit('pro_static_methods_classUThreadC_3_01void_01_4')" >< img src = "closed.png" alt = "-" />   Static Protected Member Functions inherited from < a class = "el" href = "classUThreadC_3_01void_01_4.html" > UThreadC< void > </ a ></ td ></ tr >
< tr class = "memitem:afc1715cfa1d5ae88f57ba2fe983bb9e5 inherit pro_static_methods_classUThreadC_3_01void_01_4" id = "r_afc1715cfa1d5ae88f57ba2fe983bb9e5" >< td class = "memItemLeft" align = "right" valign = "top" > static void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUThreadC_3_01void_01_4.html#afc1715cfa1d5ae88f57ba2fe983bb9e5" > Exit</ a > ()</ td ></ tr >
< tr class = "separator:afc1715cfa1d5ae88f57ba2fe983bb9e5 inherit pro_static_methods_classUThreadC_3_01void_01_4" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a5dc3a0223030adcc0c6e3ef829efc824 inherit pro_static_methods_classUThreadC_3_01void_01_4" id = "r_a5dc3a0223030adcc0c6e3ef829efc824" >< td class = "memItemLeft" align = "right" valign = "top" > static void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUThreadC_3_01void_01_4.html#a5dc3a0223030adcc0c6e3ef829efc824" > TestCancel</ a > ()</ td ></ tr >
< tr class = "separator:a5dc3a0223030adcc0c6e3ef829efc824 inherit pro_static_methods_classUThreadC_3_01void_01_4" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a33cd70cb0291ebd0a95016e89b4d5b6c inherit pro_static_methods_classUThreadC_3_01void_01_4" id = "r_a33cd70cb0291ebd0a95016e89b4d5b6c" >< td class = "memItemLeft" align = "right" valign = "top" > static Handle  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUThreadC_3_01void_01_4.html#a33cd70cb0291ebd0a95016e89b4d5b6c" > Self</ a > ()</ td ></ tr >
< tr class = "separator:a33cd70cb0291ebd0a95016e89b4d5b6c inherit pro_static_methods_classUThreadC_3_01void_01_4" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:afc1715cfa1d5ae88f57ba2fe983bb9e5 inherit pro_static_methods_classUThreadC_3_01void_01_4" id = "r_afc1715cfa1d5ae88f57ba2fe983bb9e5" >< td class = "memItemLeft" align = "right" valign = "top" > static void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUThreadC_3_01void_01_4.html#afc1715cfa1d5ae88f57ba2fe983bb9e5" > Exit</ a > ()</ td ></ tr >
< tr class = "separator:afc1715cfa1d5ae88f57ba2fe983bb9e5 inherit pro_static_methods_classUThreadC_3_01void_01_4" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a5dc3a0223030adcc0c6e3ef829efc824 inherit pro_static_methods_classUThreadC_3_01void_01_4" id = "r_a5dc3a0223030adcc0c6e3ef829efc824" >< td class = "memItemLeft" align = "right" valign = "top" > static void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUThreadC_3_01void_01_4.html#a5dc3a0223030adcc0c6e3ef829efc824" > TestCancel</ a > ()</ td ></ tr >
< tr class = "separator:a5dc3a0223030adcc0c6e3ef829efc824 inherit pro_static_methods_classUThreadC_3_01void_01_4" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:afed28b5b5bb00d4addbb0cd7f2ce0ce2 inherit pro_static_methods_classUThreadC_3_01void_01_4" id = "r_afed28b5b5bb00d4addbb0cd7f2ce0ce2" >< td class = "memItemLeft" align = "right" valign = "top" > static int  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classUThreadC_3_01void_01_4.html#afed28b5b5bb00d4addbb0cd7f2ce0ce2" > Self</ a > ()</ td ></ tr >
< tr class = "separator:afed28b5b5bb00d4addbb0cd7f2ce0ce2 inherit pro_static_methods_classUThreadC_3_01void_01_4" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
</ table >
< a name = "details" id = "details" ></ a >< h2 class = "groupheader" > Detailed Description</ h2 >
2026-08-02 07:56:38 +00:00
< div class = "textblock" >< p > Runs an < a class = "el" href = "classrtabmap_1_1Odometry.html" > Odometry</ a > front-end in its own thread, driven by events. </ p >
< p > The thread owns the < a class = "el" href = "classrtabmap_1_1Odometry.html" > Odometry</ a > object and calls < a class = "el" href = "classrtabmap_1_1Odometry.html#a0c2d39ed9b76c2c411a9e62e16e3bce1" > Odometry::process()</ a > on the frames it receives, so that a slow odometry update does not block the sensor thread. It sits in the middle of the event-based pipeline: < a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html" > SensorCaptureThread</ a > → < a class = "el" href = "classrtabmap_1_1OdometryThread.html" title = "Runs an Odometry front-end in its own thread, driven by events." > OdometryThread</ a > → < a class = "el" href = "classrtabmap_1_1RtabmapThread.html" > RtabmapThread</ a > .</ p >
< p >< b > Input events</ b > (handled in < a class = "el" href = "classrtabmap_1_1OdometryThread.html#a65808dd7148c1e2c49dcf90ef718b5a8" > handleEvent()</ a > , i.e. in the caller's thread):</ p >< ul >
< li >< a class = "el" href = "classrtabmap_1_1SensorEvent.html" > SensorEvent</ a > — a frame to process. It is rejected with an error if it carries neither a laser scan nor an image with its calibration (an < a class = "el" href = "classrtabmap_1_1OdometryMono.html" > OdometryMono</ a > front-end accepts RGB alone).</ li >
< li >< a class = "el" href = "classrtabmap_1_1IMUEvent.html" > IMUEvent</ a > — an < a class = "el" href = "classrtabmap_1_1IMU.html" title = "Inertial measurement sample (ROS sensor_msgs/Imu-like fields)." > IMU</ a > sample, kept in a separate buffer.</ li >
< li >< a class = "el" href = "classrtabmap_1_1OdometryResetEvent.html" > OdometryResetEvent</ a > — resets the odometry to the pose it carries (identity if null) and drops everything buffered. Unlike the others, it is handled even before the thread is started.</ li >
</ ul >
< p >< b > Output event</ b > : one < a class = "el" href = "classrtabmap_1_1OdometryEvent.html" > OdometryEvent</ a > per processed frame, carrying the data, the integrated pose and the < a class = "el" href = "classrtabmap_1_1OdometryInfo.html" > OdometryInfo</ a > . A null pose means odometry is lost; that is what < a class = "el" href = "classrtabmap_1_1RtabmapThread.html" > RtabmapThread</ a > reads to start a new map.</ p >
< p >< b > Buffering.</ b > The frame buffer holds < code > dataBufferMaxSize</ code > frames and drops the oldest when full, so with the default size of 1 the odometry always works on the freshest frame rather than falling behind. < a class = "el" href = "classrtabmap_1_1IMU.html" title = "Inertial measurement sample (ROS sensor_msgs/Imu-like fields)." > IMU</ a > samples are buffered apart and fed to the odometry up to the stamp of the frame about to be processed, so that tightly-coupled back-ends see them in order. A frame whose stamp falls outside the buffered < a class = "el" href = "classrtabmap_1_1IMU.html" title = "Inertial measurement sample (ROS sensor_msgs/Imu-like fields)." > IMU</ a > window is skipped with a warning: with an asynchronous < a class = "el" href = "classrtabmap_1_1IMU.html" title = "Inertial measurement sample (ROS sensor_msgs/Imu-like fields)." > IMU</ a > , it must be published faster (less delay) than the camera or lidar.</ p >
< p > When the incoming < a class = "el" href = "classrtabmap_1_1SensorEvent.html" > SensorEvent</ a > already carries an odometry pose (a robot publishing its own odometry), the motion between two consecutive such poses is passed to < a class = "el" href = "classrtabmap_1_1Odometry.html#a0c2d39ed9b76c2c411a9e62e16e3bce1" > Odometry::process()</ a > as a guess.</ p >
< dl class = "section see" >< dt > See also</ dt >< dd >< a class = "el" href = "classrtabmap_1_1Odometry.html" title = "Abstract base class for visual, lidar and visual-inertial odometry backends." > Odometry</ a > </ dd >
< dd >
< a class = "el" href = "classrtabmap_1_1RtabmapThread.html" title = "Runs a Rtabmap instance in its own thread, driven by events." > RtabmapThread</ a > </ dd >
< dd >
< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html" title = "Thread-based sensor data capture and event posting for RTAB-Map." > SensorCaptureThread</ a > </ dd ></ dl >
< p class = "definition" > Definition at line < a class = "el" href = "OdometryThread_8h_source.html#l00080" > 80</ a > of file < a class = "el" href = "OdometryThread_8h_source.html" > OdometryThread.h</ a > .</ p >
</ div >< h2 class = "groupheader" > Constructor & Destructor Documentation</ h2 >
< a id = "a66435ffb547d7d59faa9224fe030934b" name = "a66435ffb547d7d59faa9224fe030934b" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a66435ffb547d7d59faa9224fe030934b" > ◆  </ a ></ span > OdometryThread()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > rtabmap::OdometryThread::OdometryThread </ td >
< td > (</ td >
< td class = "paramtype" >< a class = "el" href = "classrtabmap_1_1Odometry.html" > Odometry</ a > *  </ td >
< td class = "paramname" >< em > odometry</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > unsigned int  </ td >
< td class = "paramname" >< em > dataBufferMaxSize</ em > = < code > 1</ code >   </ td >
</ tr >
< tr >
< td ></ td >
< td > )</ td >
< td ></ td >< td ></ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Constructor. </ p >
< dl class = "params" >< dt > Parameters</ dt >< dd >
< table class = "params" >
< tr >< td class = "paramname" > odometry</ td >< td > The odometry to run; must not be null. The thread takes ownership and deletes it in the destructor. </ td ></ tr >
< tr >< td class = "paramname" > dataBufferMaxSize</ td >< td > Maximum number of frames waiting to be processed (0 = unlimited). Beyond that the oldest frame is dropped, keeping the odometry on recent data. </ td ></ tr >
</ table >
</ dd >
</ dl >
</ div >
</ div >
< h2 class = "groupheader" > Member Function Documentation</ h2 >
2026-08-02 01:36:11 +00:00
< a id = "a65808dd7148c1e2c49dcf90ef718b5a8" name = "a65808dd7148c1e2c49dcf90ef718b5a8" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a65808dd7148c1e2c49dcf90ef718b5a8" > ◆  </ a ></ span > handleEvent()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > virtual bool rtabmap::OdometryThread::handleEvent </ td >
< td > (</ td >
< td class = "paramtype" >< a class = "el" href = "classUEvent.html" > UEvent</ a > *  </ td >
< td class = "paramname" >< em > event</ em ></ td >< td > )</ td >
< td ></ td >
</ tr >
</ table >
</ td >
< td class = "mlabels-right" >
< span class = "mlabels" >< span class = "mlabel" > protected</ span >< span class = "mlabel" > virtual</ span ></ span > </ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
2026-08-02 07:56:38 +00:00
< p > Receives the events listed in the class description. </ p >
< p > Runs in the posting thread: frames and < a class = "el" href = "classrtabmap_1_1IMU.html" title = "Inertial measurement sample (ROS sensor_msgs/Imu-like fields)." > IMU</ a > samples are only buffered here, the odometry itself runs in the thread's main loop. Data events are ignored until the thread is started, an < a class = "el" href = "classrtabmap_1_1OdometryResetEvent.html" > OdometryResetEvent</ a > is not.</ p >
< dl class = "section return" >< dt > Returns</ dt >< dd > Always false, so the event keeps being dispatched to other handlers. </ dd ></ dl >
2026-08-02 01:36:11 +00:00
< p > Implements < a class = "el" href = "classUEventsHandler.html#a0d43b582c19f01196a513f66d3618d8d" > UEventsHandler</ a > .</ p >
</ div >
</ div >
< hr /> The documentation for this class was generated from the following file:< ul >
< li > corelib/include/rtabmap/core/< a class = "el" href = "OdometryThread_8h_source.html" > OdometryThread.h</ a ></ li >
</ ul >
</ div > <!-- contents -->
2026-08-02 07:56:38 +00:00
</ div > <!-- doc-content -->
2026-08-02 01:36:11 +00:00
<!-- start footer part -->
2026-08-02 07:56:38 +00:00
< 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_1OdometryThread.html" > OdometryThread</ 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 >
2026-08-02 01:36:11 +00:00
</ body >
</ html >