Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 2f6559b7006594cad03af173263c219e > files > 4306

mrpt-doc-0.9.4-0.1.20110110svn2383.fc15.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>The MRPT project: mrpt::slam::CSimplePointsMap Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<div align="left"><a href="http://www.mrpt.org/">Main MRPT website</a> &gt; <b>C++ reference</b> </div>
<div align="right">
<a href="index.html"><img border="0" src="mrpt_logo.png" alt="MRPT logo"></a>
</div>
<!-- Generated by Doxygen 1.7.2 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li id="searchli">
        <div id="MSearchBox" class="MSearchBoxInactive">
          <span class="left">
            <form id="FSearchBox" action="search.php" method="get">
              <img id="MSearchSelect" src="search/mag.png" alt=""/>
              <input type="text" id="MSearchField" name="query" value="Search" size="20" accesskey="S" 
                     onfocus="searchBox.OnSearchFieldFocus(true)" 
                     onblur="searchBox.OnSearchFieldFocus(false)"/>
            </form>
          </span><span class="right"></span>
        </div>
      </li>
    </ul>
  </div>
  <div class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath">
    <ul>
      <li><a class="el" href="namespacemrpt.html">mrpt</a>      </li>
      <li><a class="el" href="namespacemrpt_1_1slam.html">slam</a>      </li>
      <li><a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html">CSimplePointsMap</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a>  </div>
  <div class="headertitle">
<h1>mrpt::slam::CSimplePointsMap Class Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="mrpt::slam::CSimplePointsMap" --><!-- doxytag: inherits="mrpt::slam::CPointsMap" --><hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>A cloud of points in 2D or 3D, which can be built from a sequence of laser scans. </p>
<p>This class stores the coordinates (x,y,z) and a "weight", or counter of how many times that point has been seen, used only if points fusion is enabled in the options structure. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1slam_1_1_c_metric_map.html" title="Declares a virtual base class for all metric maps storage classes.">CMetricMap</a>, CPoint, <a class="el" href="classmrpt_1_1utils_1_1_c_serializable.html" title="The virtual base class which provides a unified interface for all persistent objects in MRPT...">mrpt::utils::CSerializable</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_simple_points_map_8h_source.html#l00050">50</a> of file <a class="el" href="_c_simple_points_map_8h_source.html">CSimplePointsMap.h</a>.</p>

<p><code>#include &lt;<a class="el" href="_c_simple_points_map_8h_source.html">mrpt/slam/CSimplePointsMap.h</a>&gt;</code></p>
<!-- startSectionHeader --><div class="dynheader">
Inheritance diagram for mrpt::slam::CSimplePointsMap:<!-- endSectionHeader --></div>
<!-- startSectionSummary --><!-- endSectionSummary --><!-- startSectionContent --><div class="dyncontent">
<div class="center"><img src="classmrpt_1_1slam_1_1_c_simple_points_map__inherit__graph.png" border="0" usemap="#mrpt_1_1slam_1_1_c_simple_points_map_inherit__map" alt="Inheritance graph"/></div>
<map name="mrpt_1_1slam_1_1_c_simple_points_map_inherit__map" id="mrpt_1_1slam_1_1_c_simple_points_map_inherit__map">
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center><!-- endSectionContent --></div>

<p><a href="classmrpt_1_1slam_1_1_c_simple_points_map-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#a0cde9fc4b7c3e5550a236c1efb9c967b">~CSimplePointsMap</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#a0cde9fc4b7c3e5550a236c1efb9c967b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#a390476a205aee65871fa25c4aba727fc">CSimplePointsMap</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor.  <a href="#a390476a205aee65871fa25c4aba727fc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#a50e9f7d2de10d17cfb83fc579621133c">copyFrom</a> (const <a class="el" href="classmrpt_1_1slam_1_1_c_points_map.html">CPointsMap</a> &amp;obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy operator.  <a href="#a50e9f7d2de10d17cfb83fc579621133c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#af85649f2cf5bd9a961242c1f4dd2bd64">loadFromRangeScan</a> (const <a class="el" href="classmrpt_1_1slam_1_1_c_observation2_d_range_scan.html">CObservation2DRangeScan</a> &amp;rangeScan, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> *robotPose=NULL)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_transform.html">Transform</a> the range scan into a set of cartesian coordinated points.  <a href="#af85649f2cf5bd9a961242c1f4dd2bd64"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#adb930143393fa865568a5652d4895983">loadFromRangeScan</a> (const <a class="el" href="classmrpt_1_1slam_1_1_c_observation3_d_range_scan.html">CObservation3DRangeScan</a> &amp;rangeScan, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> *robotPose=NULL)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Enter the set of cartesian coordinated points from the 3D range scan into the map.  <a href="#adb930143393fa865568a5652d4895983"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#abb8662dbaa2a85de43d10d51c30e1c99">load2D_from_text_file</a> (std::string file)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Load from a text file.  <a href="#abb8662dbaa2a85de43d10d51c30e1c99"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#ada20ce3ce6d584b51b4f3b4e4bbaf1df">load3D_from_text_file</a> (std::string file)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Load from a text file.  <a href="#ada20ce3ce6d584b51b4f3b4e4bbaf1df"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#a06af42264abe7da387536b4c0397eb45">fuseWith</a> (<a class="el" href="classmrpt_1_1slam_1_1_c_points_map.html">CPointsMap</a> *otherMap, float minDistForFuse=0.02f, std::vector&lt; bool &gt; *notFusedPoints=NULL)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Insert the contents of another map into this one, fusing the previous content with the new one.  <a href="#a06af42264abe7da387536b4c0397eb45"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#a226ca6f94e49d91f34fdb29ed2552221">insertAnotherMap</a> (<a class="el" href="classmrpt_1_1slam_1_1_c_points_map.html">CPointsMap</a> *otherMap, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a> &amp;otherPose)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Insert the contents of another map into this one, without fusing close points.  <a href="#a226ca6f94e49d91f34fdb29ed2552221"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#a0d32c81ea9c9f841b5694c3000a6b869">setPoint</a> (size_t index, <a class="el" href="classmrpt_1_1poses_1_1_c_point2_d.html">CPoint2D</a> &amp;p)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Changes a given point from map, as a 2D point.  <a href="#a0d32c81ea9c9f841b5694c3000a6b869"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#ae83128645d8de3071410c59b291730a6">setPoint</a> (size_t index, <a class="el" href="classmrpt_1_1poses_1_1_c_point3_d.html">CPoint3D</a> &amp;p)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Changes a given point from map, as a 3D point.  <a href="#ae83128645d8de3071410c59b291730a6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#ae7ca18be5f9838fc32c5b55ed99d1cb8">setPoint</a> (size_t index, float <a class="el" href="classmrpt_1_1slam_1_1_c_points_map.html#a9e2ee9304dea0b0e1b712809f4317e55">x</a>, float <a class="el" href="classmrpt_1_1slam_1_1_c_points_map.html#a49d0f0bca8d960111df816b6f50b3132">y</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Changes a given point from map.  <a href="#ae7ca18be5f9838fc32c5b55ed99d1cb8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#a734a75809364e3a3055bcaa1dd3217e2">setPoint</a> (size_t index, float <a class="el" href="classmrpt_1_1slam_1_1_c_points_map.html#a9e2ee9304dea0b0e1b712809f4317e55">x</a>, float <a class="el" href="classmrpt_1_1slam_1_1_c_points_map.html#a49d0f0bca8d960111df816b6f50b3132">y</a>, float <a class="el" href="classmrpt_1_1slam_1_1_c_points_map.html#a347bc872aaa9cf01b17a6f087fb8c6c1">z</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Changes a given point from map.  <a href="#a734a75809364e3a3055bcaa1dd3217e2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#a433bfc015ace8cb684679a8540523092">insertPoint</a> (float <a class="el" href="classmrpt_1_1slam_1_1_c_points_map.html#a9e2ee9304dea0b0e1b712809f4317e55">x</a>, float <a class="el" href="classmrpt_1_1slam_1_1_c_points_map.html#a49d0f0bca8d960111df816b6f50b3132">y</a>, float <a class="el" href="classmrpt_1_1slam_1_1_c_points_map.html#a347bc872aaa9cf01b17a6f087fb8c6c1">z</a>=0)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides a way to insert individual points into the map:  <a href="#a433bfc015ace8cb684679a8540523092"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#a15e538bb56ff33223591c223713eb8be">insertPoint</a> (const <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">mrpt::math::TPoint3D</a> &amp;new_pnt)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides a way to insert individual points into the map:  <a href="#a15e538bb56ff33223591c223713eb8be"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#a78c100c96fa81feec7a65378bffc20ce">applyDeletionMask</a> (std::vector&lt; bool &gt; &amp;mask)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove from the map the points marked in a bool's array as "true".  <a href="#a78c100c96fa81feec7a65378bffc20ce"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#a95aa5f5e51efd4fb03b5697fb4fa3143">auxParticleFilterCleanUp</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This method is called at the end of each "prediction-update-map insertion" cycle within "mrpt::slam::CMetricMapBuilderRBPF::processActionObservation".  <a href="#a95aa5f5e51efd4fb03b5697fb4fa3143"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#ad463833fa2d37261608091c00111008b">reserve</a> (size_t newLength)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reserves memory for a given number of points: the size of the map does not change, it only reserves the memory.  <a href="#ad463833fa2d37261608091c00111008b"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename VECTOR &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#a7d78bba00146cb260b794fd201427dbd">setAllPointsTemplate</a> (const VECTOR &amp;X, const VECTOR &amp;Y, const VECTOR &amp;Z=VECTOR())</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set all the points at once from vectors with X,Y and Z coordinates (if Z is not provided, it will be set to all zeros).  <a href="#a7d78bba00146cb260b794fd201427dbd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#afa58a00a1df515e28536d7f22308db6c">setAllPoints</a> (const std::vector&lt; float &gt; &amp;X, const std::vector&lt; float &gt; &amp;Y, const std::vector&lt; float &gt; &amp;Z)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set all the points at once from vectors with X,Y and Z coordinates.  <a href="#afa58a00a1df515e28536d7f22308db6c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#ab87fd7b3444544bff902a2d2d135a877">setAllPoints</a> (const std::vector&lt; float &gt; &amp;X, const std::vector&lt; float &gt; &amp;Y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set all the points at once from vectors with X and Y coordinates (Z=0).  <a href="#ab87fd7b3444544bff902a2d2d135a877"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html">CSimplePointsMap</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#a6c5f6976255dc9b50b218af23f8ea7bf">getAsSimplePointsMap</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">If the map is a simple points map or it's a multi-metric map that contains EXACTLY one simple points map, return it.  <a href="#a6c5f6976255dc9b50b218af23f8ea7bf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html">CSimplePointsMap</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#a340ffc456415944bd87fc75c370eb575">getAsSimplePointsMap</a> ()</td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#a2d351195a96a8fcf930379ca5daf39d0">internal_clear</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear the map, erasing all the points.  <a href="#a2d351195a96a8fcf930379ca5daf39d0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#aa2c834fc519b3e00a40cbb4242347229">internal_insertObservation</a> (const <a class="el" href="classmrpt_1_1slam_1_1_c_observation.html">CObservation</a> *obs, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> *robotPose=NULL)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Insert the observation information into this map.  <a href="#aa2c834fc519b3e00a40cbb4242347229"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="member-group"></a>
RTTI stuff</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structmrpt_1_1slam_1_1_c_simple_points_map_ptr.html">CSimplePointsMapPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#a8a8929349c1352ef4f739b4d04be9d38">SmartPtr</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1utils_1_1_c_l_a_s_s_i_n_i_t.html">mrpt::utils::CLASSINIT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#adcb08c25d652b14da830edd74f35d73c">_init_CSimplePointsMap</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#a1c2a884bc69c0b3161674857b9125b67">classCSimplePointsMap</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const <br class="typebreak"/>
<a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#ab6cb11b774ee68b80e1d24230c11b686">classinfo</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const <br class="typebreak"/>
<a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#a9ad2d0be295a634f49f6dd9aab32962e">_GetBaseClass</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const <br class="typebreak"/>
<a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#a46e7c0d1dcd1e783a2863e9f544800fa">GetRuntimeClass</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns information about the class of an object in runtime.  <a href="#a46e7c0d1dcd1e783a2863e9f544800fa"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classmrpt_1_1utils_1_1_c_object.html">mrpt::utils::CObject</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#ade98e5012f143f773dca038ebedaf414">duplicate</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a copy of the object, indepently of its class.  <a href="#ade98e5012f143f773dca038ebedaf414"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classmrpt_1_1utils_1_1_c_object.html">mrpt::utils::CObject</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#a83f0f04ba67069e0191df93cf2fd2ecd">CreateObject</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1slam_1_1_c_simple_points_map_ptr.html">CSimplePointsMapPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#ae475810daf1b6cfac6a79683d47d527a">Create</a> ()</td></tr>
</table>
<hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="a8a8929349c1352ef4f739b4d04be9d38"></a><!-- doxytag: member="mrpt::slam::CSimplePointsMap::SmartPtr" ref="a8a8929349c1352ef4f739b4d04be9d38" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="structmrpt_1_1slam_1_1_c_simple_points_map_ptr.html">CSimplePointsMapPtr</a> <a class="el" href="structmrpt_1_1slam_1_1_c_simple_points_map_ptr.html">mrpt::slam::CSimplePointsMap::SmartPtr</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>A typedef for the associated smart pointer </p>

<p>Definition at line <a class="el" href="_c_simple_points_map_8h_source.html#l00053">53</a> of file <a class="el" href="_c_simple_points_map_8h_source.html">CSimplePointsMap.h</a>.</p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a0cde9fc4b7c3e5550a236c1efb9c967b"></a><!-- doxytag: member="mrpt::slam::CSimplePointsMap::~CSimplePointsMap" ref="a0cde9fc4b7c3e5550a236c1efb9c967b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual mrpt::slam::CSimplePointsMap::~CSimplePointsMap </td>
          <td>(</td>
          <td class="paramname">&#160;)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Destructor. </p>

</div>
</div>
<a class="anchor" id="a390476a205aee65871fa25c4aba727fc"></a><!-- doxytag: member="mrpt::slam::CSimplePointsMap::CSimplePointsMap" ref="a390476a205aee65871fa25c4aba727fc" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">mrpt::slam::CSimplePointsMap::CSimplePointsMap </td>
          <td>(</td>
          <td class="paramname">&#160;)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Default constructor. </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a9ad2d0be295a634f49f6dd9aab32962e"></a><!-- doxytag: member="mrpt::slam::CSimplePointsMap::_GetBaseClass" ref="a9ad2d0be295a634f49f6dd9aab32962e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static const <a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a>* mrpt::slam::CSimplePointsMap::_GetBaseClass </td>
          <td>(</td>
          <td class="paramname">&#160;)</td>
          <td><code> [static, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reimplemented from <a class="el" href="classmrpt_1_1slam_1_1_c_points_map.html#aa6ba780484bba068796c4195ad10392b">mrpt::slam::CPointsMap</a>.</p>

</div>
</div>
<a class="anchor" id="a78c100c96fa81feec7a65378bffc20ce"></a><!-- doxytag: member="mrpt::slam::CSimplePointsMap::applyDeletionMask" ref="a78c100c96fa81feec7a65378bffc20ce" args="(std::vector&lt; bool &gt; &amp;mask)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CSimplePointsMap::applyDeletionMask </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; bool &gt; &amp;&#160;</td>
          <td class="paramname"> <em>mask</em>&#160;)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Remove from the map the points marked in a bool's array as "true". </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname">std::exception</td><td>If mask size is not equal to points count. </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="classmrpt_1_1slam_1_1_c_points_map.html#a46a9485f4df6d955d904e148e0c4671f">mrpt::slam::CPointsMap</a>.</p>

</div>
</div>
<a class="anchor" id="a95aa5f5e51efd4fb03b5697fb4fa3143"></a><!-- doxytag: member="mrpt::slam::CSimplePointsMap::auxParticleFilterCleanUp" ref="a95aa5f5e51efd4fb03b5697fb4fa3143" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CSimplePointsMap::auxParticleFilterCleanUp </td>
          <td>(</td>
          <td class="paramname">&#160;)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>This method is called at the end of each "prediction-update-map insertion" cycle within "mrpt::slam::CMetricMapBuilderRBPF::processActionObservation". </p>
<p>This method should normally do nothing, but in some cases can be used to free auxiliary cached variables. </p>

<p>Implements <a class="el" href="classmrpt_1_1slam_1_1_c_metric_map.html#af319432da7479ae411a9e0a21fa870d5">mrpt::slam::CMetricMap</a>.</p>

</div>
</div>
<a class="anchor" id="a50e9f7d2de10d17cfb83fc579621133c"></a><!-- doxytag: member="mrpt::slam::CSimplePointsMap::copyFrom" ref="a50e9f7d2de10d17cfb83fc579621133c" args="(const CPointsMap &amp;obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CSimplePointsMap::copyFrom </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1slam_1_1_c_points_map.html">CPointsMap</a> &amp;&#160;</td>
          <td class="paramname"> <em>obj</em>&#160;)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Copy operator. </p>

<p>Implements <a class="el" href="classmrpt_1_1slam_1_1_c_points_map.html#ac2734b489f3bb0e47f518f71f313bea0">mrpt::slam::CPointsMap</a>.</p>

</div>
</div>
<a class="anchor" id="ae475810daf1b6cfac6a79683d47d527a"></a><!-- doxytag: member="mrpt::slam::CSimplePointsMap::Create" ref="ae475810daf1b6cfac6a79683d47d527a" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1slam_1_1_c_simple_points_map_ptr.html">CSimplePointsMapPtr</a> mrpt::slam::CSimplePointsMap::Create </td>
          <td>(</td>
          <td class="paramname">&#160;)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a83f0f04ba67069e0191df93cf2fd2ecd"></a><!-- doxytag: member="mrpt::slam::CSimplePointsMap::CreateObject" ref="a83f0f04ba67069e0191df93cf2fd2ecd" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classmrpt_1_1utils_1_1_c_object.html">mrpt::utils::CObject</a>* mrpt::slam::CSimplePointsMap::CreateObject </td>
          <td>(</td>
          <td class="paramname">&#160;)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ade98e5012f143f773dca038ebedaf414"></a><!-- doxytag: member="mrpt::slam::CSimplePointsMap::duplicate" ref="ade98e5012f143f773dca038ebedaf414" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classmrpt_1_1utils_1_1_c_object.html">mrpt::utils::CObject</a>* mrpt::slam::CSimplePointsMap::duplicate </td>
          <td>(</td>
          <td class="paramname">&#160;)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a copy of the object, indepently of its class. </p>

<p>Implements <a class="el" href="classmrpt_1_1utils_1_1_c_object.html#aa1070e173c5f7e307b09c53f1fd256e2">mrpt::utils::CObject</a>.</p>

</div>
</div>
<a class="anchor" id="a06af42264abe7da387536b4c0397eb45"></a><!-- doxytag: member="mrpt::slam::CSimplePointsMap::fuseWith" ref="a06af42264abe7da387536b4c0397eb45" args="(CPointsMap *otherMap, float minDistForFuse=0.02f, std::vector&lt; bool &gt; *notFusedPoints=NULL)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CSimplePointsMap::fuseWith </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1slam_1_1_c_points_map.html">CPointsMap</a> *&#160;</td>
          <td class="paramname"> <em>otherMap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"> <em>minDistForFuse</em> = <code>0.02f</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; bool &gt; *&#160;</td>
          <td class="paramname"> <em>notFusedPoints</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Insert the contents of another map into this one, fusing the previous content with the new one. </p>
<p>This means that points very close to existing ones will be "fused", rather than "added". This prevents the unbounded increase in size of these class of maps. NOTICE that "otherMap" is neither translated nor rotated here, so if this is desired it must done before calling this method. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">otherMap</td><td>The other map whose points are to be inserted into this one. </td></tr>
    <tr><td class="paramname">minDistForFuse</td><td>Minimum distance (in meters) between two points, each one in a map, to be considered the same one and be fused rather than added. </td></tr>
    <tr><td class="paramname">notFusedPoints</td><td>If a pointer is supplied, this list will contain at output a list with a "bool" value per point in "this" map. This will be false/true according to that point having been fused or not. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#a226ca6f94e49d91f34fdb29ed2552221" title="Insert the contents of another map into this one, without fusing close points.">insertAnotherMap</a> </dd></dl>

<p>Implements <a class="el" href="classmrpt_1_1slam_1_1_c_points_map.html#ad28868b773c62dd8ad8039a0c2c619cd">mrpt::slam::CPointsMap</a>.</p>

</div>
</div>
<a class="anchor" id="a6c5f6976255dc9b50b218af23f8ea7bf"></a><!-- doxytag: member="mrpt::slam::CSimplePointsMap::getAsSimplePointsMap" ref="a6c5f6976255dc9b50b218af23f8ea7bf" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html">CSimplePointsMap</a>* mrpt::slam::CSimplePointsMap::getAsSimplePointsMap </td>
          <td>(</td>
          <td class="paramname">&#160;)</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>If the map is a simple points map or it's a multi-metric map that contains EXACTLY one simple points map, return it. </p>
<p>Otherwise, return NULL </p>

<p>Reimplemented from <a class="el" href="classmrpt_1_1slam_1_1_c_metric_map.html#ae7b0688c0e2c0d75554e22b739649463">mrpt::slam::CMetricMap</a>.</p>

<p>Definition at line <a class="el" href="_c_simple_points_map_8h_source.html#l00207">207</a> of file <a class="el" href="_c_simple_points_map_8h_source.html">CSimplePointsMap.h</a>.</p>

</div>
</div>
<a class="anchor" id="a340ffc456415944bd87fc75c370eb575"></a><!-- doxytag: member="mrpt::slam::CSimplePointsMap::getAsSimplePointsMap" ref="a340ffc456415944bd87fc75c370eb575" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html">CSimplePointsMap</a>* mrpt::slam::CSimplePointsMap::getAsSimplePointsMap </td>
          <td>(</td>
          <td class="paramname">&#160;)</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reimplemented from <a class="el" href="classmrpt_1_1slam_1_1_c_metric_map.html#ace4e7cc2a2f070d556c5074117a3aa2f">mrpt::slam::CMetricMap</a>.</p>

<p>Definition at line <a class="el" href="_c_simple_points_map_8h_source.html#l00208">208</a> of file <a class="el" href="_c_simple_points_map_8h_source.html">CSimplePointsMap.h</a>.</p>

</div>
</div>
<a class="anchor" id="a46e7c0d1dcd1e783a2863e9f544800fa"></a><!-- doxytag: member="mrpt::slam::CSimplePointsMap::GetRuntimeClass" ref="a46e7c0d1dcd1e783a2863e9f544800fa" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a>* mrpt::slam::CSimplePointsMap::GetRuntimeClass </td>
          <td>(</td>
          <td class="paramname">&#160;)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns information about the class of an object in runtime. </p>

<p>Reimplemented from <a class="el" href="classmrpt_1_1slam_1_1_c_points_map.html#ad2982f2cf593e82861cc22e742335eab">mrpt::slam::CPointsMap</a>.</p>

</div>
</div>
<a class="anchor" id="a226ca6f94e49d91f34fdb29ed2552221"></a><!-- doxytag: member="mrpt::slam::CSimplePointsMap::insertAnotherMap" ref="a226ca6f94e49d91f34fdb29ed2552221" args="(CPointsMap *otherMap, const CPose2D &amp;otherPose)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CSimplePointsMap::insertAnotherMap </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1slam_1_1_c_points_map.html">CPointsMap</a> *&#160;</td>
          <td class="paramname"> <em>otherMap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a> &amp;&#160;</td>
          <td class="paramname"> <em>otherPose</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Insert the contents of another map into this one, without fusing close points. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">otherMap</td><td>The other map whose points are to be inserted into this one. </td></tr>
    <tr><td class="paramname">otherPose</td><td>The pose of the other map in the coordinates of THIS map </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#a06af42264abe7da387536b4c0397eb45" title="Insert the contents of another map into this one, fusing the previous content with the new one...">fuseWith</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a433bfc015ace8cb684679a8540523092"></a><!-- doxytag: member="mrpt::slam::CSimplePointsMap::insertPoint" ref="a433bfc015ace8cb684679a8540523092" args="(float x, float y, float z=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CSimplePointsMap::insertPoint </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"> <em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"> <em>z</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Provides a way to insert individual points into the map: </p>

<p>Implements <a class="el" href="classmrpt_1_1slam_1_1_c_points_map.html#aac4f46db8b483dd14549ab6ce04782a0">mrpt::slam::CPointsMap</a>.</p>

</div>
</div>
<a class="anchor" id="a15e538bb56ff33223591c223713eb8be"></a><!-- doxytag: member="mrpt::slam::CSimplePointsMap::insertPoint" ref="a15e538bb56ff33223591c223713eb8be" args="(const mrpt::math::TPoint3D &amp;new_pnt)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CSimplePointsMap::insertPoint </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">mrpt::math::TPoint3D</a> &amp;&#160;</td>
          <td class="paramname"> <em>new_pnt</em>&#160;)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Provides a way to insert individual points into the map: </p>

<p>Reimplemented from <a class="el" href="classmrpt_1_1slam_1_1_c_points_map.html#af0ee824da205af075d588eee9b13849b">mrpt::slam::CPointsMap</a>.</p>

<p>Definition at line <a class="el" href="_c_simple_points_map_8h_source.html#l00154">154</a> of file <a class="el" href="_c_simple_points_map_8h_source.html">CSimplePointsMap.h</a>.</p>

</div>
</div>
<a class="anchor" id="a2d351195a96a8fcf930379ca5daf39d0"></a><!-- doxytag: member="mrpt::slam::CSimplePointsMap::internal_clear" ref="a2d351195a96a8fcf930379ca5daf39d0" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mrpt::slam::CSimplePointsMap::internal_clear </td>
          <td>(</td>
          <td class="paramname">&#160;)</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Clear the map, erasing all the points. </p>

<p>Implements <a class="el" href="classmrpt_1_1slam_1_1_c_metric_map.html#a9c19a7f400d7edb087a81e28cafb39d1">mrpt::slam::CMetricMap</a>.</p>

</div>
</div>
<a class="anchor" id="aa2c834fc519b3e00a40cbb4242347229"></a><!-- doxytag: member="mrpt::slam::CSimplePointsMap::internal_insertObservation" ref="aa2c834fc519b3e00a40cbb4242347229" args="(const CObservation *obs, const CPose3D *robotPose=NULL)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::slam::CSimplePointsMap::internal_insertObservation </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1slam_1_1_c_observation.html">CObservation</a> *&#160;</td>
          <td class="paramname"> <em>obs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> *&#160;</td>
          <td class="paramname"> <em>robotPose</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Insert the observation information into this map. </p>
<p>This method must be implemented in derived classes. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">obs</td><td>The observation </td></tr>
    <tr><td class="paramname">robotPose</td><td>The 3D pose of the robot mobile base in the map reference system, or NULL (default) if you want to use CPose2D(0,0,deg)</td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1slam_1_1_c_observation.html#abb4939fca9a78fe17a0fe71684ef486c" title="This method is equivalent to:">CObservation::insertObservationInto</a> </dd></dl>

<p>Implements <a class="el" href="classmrpt_1_1slam_1_1_c_metric_map.html#aab88fec1ad02cceaaaf74c02d4e6f68a">mrpt::slam::CMetricMap</a>.</p>

</div>
</div>
<a class="anchor" id="abb8662dbaa2a85de43d10d51c30e1c99"></a><!-- doxytag: member="mrpt::slam::CSimplePointsMap::load2D_from_text_file" ref="abb8662dbaa2a85de43d10d51c30e1c99" args="(std::string file)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::slam::CSimplePointsMap::load2D_from_text_file </td>
          <td>(</td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"> <em>file</em>&#160;)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Load from a text file. </p>
<p>In each line there are a point coordinates. Returns false if any error occured, true elsewere. </p>

<p>Implements <a class="el" href="classmrpt_1_1slam_1_1_c_points_map.html#a4eeb9c5800b0d0d08a45a9de9c205a53">mrpt::slam::CPointsMap</a>.</p>

</div>
</div>
<a class="anchor" id="ada20ce3ce6d584b51b4f3b4e4bbaf1df"></a><!-- doxytag: member="mrpt::slam::CSimplePointsMap::load3D_from_text_file" ref="ada20ce3ce6d584b51b4f3b4e4bbaf1df" args="(std::string file)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::slam::CSimplePointsMap::load3D_from_text_file </td>
          <td>(</td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"> <em>file</em>&#160;)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Load from a text file. </p>
<p>In each line there are a point coordinates. Returns false if any error occured, true elsewere. </p>

<p>Implements <a class="el" href="classmrpt_1_1slam_1_1_c_points_map.html#a472b606085e30cd150fa114fe79dc7c4">mrpt::slam::CPointsMap</a>.</p>

</div>
</div>
<a class="anchor" id="adb930143393fa865568a5652d4895983"></a><!-- doxytag: member="mrpt::slam::CSimplePointsMap::loadFromRangeScan" ref="adb930143393fa865568a5652d4895983" args="(const CObservation3DRangeScan &amp;rangeScan, const CPose3D *robotPose=NULL)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CSimplePointsMap::loadFromRangeScan </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1slam_1_1_c_observation3_d_range_scan.html">CObservation3DRangeScan</a> &amp;&#160;</td>
          <td class="paramname"> <em>rangeScan</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> *&#160;</td>
          <td class="paramname"> <em>robotPose</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Enter the set of cartesian coordinated points from the 3D range scan into the map. </p>
<p>The options in "insertionOptions" are considered in this method. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">rangeScan</td><td>The 3D scan to be inserted into this map </td></tr>
    <tr><td class="paramname">robotPose</td><td>The robot 3D pose, default to (0,0,0|0deg,0deg,0deg). It is used to compute the sensor pose relative to the robot actual pose. Recall sensor pose is embeded in the observation class.</td></tr>
  </table>
  </dd>
</dl>
<p>NOTE: Only ranges marked as "valid=true" in the observation will be inserted</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1slam_1_1_c_observation3_d_range_scan.html" title="Declares a class derived from &quot;CObservation&quot; that encapsules a 3D range scan measurement (e...">CObservation3DRangeScan</a> </dd></dl>

</div>
</div>
<a class="anchor" id="af85649f2cf5bd9a961242c1f4dd2bd64"></a><!-- doxytag: member="mrpt::slam::CSimplePointsMap::loadFromRangeScan" ref="af85649f2cf5bd9a961242c1f4dd2bd64" args="(const CObservation2DRangeScan &amp;rangeScan, const CPose3D *robotPose=NULL)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CSimplePointsMap::loadFromRangeScan </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1slam_1_1_c_observation2_d_range_scan.html">CObservation2DRangeScan</a> &amp;&#160;</td>
          <td class="paramname"> <em>rangeScan</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> *&#160;</td>
          <td class="paramname"> <em>robotPose</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p><a class="el" href="class_transform.html">Transform</a> the range scan into a set of cartesian coordinated points. </p>
<p>The options in "insertionOptions" are considered in this method. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">rangeScan</td><td>The scan to be inserted into this map </td></tr>
    <tr><td class="paramname">robotPose</td><td>The robot 3D pose, default to (0,0,0|0deg,0deg,0deg). It is used to compute the sensor pose relative to the robot actual pose. Recall sensor pose is embeded in the observation class.</td></tr>
  </table>
  </dd>
</dl>
<p>NOTE: Only ranges marked as "valid=true" in the observation will be inserted</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1slam_1_1_c_observation2_d_range_scan.html" title="A &quot;CObservation&quot;-derived class that represents a 2D range scan measurement (typically from ...">CObservation2DRangeScan</a> </dd></dl>

<p>Implements <a class="el" href="classmrpt_1_1slam_1_1_c_points_map.html#a71bb7e6036298e63ebcac81a2a4fdc75">mrpt::slam::CPointsMap</a>.</p>

</div>
</div>
<a class="anchor" id="ad463833fa2d37261608091c00111008b"></a><!-- doxytag: member="mrpt::slam::CSimplePointsMap::reserve" ref="ad463833fa2d37261608091c00111008b" args="(size_t newLength)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CSimplePointsMap::reserve </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"> <em>newLength</em>&#160;)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reserves memory for a given number of points: the size of the map does not change, it only reserves the memory. </p>
<p>This is useful for situations where it is approximately known the final size of the map. This method is more efficient than constantly increasing the size of the buffers. Refer to the STL C++ library's "reserve" methods. </p>

<p>Implements <a class="el" href="classmrpt_1_1slam_1_1_c_points_map.html#a44c7ce9395f8fd360638e51f0e8338cc">mrpt::slam::CPointsMap</a>.</p>

</div>
</div>
<a class="anchor" id="afa58a00a1df515e28536d7f22308db6c"></a><!-- doxytag: member="mrpt::slam::CSimplePointsMap::setAllPoints" ref="afa58a00a1df515e28536d7f22308db6c" args="(const std::vector&lt; float &gt; &amp;X, const std::vector&lt; float &gt; &amp;Y, const std::vector&lt; float &gt; &amp;Z)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mrpt::slam::CSimplePointsMap::setAllPoints </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; float &gt; &amp;&#160;</td>
          <td class="paramname"> <em>X</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; float &gt; &amp;&#160;</td>
          <td class="paramname"> <em>Y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; float &gt; &amp;&#160;</td>
          <td class="paramname"> <em>Z</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set all the points at once from vectors with X,Y and Z coordinates. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1slam_1_1_c_points_map.html#aa2c06bb264415a86fc5e4d743dcb56ef" title="Returns a copy of the 2D/3D points as a std::vector of float coordinates.">getAllPoints</a> </dd></dl>

<p>Implements <a class="el" href="classmrpt_1_1slam_1_1_c_points_map.html#ab33b22ee4c0abbfccf1d5173bd8ab626">mrpt::slam::CPointsMap</a>.</p>

<p>Definition at line <a class="el" href="_c_simple_points_map_8h_source.html#l00193">193</a> of file <a class="el" href="_c_simple_points_map_8h_source.html">CSimplePointsMap.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab87fd7b3444544bff902a2d2d135a877"></a><!-- doxytag: member="mrpt::slam::CSimplePointsMap::setAllPoints" ref="ab87fd7b3444544bff902a2d2d135a877" args="(const std::vector&lt; float &gt; &amp;X, const std::vector&lt; float &gt; &amp;Y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mrpt::slam::CSimplePointsMap::setAllPoints </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; float &gt; &amp;&#160;</td>
          <td class="paramname"> <em>X</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; float &gt; &amp;&#160;</td>
          <td class="paramname"> <em>Y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set all the points at once from vectors with X and Y coordinates (Z=0). </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1slam_1_1_c_points_map.html#aa2c06bb264415a86fc5e4d743dcb56ef" title="Returns a copy of the 2D/3D points as a std::vector of float coordinates.">getAllPoints</a> </dd></dl>

<p>Implements <a class="el" href="classmrpt_1_1slam_1_1_c_points_map.html#a261a3aac1a2b5412149901fb3c5b95bb">mrpt::slam::CPointsMap</a>.</p>

<p>Definition at line <a class="el" href="_c_simple_points_map_8h_source.html#l00199">199</a> of file <a class="el" href="_c_simple_points_map_8h_source.html">CSimplePointsMap.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7d78bba00146cb260b794fd201427dbd"></a><!-- doxytag: member="mrpt::slam::CSimplePointsMap::setAllPointsTemplate" ref="a7d78bba00146cb260b794fd201427dbd" args="(const VECTOR &amp;X, const VECTOR &amp;Y, const VECTOR &amp;Z=VECTOR())" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename VECTOR &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CSimplePointsMap::setAllPointsTemplate </td>
          <td>(</td>
          <td class="paramtype">const VECTOR &amp;&#160;</td>
          <td class="paramname"> <em>X</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const VECTOR &amp;&#160;</td>
          <td class="paramname"> <em>Y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const VECTOR &amp;&#160;</td>
          <td class="paramname"> <em>Z</em> = <code>VECTOR()</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set all the points at once from vectors with X,Y and Z coordinates (if Z is not provided, it will be set to all zeros). </p>
<dl><dt><b>Template Parameters:</b></dt><dd>
  <table class="">
    <tr><td class="paramname">VECTOR</td><td>can be <a class="el" href="namespacemrpt.html#aa271572e3985202e030758bfd54a02e1">mrpt::vector_float</a> or std::vector&lt;float&gt; or any other column or row <a class="el" href="class_eigen_1_1_matrix.html">Eigen::Matrix</a>. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_c_simple_points_map_8h_source.html#l00179">179</a> of file <a class="el" href="_c_simple_points_map_8h_source.html">CSimplePointsMap.h</a>.</p>

<p>References <a class="el" href="mrpt__macros_8h_source.html#l00267">ASSERT_</a>, <a class="el" href="mrpt__macros_8h_source.html#l00270">ASSERT_EQUAL_</a>, and <a class="el" href="_core_2_math_functions_8h_source.html#l00709">internal::y</a>.</p>

</div>
</div>
<a class="anchor" id="a0d32c81ea9c9f841b5694c3000a6b869"></a><!-- doxytag: member="mrpt::slam::CSimplePointsMap::setPoint" ref="a0d32c81ea9c9f841b5694c3000a6b869" args="(size_t index, CPoint2D &amp;p)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mrpt::slam::CSimplePointsMap::setPoint </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"> <em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1poses_1_1_c_point2_d.html">CPoint2D</a> &amp;&#160;</td>
          <td class="paramname"> <em>p</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Changes a given point from map, as a 2D point. </p>
<p>First index is 0. </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname">Throws</td><td>std::exception on index out of bound. </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="classmrpt_1_1slam_1_1_c_points_map.html#a1bcfc70bba1c30a3c329bf83517c21c0">mrpt::slam::CPointsMap</a>.</p>

</div>
</div>
<a class="anchor" id="a734a75809364e3a3055bcaa1dd3217e2"></a><!-- doxytag: member="mrpt::slam::CSimplePointsMap::setPoint" ref="a734a75809364e3a3055bcaa1dd3217e2" args="(size_t index, float x, float y, float z)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mrpt::slam::CSimplePointsMap::setPoint </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"> <em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"> <em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"> <em>z</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Changes a given point from map. </p>
<p>First index is 0. </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname">Throws</td><td>std::exception on index out of bound. </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="classmrpt_1_1slam_1_1_c_points_map.html#a928dc1b074efb6fb3b041ac1cce96af0">mrpt::slam::CPointsMap</a>.</p>

</div>
</div>
<a class="anchor" id="ae83128645d8de3071410c59b291730a6"></a><!-- doxytag: member="mrpt::slam::CSimplePointsMap::setPoint" ref="ae83128645d8de3071410c59b291730a6" args="(size_t index, CPoint3D &amp;p)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mrpt::slam::CSimplePointsMap::setPoint </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"> <em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1poses_1_1_c_point3_d.html">CPoint3D</a> &amp;&#160;</td>
          <td class="paramname"> <em>p</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Changes a given point from map, as a 3D point. </p>
<p>First index is 0. </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname">Throws</td><td>std::exception on index out of bound. </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="classmrpt_1_1slam_1_1_c_points_map.html#a6b9975780a9c59d5f9bde15abc331254">mrpt::slam::CPointsMap</a>.</p>

</div>
</div>
<a class="anchor" id="ae7ca18be5f9838fc32c5b55ed99d1cb8"></a><!-- doxytag: member="mrpt::slam::CSimplePointsMap::setPoint" ref="ae7ca18be5f9838fc32c5b55ed99d1cb8" args="(size_t index, float x, float y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mrpt::slam::CSimplePointsMap::setPoint </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"> <em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"> <em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Changes a given point from map. </p>
<p>First index is 0. </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname">Throws</td><td>std::exception on index out of bound. </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="classmrpt_1_1slam_1_1_c_points_map.html#af7f0aba33c00cb93154279e1a5baadfd">mrpt::slam::CPointsMap</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="adcb08c25d652b14da830edd74f35d73c"></a><!-- doxytag: member="mrpt::slam::CSimplePointsMap::_init_CSimplePointsMap" ref="adcb08c25d652b14da830edd74f35d73c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1utils_1_1_c_l_a_s_s_i_n_i_t.html">mrpt::utils::CLASSINIT</a> <a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#adcb08c25d652b14da830edd74f35d73c">mrpt::slam::CSimplePointsMap::_init_CSimplePointsMap</a><code> [static, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_simple_points_map_8h_source.html#l00053">53</a> of file <a class="el" href="_c_simple_points_map_8h_source.html">CSimplePointsMap.h</a>.</p>

</div>
</div>
<a class="anchor" id="a1c2a884bc69c0b3161674857b9125b67"></a><!-- doxytag: member="mrpt::slam::CSimplePointsMap::classCSimplePointsMap" ref="a1c2a884bc69c0b3161674857b9125b67" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a> <a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#a1c2a884bc69c0b3161674857b9125b67">mrpt::slam::CSimplePointsMap::classCSimplePointsMap</a><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_simple_points_map_8h_source.html#l00053">53</a> of file <a class="el" href="_c_simple_points_map_8h_source.html">CSimplePointsMap.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab6cb11b774ee68b80e1d24230c11b686"></a><!-- doxytag: member="mrpt::slam::CSimplePointsMap::classinfo" ref="ab6cb11b774ee68b80e1d24230c11b686" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a>* <a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#ab6cb11b774ee68b80e1d24230c11b686">mrpt::slam::CSimplePointsMap::classinfo</a><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_simple_points_map_8h_source.html#l00053">53</a> of file <a class="el" href="_c_simple_points_map_8h_source.html">CSimplePointsMap.h</a>.</p>

</div>
</div>
</div>
<br><hr><br> <table border="0" width="100%"> <tr> <td> Page generated by <a href="http://www.doxygen.org" target="_blank">Doxygen 1.7.2</a> for MRPT 0.9.4 SVN: at Mon Jan 10 22:30:30 UTC 2011</td><td></td> <td width="100"> </td> <td width="150">  </td></tr> </table> </body></html>