Sophie

Sophie

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

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::CRawlog 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_rawlog.html">CRawlog</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pri-types">Private Types</a> &#124;
<a href="#pri-attribs">Private Attributes</a>  </div>
  <div class="headertitle">
<div class="title">mrpt::slam::CRawlog 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::CRawlog" --><!-- doxytag: inherits="mrpt::utils::CSerializable" --><hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>This class stores a rawlog (robotic datasets) in one of two possible formats: </p>
<ul>
<li>Format #1: A sequence of actions and observations. There is a sequence of objects, where each one can be of one type:<ul>
<li>An action: Implemented as a <a class="el" href="classmrpt_1_1slam_1_1_c_action_collection.html" title="Declares a class for storing a collection of robot actions.">CActionCollection</a> object, the actuation of the robot (i.e. odometry increment).</li>
<li>Observations: Implemented as a <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>, refering to a set of robot observations from the same pose.</li>
</ul>
</li>
<li>Format #2: A sequence of actions and observations. There is a sequence of objects, where each one can be of one type:</li>
</ul>
<p>Refer to the wiki page about <a href="http://www.mrpt.org/Rawlog_Format">rawlog files</a>.</p>
<p>See also the application <a href="http://www.mrpt.org/Application:RawLogViewer">RawLogViewer</a> for the GUI program that visualizes and manages rawlogs.</p>
<p>This class also publishes a static helper method for loading rawlog files in format #1: see <a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#ab80d4c4e15e4b224be4b1359405cec53" title="Reads a consecutive pair action / observation from the rawlog opened at some input stream...">CRawlog::readActionObservationPair</a></p>
<p>There is a field for comments and blocks of parameters (in ini-like format) accessible through getCommentText and setCommentText (introduced in MRPT 0.6.4). When serialized to a rawlog file, the commens are saved as an additional observation of the type CObservationComments at the beginning of the file, but this observation does not appear after loading for clarity.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>Since MRPT version 0.5.5, this class also provides a STL container-like interface (see <a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#a32ab6db53fc9dd9f76e86b79f8da44dc">CRawlog::begin</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_rawlog_1_1iterator.html" title="A normal iterator, plus the extra method &quot;getType&quot; to determine the type of each entry in the sequenc...">CRawlog::iterator</a>, ...). </dd>
<dd>
The format #2 is supported since MRPT version 0.6.0. </dd>
<dd>
There is a static helper method "detectImagesDirectory" for localizing the external images directory of a rawlog.</dd></dl>
<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>, CPose2D, <a href="http://www.mrpt.org/Rawlog_Format">RawLog file format</a>. </dd></dl>
</div>
<p><code>#include &lt;<a class="el" href="_c_rawlog_8h_source.html">mrpt/slam/CRawlog.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for mrpt::slam::CRawlog:</div>
<div class="dyncontent">
<div class="center"><img src="classmrpt_1_1slam_1_1_c_rawlog__inherit__graph.png" border="0" usemap="#mrpt_1_1slam_1_1_c_rawlog_inherit__map" alt="Inheritance graph"/></div>
<map name="mrpt_1_1slam_1_1_c_rawlog_inherit__map" id="mrpt_1_1slam_1_1_c_rawlog_inherit__map">
<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="4,80,168,107"/><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="19,5,153,32"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classmrpt_1_1slam_1_1_c_rawlog-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Classes</h2></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_rawlog_1_1const__iterator.html">const_iterator</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A normal iterator, plus the extra method "getType" to determine the type of each entry in the sequence.  <a href="classmrpt_1_1slam_1_1_c_rawlog_1_1const__iterator.html#details">More...</a><br/></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_rawlog_1_1iterator.html">iterator</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A normal iterator, plus the extra method "getType" to determine the type of each entry in the sequence.  <a href="classmrpt_1_1slam_1_1_c_rawlog_1_1iterator.html#details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#ac961b0980350df207abe8b9703969349">TEntryType</a> { <a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#ac961b0980350df207abe8b9703969349a103dfb3deefcac98da0d758c43107337">etSensoryFrame</a> =  0, 
<a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#ac961b0980350df207abe8b9703969349a15d3d4291db51c16953f0aea4358d773">etActionCollection</a>, 
<a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#ac961b0980350df207abe8b9703969349abb6917c3d10cbe19676d848926b269e4">etObservation</a>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The type of each entry in a rawlog.  <a href="classmrpt_1_1slam_1_1_c_rawlog.html#ac961b0980350df207abe8b9703969349">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public 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_rawlog.html#a415f737232adf1c8576134c57574f8fe">getCommentText</a> (<a class="el" href="classstd_1_1string.html">std::string</a> &amp;t) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the block of comment text for the rawlog.  <a href="#a415f737232adf1c8576134c57574f8fe"></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_rawlog.html#a64a7aa8fe4e52dabe74a4d3ac8e2c113">getCommentText</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the block of comment text for the rawlog.  <a href="#a64a7aa8fe4e52dabe74a4d3ac8e2c113"></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_rawlog.html#a4a9fe7b399780bb1cc1a3b7f5d2c4eb0">setCommentText</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;t)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Changes the block of comment text for the rawlog.  <a href="#a4a9fe7b399780bb1cc1a3b7f5d2c4eb0"></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_rawlog.html#a46191591ea40eeea66cdf80baf6f6984">getCommentTextAsConfigFile</a> (<a class="el" href="classmrpt_1_1utils_1_1_c_config_file_memory.html">mrpt::utils::CConfigFileMemory</a> &amp;memCfg) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Saves the block of comment text for the rawlog into the passed config file object.  <a href="#a46191591ea40eeea66cdf80baf6f6984"></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_rawlog.html#a64225eff9cea4496a4ff3a5fef93c99c">CRawlog</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor.  <a href="#a64225eff9cea4496a4ff3a5fef93c99c"></a><br/></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_rawlog.html#a4a3acd05130395e95fd932876bc00213">~CRawlog</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor:  <a href="#a4a3acd05130395e95fd932876bc00213"></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_rawlog.html#a15ea4401cadad7ceedce246eb8a3b0d0">clear</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear the sequence of actions/observations, freeing the memory of all the objects in the list.  <a href="#a15ea4401cadad7ceedce246eb8a3b0d0"></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_rawlog.html#aca624cb26d6ba872c58e02e599cdf765">clearWithoutDelete</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear the sequence of actions/observations, without deleting the objects themselves (USE ONLY IF YOU KNOW WHAT YOU DO, NORMALLY YOU'LL CALL "clear" INSTEAD).  <a href="#aca624cb26d6ba872c58e02e599cdf765"></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_rawlog.html#a4af2f9113c4eeaa384fa1d94b8b28c79">addAction</a> (<a class="el" href="classmrpt_1_1slam_1_1_c_action.html">CAction</a> &amp;action)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an action to the sequence: a collection of just one element is created.  <a href="#a4af2f9113c4eeaa384fa1d94b8b28c79"></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_rawlog.html#aeaa2e7717e1e8fdad7ac56a3b9869a21">addActions</a> (<a class="el" href="classmrpt_1_1slam_1_1_c_action_collection.html">CActionCollection</a> &amp;action)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a set of actions to the sequence; the object is duplicated, so the original one can be free if desired.  <a href="#aeaa2e7717e1e8fdad7ac56a3b9869a21"></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_rawlog.html#a4af81bd2f5c15d798abd1fa79c08af20">addObservations</a> (<a class="el" href="classmrpt_1_1slam_1_1_c_sensory_frame.html">CSensoryFrame</a> &amp;observations)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a set of observations to the sequence; the object is duplicated, so the original one can be free if desired.  <a href="#a4af81bd2f5c15d798abd1fa79c08af20"></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_rawlog.html#a4c7dcdcfbe71995c1c36f7641ebc2056">addActionsMemoryReference</a> (const <a class="el" href="structmrpt_1_1slam_1_1_c_action_collection_ptr.html">CActionCollectionPtr</a> &amp;action)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a set of actions to the sequence, using a smart pointer to the object to add.  <a href="#a4c7dcdcfbe71995c1c36f7641ebc2056"></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_rawlog.html#a737e476ddac230b6177056b3732805fe">addObservationsMemoryReference</a> (const <a class="el" href="structmrpt_1_1slam_1_1_c_sensory_frame_ptr.html">CSensoryFramePtr</a> &amp;observations)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a set of observations to the sequence, using a smart pointer to the object to add.  <a href="#a737e476ddac230b6177056b3732805fe"></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_rawlog.html#af0619eef6227098a332242e32dd14ebc">addObservationMemoryReference</a> (const <a class="el" href="structmrpt_1_1slam_1_1_c_observation_ptr.html">CObservationPtr</a> &amp;observation)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a single observation to the sequence, using a smart pointer to the object to add.  <a href="#af0619eef6227098a332242e32dd14ebc"></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_rawlog.html#a084e994036f964f1a30d4e7ceb3fdb8b">loadFromRawLogFile</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;fileName)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Load the contents from a file containing one of these possibilities:  <a href="#a084e994036f964f1a30d4e7ceb3fdb8b"></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_rawlog.html#a12148c75acdc41871f343fd6be08e9e0">saveToRawLogFile</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;fileName) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Saves the contents to a rawlog-file, compatible with RawlogViewer (As the sequence of internal objects).  <a href="#a12148c75acdc41871f343fd6be08e9e0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#ae6befe763aeba07b804d62b24f14ff4d">size</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of actions / observations object in the sequence.  <a href="#ae6befe763aeba07b804d62b24f14ff4d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#ac961b0980350df207abe8b9703969349">TEntryType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#a4a490ee94110135c8365f6ceed3fb25e">getType</a> (size_t index) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the type of a given element.  <a href="#a4a490ee94110135c8365f6ceed3fb25e"></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_rawlog.html#a1e652545e379d7ae18d92738d4814a24">remove</a> (size_t index)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete the action or observation stored in the given index.  <a href="#a1e652545e379d7ae18d92738d4814a24"></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_rawlog.html#a9091588ca96cda7aad97af5e2b8efa7c">remove</a> (size_t first_index, size_t last_index)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete the elements stored in the given range of indices (including both the first and last one).  <a href="#a9091588ca96cda7aad97af5e2b8efa7c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1slam_1_1_c_action_collection_ptr.html">CActionCollectionPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#a21bf284a2b5a13c4e9185acf873f624a">getAsAction</a> (size_t index) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the i'th element in the sequence, as being actions, where index=0 is the first object.  <a href="#a21bf284a2b5a13c4e9185acf873f624a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1slam_1_1_c_sensory_frame_ptr.html">CSensoryFramePtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#a9df83662560d382d77f1a9d2d68be751">getAsObservations</a> (size_t index) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the i'th element in the sequence, as being an action, where index=0 is the first object.  <a href="#a9df83662560d382d77f1a9d2d68be751"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1utils_1_1_c_serializable_ptr.html">CSerializablePtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#a56deb18c87fa8cf526ee0bf7951c386b">getAsGeneric</a> (size_t index) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the i'th element in the sequence, being its class whatever.  <a href="#a56deb18c87fa8cf526ee0bf7951c386b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1slam_1_1_c_observation_ptr.html">CObservationPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#a919be9800a57df4b0daa1d465a8b050f">getAsObservation</a> (size_t index) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the i'th element in the sequence, as being an observation, where index=0 is the first object.  <a href="#a919be9800a57df4b0daa1d465a8b050f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog_1_1const__iterator.html">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#a32ab6db53fc9dd9f76e86b79f8da44dc">begin</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog_1_1iterator.html">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#ad625bb8aa3236d58d8bcbc5dc0e27fa5">begin</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog_1_1const__iterator.html">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#ac6434584f1464b3d621f7cfedd8a9153">end</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog_1_1iterator.html">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#a1167509f254f1c215af4109d5f43ec31">end</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog_1_1iterator.html">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#a199ca0884997e3f2a419c60f2fdcd6c3">erase</a> (const <a class="el" href="classmrpt_1_1slam_1_1_c_rawlog_1_1iterator.html">iterator</a> &amp;it)</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_rawlog.html#a43546bb732baca4c1984e49422afc0a6">findObservationsByClassInRange</a> (<a class="el" href="group__time__date.html#ga42674286d8d56afea013b6329bb7327a">mrpt::system::TTimeStamp</a> time_start, <a class="el" href="group__time__date.html#ga42674286d8d56afea013b6329bb7327a">mrpt::system::TTimeStamp</a> time_end, const <a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a> *class_type, <a class="el" href="namespacemrpt_1_1slam.html#a361f9c7627d8e3c9f4efebb36db4472d">TListTimeAndObservations</a> &amp;out_found, size_t guess_start_position=0) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the sub-set of observations of a given class whose time-stamp t fulfills time_start &lt;= t &lt; time_end.  <a href="#a43546bb732baca4c1984e49422afc0a6"></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_rawlog.html#a530ce6c9327cf39aefb7f08cf6f9b220">moveFrom</a> (<a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html">CRawlog</a> &amp;obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Efficiently copy the contents from other existing object, and remove the data from the origin (after calling this, the original object will have no actions/observations).  <a href="#a530ce6c9327cf39aefb7f08cf6f9b220"></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_rawlog.html#a2364b1b4ab0eca7753b97f6acf2b5d6c">swap</a> (<a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html">CRawlog</a> &amp;obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Efficiently swap the contents of two existing objects.  <a href="#a2364b1b4ab0eca7753b97f6acf2b5d6c"></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_rawlog.html#a1d605b63856fabd1f9fad437725d6ddd">getActionObservationPair</a> (<a class="el" href="structmrpt_1_1slam_1_1_c_action_collection_ptr.html">CActionCollectionPtr</a> &amp;action, <a class="el" href="structmrpt_1_1slam_1_1_c_sensory_frame_ptr.html">CSensoryFramePtr</a> &amp;observations, size_t &amp;rawlogEntry) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the next consecutive pair action / observation from the rawlog loaded into this object.  <a href="#a1d605b63856fabd1f9fad437725d6ddd"></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"><h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#ab80d4c4e15e4b224be4b1359405cec53">readActionObservationPair</a> (<a class="el" href="classmrpt_1_1utils_1_1_c_stream.html">CStream</a> &amp;inStream, <a class="el" href="structmrpt_1_1slam_1_1_c_action_collection_ptr.html">CActionCollectionPtr</a> &amp;action, <a class="el" href="structmrpt_1_1slam_1_1_c_sensory_frame_ptr.html">CSensoryFramePtr</a> &amp;observations, size_t &amp;rawlogEntry)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads a consecutive pair action / observation from the rawlog opened at some input stream.  <a href="#ab80d4c4e15e4b224be4b1359405cec53"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#aeb29c3a2e1551e553cecf93765947f96">getActionObservationPairOrObservation</a> (<a class="el" href="classmrpt_1_1utils_1_1_c_stream.html">CStream</a> &amp;inStream, <a class="el" href="structmrpt_1_1slam_1_1_c_action_collection_ptr.html">CActionCollectionPtr</a> &amp;action, <a class="el" href="structmrpt_1_1slam_1_1_c_sensory_frame_ptr.html">CSensoryFramePtr</a> &amp;observations, <a class="el" href="structmrpt_1_1slam_1_1_c_observation_ptr.html">CObservationPtr</a> &amp;observation, size_t &amp;rawlogEntry)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads a consecutive pair action/sensory_frame OR an observation, depending of the rawlog format, from the rawlog opened at some input stream.  <a href="#aeb29c3a2e1551e553cecf93765947f96"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <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_rawlog.html#a0efcc61d1b67a0fbf40d797acf77974e">detectImagesDirectory</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;rawlogFilename)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Tries to auto-detect the external-images directory of the given rawlog file.  <a href="#a0efcc61d1b67a0fbf40d797acf77974e"></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"><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_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="pri-types"></a>
Private Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classstd_1_1vector.html">std::vector</a><br class="typebreak"/>
&lt; <a class="el" href="structmrpt_1_1utils_1_1_c_serializable_ptr.html">CSerializablePtr</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#af4c587aa789523c3dbe5bdee8809669f">TListObjects</a></td></tr>
<tr><td colspan="2"><h2><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#af4c587aa789523c3dbe5bdee8809669f">TListObjects</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#a49ecb2e973fc2cfd3fadc9b97656b5cb">m_seqOfActObs</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The list where the objects really are in.  <a href="#a49ecb2e973fc2cfd3fadc9b97656b5cb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1slam_1_1_c_observation_comment.html">CObservationComment</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#a6a72693a9d151b6a9d0df33ea0cebdb9">m_commentTexts</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Comments of the rawlog.  <a href="#a6a72693a9d151b6a9d0df33ea0cebdb9"></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_1utils_1_1_c_serializable.html#a28ec2a03d277a8469b8ecfc81892afdf">classCSerializable</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_1utils_1_1_c_serializable.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::utils::CStream</a></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_rawlog_ptr.html">CRawlogPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#a1377136c345d5dc4aedc621ffb764d48">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_rawlog.html#af7a6494d35bd82db73f641e765a44acb">_init_CRawlog</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_rawlog.html#af66495410e92bed50b0767a185ece745">classCRawlog</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_rawlog.html#a1fa27efeeaa118cd0af7106292c390fd">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_rawlog.html#ad843cf810109bd533125550d56d2b483">_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_rawlog.html#abc59bf7763e4d10ef4e8af2657a8f472">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="#abc59bf7763e4d10ef4e8af2657a8f472"></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_rawlog.html#a73cf5cd5a1118c882a75f7b489b4c260">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="#a73cf5cd5a1118c882a75f7b489b4c260"></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_rawlog.html#af610de83e7242dfcef92a2270fb44da0">CreateObject</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1slam_1_1_c_rawlog_ptr.html">CRawlogPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#a21ff49d8c7170a542f27f5a8ee5bc57a">Create</a> ()</td></tr>
</table>
<hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="a1377136c345d5dc4aedc621ffb764d48"></a><!-- doxytag: member="mrpt::slam::CRawlog::SmartPtr" ref="a1377136c345d5dc4aedc621ffb764d48" 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_rawlog_ptr.html">CRawlogPtr</a> <a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#a1377136c345d5dc4aedc621ffb764d48">mrpt::slam::CRawlog::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_rawlog_8h_source.html#l00076">76</a> of file <a class="el" href="_c_rawlog_8h_source.html">CRawlog.h</a>.</p>

</div>
</div>
<a class="anchor" id="af4c587aa789523c3dbe5bdee8809669f"></a><!-- doxytag: member="mrpt::slam::CRawlog::TListObjects" ref="af4c587aa789523c3dbe5bdee8809669f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt;<a class="el" href="structmrpt_1_1utils_1_1_c_serializable_ptr.html">CSerializablePtr</a>&gt; <a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#af4c587aa789523c3dbe5bdee8809669f">mrpt::slam::CRawlog::TListObjects</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_rawlog_8h_source.html#l00079">79</a> of file <a class="el" href="_c_rawlog_8h_source.html">CRawlog.h</a>.</p>

</div>
</div>
<hr/><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="ac961b0980350df207abe8b9703969349"></a><!-- doxytag: member="mrpt::slam::CRawlog::TEntryType" ref="ac961b0980350df207abe8b9703969349" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#ac961b0980350df207abe8b9703969349">mrpt::slam::CRawlog::TEntryType</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The type of each entry in a rawlog. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#a4a490ee94110135c8365f6ceed3fb25e" title="Returns the type of a given element.">CRawlog::getType</a> </dd></dl>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="ac961b0980350df207abe8b9703969349a103dfb3deefcac98da0d758c43107337"></a><!-- doxytag: member="etSensoryFrame" ref="ac961b0980350df207abe8b9703969349a103dfb3deefcac98da0d758c43107337" args="" -->etSensoryFrame</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ac961b0980350df207abe8b9703969349a15d3d4291db51c16953f0aea4358d773"></a><!-- doxytag: member="etActionCollection" ref="ac961b0980350df207abe8b9703969349a15d3d4291db51c16953f0aea4358d773" args="" -->etActionCollection</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ac961b0980350df207abe8b9703969349abb6917c3d10cbe19676d848926b269e4"></a><!-- doxytag: member="etObservation" ref="ac961b0980350df207abe8b9703969349abb6917c3d10cbe19676d848926b269e4" args="" -->etObservation</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="_c_rawlog_8h_source.html#l00093">93</a> of file <a class="el" href="_c_rawlog_8h_source.html">CRawlog.h</a>.</p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a64225eff9cea4496a4ff3a5fef93c99c"></a><!-- doxytag: member="mrpt::slam::CRawlog::CRawlog" ref="a64225eff9cea4496a4ff3a5fef93c99c" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">mrpt::slam::CRawlog::CRawlog </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Default constructor. </p>

</div>
</div>
<a class="anchor" id="a4a3acd05130395e95fd932876bc00213"></a><!-- doxytag: member="mrpt::slam::CRawlog::~CRawlog" ref="a4a3acd05130395e95fd932876bc00213" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual mrpt::slam::CRawlog::~CRawlog </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Destructor: </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ad843cf810109bd533125550d56d2b483"></a><!-- doxytag: member="mrpt::slam::CRawlog::_GetBaseClass" ref="ad843cf810109bd533125550d56d2b483" 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::CRawlog::_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>

</div>
</div>
<a class="anchor" id="a4af2f9113c4eeaa384fa1d94b8b28c79"></a><!-- doxytag: member="mrpt::slam::CRawlog::addAction" ref="a4af2f9113c4eeaa384fa1d94b8b28c79" args="(CAction &amp;action)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CRawlog::addAction </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1slam_1_1_c_action.html">CAction</a> &amp;&#160;</td>
          <td class="paramname"><em>action</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add an action to the sequence: a collection of just one element is created. </p>
<p>The object is duplicated, so the original one can be free if desired. </p>

</div>
</div>
<a class="anchor" id="aeaa2e7717e1e8fdad7ac56a3b9869a21"></a><!-- doxytag: member="mrpt::slam::CRawlog::addActions" ref="aeaa2e7717e1e8fdad7ac56a3b9869a21" args="(CActionCollection &amp;action)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CRawlog::addActions </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1slam_1_1_c_action_collection.html">CActionCollection</a> &amp;&#160;</td>
          <td class="paramname"><em>action</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add a set of actions to the sequence; the object is duplicated, so the original one can be free if desired. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#a4af81bd2f5c15d798abd1fa79c08af20" title="Add a set of observations to the sequence; the object is duplicated, so the original one can be free ...">addObservations</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#a4c7dcdcfbe71995c1c36f7641ebc2056" title="Add a set of actions to the sequence, using a smart pointer to the object to add.">addActionsMemoryReference</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a4c7dcdcfbe71995c1c36f7641ebc2056"></a><!-- doxytag: member="mrpt::slam::CRawlog::addActionsMemoryReference" ref="a4c7dcdcfbe71995c1c36f7641ebc2056" args="(const CActionCollectionPtr &amp;action)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CRawlog::addActionsMemoryReference </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1slam_1_1_c_action_collection_ptr.html">CActionCollectionPtr</a> &amp;&#160;</td>
          <td class="paramname"><em>action</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add a set of actions to the sequence, using a smart pointer to the object to add. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#aeaa2e7717e1e8fdad7ac56a3b9869a21" title="Add a set of actions to the sequence; the object is duplicated, so the original one can be free if de...">addActions</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#a737e476ddac230b6177056b3732805fe" title="Add a set of observations to the sequence, using a smart pointer to the object to add...">addObservationsMemoryReference</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#af0619eef6227098a332242e32dd14ebc" title="Add a single observation to the sequence, using a smart pointer to the object to add.">addObservationMemoryReference</a> </dd></dl>

</div>
</div>
<a class="anchor" id="af0619eef6227098a332242e32dd14ebc"></a><!-- doxytag: member="mrpt::slam::CRawlog::addObservationMemoryReference" ref="af0619eef6227098a332242e32dd14ebc" args="(const CObservationPtr &amp;observation)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CRawlog::addObservationMemoryReference </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1slam_1_1_c_observation_ptr.html">CObservationPtr</a> &amp;&#160;</td>
          <td class="paramname"><em>observation</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add a single observation to the sequence, using a smart pointer to the object to add. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#a4af81bd2f5c15d798abd1fa79c08af20" title="Add a set of observations to the sequence; the object is duplicated, so the original one can be free ...">addObservations</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#a4c7dcdcfbe71995c1c36f7641ebc2056" title="Add a set of actions to the sequence, using a smart pointer to the object to add.">addActionsMemoryReference</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a4af81bd2f5c15d798abd1fa79c08af20"></a><!-- doxytag: member="mrpt::slam::CRawlog::addObservations" ref="a4af81bd2f5c15d798abd1fa79c08af20" args="(CSensoryFrame &amp;observations)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CRawlog::addObservations </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1slam_1_1_c_sensory_frame.html">CSensoryFrame</a> &amp;&#160;</td>
          <td class="paramname"><em>observations</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add a set of observations to the sequence; the object is duplicated, so the original one can be free if desired. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#aeaa2e7717e1e8fdad7ac56a3b9869a21" title="Add a set of actions to the sequence; the object is duplicated, so the original one can be free if de...">addActions</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#a737e476ddac230b6177056b3732805fe" title="Add a set of observations to the sequence, using a smart pointer to the object to add...">addObservationsMemoryReference</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a737e476ddac230b6177056b3732805fe"></a><!-- doxytag: member="mrpt::slam::CRawlog::addObservationsMemoryReference" ref="a737e476ddac230b6177056b3732805fe" args="(const CSensoryFramePtr &amp;observations)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CRawlog::addObservationsMemoryReference </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1slam_1_1_c_sensory_frame_ptr.html">CSensoryFramePtr</a> &amp;&#160;</td>
          <td class="paramname"><em>observations</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add a set of observations to the sequence, using a smart pointer to the object to add. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#a4af81bd2f5c15d798abd1fa79c08af20" title="Add a set of observations to the sequence; the object is duplicated, so the original one can be free ...">addObservations</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#a4c7dcdcfbe71995c1c36f7641ebc2056" title="Add a set of actions to the sequence, using a smart pointer to the object to add.">addActionsMemoryReference</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#af0619eef6227098a332242e32dd14ebc" title="Add a single observation to the sequence, using a smart pointer to the object to add.">addObservationMemoryReference</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a32ab6db53fc9dd9f76e86b79f8da44dc"></a><!-- doxytag: member="mrpt::slam::CRawlog::begin" ref="a32ab6db53fc9dd9f76e86b79f8da44dc" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog_1_1const__iterator.html">const_iterator</a> mrpt::slam::CRawlog::begin </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_rawlog_8h_source.html#l00273">273</a> of file <a class="el" href="_c_rawlog_8h_source.html">CRawlog.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad625bb8aa3236d58d8bcbc5dc0e27fa5"></a><!-- doxytag: member="mrpt::slam::CRawlog::begin" ref="ad625bb8aa3236d58d8bcbc5dc0e27fa5" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog_1_1iterator.html">iterator</a> mrpt::slam::CRawlog::begin </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_rawlog_8h_source.html#l00274">274</a> of file <a class="el" href="_c_rawlog_8h_source.html">CRawlog.h</a>.</p>

</div>
</div>
<a class="anchor" id="a15ea4401cadad7ceedce246eb8a3b0d0"></a><!-- doxytag: member="mrpt::slam::CRawlog::clear" ref="a15ea4401cadad7ceedce246eb8a3b0d0" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CRawlog::clear </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Clear the sequence of actions/observations, freeing the memory of all the objects in the list. </p>

</div>
</div>
<a class="anchor" id="aca624cb26d6ba872c58e02e599cdf765"></a><!-- doxytag: member="mrpt::slam::CRawlog::clearWithoutDelete" ref="aca624cb26d6ba872c58e02e599cdf765" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CRawlog::clearWithoutDelete </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Clear the sequence of actions/observations, without deleting the objects themselves (USE ONLY IF YOU KNOW WHAT YOU DO, NORMALLY YOU'LL CALL "clear" INSTEAD). </p>

</div>
</div>
<a class="anchor" id="a9ef7857a0b36059c078e195a0a65ac00"></a><!-- doxytag: member="mrpt::slam::CRawlog::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="a21ff49d8c7170a542f27f5a8ee5bc57a"></a><!-- doxytag: member="mrpt::slam::CRawlog::Create" ref="a21ff49d8c7170a542f27f5a8ee5bc57a" 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_rawlog_ptr.html">CRawlogPtr</a> mrpt::slam::CRawlog::Create </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="af610de83e7242dfcef92a2270fb44da0"></a><!-- doxytag: member="mrpt::slam::CRawlog::CreateObject" ref="af610de83e7242dfcef92a2270fb44da0" 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::CRawlog::CreateObject </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a0efcc61d1b67a0fbf40d797acf77974e"></a><!-- doxytag: member="mrpt::slam::CRawlog::detectImagesDirectory" ref="a0efcc61d1b67a0fbf40d797acf77974e" args="(const std::string &amp;rawlogFilename)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classstd_1_1string.html">std::string</a> mrpt::slam::CRawlog::detectImagesDirectory </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>rawlogFilename</em></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Tries to auto-detect the external-images directory of the given rawlog file. </p>
<p>This searches for the existence of the directories:</p>
<ul>
<li>"&lt;rawlog_file_path&gt;/&lt;rawlog_filename&gt;_Images"</li>
<li>"&lt;rawlog_file_path&gt;/&lt;rawlog_filename&gt;_images"</li>
<li>"&lt;rawlog_file_path&gt;/&lt;rawlog_filename&gt;_IMAGES"</li>
<li>"&lt;rawlog_file_path&gt;/Images" (This one is returned if none of the choices actually exists).</li>
</ul>
<p>The results from this function should be written into <a class="el" href="classmrpt_1_1utils_1_1_c_image.html#a792b99c4b209b5516febb67ad1ae3b34" title="By default, &quot;.&quot;.">mrpt::utils::CImage::IMAGES_PATH_BASE</a> to enable automatic loading of extenrnally-stored images in rawlogs. </p>

</div>
</div>
<a class="anchor" id="a73cf5cd5a1118c882a75f7b489b4c260"></a><!-- doxytag: member="mrpt::slam::CRawlog::duplicate" ref="a73cf5cd5a1118c882a75f7b489b4c260" 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::CRawlog::duplicate </td>
          <td>(</td>
          <td class="paramname"></td><td>)</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="a534695890364f4b916bba07dad311bcf"></a><!-- doxytag: member="mrpt::slam::CRawlog::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="ac6434584f1464b3d621f7cfedd8a9153"></a><!-- doxytag: member="mrpt::slam::CRawlog::end" ref="ac6434584f1464b3d621f7cfedd8a9153" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog_1_1const__iterator.html">const_iterator</a> mrpt::slam::CRawlog::end </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_rawlog_8h_source.html#l00275">275</a> of file <a class="el" href="_c_rawlog_8h_source.html">CRawlog.h</a>.</p>

</div>
</div>
<a class="anchor" id="a1167509f254f1c215af4109d5f43ec31"></a><!-- doxytag: member="mrpt::slam::CRawlog::end" ref="a1167509f254f1c215af4109d5f43ec31" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog_1_1iterator.html">iterator</a> mrpt::slam::CRawlog::end </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_rawlog_8h_source.html#l00276">276</a> of file <a class="el" href="_c_rawlog_8h_source.html">CRawlog.h</a>.</p>

</div>
</div>
<a class="anchor" id="a199ca0884997e3f2a419c60f2fdcd6c3"></a><!-- doxytag: member="mrpt::slam::CRawlog::erase" ref="a199ca0884997e3f2a419c60f2fdcd6c3" args="(const iterator &amp;it)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog_1_1iterator.html">iterator</a> mrpt::slam::CRawlog::erase </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1slam_1_1_c_rawlog_1_1iterator.html">iterator</a> &amp;&#160;</td>
          <td class="paramname"><em>it</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_rawlog_8h_source.html#l00278">278</a> of file <a class="el" href="_c_rawlog_8h_source.html">CRawlog.h</a>.</p>

</div>
</div>
<a class="anchor" id="a43546bb732baca4c1984e49422afc0a6"></a><!-- doxytag: member="mrpt::slam::CRawlog::findObservationsByClassInRange" ref="a43546bb732baca4c1984e49422afc0a6" args="(mrpt::system::TTimeStamp time_start, mrpt::system::TTimeStamp time_end, const mrpt::utils::TRuntimeClassId *class_type, TListTimeAndObservations &amp;out_found, size_t guess_start_position=0) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CRawlog::findObservationsByClassInRange </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__time__date.html#ga42674286d8d56afea013b6329bb7327a">mrpt::system::TTimeStamp</a>&#160;</td>
          <td class="paramname"><em>time_start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__time__date.html#ga42674286d8d56afea013b6329bb7327a">mrpt::system::TTimeStamp</a>&#160;</td>
          <td class="paramname"><em>time_end</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a> *&#160;</td>
          <td class="paramname"><em>class_type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacemrpt_1_1slam.html#a361f9c7627d8e3c9f4efebb36db4472d">TListTimeAndObservations</a> &amp;&#160;</td>
          <td class="paramname"><em>out_found</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>guess_start_position</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the sub-set of observations of a given class whose time-stamp t fulfills time_start &lt;= t &lt; time_end. </p>
<p>This method requires the timestamps of the sensors to be in strict ascending order (which should be the normal situation). Otherwise, the output is undeterminate. </p>
<dl class="see"><dt><b>See also:</b></dt><dd>findClosestObservationsByClass </dd></dl>

</div>
</div>
<a class="anchor" id="a1d605b63856fabd1f9fad437725d6ddd"></a><!-- doxytag: member="mrpt::slam::CRawlog::getActionObservationPair" ref="a1d605b63856fabd1f9fad437725d6ddd" args="(CActionCollectionPtr &amp;action, CSensoryFramePtr &amp;observations, size_t &amp;rawlogEntry) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::slam::CRawlog::getActionObservationPair </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmrpt_1_1slam_1_1_c_action_collection_ptr.html">CActionCollectionPtr</a> &amp;&#160;</td>
          <td class="paramname"><em>action</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmrpt_1_1slam_1_1_c_sensory_frame_ptr.html">CSensoryFramePtr</a> &amp;&#160;</td>
          <td class="paramname"><em>observations</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t &amp;&#160;</td>
          <td class="paramname"><em>rawlogEntry</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the next consecutive pair action / observation from the rawlog loaded into this object. </p>
<p>Previous contents of action and observations are discarded (using <a class="el" href="classstlplus_1_1smart__ptr__base.html#a586945ba6008c8e3dbe24deb8bcb1344">stlplus::smart_ptr::clear_unique</a>), and at exit they contain the new objects read from the rawlog file. The input/output variable "rawlogEntry" is just a counter of the last rawlog entry read, for logging or monitoring purposes. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>false if there was some error, true otherwise. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#ab80d4c4e15e4b224be4b1359405cec53" title="Reads a consecutive pair action / observation from the rawlog opened at some input stream...">readActionObservationPair</a> </dd></dl>

</div>
</div>
<a class="anchor" id="aeb29c3a2e1551e553cecf93765947f96"></a><!-- doxytag: member="mrpt::slam::CRawlog::getActionObservationPairOrObservation" ref="aeb29c3a2e1551e553cecf93765947f96" args="(CStream &amp;inStream, CActionCollectionPtr &amp;action, CSensoryFramePtr &amp;observations, CObservationPtr &amp;observation, size_t &amp;rawlogEntry)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static bool mrpt::slam::CRawlog::getActionObservationPairOrObservation </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1utils_1_1_c_stream.html">CStream</a> &amp;&#160;</td>
          <td class="paramname"><em>inStream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmrpt_1_1slam_1_1_c_action_collection_ptr.html">CActionCollectionPtr</a> &amp;&#160;</td>
          <td class="paramname"><em>action</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmrpt_1_1slam_1_1_c_sensory_frame_ptr.html">CSensoryFramePtr</a> &amp;&#160;</td>
          <td class="paramname"><em>observations</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmrpt_1_1slam_1_1_c_observation_ptr.html">CObservationPtr</a> &amp;&#160;</td>
          <td class="paramname"><em>observation</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t &amp;&#160;</td>
          <td class="paramname"><em>rawlogEntry</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reads a consecutive pair action/sensory_frame OR an observation, depending of the rawlog format, from the rawlog opened at some input stream. </p>
<p>Previous contents of action and observations are discarded (using <a class="el" href="classstlplus_1_1smart__ptr__base.html#a586945ba6008c8e3dbe24deb8bcb1344">stlplus::smart_ptr::clear_unique</a>), and at exit they contain the new objects read from the rawlog file.</p>
<p>At return, one of this will happen:</p>
<ul>
<li>action/observations contain objects (i.e. action.present() evaluates as true).</li>
<li>observation contains an object (i.e. observation.present() evaluates as true).</li>
</ul>
<p>The input/output variable "rawlogEntry" is just a counter of the last rawlog entry read, for logging or monitoring purposes. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>false if there was some error, true otherwise. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#a1d605b63856fabd1f9fad437725d6ddd" title="Gets the next consecutive pair action / observation from the rawlog loaded into this object...">getActionObservationPair</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a21bf284a2b5a13c4e9185acf873f624a"></a><!-- doxytag: member="mrpt::slam::CRawlog::getAsAction" ref="a21bf284a2b5a13c4e9185acf873f624a" args="(size_t index) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1slam_1_1_c_action_collection_ptr.html">CActionCollectionPtr</a> mrpt::slam::CRawlog::getAsAction </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the i'th element in the sequence, as being actions, where index=0 is the first object. </p>
<p>If it is not a <a class="el" href="classmrpt_1_1slam_1_1_c_action_collection.html" title="Declares a class for storing a collection of robot actions.">CActionCollection</a>, it throws an exception. Do neighter modify nor delete the returned pointer. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#ae6befe763aeba07b804d62b24f14ff4d" title="Returns the number of actions / observations object in the sequence.">size</a>, isAction, <a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#a9df83662560d382d77f1a9d2d68be751" title="Returns the i&#39;th element in the sequence, as being an action, where index=0 is the first object...">getAsObservations</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#a919be9800a57df4b0daa1d465a8b050f" title="Returns the i&#39;th element in the sequence, as being an observation, where index=0 is the first object...">getAsObservation</a> </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>If index is out of bounds </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a56deb18c87fa8cf526ee0bf7951c386b"></a><!-- doxytag: member="mrpt::slam::CRawlog::getAsGeneric" ref="a56deb18c87fa8cf526ee0bf7951c386b" args="(size_t index) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1utils_1_1_c_serializable_ptr.html">CSerializablePtr</a> mrpt::slam::CRawlog::getAsGeneric </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the i'th element in the sequence, being its class whatever. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#ae6befe763aeba07b804d62b24f14ff4d" title="Returns the number of actions / observations object in the sequence.">size</a>, isAction, <a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#a21bf284a2b5a13c4e9185acf873f624a" title="Returns the i&#39;th element in the sequence, as being actions, where index=0 is the first object...">getAsAction</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#a9df83662560d382d77f1a9d2d68be751" title="Returns the i&#39;th element in the sequence, as being an action, where index=0 is the first object...">getAsObservations</a> </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>If index is out of bounds </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a919be9800a57df4b0daa1d465a8b050f"></a><!-- doxytag: member="mrpt::slam::CRawlog::getAsObservation" ref="a919be9800a57df4b0daa1d465a8b050f" args="(size_t index) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1slam_1_1_c_observation_ptr.html">CObservationPtr</a> mrpt::slam::CRawlog::getAsObservation </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the i'th element in the sequence, as being an observation, where index=0 is the first object. </p>
<p>If it is not an <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 throws an exception. Do neighter modify nor delete the returned pointer. This is the proper method to obtain the objects stored in a "only observations"-rawlog file (named "format #2" above. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#ae6befe763aeba07b804d62b24f14ff4d" title="Returns the number of actions / observations object in the sequence.">size</a>, isAction, <a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#a21bf284a2b5a13c4e9185acf873f624a" title="Returns the i&#39;th element in the sequence, as being actions, where index=0 is the first object...">getAsAction</a> </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>If index is out of bounds </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a9df83662560d382d77f1a9d2d68be751"></a><!-- doxytag: member="mrpt::slam::CRawlog::getAsObservations" ref="a9df83662560d382d77f1a9d2d68be751" args="(size_t index) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1slam_1_1_c_sensory_frame_ptr.html">CSensoryFramePtr</a> mrpt::slam::CRawlog::getAsObservations </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the i'th element in the sequence, as being an action, where index=0 is the first object. </p>
<p>If it is not an <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>, it throws an exception. Do neighter modify nor delete the returned pointer. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#ae6befe763aeba07b804d62b24f14ff4d" title="Returns the number of actions / observations object in the sequence.">size</a>, isAction, <a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#a21bf284a2b5a13c4e9185acf873f624a" title="Returns the i&#39;th element in the sequence, as being actions, where index=0 is the first object...">getAsAction</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#a919be9800a57df4b0daa1d465a8b050f" title="Returns the i&#39;th element in the sequence, as being an observation, where index=0 is the first object...">getAsObservation</a> </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>If index is out of bounds </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a415f737232adf1c8576134c57574f8fe"></a><!-- doxytag: member="mrpt::slam::CRawlog::getCommentText" ref="a415f737232adf1c8576134c57574f8fe" args="(std::string &amp;t) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CRawlog::getCommentText </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>t</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the block of comment text for the rawlog. </p>

</div>
</div>
<a class="anchor" id="a64a7aa8fe4e52dabe74a4d3ac8e2c113"></a><!-- doxytag: member="mrpt::slam::CRawlog::getCommentText" ref="a64a7aa8fe4e52dabe74a4d3ac8e2c113" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1string.html">std::string</a> mrpt::slam::CRawlog::getCommentText </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the block of comment text for the rawlog. </p>

</div>
</div>
<a class="anchor" id="a46191591ea40eeea66cdf80baf6f6984"></a><!-- doxytag: member="mrpt::slam::CRawlog::getCommentTextAsConfigFile" ref="a46191591ea40eeea66cdf80baf6f6984" args="(mrpt::utils::CConfigFileMemory &amp;memCfg) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CRawlog::getCommentTextAsConfigFile </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file_memory.html">mrpt::utils::CConfigFileMemory</a> &amp;&#160;</td>
          <td class="paramname"><em>memCfg</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Saves the block of comment text for the rawlog into the passed config file object. </p>

</div>
</div>
<a class="anchor" id="abc59bf7763e4d10ef4e8af2657a8f472"></a><!-- doxytag: member="mrpt::slam::CRawlog::GetRuntimeClass" ref="abc59bf7763e4d10ef4e8af2657a8f472" 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::CRawlog::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>

</div>
</div>
<a class="anchor" id="a4a490ee94110135c8365f6ceed3fb25e"></a><!-- doxytag: member="mrpt::slam::CRawlog::getType" ref="a4a490ee94110135c8365f6ceed3fb25e" args="(size_t index) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#ac961b0980350df207abe8b9703969349">TEntryType</a> mrpt::slam::CRawlog::getType </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the type of a given element. </p>
<dl class="see"><dt><b>See also:</b></dt><dd>isAction, isObservation </dd></dl>

</div>
</div>
<a class="anchor" id="a084e994036f964f1a30d4e7ceb3fdb8b"></a><!-- doxytag: member="mrpt::slam::CRawlog::loadFromRawLogFile" ref="a084e994036f964f1a30d4e7ceb3fdb8b" args="(const std::string &amp;fileName)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::slam::CRawlog::loadFromRawLogFile </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>fileName</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Load the contents from a file containing one of these possibilities: </p>
<ul>
<li>A "CRawlog" object.</li>
<li>Directly the sequence of objects (pairs CSensoryFrame/CActionCollection or CObservation* objects). In this case the method stops reading on EOF of an unrecogniced class name. <dl class="return"><dt><b>Returns:</b></dt><dd>It returns false if the file does not exists. </dd></dl>
</li>
</ul>

</div>
</div>
<a class="anchor" id="a530ce6c9327cf39aefb7f08cf6f9b220"></a><!-- doxytag: member="mrpt::slam::CRawlog::moveFrom" ref="a530ce6c9327cf39aefb7f08cf6f9b220" args="(CRawlog &amp;obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CRawlog::moveFrom </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html">CRawlog</a> &amp;&#160;</td>
          <td class="paramname"><em>obj</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Efficiently copy the contents from other existing object, and remove the data from the origin (after calling this, the original object will have no actions/observations). </p>

</div>
</div>
<a class="anchor" id="ab80d4c4e15e4b224be4b1359405cec53"></a><!-- doxytag: member="mrpt::slam::CRawlog::readActionObservationPair" ref="ab80d4c4e15e4b224be4b1359405cec53" args="(CStream &amp;inStream, CActionCollectionPtr &amp;action, CSensoryFramePtr &amp;observations, size_t &amp;rawlogEntry)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static bool mrpt::slam::CRawlog::readActionObservationPair </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1utils_1_1_c_stream.html">CStream</a> &amp;&#160;</td>
          <td class="paramname"><em>inStream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmrpt_1_1slam_1_1_c_action_collection_ptr.html">CActionCollectionPtr</a> &amp;&#160;</td>
          <td class="paramname"><em>action</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmrpt_1_1slam_1_1_c_sensory_frame_ptr.html">CSensoryFramePtr</a> &amp;&#160;</td>
          <td class="paramname"><em>observations</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t &amp;&#160;</td>
          <td class="paramname"><em>rawlogEntry</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reads a consecutive pair action / observation from the rawlog opened at some input stream. </p>
<p>Previous contents of action and observations are discarded (using <a class="el" href="classstlplus_1_1smart__ptr__base.html#a586945ba6008c8e3dbe24deb8bcb1344">stlplus::smart_ptr::clear_unique</a>), and at exit they contain the new objects read from the rawlog file. The input/output variable "rawlogEntry" is just a counter of the last rawlog entry read, for logging or monitoring purposes. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>false if there was some error, true otherwise. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#a1d605b63856fabd1f9fad437725d6ddd" title="Gets the next consecutive pair action / observation from the rawlog loaded into this object...">getActionObservationPair</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#aeb29c3a2e1551e553cecf93765947f96" title="Reads a consecutive pair action/sensory_frame OR an observation, depending of the rawlog format...">getActionObservationPairOrObservation</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a73ba83035a64939cdc3aa1c0dfed23ec"></a><!-- doxytag: member="mrpt::slam::CRawlog::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="a1e652545e379d7ae18d92738d4814a24"></a><!-- doxytag: member="mrpt::slam::CRawlog::remove" ref="a1e652545e379d7ae18d92738d4814a24" args="(size_t index)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CRawlog::remove </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Delete the action or observation stored in the given index. </p>
<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>If index is out of bounds </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a9091588ca96cda7aad97af5e2b8efa7c"></a><!-- doxytag: member="mrpt::slam::CRawlog::remove" ref="a9091588ca96cda7aad97af5e2b8efa7c" args="(size_t first_index, size_t last_index)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CRawlog::remove </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>first_index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>last_index</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Delete the elements stored in the given range of indices (including both the first and last one). </p>
<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>If any index is out of bounds </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a12148c75acdc41871f343fd6be08e9e0"></a><!-- doxytag: member="mrpt::slam::CRawlog::saveToRawLogFile" ref="a12148c75acdc41871f343fd6be08e9e0" args="(const std::string &amp;fileName) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::slam::CRawlog::saveToRawLogFile </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>fileName</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Saves the contents to a rawlog-file, compatible with RawlogViewer (As the sequence of internal objects). </p>
<p>The file is saved with gz-commpressed if MRPT has gz-streams. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>It returns false if any error is found while writing/creating the target file. </dd></dl>

</div>
</div>
<a class="anchor" id="a4a9fe7b399780bb1cc1a3b7f5d2c4eb0"></a><!-- doxytag: member="mrpt::slam::CRawlog::setCommentText" ref="a4a9fe7b399780bb1cc1a3b7f5d2c4eb0" args="(const std::string &amp;t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CRawlog::setCommentText </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>t</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Changes the block of comment text for the rawlog. </p>

</div>
</div>
<a class="anchor" id="ae6befe763aeba07b804d62b24f14ff4d"></a><!-- doxytag: member="mrpt::slam::CRawlog::size" ref="ae6befe763aeba07b804d62b24f14ff4d" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t mrpt::slam::CRawlog::size </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the number of actions / observations object in the sequence. </p>

</div>
</div>
<a class="anchor" id="a2364b1b4ab0eca7753b97f6acf2b5d6c"></a><!-- doxytag: member="mrpt::slam::CRawlog::swap" ref="a2364b1b4ab0eca7753b97f6acf2b5d6c" args="(CRawlog &amp;obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CRawlog::swap </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html">CRawlog</a> &amp;&#160;</td>
          <td class="paramname"><em>obj</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Efficiently swap the contents of two existing objects. </p>

</div>
</div>
<a class="anchor" id="a0b6b801e67bca3d8e0d355e7035f8013"></a><!-- doxytag: member="mrpt::slam::CRawlog::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::CRawlog::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, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reimplemented in <a class="el" href="classmrpt_1_1slam_1_1_c_random_field_grid_map2_d.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::slam::CRandomFieldGridMap2D</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_points_map.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::slam::CPointsMap</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::slam::CObservation</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_metric_map.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::slam::CMetricMap</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::opengl::CRenderizable</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::poses::CPose3DQuatPDF</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_point_p_d_f.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::poses::CPointPDF</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_p_d_f.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::poses::CPose3DPDF</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_pose_p_d_f.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::poses::CPosePDF</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_point2_d_p_d_f.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::poses::CPoint2DPDF</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable_display_list.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::opengl::CRenderizableDisplayList</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_action.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::slam::CAction</a>, <a class="el" href="classmrpt_1_1detectors_1_1_c_detectable_object.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::detectors::CDetectableObject</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_textured_object.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::opengl::CTexturedObject</a>, and <a class="el" href="classmrpt_1_1reactivenav_1_1_c_holonomic_log_file_record.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::reactivenav::CHolonomicLogFileRecord</a>.</p>

<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>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="af7a6494d35bd82db73f641e765a44acb"></a><!-- doxytag: member="mrpt::slam::CRawlog::_init_CRawlog" ref="af7a6494d35bd82db73f641e765a44acb" 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_rawlog.html#af7a6494d35bd82db73f641e765a44acb">mrpt::slam::CRawlog::_init_CRawlog</a><code> [static, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_rawlog_8h_source.html#l00076">76</a> of file <a class="el" href="_c_rawlog_8h_source.html">CRawlog.h</a>.</p>

</div>
</div>
<a class="anchor" id="acb51e4dd811d62c2696aee449d0a4715"></a><!-- doxytag: member="mrpt::slam::CRawlog::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="af66495410e92bed50b0767a185ece745"></a><!-- doxytag: member="mrpt::slam::CRawlog::classCRawlog" ref="af66495410e92bed50b0767a185ece745" 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_rawlog.html#af66495410e92bed50b0767a185ece745">mrpt::slam::CRawlog::classCRawlog</a><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_rawlog_8h_source.html#l00076">76</a> of file <a class="el" href="_c_rawlog_8h_source.html">CRawlog.h</a>.</p>

</div>
</div>
<a class="anchor" id="a28ec2a03d277a8469b8ecfc81892afdf"></a><!-- doxytag: member="mrpt::slam::CRawlog::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="a1fa27efeeaa118cd0af7106292c390fd"></a><!-- doxytag: member="mrpt::slam::CRawlog::classinfo" ref="a1fa27efeeaa118cd0af7106292c390fd" 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_rawlog.html#a1fa27efeeaa118cd0af7106292c390fd">mrpt::slam::CRawlog::classinfo</a><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_rawlog_8h_source.html#l00076">76</a> of file <a class="el" href="_c_rawlog_8h_source.html">CRawlog.h</a>.</p>

</div>
</div>
<a class="anchor" id="a6a72693a9d151b6a9d0df33ea0cebdb9"></a><!-- doxytag: member="mrpt::slam::CRawlog::m_commentTexts" ref="a6a72693a9d151b6a9d0df33ea0cebdb9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1slam_1_1_c_observation_comment.html">CObservationComment</a> <a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#a6a72693a9d151b6a9d0df33ea0cebdb9">mrpt::slam::CRawlog::m_commentTexts</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Comments of the rawlog. </p>

<p>Definition at line <a class="el" href="_c_rawlog_8h_source.html#l00082">82</a> of file <a class="el" href="_c_rawlog_8h_source.html">CRawlog.h</a>.</p>

</div>
</div>
<a class="anchor" id="a49ecb2e973fc2cfd3fadc9b97656b5cb"></a><!-- doxytag: member="mrpt::slam::CRawlog::m_seqOfActObs" ref="a49ecb2e973fc2cfd3fadc9b97656b5cb" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#af4c587aa789523c3dbe5bdee8809669f">TListObjects</a> <a class="el" href="classmrpt_1_1slam_1_1_c_rawlog.html#a49ecb2e973fc2cfd3fadc9b97656b5cb">mrpt::slam::CRawlog::m_seqOfActObs</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The list where the objects really are in. </p>

<p>Definition at line <a class="el" href="_c_rawlog_8h_source.html#l00080">80</a> of file <a class="el" href="_c_rawlog_8h_source.html">CRawlog.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>