#include <mrpt/slam/CRawlog.h>
Classes | |
class | const_iterator |
A normal iterator, plus the extra methods "isAction", "isObservation" to determine the type of each entry in the sequence. More... | |
class | iterator |
A normal iterator, plus the extra methods "isAction", "isObservation" to determine the type of each entry in the sequence. More... | |
Public Types | |
enum | TEntryType { etSensoryFrame = 0, etActionCollection, etObservation } |
The type of each entry in a rawlog. More... | |
Public Member Functions | |
void | getCommentText (std::string &t) const |
Returns the block of comment text for the rawlog. | |
std::string | getCommentText () const |
Returns the block of comment text for the rawlog. | |
void | setCommentText (const std::string &t) |
Changes the block of comment text for the rawlog. | |
void | getCommentTextAsConfigFile (mrpt::utils::CConfigFileMemory &memCfg) const |
Saves the block of comment text for the rawlog into the passed config file object. | |
CRawlog () | |
Default constructor:. | |
virtual | ~CRawlog () |
Copy operator:. | |
void | clear () |
Clear the sequence of actions/observations, freeing the memory of all the objects in the list. | |
void | clearWithoutDelete () |
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). | |
void | addAction (CAction &action) |
Add an action to the sequence: a collection of just one element is created. | |
void | addActions (CActionCollection &action) |
Add a set of actions to the sequence; the object is duplicated, so the original one can be free if desired. | |
void | addObservations (CSensoryFrame &observations) |
Add a set of observations to the sequence; the object is duplicated, so the original one can be free if desired. | |
void | addActionsMemoryReference (const CActionCollectionPtr &action) |
Add a set of actions to the sequence, using a smart pointer to the object to add. | |
void | addObservationsMemoryReference (const CSensoryFramePtr &observations) |
Add a set of observations to the sequence, using a smart pointer to the object to add. | |
void | addObservationMemoryReference (const CObservationPtr &observation) |
Add a single observation to the sequence, using a smart pointer to the object to add. | |
bool | loadFromRawLogFile (const std::string &fileName) |
Load the contents from a file containing one of these possibilities:
| |
bool | saveToRawLogFile (const std::string &fileName) const |
Saves the contents to a rawlog-file, compatible with RawlogViewer (As the sequence of internal objects). | |
size_t | size () const |
Returns the number of actions / observations object in the sequence. | |
MRPT_DEPRECATED_PRE bool | isAction (size_t index) MRPT_DEPRECATED_POST |
Returns true if the given object is an action, or false if it is a set of observations, where index=0 is the first object. | |
TEntryType | getType (size_t index) const |
Returns the type of a given element. | |
void | remove (size_t index) |
Delete the action or observation stored in the given index. | |
CActionCollectionPtr | getAsAction (size_t index) const |
Returns the i'th element in the sequence, as being actions, where index=0 is the first object. | |
CSensoryFramePtr | getAsObservations (size_t index) const |
Returns the i'th element in the sequence, as being an action, where index=0 is the first object. | |
CSerializablePtr | getAsGeneric (size_t index) const |
Returns the i'th element in the sequence, being its class whatever. | |
CObservationPtr | getAsObservation (size_t index) const |
Returns the i'th element in the sequence, as being an observation, where index=0 is the first object. | |
const_iterator | begin () const |
iterator | begin () |
const_iterator | end () const |
iterator | end () |
iterator | erase (const iterator &it) |
void | findObservationsByClassInRange (mrpt::system::TTimeStamp time_start, mrpt::system::TTimeStamp time_end, const mrpt::utils::TRuntimeClassId *class_type, TListTimeAndObservations &out_found, size_t guess_start_position=0) const |
Returns the sub-set of observations of a given class whose time-stamp t fulfills time_start <= t < time_end. | |
void | moveFrom (CRawlog &obj) |
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). | |
void | swap (CRawlog &obj) |
Efficiently swap the contents of two existing objects. | |
bool | getActionObservationPair (CActionCollectionPtr &action, CSensoryFramePtr &observations, size_t &rawlogEntry) const |
Gets the next consecutive pair action / observation from the rawlog loaded into this object. | |
Static Public Member Functions | |
static bool | readActionObservationPair (CStream &inStream, CActionCollectionPtr &action, CSensoryFramePtr &observations, size_t &rawlogEntry) |
Reads a consecutive pair action / observation from the rawlog opened at some input stream. | |
Private Types | |
typedef std::deque < CSerializablePtr > | TListObjects |
Private Attributes | |
TListObjects | m_seqOfActObs |
The list where the objects really are in. | |
CObservationComment | m_commentTexts |
Comments of the rawlog. |
There is a sequence of objects, where each one can be of one type:
Format #2: A sequence of actions and observations. There is a sequence of objects, where each one can be of one type:
Refer to the wiki page about rawlog files.
See also the application RawLogViewer for the GUI program that visualizes and manages rawlogs.
This class also publishes a static helper method for loading rawlog files in format #1: see CRawlog::readActionObservationPair
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.
The format #2 is supported since MRPT version 0.6.0.
Definition at line 71 of file CRawlog.h.
typedef std::deque<CSerializablePtr> mrpt::slam::CRawlog::TListObjects [private] |
mrpt::slam::CRawlog::CRawlog | ( | ) |
Default constructor:.
virtual mrpt::slam::CRawlog::~CRawlog | ( | ) | [virtual] |
void mrpt::slam::CRawlog::addAction | ( | CAction & | action | ) |
Add an action to the sequence: a collection of just one element is created.
The object is duplicated, so the original one can be free if desired.
void mrpt::slam::CRawlog::addActions | ( | CActionCollection & | action | ) |
Add a set of actions to the sequence; the object is duplicated, so the original one can be free if desired.
void mrpt::slam::CRawlog::addActionsMemoryReference | ( | const CActionCollectionPtr & | action | ) |
Add a set of actions to the sequence, using a smart pointer to the object to add.
void mrpt::slam::CRawlog::addObservationMemoryReference | ( | const CObservationPtr & | observation | ) |
Add a single observation to the sequence, using a smart pointer to the object to add.
void mrpt::slam::CRawlog::addObservations | ( | CSensoryFrame & | observations | ) |
Add a set of observations to the sequence; the object is duplicated, so the original one can be free if desired.
void mrpt::slam::CRawlog::addObservationsMemoryReference | ( | const CSensoryFramePtr & | observations | ) |
Add a set of observations to the sequence, using a smart pointer to the object to add.
const_iterator mrpt::slam::CRawlog::begin | ( | ) | const [inline] |
void mrpt::slam::CRawlog::clear | ( | ) |
Clear the sequence of actions/observations, freeing the memory of all the objects in the list.
void mrpt::slam::CRawlog::clearWithoutDelete | ( | ) |
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).
const_iterator mrpt::slam::CRawlog::end | ( | ) | const [inline] |
void mrpt::slam::CRawlog::findObservationsByClassInRange | ( | mrpt::system::TTimeStamp | time_start, | |
mrpt::system::TTimeStamp | time_end, | |||
const mrpt::utils::TRuntimeClassId * | class_type, | |||
TListTimeAndObservations & | out_found, | |||
size_t | guess_start_position = 0 | |||
) | const |
Returns the sub-set of observations of a given class whose time-stamp t fulfills time_start <= t < time_end.
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.
bool mrpt::slam::CRawlog::getActionObservationPair | ( | CActionCollectionPtr & | action, | |
CSensoryFramePtr & | observations, | |||
size_t & | rawlogEntry | |||
) | const |
Gets the next consecutive pair action / observation from the rawlog loaded into this object.
Previous contents of action and observations are discarded (using stlplus::smart_ptr::clear_unique), 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.
CActionCollectionPtr mrpt::slam::CRawlog::getAsAction | ( | size_t | index | ) | const |
Returns the i'th element in the sequence, as being actions, where index=0 is the first object.
If it is not a CActionCollection, it throws an exception. Do neighter modify nor delete the returned pointer.
std::exception | If index is out of bounds |
CSerializablePtr mrpt::slam::CRawlog::getAsGeneric | ( | size_t | index | ) | const |
Returns the i'th element in the sequence, being its class whatever.
std::exception | If index is out of bounds |
CObservationPtr mrpt::slam::CRawlog::getAsObservation | ( | size_t | index | ) | const |
Returns the i'th element in the sequence, as being an observation, where index=0 is the first object.
If it is not an CObservation, 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.
std::exception | If index is out of bounds |
CSensoryFramePtr mrpt::slam::CRawlog::getAsObservations | ( | size_t | index | ) | const |
Returns the i'th element in the sequence, as being an action, where index=0 is the first object.
If it is not an CSensoryFrame, it throws an exception. Do neighter modify nor delete the returned pointer.
std::exception | If index is out of bounds |
std::string mrpt::slam::CRawlog::getCommentText | ( | ) | const |
Returns the block of comment text for the rawlog.
void mrpt::slam::CRawlog::getCommentText | ( | std::string & | t | ) | const |
Returns the block of comment text for the rawlog.
void mrpt::slam::CRawlog::getCommentTextAsConfigFile | ( | mrpt::utils::CConfigFileMemory & | memCfg | ) | const |
Saves the block of comment text for the rawlog into the passed config file object.
TEntryType mrpt::slam::CRawlog::getType | ( | size_t | index | ) | const |
MRPT_DEPRECATED_PRE bool mrpt::slam::CRawlog::isAction | ( | size_t | index | ) |
Returns true if the given object is an action, or false if it is a set of observations, where index=0 is the first object.
std::exception | If index is out of bounds |
bool mrpt::slam::CRawlog::loadFromRawLogFile | ( | const std::string & | fileName | ) |
Load the contents from a file containing one of these possibilities:
void mrpt::slam::CRawlog::moveFrom | ( | CRawlog & | obj | ) |
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).
static bool mrpt::slam::CRawlog::readActionObservationPair | ( | CStream & | inStream, | |
CActionCollectionPtr & | action, | |||
CSensoryFramePtr & | observations, | |||
size_t & | rawlogEntry | |||
) | [static] |
Reads a consecutive pair action / observation from the rawlog opened at some input stream.
Previous contents of action and observations are discarded (using stlplus::smart_ptr::clear_unique), 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.
void mrpt::slam::CRawlog::remove | ( | size_t | index | ) |
Delete the action or observation stored in the given index.
std::exception | If index is out of bounds |
bool mrpt::slam::CRawlog::saveToRawLogFile | ( | const std::string & | fileName | ) | const |
Saves the contents to a rawlog-file, compatible with RawlogViewer (As the sequence of internal objects).
The file is saved with gz-commpressed is MRPT has gz-streams.
void mrpt::slam::CRawlog::setCommentText | ( | const std::string & | t | ) |
Changes the block of comment text for the rawlog.
size_t mrpt::slam::CRawlog::size | ( | ) | const |
Returns the number of actions / observations object in the sequence.
void mrpt::slam::CRawlog::swap | ( | CRawlog & | obj | ) |
Efficiently swap the contents of two existing objects.
Page generated by Doxygen 1.5.8 for MRPT 0.6.5 SVN: at Thu Feb 26 02:14:51 EST 2009 |