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: rtabmap::SensorCaptureThread 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 >
< 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-20 06:51:14 +00:00
< div id = "projectname" > RTAB-Map< span id = "projectnumber" >   0.23.12</ 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&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 >
</ 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_1SensorCaptureThread.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 = "summary" >
< a href = "#pub-methods" > Public Member Functions</ a > |
< a href = "classrtabmap_1_1SensorCaptureThread-members.html" > List of all members</ a > </ div >
< div class = "headertitle" >< div class = "title" > rtabmap::SensorCaptureThread Class Reference</ div ></ div >
</ div > <!--header-->
< div class = "contents" >
< p > Thread-based sensor data capture and event posting for RTAB-Map.
< a href = "classrtabmap_1_1SensorCaptureThread.html#details" > More...</ a ></ p >
< p >< code > #include < < a class = "el" href = "SensorCaptureThread_8h_source.html" > SensorCaptureThread.h</ a > > </ code ></ p >
< div class = "dynheader" >
Inheritance diagram for rtabmap::SensorCaptureThread:</ div >
< div class = "dyncontent" >
< div class = "center" >< img src = "classrtabmap_1_1SensorCaptureThread__inherit__graph.png" border = "0" usemap = "#artabmap_1_1SensorCaptureThread_inherit__map" alt = "Inheritance graph" /></ div >
< map name = "artabmap_1_1SensorCaptureThread_inherit__map" id = "artabmap_1_1SensorCaptureThread_inherit__map" >
< area shape = "rect" title = "Thread-based sensor data capture and event posting for RTAB-Map." alt = "" coords = "26,152,251,177" />
< area shape = "rect" href = "classUThread.html" title = " " alt = "" coords = "39,79,116,104" />
< area shape = "poly" title = " " alt = "" coords = "98,113,131,150,127,154,94,116" />
< area shape = "rect" href = "classUThreadC_3_01void_01_4.html" title = " " alt = "" coords = "5,5,149,31" />
< area shape = "poly" title = " " alt = "" coords = "80,44,80,79,75,79,75,44" />
< area shape = "rect" href = "classUEventsSender.html" title = " " alt = "" coords = "141,79,262,104" />
< area shape = "poly" title = " " alt = "" coords = "184,116,151,154,147,150,180,113" />
</ map >
< center >< span class = "legend" > [< a target = "top" href = "graph_legend.html" > legend</ a > ]</ span ></ center ></ div >
< div class = "dynheader" >
Collaboration diagram for rtabmap::SensorCaptureThread:</ div >
< div class = "dyncontent" >
< div class = "center" >< img src = "classrtabmap_1_1SensorCaptureThread__coll__graph.png" border = "0" usemap = "#artabmap_1_1SensorCaptureThread_coll__map" alt = "Collaboration graph" /></ div >
< map name = "artabmap_1_1SensorCaptureThread_coll__map" id = "artabmap_1_1SensorCaptureThread_coll__map" >
< area shape = "rect" title = "Thread-based sensor data capture and event posting for RTAB-Map." alt = "" coords = "26,152,251,177" />
< area shape = "rect" href = "classUThread.html" title = " " alt = "" coords = "39,79,116,104" />
< area shape = "poly" title = " " alt = "" coords = "98,113,131,150,127,154,94,116" />
< area shape = "rect" href = "classUThreadC_3_01void_01_4.html" title = " " alt = "" coords = "5,5,149,31" />
< area shape = "poly" title = " " alt = "" coords = "80,44,80,79,75,79,75,44" />
< area shape = "rect" href = "classUEventsSender.html" title = " " alt = "" coords = "141,79,262,104" />
< area shape = "poly" title = " " alt = "" coords = "184,116,151,154,147,150,180,113" />
</ map >
< 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-methods" name = "pub-methods" ></ a >
Public Member Functions</ h2 ></ td ></ tr >
< tr class = "memitem:acae15b44b2fb05da9421dc88ff0be75c" id = "r_acae15b44b2fb05da9421dc88ff0be75c" >< td class = "memItemLeft" align = "right" valign = "top" >   </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#acae15b44b2fb05da9421dc88ff0be75c" > SensorCaptureThread</ a > (< a class = "el" href = "classrtabmap_1_1Camera.html" > Camera</ a > *< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#ad6750f6280bdcbb386a051ba9cc36857" > camera</ a > , const < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > & parameters=< a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > ())</ td ></ tr >
< tr class = "memdesc:acae15b44b2fb05da9421dc88ff0be75c" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Constructor for camera-only capture. < br /></ td ></ tr >
< tr class = "separator:acae15b44b2fb05da9421dc88ff0be75c" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a76ad33a55009b7a7f7ec51acccbe0492" id = "r_a76ad33a55009b7a7f7ec51acccbe0492" >< td class = "memItemLeft" align = "right" valign = "top" >   </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#a76ad33a55009b7a7f7ec51acccbe0492" > SensorCaptureThread</ a > (< a class = "el" href = "classrtabmap_1_1Camera.html" > Camera</ a > *< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#ad6750f6280bdcbb386a051ba9cc36857" > camera</ a > , < a class = "el" href = "classrtabmap_1_1SensorCapture.html" > SensorCapture</ a > *< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#a0f4e3814d203ded5735ebb7abba1451e" > odomSensor</ a > , const < a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > & extrinsics, double poseTimeOffset=0.0, float poseScaleFactor=1.0f, double poseWaitTime=0.1, const < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > & parameters=< a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > ())</ td ></ tr >
< tr class = "memdesc:a76ad33a55009b7a7f7ec51acccbe0492" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Constructor for camera with odometry sensor. < br /></ td ></ tr >
< tr class = "separator:a76ad33a55009b7a7f7ec51acccbe0492" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a834d1e5c389e7ef8eb23bf1361916ae2" id = "r_a834d1e5c389e7ef8eb23bf1361916ae2" >< td class = "memItemLeft" align = "right" valign = "top" >   </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#a834d1e5c389e7ef8eb23bf1361916ae2" > SensorCaptureThread</ a > (< a class = "el" href = "classrtabmap_1_1Lidar.html" > Lidar</ a > *< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#aa6e5a6a53d621cda6e0b7f2ff35d33f0" > lidar</ a > , const < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > & parameters=< a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > ())</ td ></ tr >
< tr class = "memdesc:a834d1e5c389e7ef8eb23bf1361916ae2" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Constructor for lidar-only capture. < br /></ td ></ tr >
< tr class = "separator:a834d1e5c389e7ef8eb23bf1361916ae2" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a9cf0e883ace51a2a656395327beb74e5" id = "r_a9cf0e883ace51a2a656395327beb74e5" >< td class = "memItemLeft" align = "right" valign = "top" >   </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#a9cf0e883ace51a2a656395327beb74e5" > SensorCaptureThread</ a > (< a class = "el" href = "classrtabmap_1_1Lidar.html" > Lidar</ a > *< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#aa6e5a6a53d621cda6e0b7f2ff35d33f0" > lidar</ a > , < a class = "el" href = "classrtabmap_1_1Camera.html" > Camera</ a > *< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#ad6750f6280bdcbb386a051ba9cc36857" > camera</ a > , const < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > & parameters=< a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > ())</ td ></ tr >
< tr class = "memdesc:a9cf0e883ace51a2a656395327beb74e5" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Constructor for lidar with camera. < br /></ td ></ tr >
< tr class = "separator:a9cf0e883ace51a2a656395327beb74e5" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a590aee9497d8a3b6e14b68e1e17f9c6a" id = "r_a590aee9497d8a3b6e14b68e1e17f9c6a" >< td class = "memItemLeft" align = "right" valign = "top" >   </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#a590aee9497d8a3b6e14b68e1e17f9c6a" > SensorCaptureThread</ a > (< a class = "el" href = "classrtabmap_1_1Lidar.html" > Lidar</ a > *< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#aa6e5a6a53d621cda6e0b7f2ff35d33f0" > lidar</ a > , < a class = "el" href = "classrtabmap_1_1SensorCapture.html" > SensorCapture</ a > *< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#a0f4e3814d203ded5735ebb7abba1451e" > odomSensor</ a > , double poseTimeOffset=0.0, float poseScaleFactor=1.0f, double poseWaitTime=0.1, const < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > & parameters=< a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > ())</ td ></ tr >
< tr class = "memdesc:a590aee9497d8a3b6e14b68e1e17f9c6a" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Constructor for lidar with odometry sensor. < br /></ td ></ tr >
< tr class = "separator:a590aee9497d8a3b6e14b68e1e17f9c6a" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a2a64df180f19d0a2ea9a8d66ea58fc42" id = "r_a2a64df180f19d0a2ea9a8d66ea58fc42" >< td class = "memItemLeft" align = "right" valign = "top" >   </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#a2a64df180f19d0a2ea9a8d66ea58fc42" > SensorCaptureThread</ a > (< a class = "el" href = "classrtabmap_1_1Lidar.html" > Lidar</ a > *< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#aa6e5a6a53d621cda6e0b7f2ff35d33f0" > lidar</ a > , < a class = "el" href = "classrtabmap_1_1Camera.html" > Camera</ a > *< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#ad6750f6280bdcbb386a051ba9cc36857" > camera</ a > , < a class = "el" href = "classrtabmap_1_1SensorCapture.html" > SensorCapture</ a > *< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#a0f4e3814d203ded5735ebb7abba1451e" > odomSensor</ a > , const < a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > & extrinsics, double poseTimeOffset=0.0, float poseScaleFactor=1.0f, double poseWaitTime=0.1, const < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > & parameters=< a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > ())</ td ></ tr >
< tr class = "memdesc:a2a64df180f19d0a2ea9a8d66ea58fc42" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Constructor for lidar with camera and odometry sensor. < br /></ td ></ tr >
< tr class = "separator:a2a64df180f19d0a2ea9a8d66ea58fc42" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:af8133c1b2332568c4699282f59c141c9" id = "r_af8133c1b2332568c4699282f59c141c9" >< td class = "memItemLeft" align = "right" valign = "top" > virtual  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#af8133c1b2332568c4699282f59c141c9" > ~SensorCaptureThread</ a > ()</ td ></ tr >
< tr class = "memdesc:af8133c1b2332568c4699282f59c141c9" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Virtual destructor. < br /></ td ></ tr >
< tr class = "separator:af8133c1b2332568c4699282f59c141c9" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a1cfabc2a5451ffe913f5691b80de514d" id = "r_a1cfabc2a5451ffe913f5691b80de514d" >< td class = "memItemLeft" align = "right" valign = "top" > void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#a1cfabc2a5451ffe913f5691b80de514d" > setMirroringEnabled</ a > (bool enabled)</ td ></ tr >
< tr class = "memdesc:a1cfabc2a5451ffe913f5691b80de514d" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Enables or disables image mirroring (horizontal flip) < br /></ td ></ tr >
< tr class = "separator:a1cfabc2a5451ffe913f5691b80de514d" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a2c43f41518d914f2a3ae6959abcde989" id = "r_a2c43f41518d914f2a3ae6959abcde989" >< td class = "memItemLeft" align = "right" valign = "top" > void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#a2c43f41518d914f2a3ae6959abcde989" > setStereoExposureCompensation</ a > (bool enabled)</ td ></ tr >
< tr class = "memdesc:a2c43f41518d914f2a3ae6959abcde989" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Enables or disables stereo exposure compensation. < br /></ td ></ tr >
< tr class = "separator:a2c43f41518d914f2a3ae6959abcde989" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a6308c79599bd90b77d243febff024a15" id = "r_a6308c79599bd90b77d243febff024a15" >< td class = "memItemLeft" align = "right" valign = "top" > void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#a6308c79599bd90b77d243febff024a15" > setColorOnly</ a > (bool colorOnly)</ td ></ tr >
< tr class = "memdesc:a6308c79599bd90b77d243febff024a15" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Sets whether to capture color images only (skip depth) < br /></ td ></ tr >
< tr class = "separator:a6308c79599bd90b77d243febff024a15" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a74383f4e31ed642520511eb822ed1d89" id = "r_a74383f4e31ed642520511eb822ed1d89" >< td class = "memItemLeft" align = "right" valign = "top" > void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#a74383f4e31ed642520511eb822ed1d89" > setImageDecimation</ a > (int decimation)</ td ></ tr >
< tr class = "memdesc:a74383f4e31ed642520511eb822ed1d89" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Sets image decimation factor. < br /></ td ></ tr >
< tr class = "separator:a74383f4e31ed642520511eb822ed1d89" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a3e55c70032141f75802b2339c102c063" id = "r_a3e55c70032141f75802b2339c102c063" >< td class = "memItemLeft" align = "right" valign = "top" > void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#a3e55c70032141f75802b2339c102c063" > setHistogramMethod</ a > (int histogramMethod)</ td ></ tr >
< tr class = "memdesc:a3e55c70032141f75802b2339c102c063" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Sets histogram equalization method. < br /></ td ></ tr >
< tr class = "separator:a3e55c70032141f75802b2339c102c063" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:ae0658121bc03f0eafd469ee114bc61f8" id = "r_ae0658121bc03f0eafd469ee114bc61f8" >< td class = "memItemLeft" align = "right" valign = "top" > void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#ae0658121bc03f0eafd469ee114bc61f8" > setStereoToDepth</ a > (bool enabled)</ td ></ tr >
< tr class = "memdesc:ae0658121bc03f0eafd469ee114bc61f8" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Enables or disables stereo-to-depth conversion. < br /></ td ></ tr >
< tr class = "separator:ae0658121bc03f0eafd469ee114bc61f8" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a416f1596701d6b9dbd8512cd1c617788" id = "r_a416f1596701d6b9dbd8512cd1c617788" >< td class = "memItemLeft" align = "right" valign = "top" > void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#a416f1596701d6b9dbd8512cd1c617788" > setFrameRate</ a > (float frameRate)</ td ></ tr >
< tr class = "memdesc:a416f1596701d6b9dbd8512cd1c617788" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Sets the target frame rate for capture. < br /></ td ></ tr >
< tr class = "separator:a416f1596701d6b9dbd8512cd1c617788" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a2a40e01eb8e61aae54feeb1458efb88e" id = "r_a2a40e01eb8e61aae54feeb1458efb88e" >< td class = "memItemLeft" align = "right" valign = "top" > RTABMAP_DEPRECATED void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#a2a40e01eb8e61aae54feeb1458efb88e" > setImageRate</ a > (float frameRate)</ td ></ tr >
< tr class = "memdesc:a2a40e01eb8e61aae54feeb1458efb88e" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Sets the target image capture rate (deprecated) < br /></ td ></ tr >
< tr class = "separator:a2a40e01eb8e61aae54feeb1458efb88e" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:aa7f6dcffcd6646994c2a87d8b888edcc" id = "r_aa7f6dcffcd6646994c2a87d8b888edcc" >< td class = "memItemLeft" align = "right" valign = "top" > void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#aa7f6dcffcd6646994c2a87d8b888edcc" > setDistortionModel</ a > (const std::string & path)</ td ></ tr >
< tr class = "memdesc:aa7f6dcffcd6646994c2a87d8b888edcc" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Sets the depth distortion model file path. < br /></ td ></ tr >
< tr class = "separator:aa7f6dcffcd6646994c2a87d8b888edcc" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a5a6a9ad20c75150f86ef479fe74ae6f7" id = "r_a5a6a9ad20c75150f86ef479fe74ae6f7" >< td class = "memItemLeft" align = "right" valign = "top" > void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#a5a6a9ad20c75150f86ef479fe74ae6f7" > setOdomAsGroundTruth</ a > (bool enabled)</ td ></ tr >
< tr class = "memdesc:a5a6a9ad20c75150f86ef479fe74ae6f7" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Sets whether odometry poses should be treated as ground truth. < br /></ td ></ tr >
< tr class = "separator:a5a6a9ad20c75150f86ef479fe74ae6f7" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a429011ef7b39d30fc98413d727cccf4b" id = "r_a429011ef7b39d30fc98413d727cccf4b" >< td class = "memItemLeft" align = "right" valign = "top" > void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#a429011ef7b39d30fc98413d727cccf4b" > enableBilateralFiltering</ a > (float sigmaS, float sigmaR)</ td ></ tr >
< tr class = "memdesc:a429011ef7b39d30fc98413d727cccf4b" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Enables bilateral filtering for depth images. < br /></ td ></ tr >
< tr class = "separator:a429011ef7b39d30fc98413d727cccf4b" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a57beeb2c34d4430e37da05ef8e400a9b" id = "r_a57beeb2c34d4430e37da05ef8e400a9b" >< td class = "memItemLeft" align = "right" valign = "top" > void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#a57beeb2c34d4430e37da05ef8e400a9b" > disableBilateralFiltering</ a > ()</ td ></ tr >
< tr class = "memdesc:a57beeb2c34d4430e37da05ef8e400a9b" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Disables bilateral filtering. < br /></ td ></ tr >
< tr class = "separator:a57beeb2c34d4430e37da05ef8e400a9b" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a97ef5e49b994fcd2a3c87d6f7ef244ec" id = "r_a97ef5e49b994fcd2a3c87d6f7ef244ec" >< td class = "memItemLeft" align = "right" valign = "top" > void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#a97ef5e49b994fcd2a3c87d6f7ef244ec" > enableIMUFiltering</ a > (int filteringStrategy=1, const < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > & parameters=< a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > (), bool baseFrameConversion=false)</ td ></ tr >
< tr class = "memdesc:a97ef5e49b994fcd2a3c87d6f7ef244ec" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Enables < a class = "el" href = "classrtabmap_1_1IMU.html" title = "Inertial measurement sample (ROS sensor_msgs/Imu-like fields)." > IMU</ a > data filtering. < br /></ td ></ tr >
< tr class = "separator:a97ef5e49b994fcd2a3c87d6f7ef244ec" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a75c2426adc532854f1d7119256b1cf0d" id = "r_a75c2426adc532854f1d7119256b1cf0d" >< td class = "memItemLeft" align = "right" valign = "top" >< a id = "a75c2426adc532854f1d7119256b1cf0d" name = "a75c2426adc532854f1d7119256b1cf0d" ></ a >
void  </ td >< td class = "memItemRight" valign = "bottom" >< b > disableIMUFiltering</ b > ()</ td ></ tr >
< tr class = "memdesc:a75c2426adc532854f1d7119256b1cf0d" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Disables < a class = "el" href = "classrtabmap_1_1IMU.html" title = "Inertial measurement sample (ROS sensor_msgs/Imu-like fields)." > IMU</ a > data filtering. < br /></ td ></ tr >
< tr class = "separator:a75c2426adc532854f1d7119256b1cf0d" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:aa0a6c975417a655029470aea2ea5d01a" id = "r_aa0a6c975417a655029470aea2ea5d01a" >< td class = "memItemLeft" align = "right" valign = "top" > void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#aa0a6c975417a655029470aea2ea5d01a" > enableFeatureDetection</ a > (const < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > & parameters=< a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > ())</ td ></ tr >
< tr class = "memdesc:aa0a6c975417a655029470aea2ea5d01a" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Enables automatic feature detection on captured images. < br /></ td ></ tr >
< tr class = "separator:aa0a6c975417a655029470aea2ea5d01a" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:aeddec5c0c55aab261b31d0a980a7d327" id = "r_aeddec5c0c55aab261b31d0a980a7d327" >< td class = "memItemLeft" align = "right" valign = "top" >< a id = "aeddec5c0c55aab261b31d0a980a7d327" name = "aeddec5c0c55aab261b31d0a980a7d327" ></ a >
void  </ td >< td class = "memItemRight" valign = "bottom" >< b > disableFeatureDetection</ b > ()</ td ></ tr >
< tr class = "memdesc:aeddec5c0c55aab261b31d0a980a7d327" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Disables automatic feature detection. < br /></ td ></ tr >
< tr class = "separator:aeddec5c0c55aab261b31d0a980a7d327" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a40f1016ea142c6117ffb080f64b4a854" id = "r_a40f1016ea142c6117ffb080f64b4a854" >< td class = "memItemLeft" align = "right" valign = "top" > RTABMAP_DEPRECATED void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#a40f1016ea142c6117ffb080f64b4a854" > setScanParameters</ a > (bool fromDepth, int downsampleStep, float rangeMin, float rangeMax, float voxelSize, int normalsK, float normalsRadius, bool forceGroundNormalsUp, bool deskewing)</ td ></ tr >
< tr class = "memdesc:a40f1016ea142c6117ffb080f64b4a854" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Sets lidar scan processing parameters (deprecated) < br /></ td ></ tr >
< tr class = "separator:a40f1016ea142c6117ffb080f64b4a854" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a00a7a0e4f5277f6c6ed53bf832624c00" id = "r_a00a7a0e4f5277f6c6ed53bf832624c00" >< td class = "memItemLeft" align = "right" valign = "top" > void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#a00a7a0e4f5277f6c6ed53bf832624c00" > setScanParameters</ a > (bool fromDepth, int downsampleStep=1, float rangeMin=0.0f, float rangeMax=0.0f, float voxelSize=0.0f, int normalsK=0, float normalsRadius=0.0f, float groundNormalsUp=0.0f, bool deskewing=false)</ td ></ tr >
< tr class = "memdesc:a00a7a0e4f5277f6c6ed53bf832624c00" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Sets lidar scan processing parameters. < br /></ td ></ tr >
< tr class = "separator:a00a7a0e4f5277f6c6ed53bf832624c00" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a43cb04de41b589b3f6069fff553a4dd7" id = "r_a43cb04de41b589b3f6069fff553a4dd7" >< td class = "memItemLeft" align = "right" valign = "top" > void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#a43cb04de41b589b3f6069fff553a4dd7" > postUpdate</ a > (< a class = "el" href = "classrtabmap_1_1SensorData.html" > SensorData</ a > *data, < a class = "el" href = "classrtabmap_1_1SensorCaptureInfo.html" > SensorCaptureInfo</ a > *info=0) const</ td ></ tr >
< tr class = "memdesc:a43cb04de41b589b3f6069fff553a4dd7" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Post-processing hook called before posting < a class = "el" href = "classrtabmap_1_1SensorEvent.html" title = "Event class for sensor data communication in RTAB-Map's event system." > SensorEvent</ a > . < br /></ td ></ tr >
< tr class = "separator:a43cb04de41b589b3f6069fff553a4dd7" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a435f89b6a3186462f6ee860afa88644c" id = "r_a435f89b6a3186462f6ee860afa88644c" >< td class = "memItemLeft" align = "right" valign = "top" > bool  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#a435f89b6a3186462f6ee860afa88644c" > isPaused</ a > () const</ td ></ tr >
< tr class = "memdesc:a435f89b6a3186462f6ee860afa88644c" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Checks if the capture thread is paused. < br /></ td ></ tr >
< tr class = "separator:a435f89b6a3186462f6ee860afa88644c" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:ab2654b31ebdf06b375045fadbc83731a" id = "r_ab2654b31ebdf06b375045fadbc83731a" >< td class = "memItemLeft" align = "right" valign = "top" > bool  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#ab2654b31ebdf06b375045fadbc83731a" > isCapturing</ a > () const</ td ></ tr >
< tr class = "memdesc:ab2654b31ebdf06b375045fadbc83731a" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Checks if the capture thread is actively capturing. < br /></ td ></ tr >
< tr class = "separator:ab2654b31ebdf06b375045fadbc83731a" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a88269150d6fd6fd39685fe9e926d98e6" id = "r_a88269150d6fd6fd39685fe9e926d98e6" >< td class = "memItemLeft" align = "right" valign = "top" > bool  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#a88269150d6fd6fd39685fe9e926d98e6" > odomProvided</ a > () const</ td ></ tr >
< tr class = "memdesc:a88269150d6fd6fd39685fe9e926d98e6" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Checks if odometry is provided by the sensors. < br /></ td ></ tr >
< tr class = "separator:a88269150d6fd6fd39685fe9e926d98e6" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:ad6750f6280bdcbb386a051ba9cc36857" id = "r_ad6750f6280bdcbb386a051ba9cc36857" >< td class = "memItemLeft" align = "right" valign = "top" >< a class = "el" href = "classrtabmap_1_1Camera.html" > Camera</ a > *  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#ad6750f6280bdcbb386a051ba9cc36857" > camera</ a > ()</ td ></ tr >
< tr class = "memdesc:ad6750f6280bdcbb386a051ba9cc36857" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Returns the camera pointer. < br /></ td ></ tr >
< tr class = "separator:ad6750f6280bdcbb386a051ba9cc36857" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a0f4e3814d203ded5735ebb7abba1451e" id = "r_a0f4e3814d203ded5735ebb7abba1451e" >< td class = "memItemLeft" align = "right" valign = "top" >< a class = "el" href = "classrtabmap_1_1SensorCapture.html" > SensorCapture</ a > *  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#a0f4e3814d203ded5735ebb7abba1451e" > odomSensor</ a > ()</ td ></ tr >
< tr class = "memdesc:a0f4e3814d203ded5735ebb7abba1451e" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Returns the odometry sensor pointer. < br /></ td ></ tr >
< tr class = "separator:a0f4e3814d203ded5735ebb7abba1451e" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:aa6e5a6a53d621cda6e0b7f2ff35d33f0" id = "r_aa6e5a6a53d621cda6e0b7f2ff35d33f0" >< td class = "memItemLeft" align = "right" valign = "top" >< a class = "el" href = "classrtabmap_1_1Lidar.html" > Lidar</ a > *  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#aa6e5a6a53d621cda6e0b7f2ff35d33f0" > lidar</ a > ()</ td ></ tr >
< tr class = "memdesc:aa6e5a6a53d621cda6e0b7f2ff35d33f0" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Returns the lidar pointer. < br /></ td ></ tr >
< tr class = "separator:aa6e5a6a53d621cda6e0b7f2ff35d33f0" >< 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 >
</ 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_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 >
< 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 >
< div class = "textblock" >< p > Thread-based sensor data capture and event posting for RTAB-Map. </ p >
< p >< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html" title = "Thread-based sensor data capture and event posting for RTAB-Map." > SensorCaptureThread</ a > is a multi-threaded class that continuously captures sensor data from cameras and/or lidars in a background thread. It processes the data, optionally applies filtering and transformations, and posts < a class = "el" href = "classrtabmap_1_1SensorEvent.html" title = "Event class for sensor data communication in RTAB-Map's event system." > SensorEvent</ a > events to registered handlers through RTAB-Map's event system.</ p >
< p > The class supports various sensor configurations:</ p >< ul >
< li >< b > Camera-only</ b > : Single or multiple cameras for RGB-D or stereo imaging</ li >
< li >< b > Lidar-only</ b > : Single lidar for 3D point cloud capture</ li >
< li >< b >< a class = "el" href = "classrtabmap_1_1Camera.html" > Camera</ a > + < a class = "el" href = "classrtabmap_1_1Lidar.html" > Lidar</ a ></ b > : Combined visual and range sensing</ li >
< li >< b > With odometry</ b > : Optional odometry sensor for pose estimation and deskewing</ li >
</ ul >
< p > Key features:</ p >< ul >
< li >< b > Automatic data synchronization</ b > : Synchronizes camera and lidar data by timestamp</ li >
< li >< b > Deskewing</ b > : Corrects lidar scans using odometry poses</ li >
< li >< b > Image processing</ b > : Supports mirroring, decimation, histogram equalization, stereo-to-depth conversion</ li >
< li >< b > Depth filtering</ b > : Optional bilateral filtering for depth images</ li >
< li >< b >< a class = "el" href = "classrtabmap_1_1IMU.html" title = "Inertial measurement sample (ROS sensor_msgs/Imu-like fields)." > IMU</ a > filtering</ b > : Optional < a class = "el" href = "classrtabmap_1_1IMU.html" title = "Inertial measurement sample (ROS sensor_msgs/Imu-like fields)." > IMU</ a > data filtering and fusion</ li >
< li >< b > Feature detection</ b > : Optional automatic feature detection on captured images</ li >
< li >< b > Frame rate control</ b > : Configurable capture rate</ li >
< li >< b > Event-driven architecture</ b > : Posts < a class = "el" href = "classrtabmap_1_1SensorEvent.html" title = "Event class for sensor data communication in RTAB-Map's event system." > SensorEvent</ a > events for downstream processing</ li >
</ ul >
< p > The class inherits from < a class = "el" href = "classUThread.html" > UThread</ a > (for threading) and < a class = "el" href = "classUEventsSender.html" > UEventsSender</ a > (for event posting).</ p >
< dl class = "section note" >< dt > Note</ dt >< dd > Ownership of < a class = "el" href = "classrtabmap_1_1Camera.html" > Camera</ a > , < a class = "el" href = "classrtabmap_1_1Lidar.html" > Lidar</ a > , and < a class = "el" href = "classrtabmap_1_1SensorCapture.html" title = "Abstract base class for sensor data capture (cameras, lidars, etc.)" > SensorCapture</ a > pointers is transferred to this class. </ dd >
< dd >
The thread must be started with < a class = "el" href = "classUThread.html#a051e9adcf24f92b9c8e31acd06bad88c" > start()</ a > and stopped with < a class = "el" href = "classUThread.html#a8dfefcfd68b453da08ddba9836f35965" > kill()</ a > or < a class = "el" href = "classUThread.html#acf33c0e4b656af76da100e7d4f69ed1d" > join()</ a > . </ dd ></ dl >
< dl class = "section warning" >< dt > Warning</ dt >< dd >< b > Thread Safety</ b > : All configuration parameters (setters) should be called < b > before</ b > starting the thread with < a class = "el" href = "classUThread.html#a051e9adcf24f92b9c8e31acd06bad88c" > start()</ a > . Changing configuration after the thread is started is not thread-safe and may lead to race conditions or undefined behavior. If you need to change parameters at runtime, stop the thread first, modify the configuration, then restart it.</ dd ></ dl >
< dl class = "section see" >< dt > See also</ dt >< dd >< a class = "el" href = "classrtabmap_1_1Camera.html" > Camera</ a > </ dd >
< dd >
< a class = "el" href = "classrtabmap_1_1Lidar.html" > Lidar</ a > </ dd >
< dd >
< a class = "el" href = "classrtabmap_1_1SensorCapture.html" title = "Abstract base class for sensor data capture (cameras, lidars, etc.)" > SensorCapture</ a > </ dd >
< dd >
< a class = "el" href = "classrtabmap_1_1SensorEvent.html" title = "Event class for sensor data communication in RTAB-Map's event system." > SensorEvent</ a > </ dd >
< dd >
< a class = "el" href = "classrtabmap_1_1SensorData.html" title = "Container class for all sensor data captured at a specific time." > SensorData</ a > </ dd >
< dd >
< a class = "el" href = "classUThread.html" > UThread</ a > </ dd >
< dd >
< a class = "el" href = "classUEventsSender.html" > UEventsSender</ a > </ dd ></ dl >
< p class = "definition" > Definition at line < a class = "el" href = "SensorCaptureThread_8h_source.html#l00097" > 97</ a > of file < a class = "el" href = "SensorCaptureThread_8h_source.html" > SensorCaptureThread.h</ a > .</ p >
</ div >< h2 class = "groupheader" > Constructor & Destructor Documentation</ h2 >
< a id = "acae15b44b2fb05da9421dc88ff0be75c" name = "acae15b44b2fb05da9421dc88ff0be75c" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#acae15b44b2fb05da9421dc88ff0be75c" > ◆  </ a ></ span > SensorCaptureThread() < span class = "overload" > [1/6]</ span ></ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > rtabmap::SensorCaptureThread::SensorCaptureThread </ td >
< td > (</ td >
< td class = "paramtype" >< a class = "el" href = "classrtabmap_1_1Camera.html" > Camera</ a > *  </ td >
< td class = "paramname" >< em > camera</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > const < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > &  </ td >
< td class = "paramname" >< em > parameters</ em > = < code >< a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > ()</ code >   </ td >
</ tr >
< tr >
< td ></ td >
< td > )</ td >
< td ></ td >< td ></ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Constructor for camera-only capture. </ p >
< p > Creates a < a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html" title = "Thread-based sensor data capture and event posting for RTAB-Map." > SensorCaptureThread</ a > that captures images from a single camera. The camera can be RGB-D, stereo, or mono.</ p >
< dl class = "params" >< dt > Parameters</ dt >< dd >
< table class = "params" >
< tr >< td class = "paramname" > camera</ td >< td > Pointer to the camera to capture from (ownership transferred) </ td ></ tr >
< tr >< td class = "paramname" > parameters</ td >< td > Optional parameters map for configuration</ td ></ tr >
</ table >
</ dd >
</ dl >
< dl class = "section note" >< dt > Note</ dt >< dd > The camera pointer is owned by this class and will be deleted on destruction. </ dd ></ dl >
</ div >
</ div >
< a id = "a76ad33a55009b7a7f7ec51acccbe0492" name = "a76ad33a55009b7a7f7ec51acccbe0492" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a76ad33a55009b7a7f7ec51acccbe0492" > ◆  </ a ></ span > SensorCaptureThread() < span class = "overload" > [2/6]</ span ></ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > rtabmap::SensorCaptureThread::SensorCaptureThread </ td >
< td > (</ td >
< td class = "paramtype" >< a class = "el" href = "classrtabmap_1_1Camera.html" > Camera</ a > *  </ td >
< td class = "paramname" >< em > camera</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" >< a class = "el" href = "classrtabmap_1_1SensorCapture.html" > SensorCapture</ a > *  </ td >
< td class = "paramname" >< em > odomSensor</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > const < a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > &  </ td >
< td class = "paramname" >< em > extrinsics</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > double  </ td >
< td class = "paramname" >< em > poseTimeOffset</ em > = < code > 0.0</ code > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > float  </ td >
< td class = "paramname" >< em > poseScaleFactor</ em > = < code > 1.0f</ code > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > double  </ td >
< td class = "paramname" >< em > poseWaitTime</ em > = < code > 0.1</ code > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > const < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > &  </ td >
< td class = "paramname" >< em > parameters</ em > = < code >< a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > ()</ code >   </ td >
</ tr >
< tr >
< td ></ td >
< td > )</ td >
< td ></ td >< td ></ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Constructor for camera with odometry sensor. </ p >
< p > Creates a < a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html" title = "Thread-based sensor data capture and event posting for RTAB-Map." > SensorCaptureThread</ a > that captures images from a camera and uses an odometry sensor for pose estimation. The odometry sensor can be the same as the camera or a different sensor.</ p >
< dl class = "params" >< dt > Parameters</ dt >< dd >
< table class = "params" >
< tr >< td class = "paramname" > camera</ td >< td > Pointer to the camera to capture images from (ownership transferred) </ td ></ tr >
< tr >< td class = "paramname" > odomSensor</ td >< td > Pointer to the odometry sensor for pose estimation (can be the same as camera) </ td ></ tr >
< tr >< td class = "paramname" > extrinsics</ td >< td > Static transform from odometry sensor's left lens frame to camera's left lens frame (without optical rotation applied) </ td ></ tr >
< tr >< td class = "paramname" > poseTimeOffset</ td >< td > Time offset in seconds to add to data timestamp when querying pose (default: 0.0) </ td ></ tr >
< tr >< td class = "paramname" > poseScaleFactor</ td >< td > Scale factor to apply to pose translation (default: 1.0, no scaling) </ td ></ tr >
< tr >< td class = "paramname" > poseWaitTime</ td >< td > Maximum time in seconds to wait for pose data (default: 0.1) </ td ></ tr >
< tr >< td class = "paramname" > parameters</ td >< td > Optional parameters map for configuration</ td ></ tr >
</ table >
</ dd >
</ dl >
< dl class = "section note" >< dt > Note</ dt >< dd > If odomAsGt is set to true via < a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#a5a6a9ad20c75150f86ef479fe74ae6f7" title = "Sets whether odometry poses should be treated as ground truth." > setOdomAsGroundTruth()</ a > , the odometry pose will be used as ground truth instead of odometry. </ dd ></ dl >
</ div >
</ div >
< a id = "a834d1e5c389e7ef8eb23bf1361916ae2" name = "a834d1e5c389e7ef8eb23bf1361916ae2" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a834d1e5c389e7ef8eb23bf1361916ae2" > ◆  </ a ></ span > SensorCaptureThread() < span class = "overload" > [3/6]</ span ></ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > rtabmap::SensorCaptureThread::SensorCaptureThread </ td >
< td > (</ td >
< td class = "paramtype" >< a class = "el" href = "classrtabmap_1_1Lidar.html" > Lidar</ a > *  </ td >
< td class = "paramname" >< em > lidar</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > const < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > &  </ td >
< td class = "paramname" >< em > parameters</ em > = < code >< a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > ()</ code >   </ td >
</ tr >
< tr >
< td ></ td >
< td > )</ td >
< td ></ td >< td ></ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Constructor for lidar-only capture. </ p >
< p > Creates a < a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html" title = "Thread-based sensor data capture and event posting for RTAB-Map." > SensorCaptureThread</ a > that captures 3D point clouds from a lidar.</ p >
< dl class = "params" >< dt > Parameters</ dt >< dd >
< table class = "params" >
< tr >< td class = "paramname" > lidar</ td >< td > Pointer to the lidar to capture scans from (ownership transferred) </ td ></ tr >
< tr >< td class = "paramname" > parameters</ td >< td > Optional parameters map for configuration</ td ></ tr >
</ table >
</ dd >
</ dl >
< dl class = "section note" >< dt > Note</ dt >< dd > The lidar pointer is owned by this class and will be deleted on destruction. </ dd ></ dl >
</ div >
</ div >
< a id = "a9cf0e883ace51a2a656395327beb74e5" name = "a9cf0e883ace51a2a656395327beb74e5" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a9cf0e883ace51a2a656395327beb74e5" > ◆  </ a ></ span > SensorCaptureThread() < span class = "overload" > [4/6]</ span ></ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > rtabmap::SensorCaptureThread::SensorCaptureThread </ td >
< td > (</ td >
< td class = "paramtype" >< a class = "el" href = "classrtabmap_1_1Lidar.html" > Lidar</ a > *  </ td >
< td class = "paramname" >< em > lidar</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" >< a class = "el" href = "classrtabmap_1_1Camera.html" > Camera</ a > *  </ td >
< td class = "paramname" >< em > camera</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > const < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > &  </ td >
< td class = "paramname" >< em > parameters</ em > = < code >< a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > ()</ code >   </ td >
</ tr >
< tr >
< td ></ td >
< td > )</ td >
< td ></ td >< td ></ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Constructor for lidar with camera. </ p >
< p > Creates a < a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html" title = "Thread-based sensor data capture and event posting for RTAB-Map." > SensorCaptureThread</ a > that captures both lidar scans and camera images. If the camera provides pose information, it can be used for deskewing lidar scans.</ p >
< dl class = "params" >< dt > Parameters</ dt >< dd >
< table class = "params" >
< tr >< td class = "paramname" > lidar</ td >< td > Pointer to the lidar to capture scans from (ownership transferred) </ td ></ tr >
< tr >< td class = "paramname" > camera</ td >< td > Pointer to the camera to capture images from (ownership transferred). If the camera provides pose, it can be used for deskewing. </ td ></ tr >
< tr >< td class = "paramname" > parameters</ td >< td > Optional parameters map for configuration </ td ></ tr >
</ table >
</ dd >
</ dl >
</ div >
</ div >
< a id = "a590aee9497d8a3b6e14b68e1e17f9c6a" name = "a590aee9497d8a3b6e14b68e1e17f9c6a" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a590aee9497d8a3b6e14b68e1e17f9c6a" > ◆  </ a ></ span > SensorCaptureThread() < span class = "overload" > [5/6]</ span ></ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > rtabmap::SensorCaptureThread::SensorCaptureThread </ td >
< td > (</ td >
< td class = "paramtype" >< a class = "el" href = "classrtabmap_1_1Lidar.html" > Lidar</ a > *  </ td >
< td class = "paramname" >< em > lidar</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" >< a class = "el" href = "classrtabmap_1_1SensorCapture.html" > SensorCapture</ a > *  </ td >
< td class = "paramname" >< em > odomSensor</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > double  </ td >
< td class = "paramname" >< em > poseTimeOffset</ em > = < code > 0.0</ code > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > float  </ td >
< td class = "paramname" >< em > poseScaleFactor</ em > = < code > 1.0f</ code > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > double  </ td >
< td class = "paramname" >< em > poseWaitTime</ em > = < code > 0.1</ code > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > const < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > &  </ td >
< td class = "paramname" >< em > parameters</ em > = < code >< a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > ()</ code >   </ td >
</ tr >
< tr >
< td ></ td >
< td > )</ td >
< td ></ td >< td ></ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Constructor for lidar with odometry sensor. </ p >
< p > Creates a < a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html" title = "Thread-based sensor data capture and event posting for RTAB-Map." > SensorCaptureThread</ a > that captures lidar scans and uses an odometry sensor for pose estimation and deskewing. The odometry sensor can be the same as the lidar or a different sensor.</ p >
< dl class = "params" >< dt > Parameters</ dt >< dd >
< table class = "params" >
< tr >< td class = "paramname" > lidar</ td >< td > Pointer to the lidar to capture scans from (ownership transferred) </ td ></ tr >
< tr >< td class = "paramname" > odomSensor</ td >< td > Pointer to the odometry sensor for pose estimation and deskewing (can be the same as lidar) </ td ></ tr >
< tr >< td class = "paramname" > poseTimeOffset</ td >< td > Time offset in seconds to add to data timestamp when querying pose (default: 0.0) </ td ></ tr >
< tr >< td class = "paramname" > poseScaleFactor</ td >< td > Scale factor to apply to pose translation (default: 1.0, no scaling) </ td ></ tr >
< tr >< td class = "paramname" > poseWaitTime</ td >< td > Maximum time in seconds to wait for pose data (default: 0.1) </ td ></ tr >
< tr >< td class = "paramname" > parameters</ td >< td > Optional parameters map for configuration</ td ></ tr >
</ table >
</ dd >
</ dl >
< dl class = "section note" >< dt > Note</ dt >< dd > Deskewing is enabled by default when an odometry sensor is provided. Use < a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#a40f1016ea142c6117ffb080f64b4a854" title = "Sets lidar scan processing parameters (deprecated)" > setScanParameters()</ a > to configure deskewing behavior. </ dd >
< dd >
The lidar's local transform should be set as the extrinsics between odometry sensor's frame and lidar's frame. </ dd ></ dl >
</ div >
</ div >
< a id = "a2a64df180f19d0a2ea9a8d66ea58fc42" name = "a2a64df180f19d0a2ea9a8d66ea58fc42" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a2a64df180f19d0a2ea9a8d66ea58fc42" > ◆  </ a ></ span > SensorCaptureThread() < span class = "overload" > [6/6]</ span ></ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > rtabmap::SensorCaptureThread::SensorCaptureThread </ td >
< td > (</ td >
< td class = "paramtype" >< a class = "el" href = "classrtabmap_1_1Lidar.html" > Lidar</ a > *  </ td >
< td class = "paramname" >< em > lidar</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" >< a class = "el" href = "classrtabmap_1_1Camera.html" > Camera</ a > *  </ td >
< td class = "paramname" >< em > camera</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" >< a class = "el" href = "classrtabmap_1_1SensorCapture.html" > SensorCapture</ a > *  </ td >
< td class = "paramname" >< em > odomSensor</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > const < a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > &  </ td >
< td class = "paramname" >< em > extrinsics</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > double  </ td >
< td class = "paramname" >< em > poseTimeOffset</ em > = < code > 0.0</ code > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > float  </ td >
< td class = "paramname" >< em > poseScaleFactor</ em > = < code > 1.0f</ code > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > double  </ td >
< td class = "paramname" >< em > poseWaitTime</ em > = < code > 0.1</ code > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > const < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > &  </ td >
< td class = "paramname" >< em > parameters</ em > = < code >< a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > ()</ code >   </ td >
</ tr >
< tr >
< td ></ td >
< td > )</ td >
< td ></ td >< td ></ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Constructor for lidar with camera and odometry sensor. </ p >
< p > Creates a < a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html" title = "Thread-based sensor data capture and event posting for RTAB-Map." > SensorCaptureThread</ a > that captures both lidar scans and camera images, and uses an odometry sensor for pose estimation and deskewing. This is the most comprehensive configuration, supporting multi-modal sensing with pose correction.</ p >
< dl class = "params" >< dt > Parameters</ dt >< dd >
< table class = "params" >
< tr >< td class = "paramname" > lidar</ td >< td > Pointer to the lidar to capture scans from (ownership transferred) </ td ></ tr >
< tr >< td class = "paramname" > camera</ td >< td > Pointer to the camera to capture images from (ownership transferred) </ td ></ tr >
< tr >< td class = "paramname" > odomSensor</ td >< td > Pointer to the odometry sensor for pose estimation and deskewing (can be the same as camera or lidar) </ td ></ tr >
< tr >< td class = "paramname" > extrinsics</ td >< td > Static transform from odometry frame to camera frame (without optical rotation applied) </ td ></ tr >
< tr >< td class = "paramname" > poseTimeOffset</ td >< td > Time offset in seconds to add to data timestamp when querying pose (default: 0.0) </ td ></ tr >
< tr >< td class = "paramname" > poseScaleFactor</ td >< td > Scale factor to apply to pose translation (default: 1.0, no scaling) </ td ></ tr >
< tr >< td class = "paramname" > poseWaitTime</ td >< td > Maximum time in seconds to wait for pose data (default: 0.1) </ td ></ tr >
< tr >< td class = "paramname" > parameters</ td >< td > Optional parameters map for configuration</ td ></ tr >
</ table >
</ dd >
</ dl >
< dl class = "section note" >< dt > Note</ dt >< dd > The camera and lidar data are synchronized by timestamp, with the camera frame being at least as recent as the lidar frame. </ dd >
< dd >
The lidar's local transform should be set as the extrinsics between odometry sensor's frame and lidar's frame. </ dd ></ dl >
</ div >
</ div >
< a id = "af8133c1b2332568c4699282f59c141c9" name = "af8133c1b2332568c4699282f59c141c9" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#af8133c1b2332568c4699282f59c141c9" > ◆  </ a ></ span > ~SensorCaptureThread()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > virtual rtabmap::SensorCaptureThread::~SensorCaptureThread </ td >
< td > (</ td >
< td class = "paramname" ></ td >< td > )</ td >
< td ></ td >
</ tr >
</ table >
</ td >
< td class = "mlabels-right" >
< span class = "mlabels" >< span class = "mlabel" > virtual</ span ></ span > </ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Virtual destructor. </ p >
< p > Stops the capture thread if running and deletes owned sensor pointers. </ p >
</ div >
</ div >
< h2 class = "groupheader" > Member Function Documentation</ h2 >
< a id = "a1cfabc2a5451ffe913f5691b80de514d" name = "a1cfabc2a5451ffe913f5691b80de514d" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a1cfabc2a5451ffe913f5691b80de514d" > ◆  </ a ></ span > setMirroringEnabled()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > void rtabmap::SensorCaptureThread::setMirroringEnabled </ td >
< td > (</ td >
< td class = "paramtype" > bool  </ td >
< td class = "paramname" >< em > enabled</ em ></ td >< td > )</ td >
< td ></ td >
</ tr >
</ table >
</ td >
< td class = "mlabels-right" >
< span class = "mlabels" >< span class = "mlabel" > inline</ span ></ span > </ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Enables or disables image mirroring (horizontal flip) </ p >
< dl class = "params" >< dt > Parameters</ dt >< dd >
< table class = "params" >
< tr >< td class = "paramname" > enabled</ td >< td > True to enable mirroring, false to disable </ td ></ tr >
</ table >
</ dd >
</ dl >
< p class = "definition" > Definition at line < a class = "el" href = "SensorCaptureThread_8h_source.html#l00245" > 245</ a > of file < a class = "el" href = "SensorCaptureThread_8h_source.html" > SensorCaptureThread.h</ a > .</ p >
</ div >
</ div >
< a id = "a2c43f41518d914f2a3ae6959abcde989" name = "a2c43f41518d914f2a3ae6959abcde989" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a2c43f41518d914f2a3ae6959abcde989" > ◆  </ a ></ span > setStereoExposureCompensation()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > void rtabmap::SensorCaptureThread::setStereoExposureCompensation </ td >
< td > (</ td >
< td class = "paramtype" > bool  </ td >
< td class = "paramname" >< em > enabled</ em ></ td >< td > )</ td >
< td ></ td >
</ tr >
</ table >
</ td >
< td class = "mlabels-right" >
< span class = "mlabels" >< span class = "mlabel" > inline</ span ></ span > </ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Enables or disables stereo exposure compensation. </ p >
< p > When enabled, adjusts exposure between left and right stereo cameras to improve matching quality.</ p >
< dl class = "params" >< dt > Parameters</ dt >< dd >
< table class = "params" >
< tr >< td class = "paramname" > enabled</ td >< td > True to enable exposure compensation, false to disable </ td ></ tr >
</ table >
</ dd >
</ dl >
< p class = "definition" > Definition at line < a class = "el" href = "SensorCaptureThread_8h_source.html#l00255" > 255</ a > of file < a class = "el" href = "SensorCaptureThread_8h_source.html" > SensorCaptureThread.h</ a > .</ p >
</ div >
</ div >
< a id = "a6308c79599bd90b77d243febff024a15" name = "a6308c79599bd90b77d243febff024a15" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a6308c79599bd90b77d243febff024a15" > ◆  </ a ></ span > setColorOnly()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > void rtabmap::SensorCaptureThread::setColorOnly </ td >
< td > (</ td >
< td class = "paramtype" > bool  </ td >
< td class = "paramname" >< em > colorOnly</ em ></ td >< td > )</ td >
< td ></ td >
</ tr >
</ table >
</ td >
< td class = "mlabels-right" >
< span class = "mlabels" >< span class = "mlabel" > inline</ span ></ span > </ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Sets whether to capture color images only (skip depth) </ p >
< dl class = "params" >< dt > Parameters</ dt >< dd >
< table class = "params" >
< tr >< td class = "paramname" > colorOnly</ td >< td > True to capture color only, false to capture both color and depth </ td ></ tr >
</ table >
</ dd >
</ dl >
< p class = "definition" > Definition at line < a class = "el" href = "SensorCaptureThread_8h_source.html#l00261" > 261</ a > of file < a class = "el" href = "SensorCaptureThread_8h_source.html" > SensorCaptureThread.h</ a > .</ p >
</ div >
</ div >
< a id = "a74383f4e31ed642520511eb822ed1d89" name = "a74383f4e31ed642520511eb822ed1d89" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a74383f4e31ed642520511eb822ed1d89" > ◆  </ a ></ span > setImageDecimation()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > void rtabmap::SensorCaptureThread::setImageDecimation </ td >
< td > (</ td >
< td class = "paramtype" > int  </ td >
< td class = "paramname" >< em > decimation</ em ></ td >< td > )</ td >
< td ></ td >
</ tr >
</ table >
</ td >
< td class = "mlabels-right" >
< span class = "mlabels" >< span class = "mlabel" > inline</ span ></ span > </ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Sets image decimation factor. </ p >
< p > Decimation reduces image resolution by skipping pixels. A decimation of N means every Nth pixel is kept (e.g., 2 = half resolution, 4 = quarter resolution).</ p >
< dl class = "params" >< dt > Parameters</ dt >< dd >
< table class = "params" >
< tr >< td class = "paramname" > decimation</ td >< td > Decimation factor (1 = no decimation, 2 = half resolution, etc.) </ td ></ tr >
</ table >
</ dd >
</ dl >
< p class = "definition" > Definition at line < a class = "el" href = "SensorCaptureThread_8h_source.html#l00271" > 271</ a > of file < a class = "el" href = "SensorCaptureThread_8h_source.html" > SensorCaptureThread.h</ a > .</ p >
</ div >
</ div >
< a id = "a3e55c70032141f75802b2339c102c063" name = "a3e55c70032141f75802b2339c102c063" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a3e55c70032141f75802b2339c102c063" > ◆  </ a ></ span > setHistogramMethod()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > void rtabmap::SensorCaptureThread::setHistogramMethod </ td >
< td > (</ td >
< td class = "paramtype" > int  </ td >
< td class = "paramname" >< em > histogramMethod</ em ></ td >< td > )</ td >
< td ></ td >
</ tr >
</ table >
</ td >
< td class = "mlabels-right" >
< span class = "mlabels" >< span class = "mlabel" > inline</ span ></ span > </ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Sets histogram equalization method. </ p >
< p > Controls the type of histogram equalization applied to captured images. Histogram equalization improves image contrast by redistributing pixel intensities.</ p >
< dl class = "params" >< dt > Parameters</ dt >< dd >
< table class = "params" >
< tr >< td class = "paramname" > histogramMethod</ td >< td > Histogram equalization method:< ul >
< li > 0 = None (disabled)</ li >
< li > 1 = Standard histogram equalization (cv::equalizeHist)</ li >
< li > 2 = CLAHE - Contrast Limited Adaptive Histogram Equalization (cv::createCLAHE)</ li >
</ ul >
</ td ></ tr >
</ table >
</ dd >
</ dl >
< dl class = "section note" >< dt > Note</ dt >< dd > For color images, histogram equalization is applied only to the luminance channel (Y in YCrCb color space). </ dd >
< dd >
For stereo images, histogram equalization is applied to both left and right images. </ dd ></ dl >
< p class = "definition" > Definition at line < a class = "el" href = "SensorCaptureThread_8h_source.html#l00287" > 287</ a > of file < a class = "el" href = "SensorCaptureThread_8h_source.html" > SensorCaptureThread.h</ a > .</ p >
</ div >
</ div >
< a id = "ae0658121bc03f0eafd469ee114bc61f8" name = "ae0658121bc03f0eafd469ee114bc61f8" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#ae0658121bc03f0eafd469ee114bc61f8" > ◆  </ a ></ span > setStereoToDepth()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > void rtabmap::SensorCaptureThread::setStereoToDepth </ td >
< td > (</ td >
< td class = "paramtype" > bool  </ td >
< td class = "paramname" >< em > enabled</ em ></ td >< td > )</ td >
< td ></ td >
</ tr >
</ table >
</ td >
< td class = "mlabels-right" >
< span class = "mlabels" >< span class = "mlabel" > inline</ span ></ span > </ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Enables or disables stereo-to-depth conversion. </ p >
< p > When enabled, converts stereo images to depth images using dense stereo matching.</ p >
< dl class = "params" >< dt > Parameters</ dt >< dd >
< table class = "params" >
< tr >< td class = "paramname" > enabled</ td >< td > True to enable stereo-to-depth conversion, false to disable </ td ></ tr >
</ table >
</ dd >
</ dl >
< p class = "definition" > Definition at line < a class = "el" href = "SensorCaptureThread_8h_source.html#l00296" > 296</ a > of file < a class = "el" href = "SensorCaptureThread_8h_source.html" > SensorCaptureThread.h</ a > .</ p >
</ div >
</ div >
< a id = "a416f1596701d6b9dbd8512cd1c617788" name = "a416f1596701d6b9dbd8512cd1c617788" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a416f1596701d6b9dbd8512cd1c617788" > ◆  </ a ></ span > setFrameRate()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void rtabmap::SensorCaptureThread::setFrameRate </ td >
< td > (</ td >
< td class = "paramtype" > float  </ td >
< td class = "paramname" >< em > frameRate</ em ></ td >< td > )</ td >
< td ></ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Sets the target frame rate for capture. </ p >
< p > Controls how often the capture loop runs. A frame rate of 0 means capture as fast as possible.</ p >
< dl class = "params" >< dt > Parameters</ dt >< dd >
< table class = "params" >
< tr >< td class = "paramname" > frameRate</ td >< td > Target frame rate in Hz (0 = unlimited) </ td ></ tr >
</ table >
</ dd >
</ dl >
</ div >
</ div >
< a id = "a2a40e01eb8e61aae54feeb1458efb88e" name = "a2a40e01eb8e61aae54feeb1458efb88e" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a2a40e01eb8e61aae54feeb1458efb88e" > ◆  </ a ></ span > setImageRate()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > RTABMAP_DEPRECATED void rtabmap::SensorCaptureThread::setImageRate </ td >
< td > (</ td >
< td class = "paramtype" > float  </ td >
< td class = "paramname" >< em > frameRate</ em ></ td >< td > )</ td >
< td ></ td >
</ tr >
</ table >
</ td >
< td class = "mlabels-right" >
< span class = "mlabels" >< span class = "mlabel" > inline</ span ></ span > </ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Sets the target image capture rate (deprecated) </ p >
< dl class = "deprecated" >< dt >< b >< a class = "el" href = "deprecated.html#_deprecated000012" > Deprecated:</ a ></ b ></ dt >< dd > Use < a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html#a416f1596701d6b9dbd8512cd1c617788" title = "Sets the target frame rate for capture." > setFrameRate()</ a > instead </ dd ></ dl >
< p class = "definition" > Definition at line < a class = "el" href = "SensorCaptureThread_8h_source.html#l00312" > 312</ a > of file < a class = "el" href = "SensorCaptureThread_8h_source.html" > SensorCaptureThread.h</ a > .</ p >
</ div >
</ div >
< a id = "aa7f6dcffcd6646994c2a87d8b888edcc" name = "aa7f6dcffcd6646994c2a87d8b888edcc" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#aa7f6dcffcd6646994c2a87d8b888edcc" > ◆  </ a ></ span > setDistortionModel()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void rtabmap::SensorCaptureThread::setDistortionModel </ td >
< td > (</ td >
< td class = "paramtype" > const std::string &  </ td >
< td class = "paramname" >< em > path</ em ></ td >< td > )</ td >
< td ></ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Sets the depth distortion model file path. </ p >
< p > Loads a discrete depth distortion model from the specified file path. This is used to correct systematic depth errors at longer ranges using the CLAMS (Calibration, Localization, And Mapping System) approach.</ p >
< p > The distortion model is typically created using RTAB-Map's depth calibration tool, which uses visual odometry and 3D mapping to generate ground truth depth for calibration.</ p >
< dl class = "params" >< dt > Parameters</ dt >< dd >
< table class = "params" >
< tr >< td class = "paramname" > path</ td >< td > Path to the distortion model file</ td ></ tr >
</ table >
</ dd >
</ dl >
< dl class = "section see" >< dt > See also</ dt >< dd >< a href = "https://github.com/introlab/rtabmap/wiki/Depth-Calibration" > https://github.com/introlab/rtabmap/wiki/Depth-Calibration</ a > for detailed instructions on how to create and use depth distortion models </ dd ></ dl >
</ div >
</ div >
< a id = "a5a6a9ad20c75150f86ef479fe74ae6f7" name = "a5a6a9ad20c75150f86ef479fe74ae6f7" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a5a6a9ad20c75150f86ef479fe74ae6f7" > ◆  </ a ></ span > setOdomAsGroundTruth()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > void rtabmap::SensorCaptureThread::setOdomAsGroundTruth </ td >
< td > (</ td >
< td class = "paramtype" > bool  </ td >
< td class = "paramname" >< em > enabled</ em ></ td >< td > )</ td >
< td ></ td >
</ tr >
</ table >
</ td >
< td class = "mlabels-right" >
< span class = "mlabels" >< span class = "mlabel" > inline</ span ></ span > </ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Sets whether odometry poses should be treated as ground truth. </ p >
< p > When enabled, odometry poses from the odometry sensor are stored as ground truth poses instead of odometry poses in the < a class = "el" href = "classrtabmap_1_1SensorData.html" title = "Container class for all sensor data captured at a specific time." > SensorData</ a > .</ p >
< dl class = "params" >< dt > Parameters</ dt >< dd >
< table class = "params" >
< tr >< td class = "paramname" > enabled</ td >< td > True to use odometry as ground truth, false to use as odometry </ td ></ tr >
</ table >
</ dd >
</ dl >
< p class = "definition" > Definition at line < a class = "el" href = "SensorCaptureThread_8h_source.html#l00340" > 340</ a > of file < a class = "el" href = "SensorCaptureThread_8h_source.html" > SensorCaptureThread.h</ a > .</ p >
</ div >
</ div >
< a id = "a429011ef7b39d30fc98413d727cccf4b" name = "a429011ef7b39d30fc98413d727cccf4b" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a429011ef7b39d30fc98413d727cccf4b" > ◆  </ a ></ span > enableBilateralFiltering()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void rtabmap::SensorCaptureThread::enableBilateralFiltering </ td >
< td > (</ td >
< td class = "paramtype" > float  </ td >
< td class = "paramname" >< em > sigmaS</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > float  </ td >
< td class = "paramname" >< em > sigmaR</ em >   </ td >
</ tr >
< tr >
< td ></ td >
< td > )</ td >
< td ></ td >< td ></ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Enables bilateral filtering for depth images. </ p >
< p > Bilateral filtering reduces noise in depth images while preserving edges.</ p >
< dl class = "params" >< dt > Parameters</ dt >< dd >
< table class = "params" >
< tr >< td class = "paramname" > sigmaS</ td >< td > Spatial standard deviation (pixels) </ td ></ tr >
< tr >< td class = "paramname" > sigmaR</ td >< td > Range standard deviation (depth units) </ td ></ tr >
</ table >
</ dd >
</ dl >
</ div >
</ div >
< a id = "a57beeb2c34d4430e37da05ef8e400a9b" name = "a57beeb2c34d4430e37da05ef8e400a9b" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a57beeb2c34d4430e37da05ef8e400a9b" > ◆  </ a ></ span > disableBilateralFiltering()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > void rtabmap::SensorCaptureThread::disableBilateralFiltering </ td >
< td > (</ td >
< td class = "paramname" ></ td >< td > )</ td >
< td ></ td >
</ tr >
</ table >
</ td >
< td class = "mlabels-right" >
< span class = "mlabels" >< span class = "mlabel" > inline</ span ></ span > </ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Disables bilateral filtering. </ p >
< p class = "definition" > Definition at line < a class = "el" href = "SensorCaptureThread_8h_source.html#l00355" > 355</ a > of file < a class = "el" href = "SensorCaptureThread_8h_source.html" > SensorCaptureThread.h</ a > .</ p >
</ div >
</ div >
< a id = "a97ef5e49b994fcd2a3c87d6f7ef244ec" name = "a97ef5e49b994fcd2a3c87d6f7ef244ec" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a97ef5e49b994fcd2a3c87d6f7ef244ec" > ◆  </ a ></ span > enableIMUFiltering()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void rtabmap::SensorCaptureThread::enableIMUFiltering </ td >
< td > (</ td >
< td class = "paramtype" > int  </ td >
< td class = "paramname" >< em > filteringStrategy</ em > = < code > 1</ code > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > const < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > &  </ td >
< td class = "paramname" >< em > parameters</ em > = < code >< a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > ()</ code > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > bool  </ td >
< td class = "paramname" >< em > baseFrameConversion</ em > = < code > false</ code >   </ td >
</ tr >
< tr >
< td ></ td >
< td > )</ td >
< td ></ td >< td ></ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Enables < a class = "el" href = "classrtabmap_1_1IMU.html" title = "Inertial measurement sample (ROS sensor_msgs/Imu-like fields)." > IMU</ a > data filtering. </ p >
< p > Enables filtering and fusion of < a class = "el" href = "classrtabmap_1_1IMU.html" title = "Inertial measurement sample (ROS sensor_msgs/Imu-like fields)." > IMU</ a > data from the sensor. The filtering strategy determines how < a class = "el" href = "classrtabmap_1_1IMU.html" title = "Inertial measurement sample (ROS sensor_msgs/Imu-like fields)." > IMU</ a > data is processed to estimate orientation.</ p >
< dl class = "params" >< dt > Parameters</ dt >< dd >
< table class = "params" >
< tr >< td class = "paramname" > filteringStrategy</ td >< td > Filtering strategy:< ul >
< li > 0 = Madgwick filter (requires RTAB-Map built with RTABMAP_MADGWICK option)</ li >
< li > 1 = Complementary filter (default) </ li >
</ ul >
</ td ></ tr >
< tr >< td class = "paramname" > parameters</ td >< td > Optional parameters map for < a class = "el" href = "classrtabmap_1_1IMU.html" title = "Inertial measurement sample (ROS sensor_msgs/Imu-like fields)." > IMU</ a > filter configuration </ td ></ tr >
< tr >< td class = "paramname" > baseFrameConversion</ td >< td > If true, converts < a class = "el" href = "classrtabmap_1_1IMU.html" title = "Inertial measurement sample (ROS sensor_msgs/Imu-like fields)." > IMU</ a > data to base frame</ td ></ tr >
</ table >
</ dd >
</ dl >
< dl class = "section note" >< dt > Note</ dt >< dd > If Madgwick filter is requested but RTAB-Map is not built with the option enabled, the Complementary filter will be used instead.</ dd ></ dl >
< dl class = "section see" >< dt > See also</ dt >< dd >< a class = "el" href = "classrtabmap_1_1IMUFilter.html" title = "Fuses gyroscope and accelerometer samples into an orientation quaternion." > IMUFilter</ a > </ dd ></ dl >
</ div >
</ div >
< a id = "aa0a6c975417a655029470aea2ea5d01a" name = "aa0a6c975417a655029470aea2ea5d01a" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#aa0a6c975417a655029470aea2ea5d01a" > ◆  </ a ></ span > enableFeatureDetection()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void rtabmap::SensorCaptureThread::enableFeatureDetection </ td >
< td > (</ td >
< td class = "paramtype" > const < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > &  </ td >
< td class = "paramname" >< em > parameters</ em > = < code >< a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > ()</ code ></ td >< td > )</ td >
< td ></ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Enables automatic feature detection on captured images. </ p >
< p > When enabled, automatically detects and extracts visual features (keypoints, descriptors) from captured images.</ p >
< dl class = "params" >< dt > Parameters</ dt >< dd >
< table class = "params" >
< tr >< td class = "paramname" > parameters</ td >< td > Optional parameters map for feature detector configuration. < a class = "el" href = "classrtabmap_1_1Parameters.html" > Parameters</ a > from the "Vis/" group (e.g., Vis/FeatureType, Vis/MaxFeatures) are automatically converted to "Kp/" parameters internally. If both Vis/ and Kp/ parameters are provided, Vis/ parameters take precedence.</ td ></ tr >
</ table >
</ dd >
</ dl >
< dl class = "section note" >< dt > Note</ dt >< dd > The function converts Vis/ parameters to Kp/ parameters before creating the < a class = "el" href = "classrtabmap_1_1Feature2D.html" title = "Abstract 2D feature detector and descriptor extractor for visual SLAM." > Feature2D</ a > detector. </ dd ></ dl >
</ div >
</ div >
< a id = "a40f1016ea142c6117ffb080f64b4a854" name = "a40f1016ea142c6117ffb080f64b4a854" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a40f1016ea142c6117ffb080f64b4a854" > ◆  </ a ></ span > setScanParameters() < span class = "overload" > [1/2]</ span ></ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > RTABMAP_DEPRECATED void rtabmap::SensorCaptureThread::setScanParameters </ td >
< td > (</ td >
< td class = "paramtype" > bool  </ td >
< td class = "paramname" >< em > fromDepth</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > int  </ td >
< td class = "paramname" >< em > downsampleStep</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > float  </ td >
< td class = "paramname" >< em > rangeMin</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > float  </ td >
< td class = "paramname" >< em > rangeMax</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > float  </ td >
< td class = "paramname" >< em > voxelSize</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > int  </ td >
< td class = "paramname" >< em > normalsK</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > float  </ td >
< td class = "paramname" >< em > normalsRadius</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > bool  </ td >
< td class = "paramname" >< em > forceGroundNormalsUp</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > bool  </ td >
< td class = "paramname" >< em > deskewing</ em >   </ td >
</ tr >
< tr >
< td ></ td >
< td > )</ td >
< td ></ td >< td ></ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Sets lidar scan processing parameters (deprecated) </ p >
< dl class = "deprecated" >< dt >< b >< a class = "el" href = "deprecated.html#_deprecated000013" > Deprecated:</ a ></ b ></ dt >< dd > Use the new version with groundNormalsUp parameter instead </ dd ></ dl >
< p > Use the new version with groundNormalsUp parameter:</ p >< ul >
< li > groundNormalsUp=0.8 for forceGroundNormalsUp=True</ li >
< li > groundNormalsUp=0.0 for forceGroundNormalsUp=False </ li >
</ ul >
</ div >
</ div >
< a id = "a00a7a0e4f5277f6c6ed53bf832624c00" name = "a00a7a0e4f5277f6c6ed53bf832624c00" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a00a7a0e4f5277f6c6ed53bf832624c00" > ◆  </ a ></ span > setScanParameters() < span class = "overload" > [2/2]</ span ></ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void rtabmap::SensorCaptureThread::setScanParameters </ td >
< td > (</ td >
< td class = "paramtype" > bool  </ td >
< td class = "paramname" >< em > fromDepth</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > int  </ td >
< td class = "paramname" >< em > downsampleStep</ em > = < code > 1</ code > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > float  </ td >
< td class = "paramname" >< em > rangeMin</ em > = < code > 0.0f</ code > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > float  </ td >
< td class = "paramname" >< em > rangeMax</ em > = < code > 0.0f</ code > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > float  </ td >
< td class = "paramname" >< em > voxelSize</ em > = < code > 0.0f</ code > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > int  </ td >
< td class = "paramname" >< em > normalsK</ em > = < code > 0</ code > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > float  </ td >
< td class = "paramname" >< em > normalsRadius</ em > = < code > 0.0f</ code > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > float  </ td >
< td class = "paramname" >< em > groundNormalsUp</ em > = < code > 0.0f</ code > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > bool  </ td >
< td class = "paramname" >< em > deskewing</ em > = < code > false</ code >   </ td >
</ tr >
< tr >
< td ></ td >
< td > )</ td >
< td ></ td >< td ></ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Sets lidar scan processing parameters. </ p >
< p > Configures how lidar scans are processed, including conversion from depth images, filtering, normal estimation, and deskewing.</ p >
< dl class = "params" >< dt > Parameters</ dt >< dd >
< table class = "params" >
< tr >< td class = "paramname" > fromDepth</ td >< td > If true, generate scans from depth images instead of raw lidar data </ td ></ tr >
< tr >< td class = "paramname" > downsampleStep</ td >< td > Downsampling step:< ul >
< li > If fromDepth is true: Image decimation step for depth images (1 = no decimation, 2 = every other pixel in both dimensions, etc.)</ li >
< li > If fromDepth is false: Point skipping step for laser scan data (1 = no skipping, 2 = every other point, etc.) </ li >
</ ul >
</ td ></ tr >
< tr >< td class = "paramname" > rangeMin</ td >< td > Minimum range in meters (points closer are filtered out, 0 = no minimum) </ td ></ tr >
< tr >< td class = "paramname" > rangeMax</ td >< td > Maximum range in meters (points farther are filtered out, 0 = no maximum) </ td ></ tr >
< tr >< td class = "paramname" > voxelSize</ td >< td > Voxel size in meters for downsampling (0 = no voxelization) </ td ></ tr >
< tr >< td class = "paramname" > normalsK</ td >< td > Number of neighbors for K-nearest neighbors normal estimation (0 = no normals) </ td ></ tr >
< tr >< td class = "paramname" > normalsRadius</ td >< td > Radius in meters for radius-based normal estimation (0 = use K-nearest) </ td ></ tr >
< tr >< td class = "paramname" > groundNormalsUp</ td >< td > Threshold for forcing ground normals upward (0.0-1.0, 0.8 = strong, 0.0 = disabled) </ td ></ tr >
< tr >< td class = "paramname" > deskewing</ td >< td > If true, apply deskewing using odometry poses </ td ></ tr >
</ table >
</ dd >
</ dl >
</ div >
</ div >
< a id = "a43cb04de41b589b3f6069fff553a4dd7" name = "a43cb04de41b589b3f6069fff553a4dd7" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a43cb04de41b589b3f6069fff553a4dd7" > ◆  </ a ></ span > postUpdate()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void rtabmap::SensorCaptureThread::postUpdate </ td >
< td > (</ td >
< td class = "paramtype" >< a class = "el" href = "classrtabmap_1_1SensorData.html" > SensorData</ a > *  </ td >
< td class = "paramname" >< em > data</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" >< a class = "el" href = "classrtabmap_1_1SensorCaptureInfo.html" > SensorCaptureInfo</ a > *  </ td >
< td class = "paramname" >< em > info</ em > = < code > 0</ code >   </ td >
</ tr >
< tr >
< td ></ td >
< td > )</ td >
< td ></ td >< td > const</ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Post-processing hook called before posting < a class = "el" href = "classrtabmap_1_1SensorEvent.html" title = "Event class for sensor data communication in RTAB-Map's event system." > SensorEvent</ a > . </ p >
< p > This method is called after all processing is complete but before the < a class = "el" href = "classrtabmap_1_1SensorEvent.html" title = "Event class for sensor data communication in RTAB-Map's event system." > SensorEvent</ a > is posted. Derived classes can override this to perform additional processing or modifications to the data.</ p >
< dl class = "params" >< dt > Parameters</ dt >< dd >
< table class = "params" >
< tr >< td class = "paramname" > data</ td >< td > Pointer to the processed sensor data (can be modified) </ td ></ tr >
< tr >< td class = "paramname" > info</ td >< td > Pointer to the sensor capture info (can be modified, may be null) </ td ></ tr >
</ table >
</ dd >
</ dl >
</ div >
</ div >
< a id = "a435f89b6a3186462f6ee860afa88644c" name = "a435f89b6a3186462f6ee860afa88644c" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a435f89b6a3186462f6ee860afa88644c" > ◆  </ a ></ span > isPaused()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > bool rtabmap::SensorCaptureThread::isPaused </ td >
< td > (</ td >
< td class = "paramname" ></ td >< td > )</ td >
< td > const</ td >
</ tr >
</ table >
</ td >
< td class = "mlabels-right" >
< span class = "mlabels" >< span class = "mlabel" > inline</ span ></ span > </ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Checks if the capture thread is paused. </ p >
< dl class = "section return" >< dt > Returns</ dt >< dd > True if paused (not running), false if running </ dd ></ dl >
< p class = "definition" > Definition at line < a class = "el" href = "SensorCaptureThread_8h_source.html#l00469" > 469</ a > of file < a class = "el" href = "SensorCaptureThread_8h_source.html" > SensorCaptureThread.h</ a > .</ p >
</ div >
</ div >
< a id = "ab2654b31ebdf06b375045fadbc83731a" name = "ab2654b31ebdf06b375045fadbc83731a" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#ab2654b31ebdf06b375045fadbc83731a" > ◆  </ a ></ span > isCapturing()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > bool rtabmap::SensorCaptureThread::isCapturing </ td >
< td > (</ td >
< td class = "paramname" ></ td >< td > )</ td >
< td > const</ td >
</ tr >
</ table >
</ td >
< td class = "mlabels-right" >
< span class = "mlabels" >< span class = "mlabel" > inline</ span ></ span > </ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Checks if the capture thread is actively capturing. </ p >
< dl class = "section return" >< dt > Returns</ dt >< dd > True if capturing (running), false if not running </ dd ></ dl >
< p class = "definition" > Definition at line < a class = "el" href = "SensorCaptureThread_8h_source.html#l00475" > 475</ a > of file < a class = "el" href = "SensorCaptureThread_8h_source.html" > SensorCaptureThread.h</ a > .</ p >
</ div >
</ div >
< a id = "a88269150d6fd6fd39685fe9e926d98e6" name = "a88269150d6fd6fd39685fe9e926d98e6" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a88269150d6fd6fd39685fe9e926d98e6" > ◆  </ a ></ span > odomProvided()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > bool rtabmap::SensorCaptureThread::odomProvided </ td >
< td > (</ td >
< td class = "paramname" ></ td >< td > )</ td >
< td > const</ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Checks if odometry is provided by the sensors. </ p >
< dl class = "section return" >< dt > Returns</ dt >< dd > True if an odometry sensor is configured, false otherwise </ dd ></ dl >
</ div >
</ div >
< a id = "ad6750f6280bdcbb386a051ba9cc36857" name = "ad6750f6280bdcbb386a051ba9cc36857" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#ad6750f6280bdcbb386a051ba9cc36857" > ◆  </ a ></ span > camera()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" >< a class = "el" href = "classrtabmap_1_1Camera.html" > Camera</ a > * rtabmap::SensorCaptureThread::camera </ td >
< td > (</ td >
< td class = "paramname" ></ td >< td > )</ td >
< td ></ td >
</ tr >
</ table >
</ td >
< td class = "mlabels-right" >
< span class = "mlabels" >< span class = "mlabel" > inline</ span ></ span > </ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Returns the camera pointer. </ p >
< dl class = "section return" >< dt > Returns</ dt >< dd > Pointer to the camera (null if not set). Valid until < a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html" title = "Thread-based sensor data capture and event posting for RTAB-Map." > SensorCaptureThread</ a > is deleted. </ dd ></ dl >
< p class = "definition" > Definition at line < a class = "el" href = "SensorCaptureThread_8h_source.html#l00487" > 487</ a > of file < a class = "el" href = "SensorCaptureThread_8h_source.html" > SensorCaptureThread.h</ a > .</ p >
</ div >
</ div >
< a id = "a0f4e3814d203ded5735ebb7abba1451e" name = "a0f4e3814d203ded5735ebb7abba1451e" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a0f4e3814d203ded5735ebb7abba1451e" > ◆  </ a ></ span > odomSensor()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" >< a class = "el" href = "classrtabmap_1_1SensorCapture.html" > SensorCapture</ a > * rtabmap::SensorCaptureThread::odomSensor </ td >
< td > (</ td >
< td class = "paramname" ></ td >< td > )</ td >
< td ></ td >
</ tr >
</ table >
</ td >
< td class = "mlabels-right" >
< span class = "mlabels" >< span class = "mlabel" > inline</ span ></ span > </ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Returns the odometry sensor pointer. </ p >
< dl class = "section return" >< dt > Returns</ dt >< dd > Pointer to the odometry sensor (null if not set). Valid until < a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html" title = "Thread-based sensor data capture and event posting for RTAB-Map." > SensorCaptureThread</ a > is deleted. </ dd ></ dl >
< p class = "definition" > Definition at line < a class = "el" href = "SensorCaptureThread_8h_source.html#l00493" > 493</ a > of file < a class = "el" href = "SensorCaptureThread_8h_source.html" > SensorCaptureThread.h</ a > .</ p >
</ div >
</ div >
< a id = "aa6e5a6a53d621cda6e0b7f2ff35d33f0" name = "aa6e5a6a53d621cda6e0b7f2ff35d33f0" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#aa6e5a6a53d621cda6e0b7f2ff35d33f0" > ◆  </ a ></ span > lidar()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" >< a class = "el" href = "classrtabmap_1_1Lidar.html" > Lidar</ a > * rtabmap::SensorCaptureThread::lidar </ td >
< td > (</ td >
< td class = "paramname" ></ td >< td > )</ td >
< td ></ td >
</ tr >
</ table >
</ td >
< td class = "mlabels-right" >
< span class = "mlabels" >< span class = "mlabel" > inline</ span ></ span > </ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Returns the lidar pointer. </ p >
< dl class = "section return" >< dt > Returns</ dt >< dd > Pointer to the lidar (null if not set). Valid until < a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html" title = "Thread-based sensor data capture and event posting for RTAB-Map." > SensorCaptureThread</ a > is deleted. </ dd ></ dl >
< p class = "definition" > Definition at line < a class = "el" href = "SensorCaptureThread_8h_source.html#l00499" > 499</ a > of file < a class = "el" href = "SensorCaptureThread_8h_source.html" > SensorCaptureThread.h</ 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 = "SensorCaptureThread_8h_source.html" > SensorCaptureThread.h</ a ></ li >
</ ul >
</ 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 = "namespacertabmap.html" > rtabmap</ a ></ li >< li class = "navelem" >< a class = "el" href = "classrtabmap_1_1SensorCaptureThread.html" > SensorCaptureThread</ 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 >