Sophie

Sophie

distrib > Fedora > 16 > i386 > by-pkgid > 4bc66056a634db26a1f4d0845dc41ca6 > files > 4962

mrpt-doc-0.9.5-0.1.20110925svn2670.fc16.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>mrpt::slam::CObservation 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.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" 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>
        <div id="MSearchBox" class="MSearchBoxInactive">
          <div 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>
          </div><div class="right"></div>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" 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="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespacemrpt.html">mrpt</a>      </li>
      <li class="navelem"><a class="el" href="namespacemrpt_1_1slam.html">slam</a>      </li>
      <li class="navelem"><a class="el" href="classmrpt_1_1slam_1_1_c_observation.html">CObservation</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="#pro-methods">Protected Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">mrpt::slam::CObservation Class Reference<div class="ingroups"><a class="el" href="group__mrpt__obs__grp.html">[mrpt-obs]</a></div></div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="mrpt::slam::CObservation" --><!-- doxytag: inherits="mrpt::utils::CSerializable" --><hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Declares a class that represents any robot's observation. </p>
<p>This is a base class for many types of sensors observations. Users can add a new observation type creating a new class deriving from this one.<br/>
 <b>IMPORTANT</b>: Observations doesn't include any information about the robot pose beliefs, just the raw observation and, where aplicable, information about sensor position or orientation respect to robotic coordinates origin.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1slam_1_1_c_sensory_frame.html" title="Declares a class for storing a &quot;sensory frame&quot;, a set of &quot;observations&quot; taken by the robot approximat...">CSensoryFrame</a>, <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> </dd></dl>
</div>
<p><code>#include &lt;<a class="el" href="_c_observation_8h_source.html">mrpt/slam/CObservation.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for mrpt::slam::CObservation:</div>
<div class="dyncontent">
<div class="center"><img src="classmrpt_1_1slam_1_1_c_observation__inherit__graph.png" border="0" usemap="#mrpt_1_1slam_1_1_c_observation_inherit__map" alt="Inheritance graph"/></div>
<map name="mrpt_1_1slam_1_1_c_observation_inherit__map" id="mrpt_1_1slam_1_1_c_observation_inherit__map">
<area shape="rect" id="node7" href="classmrpt_1_1slam_1_1_c_observation2_d_range_scan.html" title="A &quot;CObservation&quot;&#45;derived class that represents a 2D range scan measurement (typically from a laser sc..." alt="" coords="647,5,905,32"/><area shape="rect" id="node9" 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..." alt="" coords="647,56,905,83"/><area shape="rect" id="node11" href="classmrpt_1_1slam_1_1_c_observation_battery_state.html" title="This represents a measurement of the batteries on the robot." alt="" coords="653,107,899,133"/><area shape="rect" id="node13" href="classmrpt_1_1slam_1_1_c_observation_beacon_ranges.html" title="Declares a class derived from &quot;CObservation&quot; that represents one (or more) range measurements to labe..." alt="" coords="645,157,907,184"/><area shape="rect" id="node15" href="classmrpt_1_1slam_1_1_c_observation_bearing_range.html" title="This observation represents a number of range&#45;bearing value pairs, each one for a detected landmark..." alt="" coords="649,208,903,235"/><area shape="rect" id="node17" href="classmrpt_1_1slam_1_1_c_observation_comment.html" title="This &quot;observation&quot; is actually a placeholder for a text block with comments or additional parameters ..." alt="" coords="661,259,891,285"/><area shape="rect" id="node19" href="classmrpt_1_1slam_1_1_c_observation_gas_sensors.html" title="Declares a class derived from &quot;CObservation&quot; that represents a set of readings from gas sensors..." alt="" coords="654,309,898,336"/><area shape="rect" id="node21" href="classmrpt_1_1slam_1_1_c_observation_g_p_s.html" title="Declares a class derived from &quot;CObservation&quot; that represents a Global Positioning System (GPS) readin..." alt="" coords="676,360,876,387"/><area shape="rect" id="node23" href="classmrpt_1_1slam_1_1_c_observation_image.html" title="Declares a class derived from &quot;CObservation&quot; that encapsules an image from a camera, whose relative pose to robot is also stored." alt="" coords="672,411,880,437"/><area shape="rect" id="node25" href="classmrpt_1_1slam_1_1_c_observation_i_m_u.html" title="This class stores measurements from an Inertial Measurement Unit (IMU), and/or its attitude estimatio..." alt="" coords="677,461,875,488"/><area shape="rect" id="node27" href="classmrpt_1_1slam_1_1_c_observation_odometry.html" title="An observation of the current (cumulative) odometry for a wheeled robot." alt="" coords="661,512,891,539"/><area shape="rect" id="node29" href="classmrpt_1_1slam_1_1_c_observation_range.html" title="Declares a class derived from &quot;CObservation&quot; that encapsules a single range measurement, and associated parameters." alt="" coords="671,563,881,589"/><area shape="rect" id="node31" href="classmrpt_1_1slam_1_1_c_observation_reflectivity.html" title="Declares a class derived from &quot;CObservation&quot; that encapsules a single short&#45;range reflectivity measur..." alt="" coords="657,613,895,640"/><area shape="rect" id="node33" href="classmrpt_1_1slam_1_1_c_observation_stereo_images.html" title="Observation class for either a pair of left+right or left+disparity images from a stereo camera..." alt="" coords="649,664,903,691"/><area shape="rect" id="node35" href="classmrpt_1_1slam_1_1_c_observation_stereo_images_features.html" title="Declares a class derived from &quot;CObservation&quot; that encapsules a pair of cameras and a set of matched i..." alt="" coords="624,715,928,741"/><area shape="rect" id="node37" href="classmrpt_1_1slam_1_1_c_observation_visual_landmarks.html" title="Declares a class derived from &quot;CObservation&quot; that stores a Landmarks Map as seen from a stereo camera..." alt="" coords="640,765,912,792"/><area shape="rect" id="node39" href="classmrpt_1_1slam_1_1_c_observation_wireless_power.html" title="This represents a measurement of the wireless strength perceived by the robot." alt="" coords="646,816,906,843"/><area shape="rect" id="node2" 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..." alt="" coords="189,411,355,437"/><area shape="rect" id="node4" href="classmrpt_1_1utils_1_1_c_object.html" title="The virtual base class of all MRPT classes with a unified RTTI system." alt="" coords="5,411,141,437"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classmrpt_1_1slam_1_1_c_observation-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">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_observation.html#ac83a512ea5ceb01da08be70770e56082">CObservation</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor: It sets the initial timestamp to current time.  <a href="#ac83a512ea5ceb01da08be70770e56082"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class METRICMAP &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_observation.html#a4dadc9d2618ea3701084e8cce4671564">insertObservationInto</a> (METRICMAP *theMap, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> *robotPose=NULL) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This method is equivalent to:  <a href="#a4dadc9d2618ea3701084e8cce4671564"></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_observation.html#a518c117b06a29cc82820996ff9a04b85">getSensorPose</a> (<a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &amp;out_sensorPose) const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A general method to retrieve the sensor pose on the robot.  <a href="#a518c117b06a29cc82820996ff9a04b85"></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_observation.html#ac795d3df57b998131638f5ead0c1f337">getSensorPose</a> (<a class="el" href="structmrpt_1_1math_1_1_t_pose3_d.html">mrpt::math::TPose3D</a> &amp;out_sensorPose) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A general method to retrieve the sensor pose on the robot.  <a href="#ac795d3df57b998131638f5ead0c1f337"></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_observation.html#a5bec6a228248534c4da9a2ccf5bbe891">setSensorPose</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &amp;newSensorPose)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A general method to change the sensor pose on the robot.  <a href="#a5bec6a228248534c4da9a2ccf5bbe891"></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_observation.html#ab79a75c6ddf65c8d99f97cbfeb38e9b8">setSensorPose</a> (const <a class="el" href="structmrpt_1_1math_1_1_t_pose3_d.html">mrpt::math::TPose3D</a> &amp;newSensorPose)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A general method to change the sensor pose on the robot.  <a href="#ab79a75c6ddf65c8d99f97cbfeb38e9b8"></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">CObject</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_object.html#aa1070e173c5f7e307b09c53f1fd256e2">duplicate</a> () const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a copy of the object, indepently of its class.  <a href="#aa1070e173c5f7e307b09c53f1fd256e2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1utils_1_1_c_object_ptr.html">mrpt::utils::CObjectPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_object.html#a534695890364f4b916bba07dad311bcf">duplicateGetSmartPtr</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a copy of the object, indepently of its class, as a smart pointer (the newly created object will exist as long as any copy of this smart pointer).  <a href="#a534695890364f4b916bba07dad311bcf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1utils_1_1_c_object.html">CObject</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_object.html#a9ef7857a0b36059c078e195a0a65ac00">clone</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Cloning interface for smart pointers.  <a href="#a9ef7857a0b36059c078e195a0a65ac00"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Delayed-load manual control methods.</div></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_observation.html#ae8925420b61a2aa460886e09d123a495">load</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Makes sure all images and other fields which may be externally stored are loaded in memory.  <a href="#ae8925420b61a2aa460886e09d123a495"></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_observation.html#ab0bf2ed10a730838b5357c5da0126711">unload</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Unload all images, for the case they being delayed-load images stored in external files (othewise, has no effect).  <a href="#ab0bf2ed10a730838b5357c5da0126711"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Data common to any observation</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__time__date.html#ga42674286d8d56afea013b6329bb7327a">mrpt::system::TTimeStamp</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_observation.html#ade9177f41827da9121847104e5b0ecd2">timestamp</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The associated time-stamp.  <a href="#ade9177f41827da9121847104e5b0ecd2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1string.html">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_observation.html#a7d451b2c59c2722f512227318df62579">sensorLabel</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">An arbitrary label that can be used to identify the sensor.  <a href="#a7d451b2c59c2722f512227318df62579"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-static-attribs"></a>
Static Public Attributes</h2></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_1utils_1_1_c_object.html#acb51e4dd811d62c2696aee449d0a4715">classCObject</a></td></tr>
<tr><td colspan="2"><div class="groupHeader">RTTI stuff</div></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_1utils_1_1_c_serializable.html#a28ec2a03d277a8469b8ecfc81892afdf">classCSerializable</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">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_observation.html#a34c88a99e7e81d3727701c1307dda162">swap</a> (<a class="el" href="classmrpt_1_1slam_1_1_c_observation.html">CObservation</a> &amp;o)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap with another observation, ONLY the data defined here in the base class <a class="el" href="classmrpt_1_1slam_1_1_c_observation.html" title="Declares a class that represents any robot&#39;s observation.">CObservation</a>. It's protected since it'll be only called from child classes that should know what else to swap appart from these common data.  <a href="#a34c88a99e7e81d3727701c1307dda162"></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_1utils_1_1_c_serializable.html#a0b6b801e67bca3d8e0d355e7035f8013">writeToStream</a> (<a class="el" href="classmrpt_1_1utils_1_1_c_stream.html">mrpt::utils::CStream</a> &amp;out, int *getVersion) const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Introduces a pure virtual method responsible for writing to a <a class="el" href="classmrpt_1_1utils_1_1_c_stream.html" title="This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...">CStream</a>.  <a href="#a0b6b801e67bca3d8e0d355e7035f8013"></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_1utils_1_1_c_serializable.html#a73ba83035a64939cdc3aa1c0dfed23ec">readFromStream</a> (<a class="el" href="classmrpt_1_1utils_1_1_c_stream.html">mrpt::utils::CStream</a> &amp;in, int version)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Introduces a pure virtual method responsible for loading from a <a class="el" href="classmrpt_1_1utils_1_1_c_stream.html" title="This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...">CStream</a> This can not be used directly be users, instead use "stream &gt;&gt; object;" for reading it from a stream or "stream &gt;&gt; object_ptr;" if the class is unknown apriori.  <a href="#a73ba83035a64939cdc3aa1c0dfed23ec"></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">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_observation.html#ac18f1c87c3720fec30ed793f21b1dcc8">classCObservation</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_observation.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::utils::CStream</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_observation.html#a2478a6c7dbdb372b36dd1e9b4148aba5">_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_observation.html#aac55c508d4de5468661de4c19424f124">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="#aac55c508d4de5468661de4c19424f124"></a><br/></td></tr>
</table>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ac83a512ea5ceb01da08be70770e56082"></a><!-- doxytag: member="mrpt::slam::CObservation::CObservation" ref="ac83a512ea5ceb01da08be70770e56082" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">mrpt::slam::CObservation::CObservation </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor: It sets the initial timestamp to current time. </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a2478a6c7dbdb372b36dd1e9b4148aba5"></a><!-- doxytag: member="mrpt::slam::CObservation::_GetBaseClass" ref="a2478a6c7dbdb372b36dd1e9b4148aba5" 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::CObservation::_GetBaseClass </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [static, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reimplemented from <a class="el" href="classmrpt_1_1utils_1_1_c_serializable.html#a471a2d4e8bf14cdc749d43ffb8066a12">mrpt::utils::CSerializable</a>.</p>

<p>Reimplemented in <a class="el" href="classmrpt_1_1slam_1_1_c_observation3_d_range_scan.html#a7d0e20dcd6f3462af98c27943d9a1c36">mrpt::slam::CObservation3DRangeScan</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_i_m_u.html#ad8b0bf196216ff4d8cc6ad87a7892263">mrpt::slam::CObservationIMU</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation2_d_range_scan.html#a73e403f6d47400629548bb0545f56bbc">mrpt::slam::CObservation2DRangeScan</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_stereo_images.html#a997940384d16d0dab7a3f1c1b27dfe2b">mrpt::slam::CObservationStereoImages</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_stereo_images_features.html#a72e1b568c45da2a96f62e24111130491">mrpt::slam::CObservationStereoImagesFeatures</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_image.html#aab6528ee1775d6b2bd80718208d54c20">mrpt::slam::CObservationImage</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_battery_state.html#a5e6bda3fee4006e13f05e12e2ae50c82">mrpt::slam::CObservationBatteryState</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_odometry.html#aeadd2c99e38bbe83436cf01f7928bfae">mrpt::slam::CObservationOdometry</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_g_p_s.html#a2724e4e40bb1eb5682edfa796b9261b3">mrpt::slam::CObservationGPS</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_range.html#afbda90ef8a200240279222644f7e6105">mrpt::slam::CObservationRange</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_bearing_range.html#abe5d8996fd9e7fdf83c26575782f3dab">mrpt::slam::CObservationBearingRange</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_gas_sensors.html#a66af6bb26f57f2774846e9fa3f7efa76">mrpt::slam::CObservationGasSensors</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_wireless_power.html#a3f107651d74ea1dd8ac681c7899542ea">mrpt::slam::CObservationWirelessPower</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_visual_landmarks.html#ab96998b37e974374cf50f564c4fc8539">mrpt::slam::CObservationVisualLandmarks</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_beacon_ranges.html#ae185938e600e2b3c2bbe9ced04af0b5c">mrpt::slam::CObservationBeaconRanges</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_comment.html#a719e36df205a5cb118b5d5b4c5d276ad">mrpt::slam::CObservationComment</a>, and <a class="el" href="classmrpt_1_1slam_1_1_c_observation_reflectivity.html#a2c79c05101b7e2944596352ca9559358">mrpt::slam::CObservationReflectivity</a>.</p>

</div>
</div>
<a class="anchor" id="a9ef7857a0b36059c078e195a0a65ac00"></a><!-- doxytag: member="mrpt::slam::CObservation::clone" ref="a9ef7857a0b36059c078e195a0a65ac00" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1utils_1_1_c_object.html">CObject</a>* mrpt::utils::CObject::clone </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Cloning interface for smart pointers. </p>

<p>Reimplemented in <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#acb2597d6d93b406501d9f3530eb56adf">mrpt::opengl::CRenderizable</a>, and <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable_display_list.html#ac164cb1d2cf682778ce52967cbd56469">mrpt::opengl::CRenderizableDisplayList</a>.</p>

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

</div>
</div>
<a class="anchor" id="aa1070e173c5f7e307b09c53f1fd256e2"></a><!-- doxytag: member="mrpt::slam::CObservation::duplicate" ref="aa1070e173c5f7e307b09c53f1fd256e2" args="() const =0" -->
<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">CObject</a>* mrpt::utils::CObject::duplicate </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

<p>Implemented in <a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses3_d_inf.html#aa418a18b42f0cd0345f7f74254d3816a">mrpt::graphs::CNetworkOfPoses3DInf</a>, <a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses2_d_inf.html#a3a4aefa2c8700d412e577aa67b38ef92">mrpt::graphs::CNetworkOfPoses2DInf</a>, <a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses3_d_cov.html#a1e8073ae7f1eea303ff200be62a39dc8">mrpt::graphs::CNetworkOfPoses3DCov</a>, <a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses2_d_cov.html#abdae8c21f63f137061ccb70cad7a00a4">mrpt::graphs::CNetworkOfPoses2DCov</a>, <a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses3_d.html#a322d25fb1e05935950f9a7667c8186db">mrpt::graphs::CNetworkOfPoses3D</a>, <a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses2_d.html#ac67931093925b89d8ffbf5940d53cba0">mrpt::graphs::CNetworkOfPoses2D</a>, <a class="el" href="classmrpt_1_1utils_1_1_t_stereo_camera.html#ab6a8fbe4d003f10c364378c5105be2ef">mrpt::utils::TStereoCamera</a>, <a class="el" href="classmrpt_1_1reactivenav_1_1_c_log_file_record___n_d.html#a3b657b853f3d81f1b85fe63ad90811a4">mrpt::reactivenav::CLogFileRecord_ND</a>, <a class="el" href="classmrpt_1_1utils_1_1_c_simple_database.html#ac8261cd70c8ccbb5d6f0bcbe02f7b129">mrpt::utils::CSimpleDatabase</a>, <a class="el" href="classmrpt_1_1utils_1_1_c_image.html#aad2da5b6028c862896eeff130254b268">mrpt::utils::CImage</a>, <a class="el" href="classmrpt_1_1detectors_1_1_c_detectable3_d.html#af14e72e5cb029e2b48ed085a269ec3d5">mrpt::detectors::CDetectable3D</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation3_d_range_scan.html#a0e414505f603f461879a817e628fd847">mrpt::slam::CObservation3DRangeScan</a>, <a class="el" href="classmrpt_1_1hmtslam_1_1_t_hypothesis_i_d_set.html#a91551aa5c70ca76a79009d152dd85132">mrpt::hmtslam::THypothesisIDSet</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_occupancy_grid_map2_d.html#a5e90b6efdf7c8646c43619f805d1447d">mrpt::slam::COccupancyGridMap2D</a>, <a class="el" href="classmrpt_1_1hmtslam_1_1_c_h_m_t_s_l_a_m.html#aaf8fcfb1dc4c86b88c86aec138a11072">mrpt::hmtslam::CHMTSLAM</a>, <a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#ac78d9a44f581338715379d0cd17e2fd1">mrpt::hmtslam::CLocalMetricHypothesis</a>, <a class="el" href="classmrpt_1_1gui_1_1_c_display_window3_d.html#af1330a1e443ddb156f55966a204404d3">mrpt::gui::CDisplayWindow3D</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_height_grid_map2_d.html#a197c2c0f0bd6b6b6cd82eb4b78b99e0d">mrpt::slam::CHeightGridMap2D</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_i_m_u.html#addc93579b7a501a8486ed8178e1b1163">mrpt::slam::CObservationIMU</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#af9bb29381a79d37c8e48319e99b79506">mrpt::slam::CMultiMetricMapPDF</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_landmarks_map.html#a2092c4cab9d1062f66449832e970d427">mrpt::slam::CLandmarksMap</a>, <a class="el" href="classmrpt_1_1vision_1_1_c_feature.html#a43eac0701c624df4976a459ab0ed5f9a">mrpt::vision::CFeature</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map.html#a40bb0f23493a06d109b9857882e73cc9">mrpt::slam::CMultiMetricMap</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#a73cf5cd5a1118c882a75f7b489b4c260">mrpt::slam::CRawlog</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_sensory_frame.html#a42ae7a4409660ed30a889f4d293c7cbb">mrpt::slam::CSensoryFrame</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html#ad10511d0f2da9bd690a92bf8b80bffaa">mrpt::poses::CPose3D</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation2_d_range_scan.html#a8752d16a6e4ee043b88101c9850f4099">mrpt::slam::CObservation2DRangeScan</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_point_p_d_f_particles.html#a7f571259a8c4934b39b51c1810c6953d">mrpt::poses::CPointPDFParticles</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_interpolator.html#a6e0706f9975f7f26b3d8096c4b93604d">mrpt::poses::CPose3DInterpolator</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#af57c300ecbd7c559a9d93fd0614d8f37">mrpt::opengl::COpenGLViewport</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_beacon_map.html#ac96c1b225716e20ed93e20962bf029be">mrpt::slam::CBeaconMap</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_reflectivity_grid_map2_d.html#a738ccf6288f6b32ebe7d1c580967223a">mrpt::slam::CReflectivityGridMap2D</a>, <a class="el" href="classmrpt_1_1hmtslam_1_1_c_l_s_l_a_m_particle_data.html#aa32623b7b721c6c827dccf8418e29dc1">mrpt::hmtslam::CLSLAMParticleData</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_point_cloud.html#aee94205aa8bf0fa4465036031a062fc0">mrpt::opengl::CPointCloud</a>, <a class="el" href="classmrpt_1_1detectors_1_1_c_detectable2_d.html#a1ae410e57a6919e6007f6b33b12d9bf9">mrpt::detectors::CDetectable2D</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_scene.html#a9b3a8da932f784bb49c32e49dcda3b96">mrpt::opengl::COpenGLScene</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_point_cloud_coloured.html#a5f42667250317195e9a1f5b280797d1b">mrpt::opengl::CPointCloudColoured</a>, <a class="el" href="classmrpt_1_1math_1_1_c_matrix_d.html#aa929ee8c57cd51dc5642a605aa70bfbd">mrpt::math::CMatrixD</a>, <a class="el" href="classmrpt_1_1utils_1_1_c_m_h_properties_values_list.html#aa96c50b8298d9986b7e38df79cefd526">mrpt::utils::CMHPropertiesValuesList</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_planar_laser_scan.html#a174be00acf923c26a2a5933ffe750f6b">mrpt::opengl::CPlanarLaserScan</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_wireless_power_grid_map2_d.html#a446665d934bb68fc8582f33bff9d92b8">mrpt::slam::CWirelessPowerGridMap2D</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_stereo_images.html#abb628a6fcb83bb9803bb4f72dffe1f1c">mrpt::slam::CObservationStereoImages</a>, <a class="el" href="classmrpt_1_1math_1_1_c_matrix.html#a4fb51439298d885903af7000d353f46b">mrpt::math::CMatrix</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_p_d_f_particles.html#a7304e3b9362d80754232877aacdaa808">mrpt::poses::CPose3DPDFParticles</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat.html#a9c680e7f88f85b165e8f806fd02d4a56">mrpt::poses::CPose3DQuat</a>, <a class="el" href="classmrpt_1_1hmtslam_1_1_c_h_m_h_map_node.html#acf667fcb7d982bf6dce0a4616136c262">mrpt::hmtslam::CHMHMapNode</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_beacon.html#a8c5aa5059603c4457fef60eb8fdb1ecf">mrpt::slam::CBeacon</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_text3_d.html#aaa3a55f9b83404ad3842cd764060683d">mrpt::opengl::CText3D</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_stereo_images_features.html#aba4a19c73ed95546f0fcb16eb057f18e">mrpt::slam::CObservationStereoImagesFeatures</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_ellipsoid.html#a3650d34de6b1f5019fe777978c02cafb">mrpt::opengl::CEllipsoid</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_landmark.html#a75becf8cf9a5879930d55afddada8e8a">mrpt::slam::CLandmark</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#ad33b8d9da7a6f510520c342cb1ba81bd">mrpt::poses::CPose3DQuatPDFGaussian</a>, <a class="el" href="classmrpt_1_1hmtslam_1_1_c_robot_poses_graph.html#aadda9db6b2b0928164ad50e8cd11eaee">mrpt::hmtslam::CRobotPosesGraph</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_mesh.html#a5d7468f17d7679ab2f620e1e200e3806">mrpt::opengl::CMesh</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_pose_p_d_f_particles.html#a7cf711985eb19c122259fb73e57ac79b">mrpt::poses::CPosePDFParticles</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_pose_p_d_f_s_o_g.html#ab76de1691de9b7eeb0aa79308743b3b1">mrpt::poses::CPosePDFSOG</a>, <a class="el" href="classmrpt_1_1gui_1_1_c_display_window_plots.html#aa6f1cf193c3bf6a2313b53951346e782">mrpt::gui::CDisplayWindowPlots</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_gas_concentration_grid_map2_d.html#a2291a08ea655179c09a95a7c2bd1795d">mrpt::slam::CGasConcentrationGridMap2D</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_image.html#a3faac43a2aa3cc2cb83009dea36fb091">mrpt::slam::CObservationImage</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_set_of_lines.html#a310eb858ada8a9becd13c951c2d24bf8">mrpt::opengl::CSetOfLines</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_text.html#a3687a19a0da6211642fea5da8c3a8ec4">mrpt::opengl::CText</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_p_d_f_gaussian.html#a9b27d9967b815ee3940c15de195a36e2">mrpt::poses::CPose3DPDFGaussian</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_p_d_f_gaussian_inf.html#a9bd19644e5dbc753f2fbb5f6aaa973aa">mrpt::poses::CPose3DPDFGaussianInf</a>, <a class="el" href="classmrpt_1_1hmtslam_1_1_c_h_m_h_map_arc.html#a3d86e457d12686c0cfcc43ad82428799">mrpt::hmtslam::CHMHMapArc</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a511f6a7e6cc8e6744bc0373174c7427d">mrpt::opengl::CPolyhedron</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_pose_p_d_f_gaussian_inf.html#a7846f251ee6c4a06823a9e317efe9425">mrpt::poses::CPosePDFGaussianInf</a>, <a class="el" href="classmrpt_1_1hmtslam_1_1_c_hierarchical_m_h_map.html#a27438440f4020af9344d231faccc753f">mrpt::hmtslam::CHierarchicalMHMap</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_angular_observation_mesh.html#a18b235563a3fc738b91a6e6e53a9015f">mrpt::opengl::CAngularObservationMesh</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_coloured_points_map.html#aa9464b5162eb23c17d9e8cfb261d05a7">mrpt::slam::CColouredPointsMap</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_incremental_map_partitioner.html#a31d7ca9b000e8f07a79929e591343d86">mrpt::slam::CIncrementalMapPartitioner</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_r_b_p_f_particle_data.html#a5bcc1c02aed4050434ed55b74f2ff650">mrpt::slam::CRBPFParticleData</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_point2_d.html#a0bf70b9de6ac93f51598aac53e2003d3">mrpt::poses::CPoint2D</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_point_p_d_f_s_o_g.html#a49ae926af8ad565263ce3cfbfac678a0">mrpt::poses::CPointPDFSOG</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a7bfbc310c6895373d2a861c32a7e9a42">mrpt::poses::CPose2D</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_simple_points_map.html#ade98e5012f143f773dca038ebedaf414">mrpt::slam::CSimplePointsMap</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_disk.html#ac24e8aff817cff149884379a9f2bc8f3">mrpt::opengl::CDisk</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_set_of_objects.html#a7b52c011ee07d664d4fb68e8a8aadbcd">mrpt::opengl::CSetOfObjects</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_p_d_f_s_o_g.html#a446f3aa07c01e02a3e6b217cf5add70a">mrpt::poses::CPose3DPDFSOG</a>, <a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#ae3614449388ba0d04ada82669bec0737">mrpt::utils::TCamera</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_action_robot_movement2_d.html#a7e8d6d2fb451afbde43e9ac7221ddc9b">mrpt::slam::CActionRobotMovement2D</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_battery_state.html#a2cb06e193f5eb42aa2a831020d95afff">mrpt::slam::CObservationBatteryState</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_grid_plane_x_y.html#abbd3dfcf7b030079b2abfba5ea6444be">mrpt::opengl::CGridPlaneXY</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_grid_plane_x_z.html#aefe4896e131caf88278a5a716217332e">mrpt::opengl::CGridPlaneXZ</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_point3_d.html#a29bbab541ccead175735cb918d824df8">mrpt::poses::CPoint3D</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_pose_p_d_f_gaussian.html#a965e60ece7618520c2b8ca8fffd193a8">mrpt::poses::CPosePDFGaussian</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_simple_map.html#a6d025252ed5f6b5f4e0a4e3ddc416b7f">mrpt::slam::CSimpleMap</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_arrow.html#a41cc3bf824b9cb780a3ab7cf192a3364">mrpt::opengl::CArrow</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_axis.html#ac25fb689167766f779d410e27ea1d49e">mrpt::opengl::CAxis</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_sphere.html#aa575a8579770705b353c529c2cb087fb">mrpt::opengl::CSphere</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_weighted_points_map.html#a0e0d2c095e57a26850f403067f8a57b9">mrpt::slam::CWeightedPointsMap</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_camera.html#a633a46c1730b7ab2a384894aaeb5a2b1">mrpt::opengl::CCamera</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_pose_p_d_f_grid.html#ab2e0aecfd0e0b44f72034ccc3fbb9b31">mrpt::poses::CPosePDFGrid</a>, <a class="el" href="classmrpt_1_1utils_1_1_c_string_list.html#ac9a15d228b7367a12ca0b7eb4d83c6b5">mrpt::utils::CStringList</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_odometry.html#a05fd7949574d81da2ba09078098ecf30">mrpt::slam::CObservationOdometry</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_box.html#a8c9b11cb2c190d0e483139fa867b18c6">mrpt::opengl::CBox</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_set_of_textured_triangles.html#ad2a5d067f01067243281582300ec203b">mrpt::opengl::CSetOfTexturedTriangles</a>, <a class="el" href="classmrpt_1_1utils_1_1_c_memory_chunk.html#a78bcb5c78c30e2ce9264f175992824e7">mrpt::utils::CMemoryChunk</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_action_collection.html#a407a76e436c9a8e8078894c35fdb5158">mrpt::slam::CActionCollection</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_g_p_s.html#a55cbbc63858e0090c78510beec989412">mrpt::slam::CObservationGPS</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_range.html#a99ebd8676c155b314f49dab5e3a76330">mrpt::slam::CObservationRange</a>, <a class="el" href="classmrpt_1_1reactivenav_1_1_c_log_file_record.html#a04c05b92a6607524ea23b9e5b5ed8b09">mrpt::reactivenav::CLogFileRecord</a>, <a class="el" href="classmrpt_1_1math_1_1_c_spline_interpolator1_d.html#a53aa9a1e2f53f277b9e1488e0c96b6c5">mrpt::math::CSplineInterpolator1D</a>, <a class="el" href="classmrpt_1_1utils_1_1_c_properties_values_list.html#aa79cf430bc89538e7550ec20a10491e4">mrpt::utils::CPropertiesValuesList</a>, <a class="el" href="classmrpt_1_1gui_1_1_c_display_window.html#a5f25675c29fb9c67cabf4c6ca2162cf3">mrpt::gui::CDisplayWindow</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_bearing_range.html#a2507aece9dce13c5f3bb9f5a190e096c">mrpt::slam::CObservationBearingRange</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_gas_sensors.html#abcc880fd8478f9062e10e765a6207ba9">mrpt::slam::CObservationGasSensors</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_wireless_power.html#a9b77480065c165be0e906ad2ff971cd9">mrpt::slam::CObservationWirelessPower</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c3_d_s_scene.html#a3cb1f8940317a760f31397e1c3ad0027">mrpt::opengl::C3DSScene</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_visual_landmarks.html#ab1be9ba6c66ffd5ac0c3d3cef5a133f9">mrpt::slam::CObservationVisualLandmarks</a>, <a class="el" href="classmrpt_1_1math_1_1_c_matrix_b.html#a59912ae9f05fa0604d49df187947af11">mrpt::math::CMatrixB</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_point_p_d_f_gaussian.html#ac4c2c51962f520b5879919cba0a9e206">mrpt::poses::CPointPDFGaussian</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_poses2_d_sequence.html#aabce19dce3c15e10b340f26f4ebe535f">mrpt::poses::CPoses2DSequence</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_poses3_d_sequence.html#a095af4ace78646a9fab689723fa00508">mrpt::poses::CPoses3DSequence</a>, <a class="el" href="classmrpt_1_1utils_1_1_c_simple_database_table.html#a696a686e91fd5f7289706fd0bd6ddfc5">mrpt::utils::CSimpleDatabaseTable</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_action_robot_movement3_d.html#a16bc246dde9470e74a1033da69c9866e">mrpt::slam::CActionRobotMovement3D</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_beacon_ranges.html#a23e787119a1f9bd94eb9b5690e0daccb">mrpt::slam::CObservationBeaconRanges</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_comment.html#a434bcdda2cc6f6c265ae62788adfd98a">mrpt::slam::CObservationComment</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_cylinder.html#a8e5b85adca444e64144ee6f3faf83114">mrpt::opengl::CCylinder</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_set_of_triangles.html#abbbbb3d087ed3ee7c2da39eac11ab95a">mrpt::opengl::CSetOfTriangles</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_reflectivity.html#a17ef8a534a2149e36dc7b95fba49eae0">mrpt::slam::CObservationReflectivity</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_generalized_cylinder.html#a77bf22c0582d88b4faeb742d29b5c048">mrpt::opengl::CGeneralizedCylinder</a>, <a class="el" href="classmrpt_1_1math_1_1_c_polygon.html#a5e7e04d290bd0a8e5ea200c5c6161789">mrpt::math::CPolygon</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_point2_d_p_d_f_gaussian.html#ae3fd0af40f8db138878c9bec82d334cb">mrpt::poses::CPoint2DPDFGaussian</a>, <a class="el" href="classmrpt_1_1poses_1_1_t_simple3_d_point.html#ad234b06eecf2225506f9095dd8e8a6d7">mrpt::poses::TSimple3DPoint</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_standard_object.html#a8988a84c557b3ca109ad0549abc5a146">mrpt::opengl::COpenGLStandardObject</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_simple_line.html#ad04236958bd785b246c4b128c0921fed">mrpt::opengl::CSimpleLine</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_textured_plane.html#a85b062e19d9544cdc2aca554ef99c326">mrpt::opengl::CTexturedPlane</a>, <a class="el" href="classmrpt_1_1utils_1_1_c_type_selector.html#ab43700d20fcedc8db931a39a061ef5a0">mrpt::utils::CTypeSelector</a>, and <a class="el" href="classmrpt_1_1reactivenav_1_1_c_log_file_record___v_f_f.html#af9583f931124d502e9c20d2786262b0e">mrpt::reactivenav::CLogFileRecord_VFF</a>.</p>

</div>
</div>
<a class="anchor" id="a534695890364f4b916bba07dad311bcf"></a><!-- doxytag: member="mrpt::slam::CObservation::duplicateGetSmartPtr" ref="a534695890364f4b916bba07dad311bcf" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1utils_1_1_c_object_ptr.html">mrpt::utils::CObjectPtr</a> mrpt::utils::CObject::duplicateGetSmartPtr </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a copy of the object, indepently of its class, as a smart pointer (the newly created object will exist as long as any copy of this smart pointer). </p>

<p>Definition at line <a class="el" href="_c_object_8h_source.html#l00151">151</a> of file <a class="el" href="_c_object_8h_source.html">CObject.h</a>.</p>

</div>
</div>
<a class="anchor" id="aac55c508d4de5468661de4c19424f124"></a><!-- doxytag: member="mrpt::slam::CObservation::GetRuntimeClass" ref="aac55c508d4de5468661de4c19424f124" 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::CObservation::GetRuntimeClass </td>
          <td>(</td>
          <td class="paramname"></td><td>)</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_1utils_1_1_c_serializable.html#a6861b16159daafd1651d6e0d27f39c58">mrpt::utils::CSerializable</a>.</p>

<p>Reimplemented in <a class="el" href="classmrpt_1_1slam_1_1_c_observation3_d_range_scan.html#afd9d43360420fbfa206ece2e9c820065">mrpt::slam::CObservation3DRangeScan</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_i_m_u.html#a748196c1ec93f5011d162d2fe818c56e">mrpt::slam::CObservationIMU</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation2_d_range_scan.html#a4938064252f559a3a47380d14741b6a8">mrpt::slam::CObservation2DRangeScan</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_stereo_images.html#a9f87447475465fdf276ec5628d0afed7">mrpt::slam::CObservationStereoImages</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_stereo_images_features.html#a1e7812a2d49b6c95760a19f9aa10593e">mrpt::slam::CObservationStereoImagesFeatures</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_image.html#a27c332d314ce1ba436ae5afaf301c2af">mrpt::slam::CObservationImage</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_battery_state.html#a0695c28ef87c5861b045bc573ab1eb1b">mrpt::slam::CObservationBatteryState</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_odometry.html#aba9176b61a5eb3bcaccd04e3044aaa54">mrpt::slam::CObservationOdometry</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_g_p_s.html#ab5d1c272b694dd69065330c4a8094100">mrpt::slam::CObservationGPS</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_range.html#a3d62d0549a13131c506f55e88799e7de">mrpt::slam::CObservationRange</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_bearing_range.html#a91bfdebba4436a5c11f39378686878d0">mrpt::slam::CObservationBearingRange</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_gas_sensors.html#ae4d45f85a007d1d2c8bcfb1e91e97e4b">mrpt::slam::CObservationGasSensors</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_wireless_power.html#aa0bcab3d463265b6de9ef5624c14280e">mrpt::slam::CObservationWirelessPower</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_visual_landmarks.html#a6d2a2f1fb79e70c88631aa7b17f57c5a">mrpt::slam::CObservationVisualLandmarks</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_beacon_ranges.html#a926cde45956a9d875e04cc3629327e5a">mrpt::slam::CObservationBeaconRanges</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_comment.html#a610493d393aa5bacb9c51b20e47dca5c">mrpt::slam::CObservationComment</a>, and <a class="el" href="classmrpt_1_1slam_1_1_c_observation_reflectivity.html#a0cf7eab4b034c932c7b82edb9b385b13">mrpt::slam::CObservationReflectivity</a>.</p>

</div>
</div>
<a class="anchor" id="a518c117b06a29cc82820996ff9a04b85"></a><!-- doxytag: member="mrpt::slam::CObservation::getSensorPose" ref="a518c117b06a29cc82820996ff9a04b85" args="(CPose3D &amp;out_sensorPose) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mrpt::slam::CObservation::getSensorPose </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &amp;&#160;</td>
          <td class="paramname"><em>out_sensorPose</em></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A general method to retrieve the sensor pose on the robot. </p>
<p>Note that most sensors will return a full (6D) CPose3D, but see the derived classes for more details or special cases. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1slam_1_1_c_observation.html#a5bec6a228248534c4da9a2ccf5bbe891" title="A general method to change the sensor pose on the robot.">setSensorPose</a> </dd></dl>

<p>Implemented in <a class="el" href="classmrpt_1_1slam_1_1_c_observation_g_p_s.html#a52cdf80810fda28e611f06100b912402">mrpt::slam::CObservationGPS</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation3_d_range_scan.html#a524e4c3856223448a0a3eeb9b2982b29">mrpt::slam::CObservation3DRangeScan</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation2_d_range_scan.html#afc2d42de54c932681d12d4df215b9bbf">mrpt::slam::CObservation2DRangeScan</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_i_m_u.html#ab692622589a073d4d12669813c4e05f6">mrpt::slam::CObservationIMU</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_stereo_images.html#abe28a847de97928ffe6380f0b607da99">mrpt::slam::CObservationStereoImages</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_stereo_images_features.html#a75f04c3f4547b53d0666e85c19d1cb01">mrpt::slam::CObservationStereoImagesFeatures</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_gas_sensors.html#af2841d4c260282067a630f5c8f230ecd">mrpt::slam::CObservationGasSensors</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_bearing_range.html#a006e2d21abe261ee104c3cc4a9a2ee8c">mrpt::slam::CObservationBearingRange</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_beacon_ranges.html#a224fb11aa458d7beab1ef6083766d6ce">mrpt::slam::CObservationBeaconRanges</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_range.html#a6d2398a8eb6acb5aedf11ae8eed08f3f">mrpt::slam::CObservationRange</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_image.html#ac928dae5ef7c813f89d66cc9bc3c3e00">mrpt::slam::CObservationImage</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_battery_state.html#a344f5aff9162effb083c53f3264cfcbf">mrpt::slam::CObservationBatteryState</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_visual_landmarks.html#a1f93a9716e3dec212e60104e6f0c72a2">mrpt::slam::CObservationVisualLandmarks</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_odometry.html#a834cd09091fa98d9770cc6a3d2685ec2">mrpt::slam::CObservationOdometry</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_comment.html#aff00fec60b4f0c256628fb53ef0b1492">mrpt::slam::CObservationComment</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_reflectivity.html#af15659f1cfec83930755a165e6963262">mrpt::slam::CObservationReflectivity</a>, and <a class="el" href="classmrpt_1_1slam_1_1_c_observation_wireless_power.html#ad50e98827a8bb4ef33364a96adfcb74d">mrpt::slam::CObservationWirelessPower</a>.</p>

</div>
</div>
<a class="anchor" id="ac795d3df57b998131638f5ead0c1f337"></a><!-- doxytag: member="mrpt::slam::CObservation::getSensorPose" ref="ac795d3df57b998131638f5ead0c1f337" args="(mrpt::math::TPose3D &amp;out_sensorPose) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CObservation::getSensorPose </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmrpt_1_1math_1_1_t_pose3_d.html">mrpt::math::TPose3D</a> &amp;&#160;</td>
          <td class="paramname"><em>out_sensorPose</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A general method to retrieve the sensor pose on the robot. </p>
<p>Note that most sensors will return a full (6D) CPose3D, but see the derived classes for more details or special cases. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1slam_1_1_c_observation.html#a5bec6a228248534c4da9a2ccf5bbe891" title="A general method to change the sensor pose on the robot.">setSensorPose</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a4dadc9d2618ea3701084e8cce4671564"></a><!-- doxytag: member="mrpt::slam::CObservation::insertObservationInto" ref="a4dadc9d2618ea3701084e8cce4671564" args="(METRICMAP *theMap, const CPose3D *robotPose=NULL) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class METRICMAP &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::slam::CObservation::insertObservationInto </td>
          <td>(</td>
          <td class="paramtype">METRICMAP *&#160;</td>
          <td class="paramname"><em>theMap</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> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>This method is equivalent to: </p>
<div class="fragment"><pre class="fragment">                map-&gt;insertObservation(<span class="keyword">this</span>, robotPose)
</pre></div> <dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">theMap</td><td>The map where this observation is to be inserted: the map will be updated. </td></tr>
    <tr><td class="paramname">robotPose</td><td>The pose of the robot base for this observation, relative to the target metric map. Set to NULL (default) to use (0,0,0deg)</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns true if the map has been updated, or false if this observations has nothing to do with a metric map (for example, a sound observation).</dd></dl>
<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>, <a class="el" href="classmrpt_1_1slam_1_1_c_metric_map.html#ad1d3f22228d6dbdb3c31c132713bf782" title="Insert the observation information into this map.">CMetricMap::insertObservation</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_observation_8h_source.html#l00122">122</a> of file <a class="el" href="_c_observation_8h_source.html">CObservation.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae8925420b61a2aa460886e09d123a495"></a><!-- doxytag: member="mrpt::slam::CObservation::load" ref="ae8925420b61a2aa460886e09d123a495" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mrpt::slam::CObservation::load </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Makes sure all images and other fields which may be externally stored are loaded in memory. </p>
<p>Note that for all CImages, calling <a class="el" href="classmrpt_1_1slam_1_1_c_observation.html#ae8925420b61a2aa460886e09d123a495" title="Makes sure all images and other fields which may be externally stored are loaded in memory...">load()</a> is not required since the images will be automatically loaded upon first access, so <a class="el" href="classmrpt_1_1slam_1_1_c_observation.html#ae8925420b61a2aa460886e09d123a495" title="Makes sure all images and other fields which may be externally stored are loaded in memory...">load()</a> shouldn't be needed to be called in normal cases by the user. If all the data were alredy loaded or this object has no externally stored data fields, calling this method has no effects. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1slam_1_1_c_observation.html#ab0bf2ed10a730838b5357c5da0126711" title="Unload all images, for the case they being delayed-load images stored in external files (othewise...">unload</a> </dd></dl>

<p>Reimplemented in <a class="el" href="classmrpt_1_1slam_1_1_c_observation3_d_range_scan.html#a77311f96ccb874177d0f2120a3a80de8">mrpt::slam::CObservation3DRangeScan</a>.</p>

<p>Definition at line <a class="el" href="_c_observation_8h_source.html#l00159">159</a> of file <a class="el" href="_c_observation_8h_source.html">CObservation.h</a>.</p>

</div>
</div>
<a class="anchor" id="a73ba83035a64939cdc3aa1c0dfed23ec"></a><!-- doxytag: member="mrpt::slam::CObservation::readFromStream" ref="a73ba83035a64939cdc3aa1c0dfed23ec" args="(mrpt::utils::CStream &amp;in, int version)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mrpt::utils::CSerializable::readFromStream </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1utils_1_1_c_stream.html">mrpt::utils::CStream</a> &amp;&#160;</td>
          <td class="paramname"><em>in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>version</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [protected, pure virtual, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Introduces a pure virtual method responsible for loading from a <a class="el" href="classmrpt_1_1utils_1_1_c_stream.html" title="This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...">CStream</a> This can not be used directly be users, instead use "stream &gt;&gt; object;" for reading it from a stream or "stream &gt;&gt; object_ptr;" if the class is unknown apriori. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">in</td><td>The input binary stream where the object data must read from. </td></tr>
    <tr><td class="paramname">version</td><td>The version of the object stored in the stream: use this version number in your code to know how to read the incoming data. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classstd_1_1exception.html" title="STL class.">std::exception</a></td><td>On any error, see <a class="el" href="classmrpt_1_1utils_1_1_c_stream.html#a1b8cd3d084b5a95a3f65c6eed6e7cc6d" title="Reads a block of bytes from the stream into Buffer On any error, or if ZERO bytes are read...">CStream::ReadBuffer</a> </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1utils_1_1_c_stream.html" title="This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...">CStream</a> </dd></dl>

<p>Implemented in <a class="el" href="classmrpt_1_1math_1_1_c_matrix_d.html#a0194e57ec48c1dfc6aa00c23d3409143">mrpt::math::CMatrixD</a>, and <a class="el" href="classmrpt_1_1math_1_1_c_matrix.html#a12db95e8c32d48d2d2483936dec516a7">mrpt::math::CMatrix</a>.</p>

</div>
</div>
<a class="anchor" id="a5bec6a228248534c4da9a2ccf5bbe891"></a><!-- doxytag: member="mrpt::slam::CObservation::setSensorPose" ref="a5bec6a228248534c4da9a2ccf5bbe891" args="(const CPose3D &amp;newSensorPose)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mrpt::slam::CObservation::setSensorPose </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &amp;&#160;</td>
          <td class="paramname"><em>newSensorPose</em></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A general method to change the sensor pose on the robot. </p>
<p>Note that most sensors will use the full (6D) CPose3D, but see the derived classes for more details or special cases. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1slam_1_1_c_observation.html#a518c117b06a29cc82820996ff9a04b85" title="A general method to retrieve the sensor pose on the robot.">getSensorPose</a> </dd></dl>

<p>Implemented in <a class="el" href="classmrpt_1_1slam_1_1_c_observation_g_p_s.html#a329d88db22e2f583f9f3e18d245ff8e0">mrpt::slam::CObservationGPS</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation3_d_range_scan.html#a25e8f59e7eb41650c51007371aed30c9">mrpt::slam::CObservation3DRangeScan</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation2_d_range_scan.html#acd2e8d929df8608f32d8fb9d2fafeee4">mrpt::slam::CObservation2DRangeScan</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_i_m_u.html#a9ae98651b0a540bb7da33c187be194ff">mrpt::slam::CObservationIMU</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_stereo_images.html#a9e60c7f316e91d17d8987bf01cfd068c">mrpt::slam::CObservationStereoImages</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_stereo_images_features.html#a5bc6a84fc4ce92dc4deefb33319a921f">mrpt::slam::CObservationStereoImagesFeatures</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_gas_sensors.html#a3a5e2f148057fe27a0f102c35b55c1bd">mrpt::slam::CObservationGasSensors</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_bearing_range.html#a98ab0184db67397bb5ecc38afdc34162">mrpt::slam::CObservationBearingRange</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_beacon_ranges.html#abd967cfb6b13552087a6ef775b976d25">mrpt::slam::CObservationBeaconRanges</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_range.html#a8b10d67e87c406046ca4a06f46d8db94">mrpt::slam::CObservationRange</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_image.html#aaabe9ad79b687399ea0cd405c760d7a6">mrpt::slam::CObservationImage</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_battery_state.html#a3bbb110e7ef094675cbf359b3ca8cc51">mrpt::slam::CObservationBatteryState</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_visual_landmarks.html#a36b96b0b33e6650569028d63befc6b93">mrpt::slam::CObservationVisualLandmarks</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_odometry.html#a27291491a7d6c85b87d00e4c82f15f28">mrpt::slam::CObservationOdometry</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_comment.html#adb67fd702c829e41a9ea86617ab22a91">mrpt::slam::CObservationComment</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation_reflectivity.html#abf1478cb935b1103532c67a013970065">mrpt::slam::CObservationReflectivity</a>, and <a class="el" href="classmrpt_1_1slam_1_1_c_observation_wireless_power.html#a4f197dab556a4df0195a5f754e72130f">mrpt::slam::CObservationWirelessPower</a>.</p>

</div>
</div>
<a class="anchor" id="ab79a75c6ddf65c8d99f97cbfeb38e9b8"></a><!-- doxytag: member="mrpt::slam::CObservation::setSensorPose" ref="ab79a75c6ddf65c8d99f97cbfeb38e9b8" args="(const mrpt::math::TPose3D &amp;newSensorPose)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CObservation::setSensorPose </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1math_1_1_t_pose3_d.html">mrpt::math::TPose3D</a> &amp;&#160;</td>
          <td class="paramname"><em>newSensorPose</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A general method to change the sensor pose on the robot. </p>
<p>Note that most sensors will use the full (6D) CPose3D, but see the derived classes for more details or special cases. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1slam_1_1_c_observation.html#a518c117b06a29cc82820996ff9a04b85" title="A general method to retrieve the sensor pose on the robot.">getSensorPose</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a34c88a99e7e81d3727701c1307dda162"></a><!-- doxytag: member="mrpt::slam::CObservation::swap" ref="a34c88a99e7e81d3727701c1307dda162" args="(CObservation &amp;o)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CObservation::swap </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1slam_1_1_c_observation.html">CObservation</a> &amp;&#160;</td>
          <td class="paramname"><em>o</em></td><td>)</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Swap with another observation, ONLY the data defined here in the base class <a class="el" href="classmrpt_1_1slam_1_1_c_observation.html" title="Declares a class that represents any robot&#39;s observation.">CObservation</a>. It's protected since it'll be only called from child classes that should know what else to swap appart from these common data. </p>

</div>
</div>
<a class="anchor" id="ab0bf2ed10a730838b5357c5da0126711"></a><!-- doxytag: member="mrpt::slam::CObservation::unload" ref="ab0bf2ed10a730838b5357c5da0126711" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mrpt::slam::CObservation::unload </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Unload all images, for the case they being delayed-load images stored in external files (othewise, has no effect). </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1slam_1_1_c_observation.html#ae8925420b61a2aa460886e09d123a495" title="Makes sure all images and other fields which may be externally stored are loaded in memory...">load</a> </dd></dl>

<p>Reimplemented in <a class="el" href="classmrpt_1_1slam_1_1_c_observation3_d_range_scan.html#a3e04ab230acfb1fe8d763b856c3d9534">mrpt::slam::CObservation3DRangeScan</a>.</p>

<p>Definition at line <a class="el" href="_c_observation_8h_source.html#l00163">163</a> of file <a class="el" href="_c_observation_8h_source.html">CObservation.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0b6b801e67bca3d8e0d355e7035f8013"></a><!-- doxytag: member="mrpt::slam::CObservation::writeToStream" ref="a0b6b801e67bca3d8e0d355e7035f8013" args="(mrpt::utils::CStream &amp;out, int *getVersion) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mrpt::utils::CSerializable::writeToStream </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1utils_1_1_c_stream.html">mrpt::utils::CStream</a> &amp;&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>getVersion</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [protected, pure virtual, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Introduces a pure virtual method responsible for writing to a <a class="el" href="classmrpt_1_1utils_1_1_c_stream.html" title="This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...">CStream</a>. </p>
<p>This can not be used directly be users, instead use "stream &lt;&lt; object;" for writing it to a stream. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">out</td><td>The output binary stream where object must be dumped. </td></tr>
    <tr><td class="paramname">getVersion</td><td>If NULL, the object must be dumped. If not, only the version of the object dump must be returned in this pointer. This enables the versioning of objects dumping and backward compatibility with previously stored data. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classstd_1_1exception.html" title="STL class.">std::exception</a></td><td>On any error, see <a class="el" href="classmrpt_1_1utils_1_1_c_stream.html#a276005e7110c9de74ff3277b3f7bf621" title="Writes a block of bytes to the stream from Buffer.">CStream::WriteBuffer</a> </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1utils_1_1_c_stream.html" title="This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...">CStream</a> </dd></dl>

<p>Implemented in <a class="el" href="classmrpt_1_1math_1_1_c_matrix_d.html#a767e787b52208ab4dd46ba7f5e2fd224">mrpt::math::CMatrixD</a>, and <a class="el" href="classmrpt_1_1math_1_1_c_matrix.html#a059d7eaf80dab9c7435154146d2b7dbf">mrpt::math::CMatrix</a>.</p>

</div>
</div>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="a6fec28a53e20dfc1c4d046c26f9f7b48"></a><!-- doxytag: member="mrpt::slam::CObservation::mrpt::utils::CStream" ref="a6fec28a53e20dfc1c4d046c26f9f7b48" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="classmrpt_1_1utils_1_1_c_stream.html">mrpt::utils::CStream</a><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reimplemented from <a class="el" href="classmrpt_1_1utils_1_1_c_serializable.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::utils::CSerializable</a>.</p>

<p>Definition at line <a class="el" href="_c_observation_8h_source.html#l00084">84</a> of file <a class="el" href="_c_observation_8h_source.html">CObservation.h</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="acb51e4dd811d62c2696aee449d0a4715"></a><!-- doxytag: member="mrpt::slam::CObservation::classCObject" ref="acb51e4dd811d62c2696aee449d0a4715" 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_1utils_1_1_c_object.html#acb51e4dd811d62c2696aee449d0a4715">mrpt::utils::CObject::classCObject</a><code> [static, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_object_8h_source.html#l00139">139</a> of file <a class="el" href="_c_object_8h_source.html">CObject.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac18f1c87c3720fec30ed793f21b1dcc8"></a><!-- doxytag: member="mrpt::slam::CObservation::classCObservation" ref="ac18f1c87c3720fec30ed793f21b1dcc8" 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_observation.html#ac18f1c87c3720fec30ed793f21b1dcc8">mrpt::slam::CObservation::classCObservation</a><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_observation_8h_source.html#l00084">84</a> of file <a class="el" href="_c_observation_8h_source.html">CObservation.h</a>.</p>

</div>
</div>
<a class="anchor" id="a28ec2a03d277a8469b8ecfc81892afdf"></a><!-- doxytag: member="mrpt::slam::CObservation::classCSerializable" ref="a28ec2a03d277a8469b8ecfc81892afdf" 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_1utils_1_1_c_serializable.html#a28ec2a03d277a8469b8ecfc81892afdf">mrpt::utils::CSerializable::classCSerializable</a><code> [static, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_serializable_8h_source.html#l00056">56</a> of file <a class="el" href="_c_serializable_8h_source.html">CSerializable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7d451b2c59c2722f512227318df62579"></a><!-- doxytag: member="mrpt::slam::CObservation::sensorLabel" ref="a7d451b2c59c2722f512227318df62579" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1string.html">std::string</a> <a class="el" href="classmrpt_1_1slam_1_1_c_observation.html#a7d451b2c59c2722f512227318df62579">mrpt::slam::CObservation::sensorLabel</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>An arbitrary label that can be used to identify the sensor. </p>

<p>Definition at line <a class="el" href="_c_observation_8h_source.html#l00100">100</a> of file <a class="el" href="_c_observation_8h_source.html">CObservation.h</a>.</p>

</div>
</div>
<a class="anchor" id="ade9177f41827da9121847104e5b0ecd2"></a><!-- doxytag: member="mrpt::slam::CObservation::timestamp" ref="ade9177f41827da9121847104e5b0ecd2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__time__date.html#ga42674286d8d56afea013b6329bb7327a">mrpt::system::TTimeStamp</a> <a class="el" href="classmrpt_1_1slam_1_1_c_observation.html#ade9177f41827da9121847104e5b0ecd2">mrpt::slam::CObservation::timestamp</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The associated time-stamp. </p>

<p>Definition at line <a class="el" href="_c_observation_8h_source.html#l00096">96</a> of file <a class="el" href="_c_observation_8h_source.html">CObservation.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.5</a> for MRPT 0.9.5 SVN: at Sun Sep 25 17:20:18 UTC 2011</td><td></td> <td width="100"> </td> <td width="150">  </td></tr> </table>  </body></html>