Files
rtabmap/api/latest/classrtabmap_1_1SensorData.html
T

3719 lines
209 KiB
HTML

<!-- 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::SensorData 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">
<div id="projectname">RTAB-Map<span id="projectnumber">&#160;0.23.12</span>
</div>
<div id="projectbrief">Real-Time Appearance-Based Mapping</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('classrtabmap_1_1SensorData.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> &#124;
<a href="classrtabmap_1_1SensorData-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">rtabmap::SensorData Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Container class for all sensor data captured at a specific time.
<a href="classrtabmap_1_1SensorData.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="SensorData_8h_source.html">SensorData.h</a>&gt;</code></p>
<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:a941f907890fe9e0e9becec0a665581cd" id="r_a941f907890fe9e0e9becec0a665581cd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a941f907890fe9e0e9becec0a665581cd">SensorData</a> ()</td></tr>
<tr class="memdesc:a941f907890fe9e0e9becec0a665581cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
<tr class="separator:a941f907890fe9e0e9becec0a665581cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6201ea27482207308f000bd4cc90081" id="r_ab6201ea27482207308f000bd4cc90081"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#ab6201ea27482207308f000bd4cc90081">SensorData</a> (const cv::Mat &amp;image, int <a class="el" href="classrtabmap_1_1SensorData.html#a84fbcb16e51018d96065d3ce240650c6">id</a>=0, double <a class="el" href="classrtabmap_1_1SensorData.html#a566e5600bc0369f2f88ff0c597cefcfb">stamp</a>=0.0, const cv::Mat &amp;userData=cv::Mat())</td></tr>
<tr class="memdesc:ab6201ea27482207308f000bd4cc90081"><td class="mdescLeft">&#160;</td><td class="mdescRight">Appearance-only constructor. <br /></td></tr>
<tr class="separator:ab6201ea27482207308f000bd4cc90081"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14f7a5c64b5d27842cb654e247d1fd20" id="r_a14f7a5c64b5d27842cb654e247d1fd20"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a14f7a5c64b5d27842cb654e247d1fd20">SensorData</a> (const cv::Mat &amp;image, const <a class="el" href="classrtabmap_1_1CameraModel.html">CameraModel</a> &amp;cameraModel, int <a class="el" href="classrtabmap_1_1SensorData.html#a84fbcb16e51018d96065d3ce240650c6">id</a>=0, double <a class="el" href="classrtabmap_1_1SensorData.html#a566e5600bc0369f2f88ff0c597cefcfb">stamp</a>=0.0, const cv::Mat &amp;userData=cv::Mat())</td></tr>
<tr class="memdesc:a14f7a5c64b5d27842cb654e247d1fd20"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mono camera constructor. <br /></td></tr>
<tr class="separator:a14f7a5c64b5d27842cb654e247d1fd20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aead598774e0cb15375828a2965b3ab80" id="r_aead598774e0cb15375828a2965b3ab80"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#aead598774e0cb15375828a2965b3ab80">SensorData</a> (const cv::Mat &amp;rgb, const cv::Mat &amp;depth, const <a class="el" href="classrtabmap_1_1CameraModel.html">CameraModel</a> &amp;cameraModel, int <a class="el" href="classrtabmap_1_1SensorData.html#a84fbcb16e51018d96065d3ce240650c6">id</a>=0, double <a class="el" href="classrtabmap_1_1SensorData.html#a566e5600bc0369f2f88ff0c597cefcfb">stamp</a>=0.0, const cv::Mat &amp;userData=cv::Mat())</td></tr>
<tr class="memdesc:aead598774e0cb15375828a2965b3ab80"><td class="mdescLeft">&#160;</td><td class="mdescRight">RGB-D constructor. <br /></td></tr>
<tr class="separator:aead598774e0cb15375828a2965b3ab80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87424cc9915dababe9aa3bc418e85197" id="r_a87424cc9915dababe9aa3bc418e85197"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a87424cc9915dababe9aa3bc418e85197">SensorData</a> (const cv::Mat &amp;rgb, const cv::Mat &amp;depth, const cv::Mat &amp;depth_confidence, const <a class="el" href="classrtabmap_1_1CameraModel.html">CameraModel</a> &amp;cameraModel, int <a class="el" href="classrtabmap_1_1SensorData.html#a84fbcb16e51018d96065d3ce240650c6">id</a>=0, double <a class="el" href="classrtabmap_1_1SensorData.html#a566e5600bc0369f2f88ff0c597cefcfb">stamp</a>=0.0, const cv::Mat &amp;userData=cv::Mat())</td></tr>
<tr class="memdesc:a87424cc9915dababe9aa3bc418e85197"><td class="mdescLeft">&#160;</td><td class="mdescRight">RGB-D constructor with depth confidence. <br /></td></tr>
<tr class="separator:a87424cc9915dababe9aa3bc418e85197"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac06b8207850c5412cc52f5f0e0e4ba7b" id="r_ac06b8207850c5412cc52f5f0e0e4ba7b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#ac06b8207850c5412cc52f5f0e0e4ba7b">SensorData</a> (const <a class="el" href="classrtabmap_1_1LaserScan.html">LaserScan</a> &amp;laserScan, const cv::Mat &amp;rgb, const cv::Mat &amp;depth, const <a class="el" href="classrtabmap_1_1CameraModel.html">CameraModel</a> &amp;cameraModel, int <a class="el" href="classrtabmap_1_1SensorData.html#a84fbcb16e51018d96065d3ce240650c6">id</a>=0, double <a class="el" href="classrtabmap_1_1SensorData.html#a566e5600bc0369f2f88ff0c597cefcfb">stamp</a>=0.0, const cv::Mat &amp;userData=cv::Mat())</td></tr>
<tr class="memdesc:ac06b8207850c5412cc52f5f0e0e4ba7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">RGB-D constructor with laser scan. <br /></td></tr>
<tr class="separator:ac06b8207850c5412cc52f5f0e0e4ba7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52b215e8d320bbcbd464e3b7181a077b" id="r_a52b215e8d320bbcbd464e3b7181a077b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a52b215e8d320bbcbd464e3b7181a077b">SensorData</a> (const <a class="el" href="classrtabmap_1_1LaserScan.html">LaserScan</a> &amp;laserScan, const cv::Mat &amp;rgb, const cv::Mat &amp;depth, const cv::Mat &amp;depthConfidence, const <a class="el" href="classrtabmap_1_1CameraModel.html">CameraModel</a> &amp;cameraModel, int <a class="el" href="classrtabmap_1_1SensorData.html#a84fbcb16e51018d96065d3ce240650c6">id</a>=0, double <a class="el" href="classrtabmap_1_1SensorData.html#a566e5600bc0369f2f88ff0c597cefcfb">stamp</a>=0.0, const cv::Mat &amp;userData=cv::Mat())</td></tr>
<tr class="memdesc:a52b215e8d320bbcbd464e3b7181a077b"><td class="mdescLeft">&#160;</td><td class="mdescRight">RGB-D constructor with depth confidence and laser scan. <br /></td></tr>
<tr class="separator:a52b215e8d320bbcbd464e3b7181a077b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4498a6d017e83202dfe86618e91fa57" id="r_ae4498a6d017e83202dfe86618e91fa57"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#ae4498a6d017e83202dfe86618e91fa57">SensorData</a> (const cv::Mat &amp;rgb, const cv::Mat &amp;depth, const std::vector&lt; <a class="el" href="classrtabmap_1_1CameraModel.html">CameraModel</a> &gt; &amp;<a class="el" href="classrtabmap_1_1SensorData.html#a6ace7b2b8ebae5f7ab18e159fe6e8a92">cameraModels</a>, int <a class="el" href="classrtabmap_1_1SensorData.html#a84fbcb16e51018d96065d3ce240650c6">id</a>=0, double <a class="el" href="classrtabmap_1_1SensorData.html#a566e5600bc0369f2f88ff0c597cefcfb">stamp</a>=0.0, const cv::Mat &amp;userData=cv::Mat())</td></tr>
<tr class="memdesc:ae4498a6d017e83202dfe86618e91fa57"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multi-camera RGB-D constructor. <br /></td></tr>
<tr class="separator:ae4498a6d017e83202dfe86618e91fa57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72a0250435fc194b1189241d4a47254d" id="r_a72a0250435fc194b1189241d4a47254d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a72a0250435fc194b1189241d4a47254d">SensorData</a> (const cv::Mat &amp;rgb, const cv::Mat &amp;depth, const cv::Mat &amp;depthConfidence, const std::vector&lt; <a class="el" href="classrtabmap_1_1CameraModel.html">CameraModel</a> &gt; &amp;<a class="el" href="classrtabmap_1_1SensorData.html#a6ace7b2b8ebae5f7ab18e159fe6e8a92">cameraModels</a>, int <a class="el" href="classrtabmap_1_1SensorData.html#a84fbcb16e51018d96065d3ce240650c6">id</a>=0, double <a class="el" href="classrtabmap_1_1SensorData.html#a566e5600bc0369f2f88ff0c597cefcfb">stamp</a>=0.0, const cv::Mat &amp;userData=cv::Mat())</td></tr>
<tr class="memdesc:a72a0250435fc194b1189241d4a47254d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multi-camera RGB-D constructor with depth confidence. <br /></td></tr>
<tr class="separator:a72a0250435fc194b1189241d4a47254d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada69a11125b0b3072add73a3a2f1b5f2" id="r_ada69a11125b0b3072add73a3a2f1b5f2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#ada69a11125b0b3072add73a3a2f1b5f2">SensorData</a> (const <a class="el" href="classrtabmap_1_1LaserScan.html">LaserScan</a> &amp;laserScan, const cv::Mat &amp;rgb, const cv::Mat &amp;depth, const std::vector&lt; <a class="el" href="classrtabmap_1_1CameraModel.html">CameraModel</a> &gt; &amp;<a class="el" href="classrtabmap_1_1SensorData.html#a6ace7b2b8ebae5f7ab18e159fe6e8a92">cameraModels</a>, int <a class="el" href="classrtabmap_1_1SensorData.html#a84fbcb16e51018d96065d3ce240650c6">id</a>=0, double <a class="el" href="classrtabmap_1_1SensorData.html#a566e5600bc0369f2f88ff0c597cefcfb">stamp</a>=0.0, const cv::Mat &amp;userData=cv::Mat())</td></tr>
<tr class="memdesc:ada69a11125b0b3072add73a3a2f1b5f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multi-camera RGB-D constructor with laser scan. <br /></td></tr>
<tr class="separator:ada69a11125b0b3072add73a3a2f1b5f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0370b88671bb41812c2d39fd0cfc3ce" id="r_ae0370b88671bb41812c2d39fd0cfc3ce"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#ae0370b88671bb41812c2d39fd0cfc3ce">SensorData</a> (const <a class="el" href="classrtabmap_1_1LaserScan.html">LaserScan</a> &amp;laserScan, const cv::Mat &amp;rgb, const cv::Mat &amp;depth, const cv::Mat &amp;depthConfidence, const std::vector&lt; <a class="el" href="classrtabmap_1_1CameraModel.html">CameraModel</a> &gt; &amp;<a class="el" href="classrtabmap_1_1SensorData.html#a6ace7b2b8ebae5f7ab18e159fe6e8a92">cameraModels</a>, int <a class="el" href="classrtabmap_1_1SensorData.html#a84fbcb16e51018d96065d3ce240650c6">id</a>=0, double <a class="el" href="classrtabmap_1_1SensorData.html#a566e5600bc0369f2f88ff0c597cefcfb">stamp</a>=0.0, const cv::Mat &amp;userData=cv::Mat())</td></tr>
<tr class="memdesc:ae0370b88671bb41812c2d39fd0cfc3ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multi-camera RGB-D constructor with depth confidence and laser scan. <br /></td></tr>
<tr class="separator:ae0370b88671bb41812c2d39fd0cfc3ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1534d36fee45c3df70679438ec9d00a3" id="r_a1534d36fee45c3df70679438ec9d00a3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a1534d36fee45c3df70679438ec9d00a3">SensorData</a> (const cv::Mat &amp;left, const cv::Mat &amp;right, const <a class="el" href="classrtabmap_1_1StereoCameraModel.html">StereoCameraModel</a> &amp;cameraModel, int <a class="el" href="classrtabmap_1_1SensorData.html#a84fbcb16e51018d96065d3ce240650c6">id</a>=0, double <a class="el" href="classrtabmap_1_1SensorData.html#a566e5600bc0369f2f88ff0c597cefcfb">stamp</a>=0.0, const cv::Mat &amp;userData=cv::Mat())</td></tr>
<tr class="memdesc:a1534d36fee45c3df70679438ec9d00a3"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classrtabmap_1_1Stereo.html" title="Sparse stereo matching using block matching.">Stereo</a> camera constructor. <br /></td></tr>
<tr class="separator:a1534d36fee45c3df70679438ec9d00a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abdd07b6e248e165959468bb31897bc20" id="r_abdd07b6e248e165959468bb31897bc20"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#abdd07b6e248e165959468bb31897bc20">SensorData</a> (const <a class="el" href="classrtabmap_1_1LaserScan.html">LaserScan</a> &amp;laserScan, const cv::Mat &amp;left, const cv::Mat &amp;right, const <a class="el" href="classrtabmap_1_1StereoCameraModel.html">StereoCameraModel</a> &amp;cameraModel, int <a class="el" href="classrtabmap_1_1SensorData.html#a84fbcb16e51018d96065d3ce240650c6">id</a>=0, double <a class="el" href="classrtabmap_1_1SensorData.html#a566e5600bc0369f2f88ff0c597cefcfb">stamp</a>=0.0, const cv::Mat &amp;userData=cv::Mat())</td></tr>
<tr class="memdesc:abdd07b6e248e165959468bb31897bc20"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classrtabmap_1_1Stereo.html" title="Sparse stereo matching using block matching.">Stereo</a> camera constructor with laser scan. <br /></td></tr>
<tr class="separator:abdd07b6e248e165959468bb31897bc20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ccaccf892f950b0caa03c07de3eab98" id="r_a6ccaccf892f950b0caa03c07de3eab98"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a6ccaccf892f950b0caa03c07de3eab98">SensorData</a> (const cv::Mat &amp;rgb, const cv::Mat &amp;depth, const std::vector&lt; <a class="el" href="classrtabmap_1_1StereoCameraModel.html">StereoCameraModel</a> &gt; &amp;<a class="el" href="classrtabmap_1_1SensorData.html#a6ace7b2b8ebae5f7ab18e159fe6e8a92">cameraModels</a>, int <a class="el" href="classrtabmap_1_1SensorData.html#a84fbcb16e51018d96065d3ce240650c6">id</a>=0, double <a class="el" href="classrtabmap_1_1SensorData.html#a566e5600bc0369f2f88ff0c597cefcfb">stamp</a>=0.0, const cv::Mat &amp;userData=cv::Mat())</td></tr>
<tr class="memdesc:a6ccaccf892f950b0caa03c07de3eab98"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multi-camera stereo constructor. <br /></td></tr>
<tr class="separator:a6ccaccf892f950b0caa03c07de3eab98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad34a0a4ca3eac4a1c91fb7fb5068fb04" id="r_ad34a0a4ca3eac4a1c91fb7fb5068fb04"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#ad34a0a4ca3eac4a1c91fb7fb5068fb04">SensorData</a> (const <a class="el" href="classrtabmap_1_1LaserScan.html">LaserScan</a> &amp;laserScan, const cv::Mat &amp;rgb, const cv::Mat &amp;depth, const std::vector&lt; <a class="el" href="classrtabmap_1_1StereoCameraModel.html">StereoCameraModel</a> &gt; &amp;<a class="el" href="classrtabmap_1_1SensorData.html#a6ace7b2b8ebae5f7ab18e159fe6e8a92">cameraModels</a>, int <a class="el" href="classrtabmap_1_1SensorData.html#a84fbcb16e51018d96065d3ce240650c6">id</a>=0, double <a class="el" href="classrtabmap_1_1SensorData.html#a566e5600bc0369f2f88ff0c597cefcfb">stamp</a>=0.0, const cv::Mat &amp;userData=cv::Mat())</td></tr>
<tr class="memdesc:ad34a0a4ca3eac4a1c91fb7fb5068fb04"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multi-camera stereo constructor with laser scan. <br /></td></tr>
<tr class="separator:ad34a0a4ca3eac4a1c91fb7fb5068fb04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25efb0e7904a3daa7f4ee7cd814a24ff" id="r_a25efb0e7904a3daa7f4ee7cd814a24ff"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a25efb0e7904a3daa7f4ee7cd814a24ff">SensorData</a> (const <a class="el" href="classrtabmap_1_1IMU.html">IMU</a> &amp;<a class="el" href="classrtabmap_1_1SensorData.html#a056056de80edf1bc20505fd992cdc6e7">imu</a>, int <a class="el" href="classrtabmap_1_1SensorData.html#a84fbcb16e51018d96065d3ce240650c6">id</a>=0, double <a class="el" href="classrtabmap_1_1SensorData.html#a566e5600bc0369f2f88ff0c597cefcfb">stamp</a>=0.0)</td></tr>
<tr class="memdesc:a25efb0e7904a3daa7f4ee7cd814a24ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">IMU-only constructor. <br /></td></tr>
<tr class="separator:a25efb0e7904a3daa7f4ee7cd814a24ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94f4e8970ae34d652100dce131cc9e44" id="r_a94f4e8970ae34d652100dce131cc9e44"><td class="memItemLeft" align="right" valign="top"><a id="a94f4e8970ae34d652100dce131cc9e44" name="a94f4e8970ae34d652100dce131cc9e44"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><b>~SensorData</b> ()</td></tr>
<tr class="memdesc:a94f4e8970ae34d652100dce131cc9e44"><td class="mdescLeft">&#160;</td><td class="mdescRight">Virtual destructor. <br /></td></tr>
<tr class="separator:a94f4e8970ae34d652100dce131cc9e44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad620676ab1a971846ab80ef646aa5882" id="r_ad620676ab1a971846ab80ef646aa5882"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#ad620676ab1a971846ab80ef646aa5882">isValid</a> () const</td></tr>
<tr class="memdesc:ad620676ab1a971846ab80ef646aa5882"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if the sensor data is valid. <br /></td></tr>
<tr class="separator:ad620676ab1a971846ab80ef646aa5882"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84fbcb16e51018d96065d3ce240650c6" id="r_a84fbcb16e51018d96065d3ce240650c6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a84fbcb16e51018d96065d3ce240650c6">id</a> () const</td></tr>
<tr class="memdesc:a84fbcb16e51018d96065d3ce240650c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the sensor data ID. <br /></td></tr>
<tr class="separator:a84fbcb16e51018d96065d3ce240650c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d0f4615a747eaef142b51a1ab1e5527" id="r_a4d0f4615a747eaef142b51a1ab1e5527"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a4d0f4615a747eaef142b51a1ab1e5527">setId</a> (int <a class="el" href="classrtabmap_1_1SensorData.html#a84fbcb16e51018d96065d3ce240650c6">id</a>)</td></tr>
<tr class="memdesc:a4d0f4615a747eaef142b51a1ab1e5527"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the sensor data ID. <br /></td></tr>
<tr class="separator:a4d0f4615a747eaef142b51a1ab1e5527"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a566e5600bc0369f2f88ff0c597cefcfb" id="r_a566e5600bc0369f2f88ff0c597cefcfb"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a566e5600bc0369f2f88ff0c597cefcfb">stamp</a> () const</td></tr>
<tr class="memdesc:a566e5600bc0369f2f88ff0c597cefcfb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the timestamp. <br /></td></tr>
<tr class="separator:a566e5600bc0369f2f88ff0c597cefcfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c0844e94d3fff50a8bfec2decf2f94c" id="r_a5c0844e94d3fff50a8bfec2decf2f94c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a5c0844e94d3fff50a8bfec2decf2f94c">setStamp</a> (double <a class="el" href="classrtabmap_1_1SensorData.html#a566e5600bc0369f2f88ff0c597cefcfb">stamp</a>)</td></tr>
<tr class="memdesc:a5c0844e94d3fff50a8bfec2decf2f94c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the timestamp. <br /></td></tr>
<tr class="separator:a5c0844e94d3fff50a8bfec2decf2f94c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aafcc6b483798b7a99fafa8f929db1029" id="r_aafcc6b483798b7a99fafa8f929db1029"><td class="memItemLeft" align="right" valign="top">const cv::Mat &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#aafcc6b483798b7a99fafa8f929db1029">imageCompressed</a> () const</td></tr>
<tr class="memdesc:aafcc6b483798b7a99fafa8f929db1029"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the compressed RGB/grayscale image. <br /></td></tr>
<tr class="separator:aafcc6b483798b7a99fafa8f929db1029"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85b36ca12b0936a99d61b768908097da" id="r_a85b36ca12b0936a99d61b768908097da"><td class="memItemLeft" align="right" valign="top">const cv::Mat &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a85b36ca12b0936a99d61b768908097da">depthOrRightCompressed</a> () const</td></tr>
<tr class="memdesc:a85b36ca12b0936a99d61b768908097da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the compressed depth or right stereo image. <br /></td></tr>
<tr class="separator:a85b36ca12b0936a99d61b768908097da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aebbab80906082f6e35ce5731fa67ca26" id="r_aebbab80906082f6e35ce5731fa67ca26"><td class="memItemLeft" align="right" valign="top">const cv::Mat &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#aebbab80906082f6e35ce5731fa67ca26">depthConfidenceCompressed</a> () const</td></tr>
<tr class="memdesc:aebbab80906082f6e35ce5731fa67ca26"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the compressed depth confidence map. <br /></td></tr>
<tr class="separator:aebbab80906082f6e35ce5731fa67ca26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1522af81a95c27b76e316919df95a869" id="r_a1522af81a95c27b76e316919df95a869"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classrtabmap_1_1LaserScan.html">LaserScan</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a1522af81a95c27b76e316919df95a869">laserScanCompressed</a> () const</td></tr>
<tr class="memdesc:a1522af81a95c27b76e316919df95a869"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the compressed laser scan. <br /></td></tr>
<tr class="separator:a1522af81a95c27b76e316919df95a869"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9e44401d0d6faee8fcb801090936fef" id="r_ae9e44401d0d6faee8fcb801090936fef"><td class="memItemLeft" align="right" valign="top">const cv::Mat &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#ae9e44401d0d6faee8fcb801090936fef">imageRaw</a> () const</td></tr>
<tr class="memdesc:ae9e44401d0d6faee8fcb801090936fef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the raw RGB/grayscale image. <br /></td></tr>
<tr class="separator:ae9e44401d0d6faee8fcb801090936fef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2476c59283ef2e24d7a3f10301433327" id="r_a2476c59283ef2e24d7a3f10301433327"><td class="memItemLeft" align="right" valign="top">const cv::Mat &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a2476c59283ef2e24d7a3f10301433327">depthOrRightRaw</a> () const</td></tr>
<tr class="memdesc:a2476c59283ef2e24d7a3f10301433327"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the raw depth or right stereo image. <br /></td></tr>
<tr class="separator:a2476c59283ef2e24d7a3f10301433327"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0cfb7cee085b7959c9ddf1d7854ed910" id="r_a0cfb7cee085b7959c9ddf1d7854ed910"><td class="memItemLeft" align="right" valign="top">const cv::Mat &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a0cfb7cee085b7959c9ddf1d7854ed910">depthConfidenceRaw</a> () const</td></tr>
<tr class="memdesc:a0cfb7cee085b7959c9ddf1d7854ed910"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the raw depth confidence map. <br /></td></tr>
<tr class="separator:a0cfb7cee085b7959c9ddf1d7854ed910"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeebafe56f302f9e8e4f06c5ad750248d" id="r_aeebafe56f302f9e8e4f06c5ad750248d"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classrtabmap_1_1LaserScan.html">LaserScan</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#aeebafe56f302f9e8e4f06c5ad750248d">laserScanRaw</a> () const</td></tr>
<tr class="memdesc:aeebafe56f302f9e8e4f06c5ad750248d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the raw laser scan. <br /></td></tr>
<tr class="separator:aeebafe56f302f9e8e4f06c5ad750248d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a203770ef217dfdc67b98ca593b2cab24" id="r_a203770ef217dfdc67b98ca593b2cab24"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a203770ef217dfdc67b98ca593b2cab24">setRGBDImage</a> (const cv::Mat &amp;rgb, const cv::Mat &amp;depth, const <a class="el" href="classrtabmap_1_1CameraModel.html">CameraModel</a> &amp;model, bool clearPreviousData=true)</td></tr>
<tr class="separator:a203770ef217dfdc67b98ca593b2cab24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66d32a9307e8197767ab7147f598643e" id="r_a66d32a9307e8197767ab7147f598643e"><td class="memItemLeft" align="right" valign="top"><a id="a66d32a9307e8197767ab7147f598643e" name="a66d32a9307e8197767ab7147f598643e"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>setRGBDImage</b> (const cv::Mat &amp;rgb, const cv::Mat &amp;depth, const cv::Mat &amp;depth_confidence, const <a class="el" href="classrtabmap_1_1CameraModel.html">CameraModel</a> &amp;model, bool clearPreviousData=true)</td></tr>
<tr class="separator:a66d32a9307e8197767ab7147f598643e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07c24fa6c4f4431ff82f565cc06d9034" id="r_a07c24fa6c4f4431ff82f565cc06d9034"><td class="memItemLeft" align="right" valign="top"><a id="a07c24fa6c4f4431ff82f565cc06d9034" name="a07c24fa6c4f4431ff82f565cc06d9034"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>setRGBDImage</b> (const cv::Mat &amp;rgb, const cv::Mat &amp;depth, const std::vector&lt; <a class="el" href="classrtabmap_1_1CameraModel.html">CameraModel</a> &gt; &amp;models, bool clearPreviousData=true)</td></tr>
<tr class="separator:a07c24fa6c4f4431ff82f565cc06d9034"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ac84e0890d217f1cca30cd6489edd3a" id="r_a9ac84e0890d217f1cca30cd6489edd3a"><td class="memItemLeft" align="right" valign="top"><a id="a9ac84e0890d217f1cca30cd6489edd3a" name="a9ac84e0890d217f1cca30cd6489edd3a"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>setRGBDImage</b> (const cv::Mat &amp;rgb, const cv::Mat &amp;depth, const cv::Mat &amp;depth_confidence, const std::vector&lt; <a class="el" href="classrtabmap_1_1CameraModel.html">CameraModel</a> &gt; &amp;models, bool clearPreviousData=true)</td></tr>
<tr class="separator:a9ac84e0890d217f1cca30cd6489edd3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc1a18323c0b6254a56f9c383a9f6f42" id="r_adc1a18323c0b6254a56f9c383a9f6f42"><td class="memItemLeft" align="right" valign="top"><a id="adc1a18323c0b6254a56f9c383a9f6f42" name="adc1a18323c0b6254a56f9c383a9f6f42"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>setStereoImage</b> (const cv::Mat &amp;left, const cv::Mat &amp;right, const <a class="el" href="classrtabmap_1_1StereoCameraModel.html">StereoCameraModel</a> &amp;stereoCameraModel, bool clearPreviousData=true)</td></tr>
<tr class="separator:adc1a18323c0b6254a56f9c383a9f6f42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32bc703d97b33c7a764a64d00f722549" id="r_a32bc703d97b33c7a764a64d00f722549"><td class="memItemLeft" align="right" valign="top"><a id="a32bc703d97b33c7a764a64d00f722549" name="a32bc703d97b33c7a764a64d00f722549"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>setStereoImage</b> (const cv::Mat &amp;left, const cv::Mat &amp;right, const std::vector&lt; <a class="el" href="classrtabmap_1_1StereoCameraModel.html">StereoCameraModel</a> &gt; &amp;<a class="el" href="classrtabmap_1_1SensorData.html#ab02d686ac7ef8b389655e913768b4d87">stereoCameraModels</a>, bool clearPreviousData=true)</td></tr>
<tr class="separator:a32bc703d97b33c7a764a64d00f722549"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8fc1c848518793a1fe65c47a3ff729b0" id="r_a8fc1c848518793a1fe65c47a3ff729b0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a8fc1c848518793a1fe65c47a3ff729b0">setLaserScan</a> (const <a class="el" href="classrtabmap_1_1LaserScan.html">LaserScan</a> &amp;laserScan, bool clearPreviousData=true)</td></tr>
<tr class="separator:a8fc1c848518793a1fe65c47a3ff729b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8ae172220b7bfffeb09bb1eac60f28f" id="r_ad8ae172220b7bfffeb09bb1eac60f28f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#ad8ae172220b7bfffeb09bb1eac60f28f">setCameraModel</a> (const <a class="el" href="classrtabmap_1_1CameraModel.html">CameraModel</a> &amp;model)</td></tr>
<tr class="memdesc:ad8ae172220b7bfffeb09bb1eac60f28f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a single camera model (clears previous models) <br /></td></tr>
<tr class="separator:ad8ae172220b7bfffeb09bb1eac60f28f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af841bbc9ea6de17124f8c871fa5d0719" id="r_af841bbc9ea6de17124f8c871fa5d0719"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#af841bbc9ea6de17124f8c871fa5d0719">setCameraModels</a> (const std::vector&lt; <a class="el" href="classrtabmap_1_1CameraModel.html">CameraModel</a> &gt; &amp;models)</td></tr>
<tr class="memdesc:af841bbc9ea6de17124f8c871fa5d0719"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets multiple camera models. <br /></td></tr>
<tr class="separator:af841bbc9ea6de17124f8c871fa5d0719"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2f74509af5e3f56d1c4d5e31c0c6003" id="r_ab2f74509af5e3f56d1c4d5e31c0c6003"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#ab2f74509af5e3f56d1c4d5e31c0c6003">setStereoCameraModel</a> (const <a class="el" href="classrtabmap_1_1StereoCameraModel.html">StereoCameraModel</a> &amp;stereoCameraModel)</td></tr>
<tr class="memdesc:ab2f74509af5e3f56d1c4d5e31c0c6003"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a single stereo camera model (clears previous models) <br /></td></tr>
<tr class="separator:ab2f74509af5e3f56d1c4d5e31c0c6003"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4e6b5d917155b94d8b4b6242fe56c6e" id="r_ab4e6b5d917155b94d8b4b6242fe56c6e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#ab4e6b5d917155b94d8b4b6242fe56c6e">setStereoCameraModels</a> (const std::vector&lt; <a class="el" href="classrtabmap_1_1StereoCameraModel.html">StereoCameraModel</a> &gt; &amp;<a class="el" href="classrtabmap_1_1SensorData.html#ab02d686ac7ef8b389655e913768b4d87">stereoCameraModels</a>)</td></tr>
<tr class="memdesc:ab4e6b5d917155b94d8b4b6242fe56c6e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets multiple stereo camera models. <br /></td></tr>
<tr class="separator:ab4e6b5d917155b94d8b4b6242fe56c6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1970cd319999fb371873553b53b07d73" id="r_a1970cd319999fb371873553b53b07d73"><td class="memItemLeft" align="right" valign="top">cv::Mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a1970cd319999fb371873553b53b07d73">depthRaw</a> () const</td></tr>
<tr class="memdesc:a1970cd319999fb371873553b53b07d73"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the depth image (convenience method) <br /></td></tr>
<tr class="separator:a1970cd319999fb371873553b53b07d73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa7408cb13ea2cbe33438e007b80de30" id="r_aaa7408cb13ea2cbe33438e007b80de30"><td class="memItemLeft" align="right" valign="top">cv::Mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#aaa7408cb13ea2cbe33438e007b80de30">rightRaw</a> () const</td></tr>
<tr class="memdesc:aaa7408cb13ea2cbe33438e007b80de30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the right stereo image (convenience method) <br /></td></tr>
<tr class="separator:aaa7408cb13ea2cbe33438e007b80de30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aacd8d293def16eaadd85548c701b157b" id="r_aacd8d293def16eaadd85548c701b157b"><td class="memItemLeft" align="right" valign="top"><a id="aacd8d293def16eaadd85548c701b157b" name="aacd8d293def16eaadd85548c701b157b"></a>
RTABMAP_DEPRECATED void&#160;</td><td class="memItemRight" valign="bottom"><b>setImageRaw</b> (const cv::Mat &amp;image)</td></tr>
<tr class="separator:aacd8d293def16eaadd85548c701b157b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad6a80ddbb1545124c7c1de8cffcfb85" id="r_aad6a80ddbb1545124c7c1de8cffcfb85"><td class="memItemLeft" align="right" valign="top"><a id="aad6a80ddbb1545124c7c1de8cffcfb85" name="aad6a80ddbb1545124c7c1de8cffcfb85"></a>
RTABMAP_DEPRECATED void&#160;</td><td class="memItemRight" valign="bottom"><b>setDepthOrRightRaw</b> (const cv::Mat &amp;image)</td></tr>
<tr class="separator:aad6a80ddbb1545124c7c1de8cffcfb85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad882b4227b9fdb9c3a7419864952b9c3" id="r_ad882b4227b9fdb9c3a7419864952b9c3"><td class="memItemLeft" align="right" valign="top"><a id="ad882b4227b9fdb9c3a7419864952b9c3" name="ad882b4227b9fdb9c3a7419864952b9c3"></a>
RTABMAP_DEPRECATED void&#160;</td><td class="memItemRight" valign="bottom"><b>setLaserScanRaw</b> (const <a class="el" href="classrtabmap_1_1LaserScan.html">LaserScan</a> &amp;scan)</td></tr>
<tr class="separator:ad882b4227b9fdb9c3a7419864952b9c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ff963b42bb6b01b6a1b59eb3f2e44fe" id="r_a8ff963b42bb6b01b6a1b59eb3f2e44fe"><td class="memItemLeft" align="right" valign="top"><a id="a8ff963b42bb6b01b6a1b59eb3f2e44fe" name="a8ff963b42bb6b01b6a1b59eb3f2e44fe"></a>
RTABMAP_DEPRECATED void&#160;</td><td class="memItemRight" valign="bottom"><b>setUserDataRaw</b> (const cv::Mat &amp;data)</td></tr>
<tr class="separator:a8ff963b42bb6b01b6a1b59eb3f2e44fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa356c9d5e9e7ea55ccdbe99c215bcb52" id="r_aa356c9d5e9e7ea55ccdbe99c215bcb52"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#aa356c9d5e9e7ea55ccdbe99c215bcb52">uncompressData</a> ()</td></tr>
<tr class="memdesc:aa356c9d5e9e7ea55ccdbe99c215bcb52"><td class="mdescLeft">&#160;</td><td class="mdescRight">Uncompresses all compressed data in-place. <br /></td></tr>
<tr class="separator:aa356c9d5e9e7ea55ccdbe99c215bcb52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c3364f43f7c0a57261720408a088158" id="r_a8c3364f43f7c0a57261720408a088158"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a8c3364f43f7c0a57261720408a088158">uncompressData</a> (cv::Mat *<a class="el" href="classrtabmap_1_1SensorData.html#ae9e44401d0d6faee8fcb801090936fef">imageRaw</a>, cv::Mat *<a class="el" href="classrtabmap_1_1SensorData.html#a2476c59283ef2e24d7a3f10301433327">depthOrRightRaw</a>, <a class="el" href="classrtabmap_1_1LaserScan.html">LaserScan</a> *<a class="el" href="classrtabmap_1_1SensorData.html#aeebafe56f302f9e8e4f06c5ad750248d">laserScanRaw</a>=0, cv::Mat *userDataRaw=0, cv::Mat *groundCellsRaw=0, cv::Mat *obstacleCellsRaw=0, cv::Mat *emptyCellsRaw=0, cv::Mat *<a class="el" href="classrtabmap_1_1SensorData.html#a0cfb7cee085b7959c9ddf1d7854ed910">depthConfidenceRaw</a>=0)</td></tr>
<tr class="memdesc:a8c3364f43f7c0a57261720408a088158"><td class="mdescLeft">&#160;</td><td class="mdescRight">Uncompresses compressed data into provided output buffers. <br /></td></tr>
<tr class="separator:a8c3364f43f7c0a57261720408a088158"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e0be45871fa8dbce1c3cf727953358f" id="r_a2e0be45871fa8dbce1c3cf727953358f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a2e0be45871fa8dbce1c3cf727953358f">uncompressDataConst</a> (cv::Mat *<a class="el" href="classrtabmap_1_1SensorData.html#ae9e44401d0d6faee8fcb801090936fef">imageRaw</a>, cv::Mat *<a class="el" href="classrtabmap_1_1SensorData.html#a2476c59283ef2e24d7a3f10301433327">depthOrRightRaw</a>, <a class="el" href="classrtabmap_1_1LaserScan.html">LaserScan</a> *<a class="el" href="classrtabmap_1_1SensorData.html#aeebafe56f302f9e8e4f06c5ad750248d">laserScanRaw</a>=0, cv::Mat *userDataRaw=0, cv::Mat *groundCellsRaw=0, cv::Mat *obstacleCellsRaw=0, cv::Mat *emptyCellsRaw=0, cv::Mat *<a class="el" href="classrtabmap_1_1SensorData.html#a0cfb7cee085b7959c9ddf1d7854ed910">depthConfidenceRaw</a>=0) const</td></tr>
<tr class="memdesc:a2e0be45871fa8dbce1c3cf727953358f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Uncompresses compressed data into provided output buffers (const version) <br /></td></tr>
<tr class="separator:a2e0be45871fa8dbce1c3cf727953358f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ace7b2b8ebae5f7ab18e159fe6e8a92" id="r_a6ace7b2b8ebae5f7ab18e159fe6e8a92"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; <a class="el" href="classrtabmap_1_1CameraModel.html">CameraModel</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a6ace7b2b8ebae5f7ab18e159fe6e8a92">cameraModels</a> () const</td></tr>
<tr class="memdesc:a6ace7b2b8ebae5f7ab18e159fe6e8a92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the camera models. <br /></td></tr>
<tr class="separator:a6ace7b2b8ebae5f7ab18e159fe6e8a92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab02d686ac7ef8b389655e913768b4d87" id="r_ab02d686ac7ef8b389655e913768b4d87"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; <a class="el" href="classrtabmap_1_1StereoCameraModel.html">StereoCameraModel</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#ab02d686ac7ef8b389655e913768b4d87">stereoCameraModels</a> () const</td></tr>
<tr class="memdesc:ab02d686ac7ef8b389655e913768b4d87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the stereo camera models. <br /></td></tr>
<tr class="separator:ab02d686ac7ef8b389655e913768b4d87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:accb5f254667af3074993a073a4e1f072" id="r_accb5f254667af3074993a073a4e1f072"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#accb5f254667af3074993a073a4e1f072">setUserData</a> (const cv::Mat &amp;userData, bool clearPreviousData=true)</td></tr>
<tr class="separator:accb5f254667af3074993a073a4e1f072"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1504386e448b8665f90762d721ae66e7" id="r_a1504386e448b8665f90762d721ae66e7"><td class="memItemLeft" align="right" valign="top">const cv::Mat &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a1504386e448b8665f90762d721ae66e7">userDataRaw</a> () const</td></tr>
<tr class="separator:a1504386e448b8665f90762d721ae66e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5da4cb941955d4ddbb55d7bc4d5786ba" id="r_a5da4cb941955d4ddbb55d7bc4d5786ba"><td class="memItemLeft" align="right" valign="top">const cv::Mat &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a5da4cb941955d4ddbb55d7bc4d5786ba">userDataCompressed</a> () const</td></tr>
<tr class="separator:a5da4cb941955d4ddbb55d7bc4d5786ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c12949c62c65281bade9ffcc681462b" id="r_a5c12949c62c65281bade9ffcc681462b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a5c12949c62c65281bade9ffcc681462b">setOccupancyGrid</a> (const cv::Mat &amp;ground, const cv::Mat &amp;obstacles, const cv::Mat &amp;empty, float cellSize, const cv::Point3f &amp;viewPoint)</td></tr>
<tr class="memdesc:a5c12949c62c65281bade9ffcc681462b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets occupancy grid data. <br /></td></tr>
<tr class="separator:a5c12949c62c65281bade9ffcc681462b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2db9b9dbbe3d0943a47cdc4a5a9051d4" id="r_a2db9b9dbbe3d0943a47cdc4a5a9051d4"><td class="memItemLeft" align="right" valign="top">const cv::Mat &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a2db9b9dbbe3d0943a47cdc4a5a9051d4">gridGroundCellsRaw</a> () const</td></tr>
<tr class="memdesc:a2db9b9dbbe3d0943a47cdc4a5a9051d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns raw ground cells. <br /></td></tr>
<tr class="separator:a2db9b9dbbe3d0943a47cdc4a5a9051d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3c515b23322cd31c3fcbcb054588e43" id="r_ab3c515b23322cd31c3fcbcb054588e43"><td class="memItemLeft" align="right" valign="top">const cv::Mat &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#ab3c515b23322cd31c3fcbcb054588e43">gridGroundCellsCompressed</a> () const</td></tr>
<tr class="memdesc:ab3c515b23322cd31c3fcbcb054588e43"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns compressed ground cells. <br /></td></tr>
<tr class="separator:ab3c515b23322cd31c3fcbcb054588e43"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f2e804ebbcff5be648a43f0a41e9dfc" id="r_a0f2e804ebbcff5be648a43f0a41e9dfc"><td class="memItemLeft" align="right" valign="top">const cv::Mat &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a0f2e804ebbcff5be648a43f0a41e9dfc">gridObstacleCellsRaw</a> () const</td></tr>
<tr class="memdesc:a0f2e804ebbcff5be648a43f0a41e9dfc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns raw obstacle cells. <br /></td></tr>
<tr class="separator:a0f2e804ebbcff5be648a43f0a41e9dfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50b09c52de6c8c6a6a95ee08886845a0" id="r_a50b09c52de6c8c6a6a95ee08886845a0"><td class="memItemLeft" align="right" valign="top">const cv::Mat &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a50b09c52de6c8c6a6a95ee08886845a0">gridObstacleCellsCompressed</a> () const</td></tr>
<tr class="memdesc:a50b09c52de6c8c6a6a95ee08886845a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns compressed obstacle cells. <br /></td></tr>
<tr class="separator:a50b09c52de6c8c6a6a95ee08886845a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a490e96f3f1d16cc559b3a004e2ec4fbe" id="r_a490e96f3f1d16cc559b3a004e2ec4fbe"><td class="memItemLeft" align="right" valign="top">const cv::Mat &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a490e96f3f1d16cc559b3a004e2ec4fbe">gridEmptyCellsRaw</a> () const</td></tr>
<tr class="memdesc:a490e96f3f1d16cc559b3a004e2ec4fbe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns raw empty cells. <br /></td></tr>
<tr class="separator:a490e96f3f1d16cc559b3a004e2ec4fbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2bae4f0747795f778275102b4ebf1b3" id="r_ac2bae4f0747795f778275102b4ebf1b3"><td class="memItemLeft" align="right" valign="top">const cv::Mat &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#ac2bae4f0747795f778275102b4ebf1b3">gridEmptyCellsCompressed</a> () const</td></tr>
<tr class="memdesc:ac2bae4f0747795f778275102b4ebf1b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns compressed empty cells. <br /></td></tr>
<tr class="separator:ac2bae4f0747795f778275102b4ebf1b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a984ce55b6b75152a63441bd07288dc6c" id="r_a984ce55b6b75152a63441bd07288dc6c"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a984ce55b6b75152a63441bd07288dc6c">gridCellSize</a> () const</td></tr>
<tr class="memdesc:a984ce55b6b75152a63441bd07288dc6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the occupancy grid cell size. <br /></td></tr>
<tr class="separator:a984ce55b6b75152a63441bd07288dc6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51f21b98088ceec4c5d108d0fbe03200" id="r_a51f21b98088ceec4c5d108d0fbe03200"><td class="memItemLeft" align="right" valign="top">const cv::Point3f &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a51f21b98088ceec4c5d108d0fbe03200">gridViewPoint</a> () const</td></tr>
<tr class="memdesc:a51f21b98088ceec4c5d108d0fbe03200"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the occupancy grid viewpoint. <br /></td></tr>
<tr class="separator:a51f21b98088ceec4c5d108d0fbe03200"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad083f0a1e7769ff62183a0fa47279ae3" id="r_ad083f0a1e7769ff62183a0fa47279ae3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#ad083f0a1e7769ff62183a0fa47279ae3">setFeatures</a> (const std::vector&lt; cv::KeyPoint &gt; &amp;<a class="el" href="classrtabmap_1_1SensorData.html#afdc0db8c8176c4108e78e66df54b7d94">keypoints</a>, const std::vector&lt; cv::Point3f &gt; &amp;<a class="el" href="classrtabmap_1_1SensorData.html#ab17daf3d7c2cd1253306e6d5991549df">keypoints3D</a>, const cv::Mat &amp;<a class="el" href="classrtabmap_1_1SensorData.html#a5cf732793c05b16bb67f144524882b26">descriptors</a>)</td></tr>
<tr class="memdesc:ad083f0a1e7769ff62183a0fa47279ae3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets visual features (keypoints, 3D points, descriptors) <br /></td></tr>
<tr class="separator:ad083f0a1e7769ff62183a0fa47279ae3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afdc0db8c8176c4108e78e66df54b7d94" id="r_afdc0db8c8176c4108e78e66df54b7d94"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; cv::KeyPoint &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#afdc0db8c8176c4108e78e66df54b7d94">keypoints</a> () const</td></tr>
<tr class="memdesc:afdc0db8c8176c4108e78e66df54b7d94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the 2D keypoints. <br /></td></tr>
<tr class="separator:afdc0db8c8176c4108e78e66df54b7d94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab17daf3d7c2cd1253306e6d5991549df" id="r_ab17daf3d7c2cd1253306e6d5991549df"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; cv::Point3f &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#ab17daf3d7c2cd1253306e6d5991549df">keypoints3D</a> () const</td></tr>
<tr class="memdesc:ab17daf3d7c2cd1253306e6d5991549df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the 3D keypoints. <br /></td></tr>
<tr class="separator:ab17daf3d7c2cd1253306e6d5991549df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5cf732793c05b16bb67f144524882b26" id="r_a5cf732793c05b16bb67f144524882b26"><td class="memItemLeft" align="right" valign="top">const cv::Mat &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a5cf732793c05b16bb67f144524882b26">descriptors</a> () const</td></tr>
<tr class="memdesc:a5cf732793c05b16bb67f144524882b26"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the feature descriptors. <br /></td></tr>
<tr class="separator:a5cf732793c05b16bb67f144524882b26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc0ac26f01ad9f5185f80f8f09da252e" id="r_acc0ac26f01ad9f5185f80f8f09da252e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#acc0ac26f01ad9f5185f80f8f09da252e">addGlobalDescriptor</a> (const <a class="el" href="classrtabmap_1_1GlobalDescriptor.html">GlobalDescriptor</a> &amp;descriptor)</td></tr>
<tr class="memdesc:acc0ac26f01ad9f5185f80f8f09da252e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a global descriptor. <br /></td></tr>
<tr class="separator:acc0ac26f01ad9f5185f80f8f09da252e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6f18f2eb0340c8f6e800a695424bbbe" id="r_ab6f18f2eb0340c8f6e800a695424bbbe"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#ab6f18f2eb0340c8f6e800a695424bbbe">setGlobalDescriptors</a> (const std::vector&lt; <a class="el" href="classrtabmap_1_1GlobalDescriptor.html">GlobalDescriptor</a> &gt; &amp;<a class="el" href="classrtabmap_1_1SensorData.html#a5cf732793c05b16bb67f144524882b26">descriptors</a>)</td></tr>
<tr class="memdesc:ab6f18f2eb0340c8f6e800a695424bbbe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets all global descriptors. <br /></td></tr>
<tr class="separator:ab6f18f2eb0340c8f6e800a695424bbbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37c2569419731afc855a3ce984c11505" id="r_a37c2569419731afc855a3ce984c11505"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a37c2569419731afc855a3ce984c11505">clearGlobalDescriptors</a> ()</td></tr>
<tr class="memdesc:a37c2569419731afc855a3ce984c11505"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears all global descriptors. <br /></td></tr>
<tr class="separator:a37c2569419731afc855a3ce984c11505"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd46b940bac6e1d53ff2826be309b4c8" id="r_acd46b940bac6e1d53ff2826be309b4c8"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; <a class="el" href="classrtabmap_1_1GlobalDescriptor.html">GlobalDescriptor</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#acd46b940bac6e1d53ff2826be309b4c8">globalDescriptors</a> () const</td></tr>
<tr class="memdesc:acd46b940bac6e1d53ff2826be309b4c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns all global descriptors. <br /></td></tr>
<tr class="separator:acd46b940bac6e1d53ff2826be309b4c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7051ea8c13bafd7eaffb5f5a93064808" id="r_a7051ea8c13bafd7eaffb5f5a93064808"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a7051ea8c13bafd7eaffb5f5a93064808">setGroundTruth</a> (const <a class="el" href="classrtabmap_1_1Transform.html">Transform</a> &amp;pose)</td></tr>
<tr class="memdesc:a7051ea8c13bafd7eaffb5f5a93064808"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the ground truth pose. <br /></td></tr>
<tr class="separator:a7051ea8c13bafd7eaffb5f5a93064808"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef9e0c36efdc8915536c3bc082108689" id="r_aef9e0c36efdc8915536c3bc082108689"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classrtabmap_1_1Transform.html">Transform</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#aef9e0c36efdc8915536c3bc082108689">groundTruth</a> () const</td></tr>
<tr class="memdesc:aef9e0c36efdc8915536c3bc082108689"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the ground truth pose. <br /></td></tr>
<tr class="separator:aef9e0c36efdc8915536c3bc082108689"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72f0ce5a2989f478149f5cf2d5a36556" id="r_a72f0ce5a2989f478149f5cf2d5a36556"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a72f0ce5a2989f478149f5cf2d5a36556">setGlobalPose</a> (const <a class="el" href="classrtabmap_1_1Transform.html">Transform</a> &amp;pose, const cv::Mat &amp;covariance)</td></tr>
<tr class="memdesc:a72f0ce5a2989f478149f5cf2d5a36556"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the global pose with covariance. <br /></td></tr>
<tr class="separator:a72f0ce5a2989f478149f5cf2d5a36556"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55e6ca21bfd11b7afb375451a2a77b87" id="r_a55e6ca21bfd11b7afb375451a2a77b87"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classrtabmap_1_1Transform.html">Transform</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a55e6ca21bfd11b7afb375451a2a77b87">globalPose</a> () const</td></tr>
<tr class="memdesc:a55e6ca21bfd11b7afb375451a2a77b87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the global pose. <br /></td></tr>
<tr class="separator:a55e6ca21bfd11b7afb375451a2a77b87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a569af71e8757105dc040251a3805fe97" id="r_a569af71e8757105dc040251a3805fe97"><td class="memItemLeft" align="right" valign="top">const cv::Mat &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a569af71e8757105dc040251a3805fe97">globalPoseCovariance</a> () const</td></tr>
<tr class="memdesc:a569af71e8757105dc040251a3805fe97"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the global pose covariance. <br /></td></tr>
<tr class="separator:a569af71e8757105dc040251a3805fe97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad09e3e0fc1f60d233d81288a4cf8f56a" id="r_ad09e3e0fc1f60d233d81288a4cf8f56a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#ad09e3e0fc1f60d233d81288a4cf8f56a">setGPS</a> (const <a class="el" href="classrtabmap_1_1GPS.html">GPS</a> &amp;<a class="el" href="classrtabmap_1_1SensorData.html#a176b8160afc549fc6eaa2d0567c12957">gps</a>)</td></tr>
<tr class="memdesc:ad09e3e0fc1f60d233d81288a4cf8f56a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets <a class="el" href="classrtabmap_1_1GPS.html" title="WGS84 GPS fix attached to a sensor sample or graph node.">GPS</a> data. <br /></td></tr>
<tr class="separator:ad09e3e0fc1f60d233d81288a4cf8f56a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a176b8160afc549fc6eaa2d0567c12957" id="r_a176b8160afc549fc6eaa2d0567c12957"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classrtabmap_1_1GPS.html">GPS</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a176b8160afc549fc6eaa2d0567c12957">gps</a> () const</td></tr>
<tr class="memdesc:a176b8160afc549fc6eaa2d0567c12957"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns <a class="el" href="classrtabmap_1_1GPS.html" title="WGS84 GPS fix attached to a sensor sample or graph node.">GPS</a> data. <br /></td></tr>
<tr class="separator:a176b8160afc549fc6eaa2d0567c12957"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2297bfc9d81c077852d8f832231ba139" id="r_a2297bfc9d81c077852d8f832231ba139"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a2297bfc9d81c077852d8f832231ba139">setIMU</a> (const <a class="el" href="classrtabmap_1_1IMU.html">IMU</a> &amp;<a class="el" href="classrtabmap_1_1SensorData.html#a056056de80edf1bc20505fd992cdc6e7">imu</a>)</td></tr>
<tr class="memdesc:a2297bfc9d81c077852d8f832231ba139"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets <a class="el" href="classrtabmap_1_1IMU.html" title="Inertial measurement sample (ROS sensor_msgs/Imu-like fields).">IMU</a> data. <br /></td></tr>
<tr class="separator:a2297bfc9d81c077852d8f832231ba139"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a056056de80edf1bc20505fd992cdc6e7" id="r_a056056de80edf1bc20505fd992cdc6e7"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classrtabmap_1_1IMU.html">IMU</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a056056de80edf1bc20505fd992cdc6e7">imu</a> () const</td></tr>
<tr class="memdesc:a056056de80edf1bc20505fd992cdc6e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns <a class="el" href="classrtabmap_1_1IMU.html" title="Inertial measurement sample (ROS sensor_msgs/Imu-like fields).">IMU</a> data. <br /></td></tr>
<tr class="separator:a056056de80edf1bc20505fd992cdc6e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3a5ebf180d5f2f106877b78aee6d1d1" id="r_ab3a5ebf180d5f2f106877b78aee6d1d1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#ab3a5ebf180d5f2f106877b78aee6d1d1">setEnvSensors</a> (const <a class="el" href="namespacertabmap.html#ac175ef40b7a4acb632232d3d96a1199a">EnvSensors</a> &amp;sensors)</td></tr>
<tr class="memdesc:ab3a5ebf180d5f2f106877b78aee6d1d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets all environmental sensors. <br /></td></tr>
<tr class="separator:ab3a5ebf180d5f2f106877b78aee6d1d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1006dbcfb640b599f0587af3b0ba46ae" id="r_a1006dbcfb640b599f0587af3b0ba46ae"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a1006dbcfb640b599f0587af3b0ba46ae">addEnvSensor</a> (const <a class="el" href="classrtabmap_1_1EnvSensor.html">EnvSensor</a> &amp;sensor)</td></tr>
<tr class="memdesc:a1006dbcfb640b599f0587af3b0ba46ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a single environmental sensor. <br /></td></tr>
<tr class="separator:a1006dbcfb640b599f0587af3b0ba46ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4cce095c69f9fa8f0035c9f2f51c0ff9" id="r_a4cce095c69f9fa8f0035c9f2f51c0ff9"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespacertabmap.html#ac175ef40b7a4acb632232d3d96a1199a">EnvSensors</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a4cce095c69f9fa8f0035c9f2f51c0ff9">envSensors</a> () const</td></tr>
<tr class="memdesc:a4cce095c69f9fa8f0035c9f2f51c0ff9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns all environmental sensors. <br /></td></tr>
<tr class="separator:a4cce095c69f9fa8f0035c9f2f51c0ff9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0873bbd79209dca371792e94e020e14" id="r_af0873bbd79209dca371792e94e020e14"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#af0873bbd79209dca371792e94e020e14">setLandmarks</a> (const <a class="el" href="namespacertabmap.html#a12bbfd3e37121bf9f68a4047c8b4da86">Landmarks</a> &amp;<a class="el" href="classrtabmap_1_1SensorData.html#a73ba0bb1cb31a3438b3ffee161b16ff8">landmarks</a>)</td></tr>
<tr class="memdesc:af0873bbd79209dca371792e94e020e14"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets landmarks. <br /></td></tr>
<tr class="separator:af0873bbd79209dca371792e94e020e14"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73ba0bb1cb31a3438b3ffee161b16ff8" id="r_a73ba0bb1cb31a3438b3ffee161b16ff8"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespacertabmap.html#a12bbfd3e37121bf9f68a4047c8b4da86">Landmarks</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a73ba0bb1cb31a3438b3ffee161b16ff8">landmarks</a> () const</td></tr>
<tr class="memdesc:a73ba0bb1cb31a3438b3ffee161b16ff8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns landmarks. <br /></td></tr>
<tr class="separator:a73ba0bb1cb31a3438b3ffee161b16ff8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60b3b2366bb66c914cfa7799204828fc" id="r_a60b3b2366bb66c914cfa7799204828fc"><td class="memItemLeft" align="right" valign="top">unsigned long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a60b3b2366bb66c914cfa7799204828fc">getMemoryUsed</a> () const</td></tr>
<tr class="memdesc:a60b3b2366bb66c914cfa7799204828fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the memory usage of this sensor data. <br /></td></tr>
<tr class="separator:a60b3b2366bb66c914cfa7799204828fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33244e8049bfae5bea9ecf80057bcd29" id="r_a33244e8049bfae5bea9ecf80057bcd29"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a33244e8049bfae5bea9ecf80057bcd29">clearCompressedData</a> (bool images=true, bool scan=true, bool userData=true, bool occupancyGrid=true)</td></tr>
<tr class="separator:a33244e8049bfae5bea9ecf80057bcd29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53040403970a08a677e69d824a31f7b2" id="r_a53040403970a08a677e69d824a31f7b2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a53040403970a08a677e69d824a31f7b2">clearRawData</a> (bool images=true, bool scan=true, bool userData=true, bool occupancyGrid=true)</td></tr>
<tr class="separator:a53040403970a08a677e69d824a31f7b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30f069ee8ffa263ec2c18bc714713e03" id="r_a30f069ee8ffa263ec2c18bc714713e03"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorData.html#a30f069ee8ffa263ec2c18bc714713e03">isPointVisibleFromCameras</a> (const cv::Point3f &amp;pt) const</td></tr>
<tr class="memdesc:a30f069ee8ffa263ec2c18bc714713e03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if a 3D point is visible from any camera. <br /></td></tr>
<tr class="separator:a30f069ee8ffa263ec2c18bc714713e03"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Container class for all sensor data captured at a specific time. </p>
<p><a class="el" href="classrtabmap_1_1SensorData.html" title="Container class for all sensor data captured at a specific time.">SensorData</a> is a comprehensive container class that holds all types of sensor data captured at a specific timestamp, including:</p>
<ul>
<li><b>Visual data</b>: RGB images, depth images, stereo image pairs (left/right)</li>
<li><b>3D data</b>: Laser scans, 3D point clouds</li>
<li><b><a class="el" href="classrtabmap_1_1Camera.html">Camera</a> models</b>: Mono camera models, stereo camera models (single or multiple)</li>
<li><b>Features</b>: Keypoints, 3D keypoints, descriptors</li>
<li><b>Global descriptors</b>: Scene-level descriptors for place recognition</li>
<li><b>Sensor fusion</b>: <a class="el" href="classrtabmap_1_1IMU.html" title="Inertial measurement sample (ROS sensor_msgs/Imu-like fields).">IMU</a> data, <a class="el" href="classrtabmap_1_1GPS.html" title="WGS84 GPS fix attached to a sensor sample or graph node.">GPS</a> data, environmental sensors</li>
<li><b>Metadata</b>: Ground truth poses, global poses with covariance, landmarks</li>
<li><b>User data</b>: Custom data matrices</li>
<li><b>Occupancy grids</b>: Ground, obstacle, and empty cells</li>
</ul>
<p>The class supports both <b>raw</b> and <b>compressed</b> data formats:</p><ul>
<li>Raw data: Uncompressed images, depth maps, laser scans</li>
<li>Compressed data: JPEG-compressed images, compressed depth, compressed scans</li>
</ul>
<p>Data compression is automatically detected when setting data:</p><ul>
<li>A matrix of type <code>CV_8UC1</code> with 1 row is considered compressed</li>
<li>Use <code><a class="el" href="classrtabmap_1_1SensorData.html#aa356c9d5e9e7ea55ccdbe99c215bcb52" title="Uncompresses all compressed data in-place.">uncompressData()</a></code> to decompress compressed data</li>
</ul>
<p>The class supports multiple sensor configurations:</p><ul>
<li><b>Appearance-only</b>: Single RGB image</li>
<li><b>Mono</b>: RGB image with camera model</li>
<li><b>RGB-D</b>: RGB + depth with camera model(s)</li>
<li><b><a class="el" href="classrtabmap_1_1Stereo.html" title="Sparse stereo matching using block matching.">Stereo</a></b>: Left + right images with stereo camera model(s)</li>
<li><b>IMU-only</b>: <a class="el" href="classrtabmap_1_1IMU.html" title="Inertial measurement sample (ROS sensor_msgs/Imu-like fields).">IMU</a> data without images</li>
<li><b>Multi-camera</b>: Multiple camera models (RGB-D or stereo)</li>
<li><b>Combined</b>: Any combination with laser scans, <a class="el" href="classrtabmap_1_1IMU.html" title="Inertial measurement sample (ROS sensor_msgs/Imu-like fields).">IMU</a>, <a class="el" href="classrtabmap_1_1GPS.html" title="WGS84 GPS fix attached to a sensor sample or graph node.">GPS</a>, etc.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>If <code>id=0</code> is provided to constructors, an ID is automatically generated. </dd>
<dd>
The class manages memory efficiently by storing either raw or compressed data (or both), allowing for memory optimization in large datasets.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classrtabmap_1_1CameraModel.html" title="Represents a pinhole camera model containing intrinsic and extrinsic parameters, used for projection,...">CameraModel</a> </dd>
<dd>
<a class="el" href="classrtabmap_1_1StereoCameraModel.html" title="A class representing a calibrated stereo camera system.">StereoCameraModel</a> </dd>
<dd>
<a class="el" href="classrtabmap_1_1LaserScan.html" title="Represents 2D or 3D laser scan data with support for multiple point data formats.">LaserScan</a> </dd>
<dd>
<a class="el" href="classrtabmap_1_1IMU.html" title="Inertial measurement sample (ROS sensor_msgs/Imu-like fields).">IMU</a> </dd>
<dd>
<a class="el" href="classrtabmap_1_1GPS.html" title="WGS84 GPS fix attached to a sensor sample or graph node.">GPS</a> </dd>
<dd>
<a class="el" href="classrtabmap_1_1SensorEvent.html" title="Event class for sensor data communication in RTAB-Map&#39;s event system.">SensorEvent</a> </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00096">96</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a941f907890fe9e0e9becec0a665581cd" name="a941f907890fe9e0e9becec0a665581cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a941f907890fe9e0e9becec0a665581cd">&#9670;&#160;</a></span>SensorData() <span class="overload">[1/16]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">rtabmap::SensorData::SensorData </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Default constructor. </p>
<p>Creates an empty <a class="el" href="classrtabmap_1_1SensorData.html" title="Container class for all sensor data captured at a specific time.">SensorData</a> object with all fields initialized to default values. The ID will be 0 (invalid), and no sensor data will be present. </p>
</div>
</div>
<a id="ab6201ea27482207308f000bd4cc90081" name="ab6201ea27482207308f000bd4cc90081"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab6201ea27482207308f000bd4cc90081">&#9670;&#160;</a></span>SensorData() <span class="overload">[2/16]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">rtabmap::SensorData::SensorData </td>
<td>(</td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>image</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>id</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>stamp</em> = <code>0.0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>userData</em> = <code>cv::Mat()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Appearance-only constructor. </p>
<p>Creates a <a class="el" href="classrtabmap_1_1SensorData.html" title="Container class for all sensor data captured at a specific time.">SensorData</a> object with a single RGB or grayscale image. No camera model is provided, so this is suitable for appearance-based place recognition without 3D reconstruction.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">image</td><td>RGB or grayscale image (CV_8UC1 or CV_8UC3) </td></tr>
<tr><td class="paramname">id</td><td>Sensor data ID (0 to auto-generate) </td></tr>
<tr><td class="paramname">stamp</td><td>Timestamp in seconds </td></tr>
<tr><td class="paramname">userData</td><td>Optional user-defined data matrix </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a14f7a5c64b5d27842cb654e247d1fd20" name="a14f7a5c64b5d27842cb654e247d1fd20"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a14f7a5c64b5d27842cb654e247d1fd20">&#9670;&#160;</a></span>SensorData() <span class="overload">[3/16]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">rtabmap::SensorData::SensorData </td>
<td>(</td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>image</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classrtabmap_1_1CameraModel.html">CameraModel</a> &amp;&#160;</td>
<td class="paramname"><em>cameraModel</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>id</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>stamp</em> = <code>0.0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>userData</em> = <code>cv::Mat()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Mono camera constructor. </p>
<p>Creates a <a class="el" href="classrtabmap_1_1SensorData.html" title="Container class for all sensor data captured at a specific time.">SensorData</a> object with a single RGB or grayscale image and a mono camera model for 3D projection.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">image</td><td>RGB or grayscale image (CV_8UC1 or CV_8UC3) </td></tr>
<tr><td class="paramname">cameraModel</td><td><a class="el" href="classrtabmap_1_1Camera.html">Camera</a> model for the image </td></tr>
<tr><td class="paramname">id</td><td>Sensor data ID (0 to auto-generate) </td></tr>
<tr><td class="paramname">stamp</td><td>Timestamp in seconds </td></tr>
<tr><td class="paramname">userData</td><td>Optional user-defined data matrix </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aead598774e0cb15375828a2965b3ab80" name="aead598774e0cb15375828a2965b3ab80"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aead598774e0cb15375828a2965b3ab80">&#9670;&#160;</a></span>SensorData() <span class="overload">[4/16]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">rtabmap::SensorData::SensorData </td>
<td>(</td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>rgb</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>depth</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classrtabmap_1_1CameraModel.html">CameraModel</a> &amp;&#160;</td>
<td class="paramname"><em>cameraModel</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>id</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>stamp</em> = <code>0.0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>userData</em> = <code>cv::Mat()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>RGB-D constructor. </p>
<p>Creates a <a class="el" href="classrtabmap_1_1SensorData.html" title="Container class for all sensor data captured at a specific time.">SensorData</a> object with RGB and depth images and a camera model.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">rgb</td><td>RGB or grayscale image (CV_8UC1 or CV_8UC3) </td></tr>
<tr><td class="paramname">depth</td><td>Depth image (CV_16UC1 for millimeters or CV_32FC1 for meters) </td></tr>
<tr><td class="paramname">cameraModel</td><td><a class="el" href="classrtabmap_1_1Camera.html">Camera</a> model for RGB-D projection </td></tr>
<tr><td class="paramname">id</td><td>Sensor data ID (0 to auto-generate) </td></tr>
<tr><td class="paramname">stamp</td><td>Timestamp in seconds </td></tr>
<tr><td class="paramname">userData</td><td>Optional user-defined data matrix </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a87424cc9915dababe9aa3bc418e85197" name="a87424cc9915dababe9aa3bc418e85197"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a87424cc9915dababe9aa3bc418e85197">&#9670;&#160;</a></span>SensorData() <span class="overload">[5/16]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">rtabmap::SensorData::SensorData </td>
<td>(</td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>rgb</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>depth</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>depth_confidence</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classrtabmap_1_1CameraModel.html">CameraModel</a> &amp;&#160;</td>
<td class="paramname"><em>cameraModel</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>id</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>stamp</em> = <code>0.0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>userData</em> = <code>cv::Mat()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>RGB-D constructor with depth confidence. </p>
<p>Creates a <a class="el" href="classrtabmap_1_1SensorData.html" title="Container class for all sensor data captured at a specific time.">SensorData</a> object with RGB, depth, and depth confidence images.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">rgb</td><td>RGB or grayscale image (CV_8UC1 or CV_8UC3) </td></tr>
<tr><td class="paramname">depth</td><td>Depth image (CV_16UC1 for millimeters or CV_32FC1 for meters) </td></tr>
<tr><td class="paramname">depth_confidence</td><td>Depth confidence map (CV_8UC1, typically 0-100) </td></tr>
<tr><td class="paramname">cameraModel</td><td><a class="el" href="classrtabmap_1_1Camera.html">Camera</a> model for RGB-D projection </td></tr>
<tr><td class="paramname">id</td><td>Sensor data ID (0 to auto-generate) </td></tr>
<tr><td class="paramname">stamp</td><td>Timestamp in seconds </td></tr>
<tr><td class="paramname">userData</td><td>Optional user-defined data matrix </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ac06b8207850c5412cc52f5f0e0e4ba7b" name="ac06b8207850c5412cc52f5f0e0e4ba7b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac06b8207850c5412cc52f5f0e0e4ba7b">&#9670;&#160;</a></span>SensorData() <span class="overload">[6/16]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">rtabmap::SensorData::SensorData </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classrtabmap_1_1LaserScan.html">LaserScan</a> &amp;&#160;</td>
<td class="paramname"><em>laserScan</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>rgb</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>depth</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classrtabmap_1_1CameraModel.html">CameraModel</a> &amp;&#160;</td>
<td class="paramname"><em>cameraModel</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>id</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>stamp</em> = <code>0.0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>userData</em> = <code>cv::Mat()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>RGB-D constructor with laser scan. </p>
<p>Creates a <a class="el" href="classrtabmap_1_1SensorData.html" title="Container class for all sensor data captured at a specific time.">SensorData</a> object with RGB, depth, camera model, and laser scan.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">laserScan</td><td>2D or 3D laser scan </td></tr>
<tr><td class="paramname">rgb</td><td>RGB or grayscale image (CV_8UC1 or CV_8UC3) </td></tr>
<tr><td class="paramname">depth</td><td>Depth image (CV_16UC1 for millimeters or CV_32FC1 for meters) </td></tr>
<tr><td class="paramname">cameraModel</td><td><a class="el" href="classrtabmap_1_1Camera.html">Camera</a> model for RGB-D projection </td></tr>
<tr><td class="paramname">id</td><td>Sensor data ID (0 to auto-generate) </td></tr>
<tr><td class="paramname">stamp</td><td>Timestamp in seconds </td></tr>
<tr><td class="paramname">userData</td><td>Optional user-defined data matrix </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a52b215e8d320bbcbd464e3b7181a077b" name="a52b215e8d320bbcbd464e3b7181a077b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a52b215e8d320bbcbd464e3b7181a077b">&#9670;&#160;</a></span>SensorData() <span class="overload">[7/16]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">rtabmap::SensorData::SensorData </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classrtabmap_1_1LaserScan.html">LaserScan</a> &amp;&#160;</td>
<td class="paramname"><em>laserScan</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>rgb</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>depth</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>depthConfidence</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classrtabmap_1_1CameraModel.html">CameraModel</a> &amp;&#160;</td>
<td class="paramname"><em>cameraModel</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>id</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>stamp</em> = <code>0.0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>userData</em> = <code>cv::Mat()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>RGB-D constructor with depth confidence and laser scan. </p>
<p>Creates a <a class="el" href="classrtabmap_1_1SensorData.html" title="Container class for all sensor data captured at a specific time.">SensorData</a> object with RGB, depth, depth confidence, camera model, and laser scan.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">laserScan</td><td>2D or 3D laser scan </td></tr>
<tr><td class="paramname">rgb</td><td>RGB or grayscale image (CV_8UC1 or CV_8UC3) </td></tr>
<tr><td class="paramname">depth</td><td>Depth image (CV_16UC1 for millimeters or CV_32FC1 for meters) </td></tr>
<tr><td class="paramname">depthConfidence</td><td>Depth confidence map (CV_8UC1) </td></tr>
<tr><td class="paramname">cameraModel</td><td><a class="el" href="classrtabmap_1_1Camera.html">Camera</a> model for RGB-D projection </td></tr>
<tr><td class="paramname">id</td><td>Sensor data ID (0 to auto-generate) </td></tr>
<tr><td class="paramname">stamp</td><td>Timestamp in seconds </td></tr>
<tr><td class="paramname">userData</td><td>Optional user-defined data matrix </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ae4498a6d017e83202dfe86618e91fa57" name="ae4498a6d017e83202dfe86618e91fa57"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae4498a6d017e83202dfe86618e91fa57">&#9670;&#160;</a></span>SensorData() <span class="overload">[8/16]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">rtabmap::SensorData::SensorData </td>
<td>(</td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>rgb</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>depth</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classrtabmap_1_1CameraModel.html">CameraModel</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>cameraModels</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>id</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>stamp</em> = <code>0.0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>userData</em> = <code>cv::Mat()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Multi-camera RGB-D constructor. </p>
<p>Creates a <a class="el" href="classrtabmap_1_1SensorData.html" title="Container class for all sensor data captured at a specific time.">SensorData</a> object with RGB, depth, and multiple camera models. <code>rgb</code> and <code>depth</code> images should contain stitched images from multiple cameras. All stitched images should have the same resolution.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">rgb</td><td>RGB or grayscale image (CV_8UC1 or CV_8UC3) </td></tr>
<tr><td class="paramname">depth</td><td>Depth image (CV_16UC1 for millimeters or CV_32FC1 for meters) </td></tr>
<tr><td class="paramname">cameraModels</td><td>Vector of camera models </td></tr>
<tr><td class="paramname">id</td><td>Sensor data ID (0 to auto-generate) </td></tr>
<tr><td class="paramname">stamp</td><td>Timestamp in seconds </td></tr>
<tr><td class="paramname">userData</td><td>Optional user-defined data matrix</td></tr>
</table>
</dd>
</dl>
<dl class="section user"><dt>Example: Stitching two camera images horizontally</dt><dd><div class="fragment"><div class="line"><span class="preprocessor">#include &lt;rtabmap/core/Camera.h&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;opencv2/imgproc/imgproc.hpp&gt;</span></div>
<div class="line"> </div>
<div class="line"><span class="comment">// Assume camera1 and camera2 are Camera* instances</span></div>
<div class="line"><a class="code hl_class" href="classrtabmap_1_1Camera.html">Camera</a>* camera1 = ...; <span class="comment">// First camera</span></div>
<div class="line"><a class="code hl_class" href="classrtabmap_1_1Camera.html">Camera</a>* camera2 = ...; <span class="comment">// Second camera</span></div>
<div class="line"> </div>
<div class="line"><span class="comment">// Capture SensorData from both cameras</span></div>
<div class="line"><a class="code hl_class" href="classrtabmap_1_1SensorData.html">SensorData</a> data1 = camera1-&gt;takeImage();</div>
<div class="line"><a class="code hl_class" href="classrtabmap_1_1SensorData.html">SensorData</a> data2 = camera2-&gt;takeImage();</div>
<div class="line"> </div>
<div class="line"><span class="comment">// Extract images and depth</span></div>
<div class="line">cv::Mat image1 = data1.<a class="code hl_function" href="classrtabmap_1_1SensorData.html#ae9e44401d0d6faee8fcb801090936fef">imageRaw</a>(); <span class="comment">// 640x480</span></div>
<div class="line">cv::Mat depth1 = data1.<a class="code hl_function" href="classrtabmap_1_1SensorData.html#a2476c59283ef2e24d7a3f10301433327">depthOrRightRaw</a>(); <span class="comment">// 640x480</span></div>
<div class="line">cv::Mat image2 = data2.<a class="code hl_function" href="classrtabmap_1_1SensorData.html#ae9e44401d0d6faee8fcb801090936fef">imageRaw</a>(); <span class="comment">// 640x480</span></div>
<div class="line">cv::Mat depth2 = data2.<a class="code hl_function" href="classrtabmap_1_1SensorData.html#a2476c59283ef2e24d7a3f10301433327">depthOrRightRaw</a>(); <span class="comment">// 640x480</span></div>
<div class="line"> </div>
<div class="line"><span class="comment">// Stitch images horizontally</span></div>
<div class="line">cv::Mat stitchedRgb;</div>
<div class="line">cv::hconcat(image1, image2, stitchedRgb); <span class="comment">// Result: 1280x480</span></div>
<div class="line"> </div>
<div class="line">cv::Mat stitchedDepth;</div>
<div class="line">cv::hconcat(depth1, depth2, stitchedDepth); <span class="comment">// Result: 1280x480</span></div>
<div class="line"> </div>
<div class="line"><span class="comment">// Get camera models from both SensorData objects</span></div>
<div class="line">std::vector&lt;CameraModel&gt; models = data1.<a class="code hl_function" href="classrtabmap_1_1SensorData.html#a6ace7b2b8ebae5f7ab18e159fe6e8a92">cameraModels</a>();</div>
<div class="line">std::vector&lt;CameraModel&gt; models2 = data2.<a class="code hl_function" href="classrtabmap_1_1SensorData.html#a6ace7b2b8ebae5f7ab18e159fe6e8a92">cameraModels</a>();</div>
<div class="line">models.insert(models.end(), models2.begin(), models2.end());</div>
<div class="line"> </div>
<div class="line"><span class="comment">// Create SensorData with stitched images</span></div>
<div class="line"><a class="code hl_class" href="classrtabmap_1_1SensorData.html">SensorData</a> stitchedData(stitchedRgb, stitchedDepth, models, 0, data1.<a class="code hl_function" href="classrtabmap_1_1SensorData.html#a566e5600bc0369f2f88ff0c597cefcfb">stamp</a>());</div>
<div class="ttc" id="aclassrtabmap_1_1Camera_html"><div class="ttname"><a href="classrtabmap_1_1Camera.html">rtabmap::Camera</a></div><div class="ttdef"><b>Definition</b> <a href="Camera_8h_source.html#l00043">Camera.h:44</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1SensorData_html"><div class="ttname"><a href="classrtabmap_1_1SensorData.html">rtabmap::SensorData</a></div><div class="ttdoc">Container class for all sensor data captured at a specific time.</div><div class="ttdef"><b>Definition</b> <a href="SensorData_8h_source.html#l00096">SensorData.h:97</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1SensorData_html_a2476c59283ef2e24d7a3f10301433327"><div class="ttname"><a href="classrtabmap_1_1SensorData.html#a2476c59283ef2e24d7a3f10301433327">rtabmap::SensorData::depthOrRightRaw</a></div><div class="ttdeci">const cv::Mat &amp; depthOrRightRaw() const</div><div class="ttdoc">Returns the raw depth or right stereo image.</div><div class="ttdef"><b>Definition</b> <a href="SensorData_8h_source.html#l00584">SensorData.h:584</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1SensorData_html_a566e5600bc0369f2f88ff0c597cefcfb"><div class="ttname"><a href="classrtabmap_1_1SensorData.html#a566e5600bc0369f2f88ff0c597cefcfb">rtabmap::SensorData::stamp</a></div><div class="ttdeci">double stamp() const</div><div class="ttdoc">Returns the timestamp.</div><div class="ttdef"><b>Definition</b> <a href="SensorData_8h_source.html#l00538">SensorData.h:538</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1SensorData_html_a6ace7b2b8ebae5f7ab18e159fe6e8a92"><div class="ttname"><a href="classrtabmap_1_1SensorData.html#a6ace7b2b8ebae5f7ab18e159fe6e8a92">rtabmap::SensorData::cameraModels</a></div><div class="ttdeci">const std::vector&lt; CameraModel &gt; &amp; cameraModels() const</div><div class="ttdoc">Returns the camera models.</div><div class="ttdef"><b>Definition</b> <a href="SensorData_8h_source.html#l00735">SensorData.h:735</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1SensorData_html_ae9e44401d0d6faee8fcb801090936fef"><div class="ttname"><a href="classrtabmap_1_1SensorData.html#ae9e44401d0d6faee8fcb801090936fef">rtabmap::SensorData::imageRaw</a></div><div class="ttdeci">const cv::Mat &amp; imageRaw() const</div><div class="ttdoc">Returns the raw RGB/grayscale image.</div><div class="ttdef"><b>Definition</b> <a href="SensorData_8h_source.html#l00577">SensorData.h:577</a></div></div>
</div><!-- fragment --> </dd></dl>
</div>
</div>
<a id="a72a0250435fc194b1189241d4a47254d" name="a72a0250435fc194b1189241d4a47254d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a72a0250435fc194b1189241d4a47254d">&#9670;&#160;</a></span>SensorData() <span class="overload">[9/16]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">rtabmap::SensorData::SensorData </td>
<td>(</td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>rgb</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>depth</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>depthConfidence</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classrtabmap_1_1CameraModel.html">CameraModel</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>cameraModels</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>id</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>stamp</em> = <code>0.0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>userData</em> = <code>cv::Mat()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Multi-camera RGB-D constructor with depth confidence. </p>
<p>Creates a <a class="el" href="classrtabmap_1_1SensorData.html" title="Container class for all sensor data captured at a specific time.">SensorData</a> object with RGB, depth, depth confidence, and multiple camera models.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">rgb</td><td>RGB or grayscale image (CV_8UC1 or CV_8UC3) </td></tr>
<tr><td class="paramname">depth</td><td>Depth image (CV_16UC1 for millimeters or CV_32FC1 for meters) </td></tr>
<tr><td class="paramname">depthConfidence</td><td>Depth confidence map (CV_8UC1) </td></tr>
<tr><td class="paramname">cameraModels</td><td>Vector of camera models </td></tr>
<tr><td class="paramname">id</td><td>Sensor data ID (0 to auto-generate) </td></tr>
<tr><td class="paramname">stamp</td><td>Timestamp in seconds </td></tr>
<tr><td class="paramname">userData</td><td>Optional user-defined data matrix </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classrtabmap_1_1SensorData.html#ae4498a6d017e83202dfe86618e91fa57" title="Multi-camera RGB-D constructor.">SensorData(const cv::Mat&amp;, const cv::Mat&amp;, const std::vector&lt;CameraModel&gt;&amp;, int, double, const cv::Mat&amp;)</a> for an example of stitching images from multiple cameras. </dd></dl>
</div>
</div>
<a id="ada69a11125b0b3072add73a3a2f1b5f2" name="ada69a11125b0b3072add73a3a2f1b5f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ada69a11125b0b3072add73a3a2f1b5f2">&#9670;&#160;</a></span>SensorData() <span class="overload">[10/16]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">rtabmap::SensorData::SensorData </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classrtabmap_1_1LaserScan.html">LaserScan</a> &amp;&#160;</td>
<td class="paramname"><em>laserScan</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>rgb</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>depth</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classrtabmap_1_1CameraModel.html">CameraModel</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>cameraModels</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>id</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>stamp</em> = <code>0.0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>userData</em> = <code>cv::Mat()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Multi-camera RGB-D constructor with laser scan. </p>
<p>Creates a <a class="el" href="classrtabmap_1_1SensorData.html" title="Container class for all sensor data captured at a specific time.">SensorData</a> object with RGB, depth, multiple camera models, and laser scan.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">laserScan</td><td>2D or 3D laser scan </td></tr>
<tr><td class="paramname">rgb</td><td>RGB or grayscale image (CV_8UC1 or CV_8UC3) </td></tr>
<tr><td class="paramname">depth</td><td>Depth image (CV_16UC1 for millimeters or CV_32FC1 for meters) </td></tr>
<tr><td class="paramname">cameraModels</td><td>Vector of camera models </td></tr>
<tr><td class="paramname">id</td><td>Sensor data ID (0 to auto-generate) </td></tr>
<tr><td class="paramname">stamp</td><td>Timestamp in seconds </td></tr>
<tr><td class="paramname">userData</td><td>Optional user-defined data matrix </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classrtabmap_1_1SensorData.html#ae4498a6d017e83202dfe86618e91fa57" title="Multi-camera RGB-D constructor.">SensorData(const cv::Mat&amp;, const cv::Mat&amp;, const std::vector&lt;CameraModel&gt;&amp;, int, double, const cv::Mat&amp;)</a> for an example of stitching images from multiple cameras. </dd></dl>
</div>
</div>
<a id="ae0370b88671bb41812c2d39fd0cfc3ce" name="ae0370b88671bb41812c2d39fd0cfc3ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae0370b88671bb41812c2d39fd0cfc3ce">&#9670;&#160;</a></span>SensorData() <span class="overload">[11/16]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">rtabmap::SensorData::SensorData </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classrtabmap_1_1LaserScan.html">LaserScan</a> &amp;&#160;</td>
<td class="paramname"><em>laserScan</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>rgb</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>depth</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>depthConfidence</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classrtabmap_1_1CameraModel.html">CameraModel</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>cameraModels</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>id</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>stamp</em> = <code>0.0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>userData</em> = <code>cv::Mat()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Multi-camera RGB-D constructor with depth confidence and laser scan. </p>
<p>Creates a <a class="el" href="classrtabmap_1_1SensorData.html" title="Container class for all sensor data captured at a specific time.">SensorData</a> object with RGB, depth, depth confidence, multiple camera models, and laser scan.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">laserScan</td><td>2D or 3D laser scan </td></tr>
<tr><td class="paramname">rgb</td><td>RGB or grayscale image (CV_8UC1 or CV_8UC3) </td></tr>
<tr><td class="paramname">depth</td><td>Depth image (CV_16UC1 for millimeters or CV_32FC1 for meters) </td></tr>
<tr><td class="paramname">depthConfidence</td><td>Depth confidence map (CV_8UC1) </td></tr>
<tr><td class="paramname">cameraModels</td><td>Vector of camera models </td></tr>
<tr><td class="paramname">id</td><td>Sensor data ID (0 to auto-generate) </td></tr>
<tr><td class="paramname">stamp</td><td>Timestamp in seconds </td></tr>
<tr><td class="paramname">userData</td><td>Optional user-defined data matrix </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classrtabmap_1_1SensorData.html#ae4498a6d017e83202dfe86618e91fa57" title="Multi-camera RGB-D constructor.">SensorData(const cv::Mat&amp;, const cv::Mat&amp;, const std::vector&lt;CameraModel&gt;&amp;, int, double, const cv::Mat&amp;)</a> for an example of stitching images from multiple cameras. </dd></dl>
</div>
</div>
<a id="a1534d36fee45c3df70679438ec9d00a3" name="a1534d36fee45c3df70679438ec9d00a3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1534d36fee45c3df70679438ec9d00a3">&#9670;&#160;</a></span>SensorData() <span class="overload">[12/16]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">rtabmap::SensorData::SensorData </td>
<td>(</td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>right</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classrtabmap_1_1StereoCameraModel.html">StereoCameraModel</a> &amp;&#160;</td>
<td class="paramname"><em>cameraModel</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>id</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>stamp</em> = <code>0.0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>userData</em> = <code>cv::Mat()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="classrtabmap_1_1Stereo.html" title="Sparse stereo matching using block matching.">Stereo</a> camera constructor. </p>
<p>Creates a <a class="el" href="classrtabmap_1_1SensorData.html" title="Container class for all sensor data captured at a specific time.">SensorData</a> object with left and right stereo images and a stereo camera model.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">left</td><td>Left stereo image (CV_8UC1 or CV_8UC3) </td></tr>
<tr><td class="paramname">right</td><td>Right stereo image (CV_8UC1 or CV_8UC3) </td></tr>
<tr><td class="paramname">cameraModel</td><td><a class="el" href="classrtabmap_1_1Stereo.html" title="Sparse stereo matching using block matching.">Stereo</a> camera model for disparity computation </td></tr>
<tr><td class="paramname">id</td><td>Sensor data ID (0 to auto-generate) </td></tr>
<tr><td class="paramname">stamp</td><td>Timestamp in seconds </td></tr>
<tr><td class="paramname">userData</td><td>Optional user-defined data matrix </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="abdd07b6e248e165959468bb31897bc20" name="abdd07b6e248e165959468bb31897bc20"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abdd07b6e248e165959468bb31897bc20">&#9670;&#160;</a></span>SensorData() <span class="overload">[13/16]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">rtabmap::SensorData::SensorData </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classrtabmap_1_1LaserScan.html">LaserScan</a> &amp;&#160;</td>
<td class="paramname"><em>laserScan</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>right</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classrtabmap_1_1StereoCameraModel.html">StereoCameraModel</a> &amp;&#160;</td>
<td class="paramname"><em>cameraModel</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>id</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>stamp</em> = <code>0.0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>userData</em> = <code>cv::Mat()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="classrtabmap_1_1Stereo.html" title="Sparse stereo matching using block matching.">Stereo</a> camera constructor with laser scan. </p>
<p>Creates a <a class="el" href="classrtabmap_1_1SensorData.html" title="Container class for all sensor data captured at a specific time.">SensorData</a> object with left and right stereo images, stereo camera model, and laser scan.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">laserScan</td><td>2D or 3D laser scan </td></tr>
<tr><td class="paramname">left</td><td>Left stereo image (CV_8UC1 or CV_8UC3) </td></tr>
<tr><td class="paramname">right</td><td>Right stereo image (CV_8UC1 or CV_8UC3) </td></tr>
<tr><td class="paramname">cameraModel</td><td><a class="el" href="classrtabmap_1_1Stereo.html" title="Sparse stereo matching using block matching.">Stereo</a> camera model for disparity computation </td></tr>
<tr><td class="paramname">id</td><td>Sensor data ID (0 to auto-generate) </td></tr>
<tr><td class="paramname">stamp</td><td>Timestamp in seconds </td></tr>
<tr><td class="paramname">userData</td><td>Optional user-defined data matrix </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a6ccaccf892f950b0caa03c07de3eab98" name="a6ccaccf892f950b0caa03c07de3eab98"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6ccaccf892f950b0caa03c07de3eab98">&#9670;&#160;</a></span>SensorData() <span class="overload">[14/16]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">rtabmap::SensorData::SensorData </td>
<td>(</td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>rgb</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>depth</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classrtabmap_1_1StereoCameraModel.html">StereoCameraModel</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>cameraModels</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>id</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>stamp</em> = <code>0.0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>userData</em> = <code>cv::Mat()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Multi-camera stereo constructor. </p>
<p>Creates a <a class="el" href="classrtabmap_1_1SensorData.html" title="Container class for all sensor data captured at a specific time.">SensorData</a> object with left and right stereo images and multiple stereo camera models.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">rgb</td><td>Left stereo image (CV_8UC1 or CV_8UC3) </td></tr>
<tr><td class="paramname">depth</td><td>Right stereo image (CV_8UC1 or CV_8UC3) </td></tr>
<tr><td class="paramname">cameraModels</td><td>Vector of stereo camera models </td></tr>
<tr><td class="paramname">id</td><td>Sensor data ID (0 to auto-generate) </td></tr>
<tr><td class="paramname">stamp</td><td>Timestamp in seconds </td></tr>
<tr><td class="paramname">userData</td><td>Optional user-defined data matrix </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classrtabmap_1_1SensorData.html#ae4498a6d017e83202dfe86618e91fa57" title="Multi-camera RGB-D constructor.">SensorData(const cv::Mat&amp;, const cv::Mat&amp;, const std::vector&lt;CameraModel&gt;&amp;, int, double, const cv::Mat&amp;)</a> for an example of stitching images from multiple cameras. </dd></dl>
</div>
</div>
<a id="ad34a0a4ca3eac4a1c91fb7fb5068fb04" name="ad34a0a4ca3eac4a1c91fb7fb5068fb04"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad34a0a4ca3eac4a1c91fb7fb5068fb04">&#9670;&#160;</a></span>SensorData() <span class="overload">[15/16]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">rtabmap::SensorData::SensorData </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classrtabmap_1_1LaserScan.html">LaserScan</a> &amp;&#160;</td>
<td class="paramname"><em>laserScan</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>rgb</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>depth</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classrtabmap_1_1StereoCameraModel.html">StereoCameraModel</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>cameraModels</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>id</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>stamp</em> = <code>0.0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>userData</em> = <code>cv::Mat()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Multi-camera stereo constructor with laser scan. </p>
<p>Creates a <a class="el" href="classrtabmap_1_1SensorData.html" title="Container class for all sensor data captured at a specific time.">SensorData</a> object with left and right stereo images, multiple stereo camera models, and laser scan.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">laserScan</td><td>2D or 3D laser scan </td></tr>
<tr><td class="paramname">rgb</td><td>Left stereo image (CV_8UC1 or CV_8UC3) </td></tr>
<tr><td class="paramname">depth</td><td>Right stereo image (CV_8UC1 or CV_8UC3) </td></tr>
<tr><td class="paramname">cameraModels</td><td>Vector of stereo camera models </td></tr>
<tr><td class="paramname">id</td><td>Sensor data ID (0 to auto-generate) </td></tr>
<tr><td class="paramname">stamp</td><td>Timestamp in seconds </td></tr>
<tr><td class="paramname">userData</td><td>Optional user-defined data matrix </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a25efb0e7904a3daa7f4ee7cd814a24ff" name="a25efb0e7904a3daa7f4ee7cd814a24ff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a25efb0e7904a3daa7f4ee7cd814a24ff">&#9670;&#160;</a></span>SensorData() <span class="overload">[16/16]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">rtabmap::SensorData::SensorData </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classrtabmap_1_1IMU.html">IMU</a> &amp;&#160;</td>
<td class="paramname"><em>imu</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>id</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>stamp</em> = <code>0.0</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>IMU-only constructor. </p>
<p>Creates a <a class="el" href="classrtabmap_1_1SensorData.html" title="Container class for all sensor data captured at a specific time.">SensorData</a> object with only <a class="el" href="classrtabmap_1_1IMU.html" title="Inertial measurement sample (ROS sensor_msgs/Imu-like fields).">IMU</a> data (no images). Useful for IMU-only odometry or sensor fusion scenarios.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">imu</td><td><a class="el" href="classrtabmap_1_1IMU.html" title="Inertial measurement sample (ROS sensor_msgs/Imu-like fields).">IMU</a> data (accelerometer, gyroscope, orientation) </td></tr>
<tr><td class="paramname">id</td><td>Sensor data ID (0 to auto-generate) </td></tr>
<tr><td class="paramname">stamp</td><td>Timestamp in seconds </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ad620676ab1a971846ab80ef646aa5882" name="ad620676ab1a971846ab80ef646aa5882"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad620676ab1a971846ab80ef646aa5882">&#9670;&#160;</a></span>isValid()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool rtabmap::SensorData::isValid </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 sensor data is valid. </p>
<p>Returns true if the sensor data contains at least one of:</p><ul>
<li>Valid ID (&gt; 0)</li>
<li>Images (raw or compressed)</li>
<li>Depth/right images (raw or compressed)</li>
<li>Depth confidence (raw or compressed)</li>
<li>Laser scan (raw or compressed)</li>
<li><a class="el" href="classrtabmap_1_1Camera.html">Camera</a> models (mono or stereo), at least one valid for projection (see <a class="el" href="classrtabmap_1_1CameraModel.html#a7b6db41415e085d52bf363d09d5e6d67" title="Checks if the model is valid for 2D-&gt;3D projection.">CameraModel::isValidForProjection()</a> and <a class="el" href="classrtabmap_1_1StereoCameraModel.html#a6c16870b83978d286003b166fd6949cf" title="Returns true if both left and right models are valid for projection and the baseline is positive.">StereoCameraModel::isValidForProjection()</a>)</li>
<li>User data (raw or compressed)</li>
<li>Keypoints and descriptors</li>
<li>Occupancy grid cells (ground, obstacles or empty)</li>
<li><a class="el" href="classrtabmap_1_1IMU.html" title="Inertial measurement sample (ROS sensor_msgs/Imu-like fields).">IMU</a> data</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>The stamp is not considered: a <a class="el" href="classrtabmap_1_1SensorData.html" title="Container class for all sensor data captured at a specific time.">SensorData</a> with only a stamp set is not valid (e.g., an empty message converted from ROS still has its header stamp and a camera model created from an empty camera info).</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>True if the sensor data contains any valid information, false otherwise </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00491">491</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="a84fbcb16e51018d96065d3ce240650c6" name="a84fbcb16e51018d96065d3ce240650c6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a84fbcb16e51018d96065d3ce240650c6">&#9670;&#160;</a></span>id()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int rtabmap::SensorData::id </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>Returns the sensor data ID. </p>
<dl class="section return"><dt>Returns</dt><dd>The unique sensor data ID (0 if invalid/uninitialized) </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00526">526</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="a4d0f4615a747eaef142b51a1ab1e5527" name="a4d0f4615a747eaef142b51a1ab1e5527"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d0f4615a747eaef142b51a1ab1e5527">&#9670;&#160;</a></span>setId()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorData::setId </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>id</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 sensor data ID. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">id</td><td>The unique sensor data ID </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00532">532</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="a566e5600bc0369f2f88ff0c597cefcfb" name="a566e5600bc0369f2f88ff0c597cefcfb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a566e5600bc0369f2f88ff0c597cefcfb">&#9670;&#160;</a></span>stamp()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">double rtabmap::SensorData::stamp </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>Returns the timestamp. </p>
<dl class="section return"><dt>Returns</dt><dd>Timestamp in seconds (typically seconds since epoch) </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00538">538</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="a5c0844e94d3fff50a8bfec2decf2f94c" name="a5c0844e94d3fff50a8bfec2decf2f94c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5c0844e94d3fff50a8bfec2decf2f94c">&#9670;&#160;</a></span>setStamp()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorData::setStamp </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>stamp</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 timestamp. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">stamp</td><td>Timestamp in seconds </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00544">544</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="aafcc6b483798b7a99fafa8f929db1029" name="aafcc6b483798b7a99fafa8f929db1029"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aafcc6b483798b7a99fafa8f929db1029">&#9670;&#160;</a></span>imageCompressed()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const cv::Mat &amp; rtabmap::SensorData::imageCompressed </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>Returns the compressed RGB/grayscale image. </p>
<dl class="section return"><dt>Returns</dt><dd>Compressed image (CV_8UC1 with 1 row, JPEG/PNG-compressed bytes) </dd></dl>
<dl class="section note"><dt>Note</dt><dd>Use Compression::uncompressImage() to uncompress the image. </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00551">551</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="a85b36ca12b0936a99d61b768908097da" name="a85b36ca12b0936a99d61b768908097da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a85b36ca12b0936a99d61b768908097da">&#9670;&#160;</a></span>depthOrRightCompressed()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const cv::Mat &amp; rtabmap::SensorData::depthOrRightCompressed </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>Returns the compressed depth or right stereo image. </p>
<dl class="section return"><dt>Returns</dt><dd>Compressed depth/right image (CV_8UC1 with 1 row, compressed bytes) </dd></dl>
<dl class="section note"><dt>Note</dt><dd>Use Compression::uncompressImage() to uncompress the image. </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00558">558</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="aebbab80906082f6e35ce5731fa67ca26" name="aebbab80906082f6e35ce5731fa67ca26"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aebbab80906082f6e35ce5731fa67ca26">&#9670;&#160;</a></span>depthConfidenceCompressed()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const cv::Mat &amp; rtabmap::SensorData::depthConfidenceCompressed </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>Returns the compressed depth confidence map. </p>
<dl class="section return"><dt>Returns</dt><dd>Compressed depth confidence (CV_8UC1 with 1 row, compressed bytes) </dd></dl>
<dl class="section note"><dt>Note</dt><dd>Use Compression::uncompressData() to uncompress the data. </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00565">565</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="a1522af81a95c27b76e316919df95a869" name="a1522af81a95c27b76e316919df95a869"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1522af81a95c27b76e316919df95a869">&#9670;&#160;</a></span>laserScanCompressed()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classrtabmap_1_1LaserScan.html">LaserScan</a> &amp; rtabmap::SensorData::laserScanCompressed </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>Returns the compressed laser scan. </p>
<dl class="section return"><dt>Returns</dt><dd>Compressed laser scan </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00571">571</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="ae9e44401d0d6faee8fcb801090936fef" name="ae9e44401d0d6faee8fcb801090936fef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae9e44401d0d6faee8fcb801090936fef">&#9670;&#160;</a></span>imageRaw()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const cv::Mat &amp; rtabmap::SensorData::imageRaw </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>Returns the raw RGB/grayscale image. </p>
<dl class="section return"><dt>Returns</dt><dd>Raw image (CV_8UC1 for grayscale or CV_8UC3 for RGB) </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00577">577</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="a2476c59283ef2e24d7a3f10301433327" name="a2476c59283ef2e24d7a3f10301433327"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2476c59283ef2e24d7a3f10301433327">&#9670;&#160;</a></span>depthOrRightRaw()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const cv::Mat &amp; rtabmap::SensorData::depthOrRightRaw </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>Returns the raw depth or right stereo image. </p>
<dl class="section return"><dt>Returns</dt><dd>Raw depth (CV_16UC1 for millimeters or CV_32FC1 for meters) or right stereo image (CV_8UC1 or CV_8UC3) </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00584">584</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="a0cfb7cee085b7959c9ddf1d7854ed910" name="a0cfb7cee085b7959c9ddf1d7854ed910"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0cfb7cee085b7959c9ddf1d7854ed910">&#9670;&#160;</a></span>depthConfidenceRaw()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const cv::Mat &amp; rtabmap::SensorData::depthConfidenceRaw </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>Returns the raw depth confidence map. </p>
<dl class="section return"><dt>Returns</dt><dd>Raw depth confidence (CV_8UC1, typically 0-100) </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00590">590</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="aeebafe56f302f9e8e4f06c5ad750248d" name="aeebafe56f302f9e8e4f06c5ad750248d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeebafe56f302f9e8e4f06c5ad750248d">&#9670;&#160;</a></span>laserScanRaw()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classrtabmap_1_1LaserScan.html">LaserScan</a> &amp; rtabmap::SensorData::laserScanRaw </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>Returns the raw laser scan. </p>
<dl class="section return"><dt>Returns</dt><dd>Raw laser scan (2D or 3D) </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00596">596</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="a203770ef217dfdc67b98ca593b2cab24" name="a203770ef217dfdc67b98ca593b2cab24"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a203770ef217dfdc67b98ca593b2cab24">&#9670;&#160;</a></span>setRGBDImage()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorData::setRGBDImage </td>
<td>(</td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>rgb</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>depth</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classrtabmap_1_1CameraModel.html">CameraModel</a> &amp;&#160;</td>
<td class="paramname"><em>model</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>clearPreviousData</em> = <code>true</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set image data. Detect automatically if raw or compressed. A matrix of type CV_8UC1 with 1 row is considered as compressed. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">clearPreviousData,clear</td><td>previous raw and compressed images before setting the new ones. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a8fc1c848518793a1fe65c47a3ff729b0" name="a8fc1c848518793a1fe65c47a3ff729b0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8fc1c848518793a1fe65c47a3ff729b0">&#9670;&#160;</a></span>setLaserScan()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorData::setLaserScan </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classrtabmap_1_1LaserScan.html">LaserScan</a> &amp;&#160;</td>
<td class="paramname"><em>laserScan</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>clearPreviousData</em> = <code>true</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set laser scan data. Detect automatically if raw or compressed. A matrix of type CV_8UC1 with 1 row is considered as compressed. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">clearPreviousData,clear</td><td>previous raw and compressed scans before setting the new one. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ad8ae172220b7bfffeb09bb1eac60f28f" name="ad8ae172220b7bfffeb09bb1eac60f28f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad8ae172220b7bfffeb09bb1eac60f28f">&#9670;&#160;</a></span>setCameraModel()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorData::setCameraModel </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classrtabmap_1_1CameraModel.html">CameraModel</a> &amp;&#160;</td>
<td class="paramname"><em>model</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 a single camera model (clears previous models) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">model</td><td><a class="el" href="classrtabmap_1_1Camera.html">Camera</a> model to set </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00621">621</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="af841bbc9ea6de17124f8c871fa5d0719" name="af841bbc9ea6de17124f8c871fa5d0719"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af841bbc9ea6de17124f8c871fa5d0719">&#9670;&#160;</a></span>setCameraModels()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorData::setCameraModels </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classrtabmap_1_1CameraModel.html">CameraModel</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>models</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 multiple camera models. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">models</td><td>Vector of camera models </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00627">627</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="ab2f74509af5e3f56d1c4d5e31c0c6003" name="ab2f74509af5e3f56d1c4d5e31c0c6003"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab2f74509af5e3f56d1c4d5e31c0c6003">&#9670;&#160;</a></span>setStereoCameraModel()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorData::setStereoCameraModel </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classrtabmap_1_1StereoCameraModel.html">StereoCameraModel</a> &amp;&#160;</td>
<td class="paramname"><em>stereoCameraModel</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 a single stereo camera model (clears previous models) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">stereoCameraModel</td><td><a class="el" href="classrtabmap_1_1Stereo.html" title="Sparse stereo matching using block matching.">Stereo</a> camera model to set </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00633">633</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="ab4e6b5d917155b94d8b4b6242fe56c6e" name="ab4e6b5d917155b94d8b4b6242fe56c6e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab4e6b5d917155b94d8b4b6242fe56c6e">&#9670;&#160;</a></span>setStereoCameraModels()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorData::setStereoCameraModels </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classrtabmap_1_1StereoCameraModel.html">StereoCameraModel</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>stereoCameraModels</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 multiple stereo camera models. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">stereoCameraModels</td><td>Vector of stereo camera models </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00639">639</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="a1970cd319999fb371873553b53b07d73" name="a1970cd319999fb371873553b53b07d73"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1970cd319999fb371873553b53b07d73">&#9670;&#160;</a></span>depthRaw()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">cv::Mat rtabmap::SensorData::depthRaw </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>Returns the depth image (convenience method) </p>
<p>Returns the depth image if <code>_depthOrRightRaw</code> contains depth data (not a right stereo image). Depth images are CV_16UC1 or CV_32FC1, while right stereo images are CV_8UC1 or CV_8UC3.</p>
<dl class="section return"><dt>Returns</dt><dd>Depth image if available, empty Mat if right stereo image or empty </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00650">650</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="aaa7408cb13ea2cbe33438e007b80de30" name="aaa7408cb13ea2cbe33438e007b80de30"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaa7408cb13ea2cbe33438e007b80de30">&#9670;&#160;</a></span>rightRaw()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">cv::Mat rtabmap::SensorData::rightRaw </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>Returns the right stereo image (convenience method) </p>
<p>Returns the right stereo image if <code>_depthOrRightRaw</code> contains stereo data (not a depth image). Right stereo images are CV_8UC1 or CV_8UC3, while depth images are CV_16UC1 or CV_32FC1.</p>
<dl class="section return"><dt>Returns</dt><dd>Right stereo image if available, empty Mat if depth image or empty </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00661">661</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="aa356c9d5e9e7ea55ccdbe99c215bcb52" name="aa356c9d5e9e7ea55ccdbe99c215bcb52"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa356c9d5e9e7ea55ccdbe99c215bcb52">&#9670;&#160;</a></span>uncompressData() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorData::uncompressData </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Uncompresses all compressed data in-place. </p>
<p>Decompresses all compressed images, depth, laser scans, and user data, storing the results in the raw data members. This modifies the object. </p>
</div>
</div>
<a id="a8c3364f43f7c0a57261720408a088158" name="a8c3364f43f7c0a57261720408a088158"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8c3364f43f7c0a57261720408a088158">&#9670;&#160;</a></span>uncompressData() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorData::uncompressData </td>
<td>(</td>
<td class="paramtype">cv::Mat *&#160;</td>
<td class="paramname"><em>imageRaw</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">cv::Mat *&#160;</td>
<td class="paramname"><em>depthOrRightRaw</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classrtabmap_1_1LaserScan.html">LaserScan</a> *&#160;</td>
<td class="paramname"><em>laserScanRaw</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">cv::Mat *&#160;</td>
<td class="paramname"><em>userDataRaw</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">cv::Mat *&#160;</td>
<td class="paramname"><em>groundCellsRaw</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">cv::Mat *&#160;</td>
<td class="paramname"><em>obstacleCellsRaw</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">cv::Mat *&#160;</td>
<td class="paramname"><em>emptyCellsRaw</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">cv::Mat *&#160;</td>
<td class="paramname"><em>depthConfidenceRaw</em> = <code>0</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Uncompresses compressed data into provided output buffers. </p>
<p>Decompresses compressed data and stores results in the provided output buffers. If a buffer pointer is null, that data type is skipped. The raw fields of the object is updated with the uncompressed data so that consecutive calls with same field should not trigger a uncompression again.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">imageRaw</td><td>Output buffer for uncompressed RGB/grayscale image </td></tr>
<tr><td class="paramname">depthOrRightRaw</td><td>Output buffer for uncompressed depth or right stereo image </td></tr>
<tr><td class="paramname">laserScanRaw</td><td>Output buffer for uncompressed laser scan </td></tr>
<tr><td class="paramname">userDataRaw</td><td>Output buffer for uncompressed user data </td></tr>
<tr><td class="paramname">groundCellsRaw</td><td>Output buffer for uncompressed ground occupancy grid cells </td></tr>
<tr><td class="paramname">obstacleCellsRaw</td><td>Output buffer for uncompressed obstacle occupancy grid cells </td></tr>
<tr><td class="paramname">emptyCellsRaw</td><td>Output buffer for uncompressed empty occupancy grid cells </td></tr>
<tr><td class="paramname">depthConfidenceRaw</td><td>Output buffer for uncompressed depth confidence </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a2e0be45871fa8dbce1c3cf727953358f" name="a2e0be45871fa8dbce1c3cf727953358f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2e0be45871fa8dbce1c3cf727953358f">&#9670;&#160;</a></span>uncompressDataConst()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorData::uncompressDataConst </td>
<td>(</td>
<td class="paramtype">cv::Mat *&#160;</td>
<td class="paramname"><em>imageRaw</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">cv::Mat *&#160;</td>
<td class="paramname"><em>depthOrRightRaw</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classrtabmap_1_1LaserScan.html">LaserScan</a> *&#160;</td>
<td class="paramname"><em>laserScanRaw</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">cv::Mat *&#160;</td>
<td class="paramname"><em>userDataRaw</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">cv::Mat *&#160;</td>
<td class="paramname"><em>groundCellsRaw</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">cv::Mat *&#160;</td>
<td class="paramname"><em>obstacleCellsRaw</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">cv::Mat *&#160;</td>
<td class="paramname"><em>emptyCellsRaw</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">cv::Mat *&#160;</td>
<td class="paramname"><em>depthConfidenceRaw</em> = <code>0</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Uncompresses compressed data into provided output buffers (const version) </p>
<p>Same as <code><a class="el" href="classrtabmap_1_1SensorData.html#aa356c9d5e9e7ea55ccdbe99c215bcb52" title="Uncompresses all compressed data in-place.">uncompressData()</a></code> but does not modify the object's internal state.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">imageRaw</td><td>Output buffer for uncompressed RGB/grayscale image </td></tr>
<tr><td class="paramname">depthOrRightRaw</td><td>Output buffer for uncompressed depth or right stereo image </td></tr>
<tr><td class="paramname">laserScanRaw</td><td>Output buffer for uncompressed laser scan </td></tr>
<tr><td class="paramname">userDataRaw</td><td>Output buffer for uncompressed user data </td></tr>
<tr><td class="paramname">groundCellsRaw</td><td>Output buffer for uncompressed ground occupancy grid cells </td></tr>
<tr><td class="paramname">obstacleCellsRaw</td><td>Output buffer for uncompressed obstacle occupancy grid cells </td></tr>
<tr><td class="paramname">emptyCellsRaw</td><td>Output buffer for uncompressed empty occupancy grid cells </td></tr>
<tr><td class="paramname">depthConfidenceRaw</td><td>Output buffer for uncompressed depth confidence </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a6ace7b2b8ebae5f7ab18e159fe6e8a92" name="a6ace7b2b8ebae5f7ab18e159fe6e8a92"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6ace7b2b8ebae5f7ab18e159fe6e8a92">&#9670;&#160;</a></span>cameraModels()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const std::vector&lt; <a class="el" href="classrtabmap_1_1CameraModel.html">CameraModel</a> &gt; &amp; rtabmap::SensorData::cameraModels </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>Returns the camera models. </p>
<dl class="section return"><dt>Returns</dt><dd>Const reference to vector of mono camera models </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00735">735</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="ab02d686ac7ef8b389655e913768b4d87" name="ab02d686ac7ef8b389655e913768b4d87"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab02d686ac7ef8b389655e913768b4d87">&#9670;&#160;</a></span>stereoCameraModels()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const std::vector&lt; <a class="el" href="classrtabmap_1_1StereoCameraModel.html">StereoCameraModel</a> &gt; &amp; rtabmap::SensorData::stereoCameraModels </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>Returns the stereo camera models. </p>
<dl class="section return"><dt>Returns</dt><dd>Const reference to vector of stereo camera models </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00741">741</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="accb5f254667af3074993a073a4e1f072" name="accb5f254667af3074993a073a4e1f072"></a>
<h2 class="memtitle"><span class="permalink"><a href="#accb5f254667af3074993a073a4e1f072">&#9670;&#160;</a></span>setUserData()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorData::setUserData </td>
<td>(</td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>userData</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>clearPreviousData</em> = <code>true</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set user data. Detect automatically if raw or compressed. If raw, the data is compressed too, unless compressed user data is already set (only possible with <code>clearPreviousData=false</code>), which is then assumed to be that raw data compressed and kept as is. A matrix of type CV_8UC1 with 1 row is considered as compressed. If you have one dimension unsigned 8 bits raw data, make sure to transpose it (to have multiple rows instead of multiple columns) in order to be detected as not compressed. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">clearPreviousData,clear</td><td>previous raw and compressed user data before setting the new one. With false, setting the raw data of compressed user data already set keeps the compressed one, like <a class="el" href="classrtabmap_1_1SensorData.html#a8fc1c848518793a1fe65c47a3ff729b0">setLaserScan()</a> and <a class="el" href="classrtabmap_1_1SensorData.html#a203770ef217dfdc67b98ca593b2cab24">setRGBDImage()</a> do. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a1504386e448b8665f90762d721ae66e7" name="a1504386e448b8665f90762d721ae66e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1504386e448b8665f90762d721ae66e7">&#9670;&#160;</a></span>userDataRaw()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const cv::Mat &amp; rtabmap::SensorData::userDataRaw </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 class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00756">756</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="a5da4cb941955d4ddbb55d7bc4d5786ba" name="a5da4cb941955d4ddbb55d7bc4d5786ba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5da4cb941955d4ddbb55d7bc4d5786ba">&#9670;&#160;</a></span>userDataCompressed()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const cv::Mat &amp; rtabmap::SensorData::userDataCompressed </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 class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00757">757</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="a5c12949c62c65281bade9ffcc681462b" name="a5c12949c62c65281bade9ffcc681462b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5c12949c62c65281bade9ffcc681462b">&#9670;&#160;</a></span>setOccupancyGrid()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorData::setOccupancyGrid </td>
<td>(</td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>ground</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>obstacles</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>empty</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>cellSize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Point3f &amp;&#160;</td>
<td class="paramname"><em>viewPoint</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets occupancy grid data. </p>
<p>Sets the occupancy grid with ground, obstacle, and empty cells. The data is automatically detected as raw or compressed. If raw, it will be compressed automatically.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ground</td><td>Ground cells matrix </td></tr>
<tr><td class="paramname">obstacles</td><td>Obstacle cells matrix </td></tr>
<tr><td class="paramname">empty</td><td>Empty cells matrix </td></tr>
<tr><td class="paramname">cellSize</td><td>Size of each grid cell in meters </td></tr>
<tr><td class="paramname">viewPoint</td><td>Viewpoint/origin of the occupancy grid (3D point) </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a2db9b9dbbe3d0943a47cdc4a5a9051d4" name="a2db9b9dbbe3d0943a47cdc4a5a9051d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2db9b9dbbe3d0943a47cdc4a5a9051d4">&#9670;&#160;</a></span>gridGroundCellsRaw()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const cv::Mat &amp; rtabmap::SensorData::gridGroundCellsRaw </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>Returns raw ground cells. </p>
<dl class="section return"><dt>Returns</dt><dd>Const reference to raw ground cells matrix </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00782">782</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="ab3c515b23322cd31c3fcbcb054588e43" name="ab3c515b23322cd31c3fcbcb054588e43"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab3c515b23322cd31c3fcbcb054588e43">&#9670;&#160;</a></span>gridGroundCellsCompressed()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const cv::Mat &amp; rtabmap::SensorData::gridGroundCellsCompressed </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>Returns compressed ground cells. </p>
<dl class="section return"><dt>Returns</dt><dd>Const reference to compressed ground cells matrix </dd></dl>
<dl class="section note"><dt>Note</dt><dd>Use Compression::uncompressData() to uncompress the data. </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00789">789</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="a0f2e804ebbcff5be648a43f0a41e9dfc" name="a0f2e804ebbcff5be648a43f0a41e9dfc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f2e804ebbcff5be648a43f0a41e9dfc">&#9670;&#160;</a></span>gridObstacleCellsRaw()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const cv::Mat &amp; rtabmap::SensorData::gridObstacleCellsRaw </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>Returns raw obstacle cells. </p>
<dl class="section return"><dt>Returns</dt><dd>Const reference to raw obstacle cells matrix </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00795">795</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="a50b09c52de6c8c6a6a95ee08886845a0" name="a50b09c52de6c8c6a6a95ee08886845a0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a50b09c52de6c8c6a6a95ee08886845a0">&#9670;&#160;</a></span>gridObstacleCellsCompressed()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const cv::Mat &amp; rtabmap::SensorData::gridObstacleCellsCompressed </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>Returns compressed obstacle cells. </p>
<dl class="section return"><dt>Returns</dt><dd>Const reference to compressed obstacle cells matrix </dd></dl>
<dl class="section note"><dt>Note</dt><dd>Use Compression::uncompressData() to uncompress the data. </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00802">802</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="a490e96f3f1d16cc559b3a004e2ec4fbe" name="a490e96f3f1d16cc559b3a004e2ec4fbe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a490e96f3f1d16cc559b3a004e2ec4fbe">&#9670;&#160;</a></span>gridEmptyCellsRaw()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const cv::Mat &amp; rtabmap::SensorData::gridEmptyCellsRaw </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>Returns raw empty cells. </p>
<dl class="section return"><dt>Returns</dt><dd>Const reference to raw empty cells matrix </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00808">808</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="ac2bae4f0747795f778275102b4ebf1b3" name="ac2bae4f0747795f778275102b4ebf1b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac2bae4f0747795f778275102b4ebf1b3">&#9670;&#160;</a></span>gridEmptyCellsCompressed()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const cv::Mat &amp; rtabmap::SensorData::gridEmptyCellsCompressed </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>Returns compressed empty cells. </p>
<dl class="section return"><dt>Returns</dt><dd>Const reference to compressed empty cells matrix </dd></dl>
<dl class="section note"><dt>Note</dt><dd>Use Compression::uncompressData() to uncompress the data. </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00815">815</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="a984ce55b6b75152a63441bd07288dc6c" name="a984ce55b6b75152a63441bd07288dc6c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a984ce55b6b75152a63441bd07288dc6c">&#9670;&#160;</a></span>gridCellSize()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">float rtabmap::SensorData::gridCellSize </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>Returns the occupancy grid cell size. </p>
<dl class="section return"><dt>Returns</dt><dd>Cell size in meters </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00821">821</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="a51f21b98088ceec4c5d108d0fbe03200" name="a51f21b98088ceec4c5d108d0fbe03200"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a51f21b98088ceec4c5d108d0fbe03200">&#9670;&#160;</a></span>gridViewPoint()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const cv::Point3f &amp; rtabmap::SensorData::gridViewPoint </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>Returns the occupancy grid viewpoint. </p>
<dl class="section return"><dt>Returns</dt><dd>Const reference to viewpoint/origin 3D point </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00827">827</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="ad083f0a1e7769ff62183a0fa47279ae3" name="ad083f0a1e7769ff62183a0fa47279ae3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad083f0a1e7769ff62183a0fa47279ae3">&#9670;&#160;</a></span>setFeatures()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorData::setFeatures </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; cv::KeyPoint &gt; &amp;&#160;</td>
<td class="paramname"><em>keypoints</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; cv::Point3f &gt; &amp;&#160;</td>
<td class="paramname"><em>keypoints3D</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>descriptors</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets visual features (keypoints, 3D points, descriptors) </p>
<p>Sets the visual features extracted from the images. All arrays must have matching sizes (one keypoint per 3D point and descriptor).</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">keypoints</td><td>2D keypoints in image coordinates </td></tr>
<tr><td class="paramname">keypoints3D</td><td>3D points corresponding to keypoints (in base_link frame) </td></tr>
<tr><td class="paramname">descriptors</td><td>Feature descriptors matrix (one row per keypoint) </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="afdc0db8c8176c4108e78e66df54b7d94" name="afdc0db8c8176c4108e78e66df54b7d94"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afdc0db8c8176c4108e78e66df54b7d94">&#9670;&#160;</a></span>keypoints()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const std::vector&lt; cv::KeyPoint &gt; &amp; rtabmap::SensorData::keypoints </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>Returns the 2D keypoints. </p>
<dl class="section return"><dt>Returns</dt><dd>Const reference to vector of 2D keypoints </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00845">845</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="ab17daf3d7c2cd1253306e6d5991549df" name="ab17daf3d7c2cd1253306e6d5991549df"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab17daf3d7c2cd1253306e6d5991549df">&#9670;&#160;</a></span>keypoints3D()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const std::vector&lt; cv::Point3f &gt; &amp; rtabmap::SensorData::keypoints3D </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>Returns the 3D keypoints. </p>
<dl class="section return"><dt>Returns</dt><dd>Const reference to vector of 3D points (in base_link frame) </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00851">851</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="a5cf732793c05b16bb67f144524882b26" name="a5cf732793c05b16bb67f144524882b26"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5cf732793c05b16bb67f144524882b26">&#9670;&#160;</a></span>descriptors()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const cv::Mat &amp; rtabmap::SensorData::descriptors </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>Returns the feature descriptors. </p>
<dl class="section return"><dt>Returns</dt><dd>Const reference to descriptors matrix (one row per keypoint) </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00857">857</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="acc0ac26f01ad9f5185f80f8f09da252e" name="acc0ac26f01ad9f5185f80f8f09da252e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acc0ac26f01ad9f5185f80f8f09da252e">&#9670;&#160;</a></span>addGlobalDescriptor()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorData::addGlobalDescriptor </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classrtabmap_1_1GlobalDescriptor.html">GlobalDescriptor</a> &amp;&#160;</td>
<td class="paramname"><em>descriptor</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>Adds a global descriptor. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">descriptor</td><td>Global descriptor to add </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00863">863</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="ab6f18f2eb0340c8f6e800a695424bbbe" name="ab6f18f2eb0340c8f6e800a695424bbbe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab6f18f2eb0340c8f6e800a695424bbbe">&#9670;&#160;</a></span>setGlobalDescriptors()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorData::setGlobalDescriptors </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classrtabmap_1_1GlobalDescriptor.html">GlobalDescriptor</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>descriptors</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 all global descriptors. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">descriptors</td><td>Vector of global descriptors </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00869">869</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="a37c2569419731afc855a3ce984c11505" name="a37c2569419731afc855a3ce984c11505"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a37c2569419731afc855a3ce984c11505">&#9670;&#160;</a></span>clearGlobalDescriptors()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorData::clearGlobalDescriptors </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>Clears all global descriptors. </p>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00874">874</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="acd46b940bac6e1d53ff2826be309b4c8" name="acd46b940bac6e1d53ff2826be309b4c8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acd46b940bac6e1d53ff2826be309b4c8">&#9670;&#160;</a></span>globalDescriptors()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const std::vector&lt; <a class="el" href="classrtabmap_1_1GlobalDescriptor.html">GlobalDescriptor</a> &gt; &amp; rtabmap::SensorData::globalDescriptors </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>Returns all global descriptors. </p>
<dl class="section return"><dt>Returns</dt><dd>Const reference to vector of global descriptors </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00880">880</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="a7051ea8c13bafd7eaffb5f5a93064808" name="a7051ea8c13bafd7eaffb5f5a93064808"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7051ea8c13bafd7eaffb5f5a93064808">&#9670;&#160;</a></span>setGroundTruth()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorData::setGroundTruth </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classrtabmap_1_1Transform.html">Transform</a> &amp;&#160;</td>
<td class="paramname"><em>pose</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 ground truth pose. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pose</td><td>Ground truth transform (for evaluation purposes) </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00886">886</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="aef9e0c36efdc8915536c3bc082108689" name="aef9e0c36efdc8915536c3bc082108689"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef9e0c36efdc8915536c3bc082108689">&#9670;&#160;</a></span>groundTruth()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classrtabmap_1_1Transform.html">Transform</a> &amp; rtabmap::SensorData::groundTruth </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>Returns the ground truth pose. </p>
<dl class="section return"><dt>Returns</dt><dd>Const reference to ground truth transform </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00892">892</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="a72f0ce5a2989f478149f5cf2d5a36556" name="a72f0ce5a2989f478149f5cf2d5a36556"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a72f0ce5a2989f478149f5cf2d5a36556">&#9670;&#160;</a></span>setGlobalPose()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorData::setGlobalPose </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classrtabmap_1_1Transform.html">Transform</a> &amp;&#160;</td>
<td class="paramname"><em>pose</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>covariance</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</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 global pose with covariance. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pose</td><td>Global pose transform </td></tr>
<tr><td class="paramname">covariance</td><td>Pose covariance matrix (6x6, CV_64FC1) </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00899">899</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="a55e6ca21bfd11b7afb375451a2a77b87" name="a55e6ca21bfd11b7afb375451a2a77b87"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a55e6ca21bfd11b7afb375451a2a77b87">&#9670;&#160;</a></span>globalPose()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classrtabmap_1_1Transform.html">Transform</a> &amp; rtabmap::SensorData::globalPose </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>Returns the global pose. </p>
<dl class="section return"><dt>Returns</dt><dd>Const reference to global pose transform </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00905">905</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="a569af71e8757105dc040251a3805fe97" name="a569af71e8757105dc040251a3805fe97"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a569af71e8757105dc040251a3805fe97">&#9670;&#160;</a></span>globalPoseCovariance()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const cv::Mat &amp; rtabmap::SensorData::globalPoseCovariance </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>Returns the global pose covariance. </p>
<dl class="section return"><dt>Returns</dt><dd>Const reference to pose covariance matrix (6x6, CV_64FC1) </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00911">911</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="ad09e3e0fc1f60d233d81288a4cf8f56a" name="ad09e3e0fc1f60d233d81288a4cf8f56a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad09e3e0fc1f60d233d81288a4cf8f56a">&#9670;&#160;</a></span>setGPS()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorData::setGPS </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classrtabmap_1_1GPS.html">GPS</a> &amp;&#160;</td>
<td class="paramname"><em>gps</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 <a class="el" href="classrtabmap_1_1GPS.html" title="WGS84 GPS fix attached to a sensor sample or graph node.">GPS</a> data. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">gps</td><td><a class="el" href="classrtabmap_1_1GPS.html" title="WGS84 GPS fix attached to a sensor sample or graph node.">GPS</a> data (latitude, longitude, altitude, etc.) </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00917">917</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="a176b8160afc549fc6eaa2d0567c12957" name="a176b8160afc549fc6eaa2d0567c12957"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a176b8160afc549fc6eaa2d0567c12957">&#9670;&#160;</a></span>gps()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classrtabmap_1_1GPS.html">GPS</a> &amp; rtabmap::SensorData::gps </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>Returns <a class="el" href="classrtabmap_1_1GPS.html" title="WGS84 GPS fix attached to a sensor sample or graph node.">GPS</a> data. </p>
<dl class="section return"><dt>Returns</dt><dd>Const reference to <a class="el" href="classrtabmap_1_1GPS.html" title="WGS84 GPS fix attached to a sensor sample or graph node.">GPS</a> data </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00923">923</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="a2297bfc9d81c077852d8f832231ba139" name="a2297bfc9d81c077852d8f832231ba139"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2297bfc9d81c077852d8f832231ba139">&#9670;&#160;</a></span>setIMU()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorData::setIMU </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classrtabmap_1_1IMU.html">IMU</a> &amp;&#160;</td>
<td class="paramname"><em>imu</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets <a class="el" href="classrtabmap_1_1IMU.html" title="Inertial measurement sample (ROS sensor_msgs/Imu-like fields).">IMU</a> data. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">imu</td><td><a class="el" href="classrtabmap_1_1IMU.html" title="Inertial measurement sample (ROS sensor_msgs/Imu-like fields).">IMU</a> data (accelerometer, gyroscope, orientation) </td></tr>
</table>
</dd>
</dl>
<dl class="section warning"><dt>Warning</dt><dd>Asserts that all orientation, angular velocity and linear acceleration values are finite. </dd></dl>
</div>
</div>
<a id="a056056de80edf1bc20505fd992cdc6e7" name="a056056de80edf1bc20505fd992cdc6e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a056056de80edf1bc20505fd992cdc6e7">&#9670;&#160;</a></span>imu()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classrtabmap_1_1IMU.html">IMU</a> &amp; rtabmap::SensorData::imu </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>Returns <a class="el" href="classrtabmap_1_1IMU.html" title="Inertial measurement sample (ROS sensor_msgs/Imu-like fields).">IMU</a> data. </p>
<dl class="section return"><dt>Returns</dt><dd>Const reference to <a class="el" href="classrtabmap_1_1IMU.html" title="Inertial measurement sample (ROS sensor_msgs/Imu-like fields).">IMU</a> data </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00937">937</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="ab3a5ebf180d5f2f106877b78aee6d1d1" name="ab3a5ebf180d5f2f106877b78aee6d1d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab3a5ebf180d5f2f106877b78aee6d1d1">&#9670;&#160;</a></span>setEnvSensors()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorData::setEnvSensors </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacertabmap.html#ac175ef40b7a4acb632232d3d96a1199a">EnvSensors</a> &amp;&#160;</td>
<td class="paramname"><em>sensors</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 all environmental sensors. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">sensors</td><td>Map of environmental sensor types to sensor data </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00943">943</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="a1006dbcfb640b599f0587af3b0ba46ae" name="a1006dbcfb640b599f0587af3b0ba46ae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1006dbcfb640b599f0587af3b0ba46ae">&#9670;&#160;</a></span>addEnvSensor()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorData::addEnvSensor </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classrtabmap_1_1EnvSensor.html">EnvSensor</a> &amp;&#160;</td>
<td class="paramname"><em>sensor</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>Adds a single environmental sensor. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">sensor</td><td>Environmental sensor to add </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00949">949</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="a4cce095c69f9fa8f0035c9f2f51c0ff9" name="a4cce095c69f9fa8f0035c9f2f51c0ff9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4cce095c69f9fa8f0035c9f2f51c0ff9">&#9670;&#160;</a></span>envSensors()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="namespacertabmap.html#ac175ef40b7a4acb632232d3d96a1199a">EnvSensors</a> &amp; rtabmap::SensorData::envSensors </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>Returns all environmental sensors. </p>
<dl class="section return"><dt>Returns</dt><dd>Const reference to map of environmental sensors </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00955">955</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="af0873bbd79209dca371792e94e020e14" name="af0873bbd79209dca371792e94e020e14"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af0873bbd79209dca371792e94e020e14">&#9670;&#160;</a></span>setLandmarks()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorData::setLandmarks </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacertabmap.html#a12bbfd3e37121bf9f68a4047c8b4da86">Landmarks</a> &amp;&#160;</td>
<td class="paramname"><em>landmarks</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 landmarks. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">landmarks</td><td>Map of landmark IDs to landmark data </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd><a class="el" href="classrtabmap_1_1Landmark.html" title="Optimized pose of a visual landmark (e.g. ArUco/AprilTag) in the map.">Landmark</a> IDs should be positive and non-zero. </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00962">962</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="a73ba0bb1cb31a3438b3ffee161b16ff8" name="a73ba0bb1cb31a3438b3ffee161b16ff8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a73ba0bb1cb31a3438b3ffee161b16ff8">&#9670;&#160;</a></span>landmarks()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="namespacertabmap.html#a12bbfd3e37121bf9f68a4047c8b4da86">Landmarks</a> &amp; rtabmap::SensorData::landmarks </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>Returns landmarks. </p>
<dl class="section return"><dt>Returns</dt><dd>Const reference to map of landmarks </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorData_8h_source.html#l00968">968</a> of file <a class="el" href="SensorData_8h_source.html">SensorData.h</a>.</p>
</div>
</div>
<a id="a60b3b2366bb66c914cfa7799204828fc" name="a60b3b2366bb66c914cfa7799204828fc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a60b3b2366bb66c914cfa7799204828fc">&#9670;&#160;</a></span>getMemoryUsed()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned long rtabmap::SensorData::getMemoryUsed </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Computes the memory usage of this sensor data. </p>
<p>Calculates the approximate memory footprint including all images, laser scans, features, descriptors, and other data structures.</p>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classrtabmap_1_1Memory.html" title="Three-tiered memory management (STM, WM, LTM) for RTAB-Map.">Memory</a> usage in bytes </dd></dl>
</div>
</div>
<a id="a33244e8049bfae5bea9ecf80057bcd29" name="a33244e8049bfae5bea9ecf80057bcd29"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a33244e8049bfae5bea9ecf80057bcd29">&#9670;&#160;</a></span>clearCompressedData()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorData::clearCompressedData </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>images</em> = <code>true</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>scan</em> = <code>true</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>userData</em> = <code>true</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>occupancyGrid</em> = <code>true</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Clear compressed rgb/depth (left/right) images, compressed laser scan and compressed user data. Raw data are kept is set. </p>
</div>
</div>
<a id="a53040403970a08a677e69d824a31f7b2" name="a53040403970a08a677e69d824a31f7b2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a53040403970a08a677e69d824a31f7b2">&#9670;&#160;</a></span>clearRawData()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorData::clearRawData </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>images</em> = <code>true</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>scan</em> = <code>true</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>userData</em> = <code>true</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>occupancyGrid</em> = <code>true</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Clear raw rgb/depth (left/right) images, raw laser scan and raw user data. Compressed data are kept is set. </p>
</div>
</div>
<a id="a30f069ee8ffa263ec2c18bc714713e03" name="a30f069ee8ffa263ec2c18bc714713e03"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a30f069ee8ffa263ec2c18bc714713e03">&#9670;&#160;</a></span>isPointVisibleFromCameras()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int rtabmap::SensorData::isPointVisibleFromCameras </td>
<td>(</td>
<td class="paramtype">const cv::Point3f &amp;&#160;</td>
<td class="paramname"><em>pt</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Checks if a 3D point is visible from any camera. </p>
<p>Projects the 3D point into all camera models and checks if it falls within the image bounds.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pt</td><td>3D point in robot frame (base_link) </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classrtabmap_1_1Camera.html">Camera</a> index (&gt;=0) of the first camera found with the point visible, -1 if the point is not visible by any camera. </dd></dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>corelib/include/rtabmap/core/<a class="el" href="SensorData_8h_source.html">SensorData.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_1SensorData.html">SensorData</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>