Files
rtabmap/api/latest/classrtabmap_1_1GlobalMap.html
T

1042 lines
56 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::GlobalMap 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.10</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_1GlobalMap.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="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classrtabmap_1_1GlobalMap-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">rtabmap::GlobalMap Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div></div>
</div><!--header-->
<div class="contents">
<p>Abstract base for assembling per-node <a class="el" href="classrtabmap_1_1LocalGrid.html">LocalGrid</a> data into a global map.
<a href="classrtabmap_1_1GlobalMap.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="GlobalMap_8h_source.html">GlobalMap.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for rtabmap::GlobalMap:</div>
<div class="dyncontent">
<div class="center"><img src="classrtabmap_1_1GlobalMap__inherit__graph.png" border="0" usemap="#artabmap_1_1GlobalMap_inherit__map" alt="Inheritance graph"/></div>
<map name="artabmap_1_1GlobalMap_inherit__map" id="artabmap_1_1GlobalMap_inherit__map">
<area shape="rect" title="Abstract base for assembling per&#45;node LocalGrid data into a global map." alt="" coords="265,5,419,31"/>
<area shape="rect" href="classrtabmap_1_1CloudMap.html" title=" " alt="" coords="5,79,156,104"/>
<area shape="poly" title=" " alt="" coords="288,37,124,81,122,76,286,32"/>
<area shape="rect" href="classrtabmap_1_1GridMap.html" title=" " alt="" coords="180,79,320,104"/>
<area shape="poly" title=" " alt="" coords="318,41,267,81,263,76,315,37"/>
<area shape="rect" href="classrtabmap_1_1OccupancyGrid.html" title=" " alt="" coords="344,79,527,104"/>
<area shape="poly" title=" " alt="" coords="369,37,422,76,418,81,366,41"/>
<area shape="rect" href="classrtabmap_1_1OctoMap.html" title=" " alt="" coords="551,79,693,104"/>
<area shape="poly" title=" " alt="" coords="401,31,577,76,576,81,399,37"/>
</map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a11e9ba83337edf7f08f3c50064be028a" id="r_a11e9ba83337edf7f08f3c50064be028a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1GlobalMap.html#a11e9ba83337edf7f08f3c50064be028a">fullUpdateNeeded</a> (const std::map&lt; int, <a class="el" href="classrtabmap_1_1Transform.html">Transform</a> &gt; &amp;poses) const</td></tr>
<tr class="memdesc:a11e9ba83337edf7f08f3c50064be028a"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the map should be rebuilt from cache (loop closure or disjoint graph). <br /></td></tr>
<tr class="separator:a11e9ba83337edf7f08f3c50064be028a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa21a1e3baba94ded5663a8057a3b8cd6" id="r_aa21a1e3baba94ded5663a8057a3b8cd6"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1GlobalMap.html#aa21a1e3baba94ded5663a8057a3b8cd6">update</a> (const std::map&lt; int, <a class="el" href="classrtabmap_1_1Transform.html">Transform</a> &gt; &amp;poses)</td></tr>
<tr class="memdesc:aa21a1e3baba94ded5663a8057a3b8cd6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Incrementally assemble new nodes from <code>poses</code>. <br /></td></tr>
<tr class="separator:aa21a1e3baba94ded5663a8057a3b8cd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6701a09e2532877e73d5b1ba8cb1213" id="r_aa6701a09e2532877e73d5b1ba8cb1213"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1GlobalMap.html#aa6701a09e2532877e73d5b1ba8cb1213">clear</a> ()</td></tr>
<tr class="memdesc:aa6701a09e2532877e73d5b1ba8cb1213"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears assembled nodes and grid bounds; does not clear <a class="el" href="classrtabmap_1_1LocalGridCache.html">LocalGridCache</a>. <br /></td></tr>
<tr class="separator:aa6701a09e2532877e73d5b1ba8cb1213"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a445f18d347d5624a012f756eb9fe5320" id="r_a445f18d347d5624a012f756eb9fe5320"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1GlobalMap.html#a445f18d347d5624a012f756eb9fe5320">getCellSize</a> () const</td></tr>
<tr class="separator:a445f18d347d5624a012f756eb9fe5320"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99c3840a89e76a091cf59cfaf1a8bcc4" id="r_a99c3840a89e76a091cf59cfaf1a8bcc4"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1GlobalMap.html#a99c3840a89e76a091cf59cfaf1a8bcc4">getUpdateError</a> () const</td></tr>
<tr class="separator:a99c3840a89e76a091cf59cfaf1a8bcc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98c2c10030cfa64c1b72d17f046243f4" id="r_a98c2c10030cfa64c1b72d17f046243f4"><td class="memItemLeft" align="right" valign="top">const std::map&lt; int, <a class="el" href="classrtabmap_1_1Transform.html">Transform</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1GlobalMap.html#a98c2c10030cfa64c1b72d17f046243f4">addedNodes</a> () const</td></tr>
<tr class="separator:a98c2c10030cfa64c1b72d17f046243f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf028c4c070aa8568eaaf3dae4b926ee" id="r_aaf028c4c070aa8568eaaf3dae4b926ee"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1GlobalMap.html#aaf028c4c070aa8568eaaf3dae4b926ee">getGridMin</a> (double &amp;x, double &amp;y) const</td></tr>
<tr class="memdesc:aaf028c4c070aa8568eaaf3dae4b926ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">2D grid minimum (x, y) in meters. <br /></td></tr>
<tr class="separator:aaf028c4c070aa8568eaaf3dae4b926ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa840b2e62893de929f952b8511df6164" id="r_aa840b2e62893de929f952b8511df6164"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1GlobalMap.html#aa840b2e62893de929f952b8511df6164">getGridMax</a> (double &amp;x, double &amp;y) const</td></tr>
<tr class="memdesc:aa840b2e62893de929f952b8511df6164"><td class="mdescLeft">&#160;</td><td class="mdescRight">2D grid maximum (x, y) in meters. <br /></td></tr>
<tr class="separator:aa840b2e62893de929f952b8511df6164"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37adbbb0e80ba76cfa080cec9811cca3" id="r_a37adbbb0e80ba76cfa080cec9811cca3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1GlobalMap.html#a37adbbb0e80ba76cfa080cec9811cca3">getGridMin</a> (double &amp;x, double &amp;y, double &amp;z) const</td></tr>
<tr class="memdesc:a37adbbb0e80ba76cfa080cec9811cca3"><td class="mdescLeft">&#160;</td><td class="mdescRight">3D grid minimum (x, y, z) in meters. <br /></td></tr>
<tr class="separator:a37adbbb0e80ba76cfa080cec9811cca3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a060366742fc8f51deaf7dd75b66615c7" id="r_a060366742fc8f51deaf7dd75b66615c7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1GlobalMap.html#a060366742fc8f51deaf7dd75b66615c7">getGridMax</a> (double &amp;x, double &amp;y, double &amp;z) const</td></tr>
<tr class="memdesc:a060366742fc8f51deaf7dd75b66615c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">3D grid maximum (x, y, z) in meters. <br /></td></tr>
<tr class="separator:a060366742fc8f51deaf7dd75b66615c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20031690daf7a7e9195ae97abf46522b" id="r_a20031690daf7a7e9195ae97abf46522b"><td class="memItemLeft" align="right" valign="top">virtual unsigned long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1GlobalMap.html#a20031690daf7a7e9195ae97abf46522b">getMemoryUsed</a> () const</td></tr>
<tr class="memdesc:a20031690daf7a7e9195ae97abf46522b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Approximate memory used by assembled-node bookkeeping (bytes). <br /></td></tr>
<tr class="separator:a20031690daf7a7e9195ae97abf46522b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:aff0b3450ec3db63b9dcb140ff0cbe77a" id="r_aff0b3450ec3db63b9dcb140ff0cbe77a"><td class="memItemLeft" align="right" valign="top">static float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1GlobalMap.html#aff0b3450ec3db63b9dcb140ff0cbe77a">logodds</a> (double <a class="el" href="classrtabmap_1_1GlobalMap.html#a54fd556aa295938077539e85b2be829a">probability</a>)</td></tr>
<tr class="memdesc:aff0b3450ec3db63b9dcb140ff0cbe77a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts probability in (0, 1) to log-odds. <br /></td></tr>
<tr class="separator:aff0b3450ec3db63b9dcb140ff0cbe77a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54fd556aa295938077539e85b2be829a" id="r_a54fd556aa295938077539e85b2be829a"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1GlobalMap.html#a54fd556aa295938077539e85b2be829a">probability</a> (double <a class="el" href="classrtabmap_1_1GlobalMap.html#aff0b3450ec3db63b9dcb140ff0cbe77a">logodds</a>)</td></tr>
<tr class="memdesc:a54fd556aa295938077539e85b2be829a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts log-odds back to probability in (0, 1). <br /></td></tr>
<tr class="separator:a54fd556aa295938077539e85b2be829a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a03581caaa2a313b131726af4e4a6b714" id="r_a03581caaa2a313b131726af4e4a6b714"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1GlobalMap.html#a03581caaa2a313b131726af4e4a6b714">GlobalMap</a> (const <a class="el" href="classrtabmap_1_1LocalGridCache.html">LocalGridCache</a> *<a class="el" href="classrtabmap_1_1GlobalMap.html#a632f06ccce72bce66a9fd38d37f23b80">cache</a>, const <a class="el" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> &amp;parameters=<a class="el" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a>())</td></tr>
<tr class="memdesc:a03581caaa2a313b131726af4e4a6b714"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs the base map; subclasses call from their constructor. <br /></td></tr>
<tr class="separator:a03581caaa2a313b131726af4e4a6b714"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae622850e2447bf1cc3e99ee9dcd4b65f" id="r_ae622850e2447bf1cc3e99ee9dcd4b65f"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1GlobalMap.html#ae622850e2447bf1cc3e99ee9dcd4b65f">assemble</a> (const std::list&lt; std::pair&lt; int, <a class="el" href="classrtabmap_1_1Transform.html">Transform</a> &gt; &gt; &amp;newPoses)=0</td></tr>
<tr class="memdesc:ae622850e2447bf1cc3e99ee9dcd4b65f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Subclass hook: merge <code>newPoses</code> into the global map; call <a class="el" href="classrtabmap_1_1GlobalMap.html#a0b95370df2582da48ff0e1e405cccda2">addAssembledNode()</a>. <br /></td></tr>
<tr class="separator:ae622850e2447bf1cc3e99ee9dcd4b65f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a632f06ccce72bce66a9fd38d37f23b80" id="r_a632f06ccce72bce66a9fd38d37f23b80"><td class="memItemLeft" align="right" valign="top">const std::map&lt; int, <a class="el" href="classrtabmap_1_1LocalGrid.html">LocalGrid</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1GlobalMap.html#a632f06ccce72bce66a9fd38d37f23b80">cache</a> () const</td></tr>
<tr class="separator:a632f06ccce72bce66a9fd38d37f23b80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7fc3f43e65401d3842419066242e081d" id="r_a7fc3f43e65401d3842419066242e081d"><td class="memItemLeft" align="right" valign="top">const std::map&lt; int, <a class="el" href="classrtabmap_1_1Transform.html">Transform</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1GlobalMap.html#a7fc3f43e65401d3842419066242e081d">assembledNodes</a> () const</td></tr>
<tr class="separator:a7fc3f43e65401d3842419066242e081d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c853fcade3b4b9bd4f49b6a07025e6d" id="r_a9c853fcade3b4b9bd4f49b6a07025e6d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1GlobalMap.html#a9c853fcade3b4b9bd4f49b6a07025e6d">isNodeAssembled</a> (int id)</td></tr>
<tr class="separator:a9c853fcade3b4b9bd4f49b6a07025e6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b95370df2582da48ff0e1e405cccda2" id="r_a0b95370df2582da48ff0e1e405cccda2"><td class="memItemLeft" align="right" valign="top"><a id="a0b95370df2582da48ff0e1e405cccda2" name="a0b95370df2582da48ff0e1e405cccda2"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>addAssembledNode</b> (int id, const <a class="el" href="classrtabmap_1_1Transform.html">Transform</a> &amp;pose)</td></tr>
<tr class="memdesc:a0b95370df2582da48ff0e1e405cccda2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Records a successfully assembled node (ids &lt;= 0 are ignored). <br /></td></tr>
<tr class="separator:a0b95370df2582da48ff0e1e405cccda2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-attribs" name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:ae9f370b9f18f836e3c95bafe0c71d5f9" id="r_ae9f370b9f18f836e3c95bafe0c71d5f9"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1GlobalMap.html#ae9f370b9f18f836e3c95bafe0c71d5f9">cellSize_</a></td></tr>
<tr class="separator:ae9f370b9f18f836e3c95bafe0c71d5f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b5471c36fb21ba070df25cd0e75dd04" id="r_a2b5471c36fb21ba070df25cd0e75dd04"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1GlobalMap.html#a2b5471c36fb21ba070df25cd0e75dd04">updateError_</a></td></tr>
<tr class="separator:a2b5471c36fb21ba070df25cd0e75dd04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9fba67994a1789cc317c34e3a749bc4" id="r_ae9fba67994a1789cc317c34e3a749bc4"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1GlobalMap.html#ae9fba67994a1789cc317c34e3a749bc4">occupancyThr_</a></td></tr>
<tr class="separator:ae9fba67994a1789cc317c34e3a749bc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13f2d13b5cec35a927cf5869904babf6" id="r_a13f2d13b5cec35a927cf5869904babf6"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1GlobalMap.html#a13f2d13b5cec35a927cf5869904babf6">logOddsHit_</a></td></tr>
<tr class="separator:a13f2d13b5cec35a927cf5869904babf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a556a9f454e138e0f5891afacf49c7114" id="r_a556a9f454e138e0f5891afacf49c7114"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1GlobalMap.html#a556a9f454e138e0f5891afacf49c7114">logOddsMiss_</a></td></tr>
<tr class="separator:a556a9f454e138e0f5891afacf49c7114"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a36e4de6037c1a9a863515ac890be257e" id="r_a36e4de6037c1a9a863515ac890be257e"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1GlobalMap.html#a36e4de6037c1a9a863515ac890be257e">logOddsClampingMin_</a></td></tr>
<tr class="separator:a36e4de6037c1a9a863515ac890be257e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ff9968528c6848e096910d38298df07" id="r_a1ff9968528c6848e096910d38298df07"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1GlobalMap.html#a1ff9968528c6848e096910d38298df07">logOddsClampingMax_</a></td></tr>
<tr class="separator:a1ff9968528c6848e096910d38298df07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a604273034598358d7d2ce8166db3bb46" id="r_a604273034598358d7d2ce8166db3bb46"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1GlobalMap.html#a604273034598358d7d2ce8166db3bb46">minValues_</a> [3]</td></tr>
<tr class="separator:a604273034598358d7d2ce8166db3bb46"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa437824f1ccbe1c88c4f11dd18d2186" id="r_afa437824f1ccbe1c88c4f11dd18d2186"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1GlobalMap.html#afa437824f1ccbe1c88c4f11dd18d2186">maxValues_</a> [3]</td></tr>
<tr class="separator:afa437824f1ccbe1c88c4f11dd18d2186"><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>Abstract base for assembling per-node <a class="el" href="classrtabmap_1_1LocalGrid.html">LocalGrid</a> data into a global map. </p>
<p>Subclasses (<a class="el" href="classrtabmap_1_1OccupancyGrid.html">OccupancyGrid</a>, <a class="el" href="classrtabmap_1_1OctoMap.html">OctoMap</a>, <a class="el" href="classrtabmap_1_1GridMap.html">GridMap</a>, <a class="el" href="classrtabmap_1_1CloudMap.html">CloudMap</a>) implement <a class="el" href="classrtabmap_1_1GlobalMap.html#ae622850e2447bf1cc3e99ee9dcd4b65f">assemble()</a> to merge new node poses from <a class="el" href="classrtabmap_1_1LocalGridCache.html">LocalGridCache</a> into their representation.</p>
<p><a class="el" href="classrtabmap_1_1GlobalMap.html#aa21a1e3baba94ded5663a8057a3b8cd6">update()</a> decides which poses need assembly (not yet in <a class="el" href="classrtabmap_1_1GlobalMap.html#a98c2c10030cfa64c1b72d17f046243f4">addedNodes()</a>, present in cache, id &gt; 0) and may call <a class="el" href="classrtabmap_1_1GlobalMap.html#aa6701a09e2532877e73d5b1ba8cb1213">clear()</a> when <a class="el" href="classrtabmap_1_1GlobalMap.html#a11e9ba83337edf7f08f3c50064be028a">fullUpdateNeeded()</a> detects graph optimization or a disjoint pose set (see <a class="el" href="classrtabmap_1_1Parameters.html#ad8552e70b80bf9406fd87c807e6134b9">Parameters::kGridGlobalUpdateError()</a>).</p>
<p>Log-odds helpers <a class="el" href="classrtabmap_1_1GlobalMap.html#aff0b3450ec3db63b9dcb140ff0cbe77a">logodds()</a> and <a class="el" href="classrtabmap_1_1GlobalMap.html#a54fd556aa295938077539e85b2be829a">probability()</a> convert between occupancy probability and the internal log-odds representation used for global hit/miss/clamping parameters (GridGlobal/Prob*). </p>
<p class="definition">Definition at line <a class="el" href="GlobalMap_8h_source.html#l00055">55</a> of file <a class="el" href="GlobalMap_8h_source.html">GlobalMap.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a03581caaa2a313b131726af4e4a6b714" name="a03581caaa2a313b131726af4e4a6b714"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a03581caaa2a313b131726af4e4a6b714">&#9670;&#160;</a></span>GlobalMap()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">rtabmap::GlobalMap::GlobalMap </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classrtabmap_1_1LocalGridCache.html">LocalGridCache</a> *&#160;</td>
<td class="paramname"><em>cache</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> &amp;&#160;</td>
<td class="paramname"><em>parameters</em> = <code><a class="el" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a>()</code>&#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">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructs the base map; subclasses call from their constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">cache</td><td>Non-null cache of per-node local grids. </td></tr>
<tr><td class="paramname">parameters</td><td>Optional Grid/ and GridGlobal/ parameter overrides. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="aff0b3450ec3db63b9dcb140ff0cbe77a" name="aff0b3450ec3db63b9dcb140ff0cbe77a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aff0b3450ec3db63b9dcb140ff0cbe77a">&#9670;&#160;</a></span>logodds()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static float rtabmap::GlobalMap::logodds </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>probability</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Converts probability in (0, 1) to log-odds. </p>
<p class="definition">Definition at line <a class="el" href="GlobalMap_8h_source.html#l00059">59</a> of file <a class="el" href="GlobalMap_8h_source.html">GlobalMap.h</a>.</p>
</div>
</div>
<a id="a54fd556aa295938077539e85b2be829a" name="a54fd556aa295938077539e85b2be829a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a54fd556aa295938077539e85b2be829a">&#9670;&#160;</a></span>probability()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static double rtabmap::GlobalMap::probability </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>logodds</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Converts log-odds back to probability in (0, 1). </p>
<p class="definition">Definition at line <a class="el" href="GlobalMap_8h_source.html#l00065">65</a> of file <a class="el" href="GlobalMap_8h_source.html">GlobalMap.h</a>.</p>
</div>
</div>
<a id="a11e9ba83337edf7f08f3c50064be028a" name="a11e9ba83337edf7f08f3c50064be028a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a11e9ba83337edf7f08f3c50064be028a">&#9670;&#160;</a></span>fullUpdateNeeded()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool rtabmap::GlobalMap::fullUpdateNeeded </td>
<td>(</td>
<td class="paramtype">const std::map&lt; int, <a class="el" href="classrtabmap_1_1Transform.html">Transform</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>poses</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>True if the map should be rebuilt from cache (loop closure or disjoint graph). </p>
<p>Compares <code>poses</code> to <a class="el" href="classrtabmap_1_1GlobalMap.html#a98c2c10030cfa64c1b72d17f046243f4">addedNodes()</a> using <a class="el" href="classrtabmap_1_1GlobalMap.html#a99c3840a89e76a091cf59cfaf1a8bcc4">getUpdateError()</a>, which is set from <b>Grid/GlobalUpdateError</b> (<code><a class="el" href="classrtabmap_1_1Parameters.html#ad8552e70b80bf9406fd87c807e6134b9" title="Key of parameter GridGlobal/UpdateError : &quot;Graph changed detection error (m). Update map only if pose...">Parameters::kGridGlobalUpdateError()</a></code>): if any assembled node's pose moved farther than that threshold (meters), or if none of the assembled nodes appear in <code>poses</code>, returns true and <a class="el" href="classrtabmap_1_1GlobalMap.html#aa21a1e3baba94ded5663a8057a3b8cd6">update()</a> will call <a class="el" href="classrtabmap_1_1GlobalMap.html#aa6701a09e2532877e73d5b1ba8cb1213">clear()</a> first.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">poses</td><td>Current graph poses (node id → transform). </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aa21a1e3baba94ded5663a8057a3b8cd6" name="aa21a1e3baba94ded5663a8057a3b8cd6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa21a1e3baba94ded5663a8057a3b8cd6">&#9670;&#160;</a></span>update()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool rtabmap::GlobalMap::update </td>
<td>(</td>
<td class="paramtype">const std::map&lt; int, <a class="el" href="classrtabmap_1_1Transform.html">Transform</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>poses</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Incrementally assemble new nodes from <code>poses</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">poses</td><td>Graph poses; ids &gt; 0 with a cached <a class="el" href="classrtabmap_1_1LocalGrid.html">LocalGrid</a> are candidates. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if <a class="el" href="classrtabmap_1_1GlobalMap.html#ae622850e2447bf1cc3e99ee9dcd4b65f">assemble()</a> was called (at least one new pose processed). </dd></dl>
</div>
</div>
<a id="aa6701a09e2532877e73d5b1ba8cb1213" name="aa6701a09e2532877e73d5b1ba8cb1213"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa6701a09e2532877e73d5b1ba8cb1213">&#9670;&#160;</a></span>clear()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void rtabmap::GlobalMap::clear </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Clears assembled nodes and grid bounds; does not clear <a class="el" href="classrtabmap_1_1LocalGridCache.html">LocalGridCache</a>. </p>
<p>Reimplemented in <a class="el" href="classrtabmap_1_1CloudMap.html#a3e2089cb30bd4efbee1ede0c041ee4af">rtabmap::CloudMap</a>, <a class="el" href="classrtabmap_1_1GridMap.html#a2a3b8ba591cf41da62e5486bb62b8f51">rtabmap::GridMap</a>, <a class="el" href="classrtabmap_1_1OccupancyGrid.html#a76e50602b4dea4a94b1e7e1db25c9177">rtabmap::OccupancyGrid</a>, and <a class="el" href="classrtabmap_1_1OctoMap.html#a6f9f296f3d5852f749c88291fa11d70f">rtabmap::OctoMap</a>.</p>
</div>
</div>
<a id="a445f18d347d5624a012f756eb9fe5320" name="a445f18d347d5624a012f756eb9fe5320"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a445f18d347d5624a012f756eb9fe5320">&#9670;&#160;</a></span>getCellSize()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">float rtabmap::GlobalMap::getCellSize </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">
<dl class="section return"><dt>Returns</dt><dd>Grid cell size in meters (Grid/CellSize). </dd></dl>
<p class="definition">Definition at line <a class="el" href="GlobalMap_8h_source.html#l00096">96</a> of file <a class="el" href="GlobalMap_8h_source.html">GlobalMap.h</a>.</p>
</div>
</div>
<a id="a99c3840a89e76a091cf59cfaf1a8bcc4" name="a99c3840a89e76a091cf59cfaf1a8bcc4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a99c3840a89e76a091cf59cfaf1a8bcc4">&#9670;&#160;</a></span>getUpdateError()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">float rtabmap::GlobalMap::getUpdateError </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">
<dl class="section return"><dt>Returns</dt><dd>Pose change threshold for full rebuild (Grid/GlobalUpdateError). </dd></dl>
<p class="definition">Definition at line <a class="el" href="GlobalMap_8h_source.html#l00098">98</a> of file <a class="el" href="GlobalMap_8h_source.html">GlobalMap.h</a>.</p>
</div>
</div>
<a id="a98c2c10030cfa64c1b72d17f046243f4" name="a98c2c10030cfa64c1b72d17f046243f4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a98c2c10030cfa64c1b72d17f046243f4">&#9670;&#160;</a></span>addedNodes()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const std::map&lt; int, <a class="el" href="classrtabmap_1_1Transform.html">Transform</a> &gt; &amp; rtabmap::GlobalMap::addedNodes </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">
<dl class="section return"><dt>Returns</dt><dd>Poses of nodes already assembled into the global map. </dd></dl>
<p class="definition">Definition at line <a class="el" href="GlobalMap_8h_source.html#l00100">100</a> of file <a class="el" href="GlobalMap_8h_source.html">GlobalMap.h</a>.</p>
</div>
</div>
<a id="aaf028c4c070aa8568eaaf3dae4b926ee" name="aaf028c4c070aa8568eaaf3dae4b926ee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaf028c4c070aa8568eaaf3dae4b926ee">&#9670;&#160;</a></span>getGridMin() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void rtabmap::GlobalMap::getGridMin </td>
<td>(</td>
<td class="paramtype">double &amp;&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double &amp;&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</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>2D grid minimum (x, y) in meters. </p>
<p class="definition">Definition at line <a class="el" href="GlobalMap_8h_source.html#l00103">103</a> of file <a class="el" href="GlobalMap_8h_source.html">GlobalMap.h</a>.</p>
</div>
</div>
<a id="aa840b2e62893de929f952b8511df6164" name="aa840b2e62893de929f952b8511df6164"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa840b2e62893de929f952b8511df6164">&#9670;&#160;</a></span>getGridMax() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void rtabmap::GlobalMap::getGridMax </td>
<td>(</td>
<td class="paramtype">double &amp;&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double &amp;&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</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>2D grid maximum (x, y) in meters. </p>
<p class="definition">Definition at line <a class="el" href="GlobalMap_8h_source.html#l00105">105</a> of file <a class="el" href="GlobalMap_8h_source.html">GlobalMap.h</a>.</p>
</div>
</div>
<a id="a37adbbb0e80ba76cfa080cec9811cca3" name="a37adbbb0e80ba76cfa080cec9811cca3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a37adbbb0e80ba76cfa080cec9811cca3">&#9670;&#160;</a></span>getGridMin() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void rtabmap::GlobalMap::getGridMin </td>
<td>(</td>
<td class="paramtype">double &amp;&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double &amp;&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double &amp;&#160;</td>
<td class="paramname"><em>z</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</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>3D grid minimum (x, y, z) in meters. </p>
<p class="definition">Definition at line <a class="el" href="GlobalMap_8h_source.html#l00107">107</a> of file <a class="el" href="GlobalMap_8h_source.html">GlobalMap.h</a>.</p>
</div>
</div>
<a id="a060366742fc8f51deaf7dd75b66615c7" name="a060366742fc8f51deaf7dd75b66615c7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a060366742fc8f51deaf7dd75b66615c7">&#9670;&#160;</a></span>getGridMax() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void rtabmap::GlobalMap::getGridMax </td>
<td>(</td>
<td class="paramtype">double &amp;&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double &amp;&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double &amp;&#160;</td>
<td class="paramname"><em>z</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</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>3D grid maximum (x, y, z) in meters. </p>
<p class="definition">Definition at line <a class="el" href="GlobalMap_8h_source.html#l00109">109</a> of file <a class="el" href="GlobalMap_8h_source.html">GlobalMap.h</a>.</p>
</div>
</div>
<a id="a20031690daf7a7e9195ae97abf46522b" name="a20031690daf7a7e9195ae97abf46522b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a20031690daf7a7e9195ae97abf46522b">&#9670;&#160;</a></span>getMemoryUsed()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual unsigned long rtabmap::GlobalMap::getMemoryUsed </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">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Approximate memory used by assembled-node bookkeeping (bytes). </p>
<p>Reimplemented in <a class="el" href="classrtabmap_1_1CloudMap.html#a18a2dd71488719960f06eb4ae5e2cf4b">rtabmap::CloudMap</a>, <a class="el" href="classrtabmap_1_1OccupancyGrid.html#a06bee0b73df176bd0ab6495e22992d7f">rtabmap::OccupancyGrid</a>, and <a class="el" href="classrtabmap_1_1OctoMap.html#ab4706881eee755cf58312859e6a3af89">rtabmap::OctoMap</a>.</p>
</div>
</div>
<a id="ae622850e2447bf1cc3e99ee9dcd4b65f" name="ae622850e2447bf1cc3e99ee9dcd4b65f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae622850e2447bf1cc3e99ee9dcd4b65f">&#9670;&#160;</a></span>assemble()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void rtabmap::GlobalMap::assemble </td>
<td>(</td>
<td class="paramtype">const std::list&lt; std::pair&lt; int, <a class="el" href="classrtabmap_1_1Transform.html">Transform</a> &gt; &gt; &amp;&#160;</td>
<td class="paramname"><em>newPoses</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Subclass hook: merge <code>newPoses</code> into the global map; call <a class="el" href="classrtabmap_1_1GlobalMap.html#a0b95370df2582da48ff0e1e405cccda2">addAssembledNode()</a>. </p>
<p>Implemented in <a class="el" href="classrtabmap_1_1CloudMap.html#a58b2f9f2a99fe3ab14ba73603e3d4f68">rtabmap::CloudMap</a>, <a class="el" href="classrtabmap_1_1GridMap.html#a57ad9df30e61345ec23a45bcda0f2e93">rtabmap::GridMap</a>, <a class="el" href="classrtabmap_1_1OccupancyGrid.html#a4e83e17bca353cd46097c14779119ffd">rtabmap::OccupancyGrid</a>, and <a class="el" href="classrtabmap_1_1OctoMap.html#ac74a308322f3162307bfe73bfd60c2dd">rtabmap::OctoMap</a>.</p>
</div>
</div>
<a id="a632f06ccce72bce66a9fd38d37f23b80" name="a632f06ccce72bce66a9fd38d37f23b80"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a632f06ccce72bce66a9fd38d37f23b80">&#9670;&#160;</a></span>cache()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const std::map&lt; int, <a class="el" href="classrtabmap_1_1LocalGrid.html">LocalGrid</a> &gt; &amp; rtabmap::GlobalMap::cache </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 class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Cached local grids keyed by node id. </dd></dl>
<p class="definition">Definition at line <a class="el" href="GlobalMap_8h_source.html#l00126">126</a> of file <a class="el" href="GlobalMap_8h_source.html">GlobalMap.h</a>.</p>
</div>
</div>
<a id="a7fc3f43e65401d3842419066242e081d" name="a7fc3f43e65401d3842419066242e081d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7fc3f43e65401d3842419066242e081d">&#9670;&#160;</a></span>assembledNodes()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const std::map&lt; int, <a class="el" href="classrtabmap_1_1Transform.html">Transform</a> &gt; &amp; rtabmap::GlobalMap::assembledNodes </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 class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Poses of nodes already assembled (same as <a class="el" href="classrtabmap_1_1GlobalMap.html#a98c2c10030cfa64c1b72d17f046243f4">addedNodes()</a>). </dd></dl>
<p class="definition">Definition at line <a class="el" href="GlobalMap_8h_source.html#l00129">129</a> of file <a class="el" href="GlobalMap_8h_source.html">GlobalMap.h</a>.</p>
</div>
</div>
<a id="a9c853fcade3b4b9bd4f49b6a07025e6d" name="a9c853fcade3b4b9bd4f49b6a07025e6d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9c853fcade3b4b9bd4f49b6a07025e6d">&#9670;&#160;</a></span>isNodeAssembled()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool rtabmap::GlobalMap::isNodeAssembled </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 class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>True if <code>id</code> is already in the assembled set. </dd></dl>
<p class="definition">Definition at line <a class="el" href="GlobalMap_8h_source.html#l00131">131</a> of file <a class="el" href="GlobalMap_8h_source.html">GlobalMap.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="ae9f370b9f18f836e3c95bafe0c71d5f9" name="ae9f370b9f18f836e3c95bafe0c71d5f9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae9f370b9f18f836e3c95bafe0c71d5f9">&#9670;&#160;</a></span>cellSize_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">float rtabmap::GlobalMap::cellSize_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="GlobalMap_8h_source.html#l00136">136</a> of file <a class="el" href="GlobalMap_8h_source.html">GlobalMap.h</a>.</p>
</div>
</div>
<a id="a2b5471c36fb21ba070df25cd0e75dd04" name="a2b5471c36fb21ba070df25cd0e75dd04"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b5471c36fb21ba070df25cd0e75dd04">&#9670;&#160;</a></span>updateError_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">float rtabmap::GlobalMap::updateError_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="GlobalMap_8h_source.html#l00137">137</a> of file <a class="el" href="GlobalMap_8h_source.html">GlobalMap.h</a>.</p>
</div>
</div>
<a id="ae9fba67994a1789cc317c34e3a749bc4" name="ae9fba67994a1789cc317c34e3a749bc4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae9fba67994a1789cc317c34e3a749bc4">&#9670;&#160;</a></span>occupancyThr_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">float rtabmap::GlobalMap::occupancyThr_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="GlobalMap_8h_source.html#l00139">139</a> of file <a class="el" href="GlobalMap_8h_source.html">GlobalMap.h</a>.</p>
</div>
</div>
<a id="a13f2d13b5cec35a927cf5869904babf6" name="a13f2d13b5cec35a927cf5869904babf6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a13f2d13b5cec35a927cf5869904babf6">&#9670;&#160;</a></span>logOddsHit_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">float rtabmap::GlobalMap::logOddsHit_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="GlobalMap_8h_source.html#l00140">140</a> of file <a class="el" href="GlobalMap_8h_source.html">GlobalMap.h</a>.</p>
</div>
</div>
<a id="a556a9f454e138e0f5891afacf49c7114" name="a556a9f454e138e0f5891afacf49c7114"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a556a9f454e138e0f5891afacf49c7114">&#9670;&#160;</a></span>logOddsMiss_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">float rtabmap::GlobalMap::logOddsMiss_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="GlobalMap_8h_source.html#l00141">141</a> of file <a class="el" href="GlobalMap_8h_source.html">GlobalMap.h</a>.</p>
</div>
</div>
<a id="a36e4de6037c1a9a863515ac890be257e" name="a36e4de6037c1a9a863515ac890be257e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a36e4de6037c1a9a863515ac890be257e">&#9670;&#160;</a></span>logOddsClampingMin_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">float rtabmap::GlobalMap::logOddsClampingMin_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="GlobalMap_8h_source.html#l00142">142</a> of file <a class="el" href="GlobalMap_8h_source.html">GlobalMap.h</a>.</p>
</div>
</div>
<a id="a1ff9968528c6848e096910d38298df07" name="a1ff9968528c6848e096910d38298df07"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ff9968528c6848e096910d38298df07">&#9670;&#160;</a></span>logOddsClampingMax_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">float rtabmap::GlobalMap::logOddsClampingMax_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="GlobalMap_8h_source.html#l00143">143</a> of file <a class="el" href="GlobalMap_8h_source.html">GlobalMap.h</a>.</p>
</div>
</div>
<a id="a604273034598358d7d2ce8166db3bb46" name="a604273034598358d7d2ce8166db3bb46"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a604273034598358d7d2ce8166db3bb46">&#9670;&#160;</a></span>minValues_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">double rtabmap::GlobalMap::minValues_[3]</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="GlobalMap_8h_source.html#l00145">145</a> of file <a class="el" href="GlobalMap_8h_source.html">GlobalMap.h</a>.</p>
</div>
</div>
<a id="afa437824f1ccbe1c88c4f11dd18d2186" name="afa437824f1ccbe1c88c4f11dd18d2186"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afa437824f1ccbe1c88c4f11dd18d2186">&#9670;&#160;</a></span>maxValues_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">double rtabmap::GlobalMap::maxValues_[3]</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="GlobalMap_8h_source.html#l00146">146</a> of file <a class="el" href="GlobalMap_8h_source.html">GlobalMap.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>corelib/include/rtabmap/core/<a class="el" href="GlobalMap_8h_source.html">GlobalMap.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_1GlobalMap.html">GlobalMap</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>