Main MRPT website > C++ reference for MRPT 1.9.9
CObservation.cpp
Go to the documentation of this file.
1 /* +------------------------------------------------------------------------+
2  | Mobile Robot Programming Toolkit (MRPT) |
3  | http://www.mrpt.org/ |
4  | |
5  | Copyright (c) 2005-2017, Individual contributors, see AUTHORS file |
6  | See: http://www.mrpt.org/Authors - All rights reserved. |
7  | Released under BSD License. See details in http://www.mrpt.org/License |
8  +------------------------------------------------------------------------+ */
9 
10 #include "obs-precomp.h" // Precompiled headers
11 
12 #include <mrpt/obs/CObservation.h>
13 #include <mrpt/utils/CStream.h>
14 #include <mrpt/system/os.h>
16 
17 #include <mrpt/poses/CPose3D.h>
18 #include <iomanip>
19 
20 using namespace mrpt::obs;
21 using namespace mrpt::utils;
22 using namespace mrpt::poses;
23 using namespace mrpt::math;
24 
26 
27 /*---------------------------------------------------------------
28  CONSTRUCTOR
29  ---------------------------------------------------------------*/
30 CObservation::CObservation() : timestamp(mrpt::system::now()), sensorLabel() {}
32 {
33  CPose3D p;
34  getSensorPose(p);
35  out_sensorPose = TPose3D(p);
36 }
37 
39 {
40  setSensorPose(CPose3D(newSensorPose));
41 }
42 
44 {
45  std::swap(timestamp, o.timestamp);
46  std::swap(sensorLabel, o.sensorLabel);
47 }
48 
49 void CObservation::getDescriptionAsText(std::ostream& o) const
50 {
51  o << "Timestamp (UTC): " << mrpt::system::dateTimeToString(timestamp)
52  << std::endl;
53  o << " (as time_t): " << std::fixed << std::setprecision(5)
54  << mrpt::system::timestampTotime_t(timestamp) << std::endl;
55  o << " (as TTimestamp): " << timestamp << std::endl;
56  o << "Sensor label: '" << sensorLabel << "'" << std::endl;
57  o << std::endl;
58 }
Classes for serialization, sockets, ini-file manipulation, streams, list of properties-values, timewatch, extensions to STL.
The virtual base class which provides a unified interface for all persistent objects in MRPT...
Definition: CSerializable.h:44
mrpt::system::TTimeStamp now()
A shortcut for system::getCurrentTime.
Definition: datetime.h:76
void swap(CObservation &o)
Swap with another observation, ONLY the data defined here in the base class CObservation.
virtual void getSensorPose(mrpt::poses::CPose3D &out_sensorPose) const =0
A general method to retrieve the sensor pose on the robot.
This base provides a set of functions for maths stuff.
Definition: CArrayNumeric.h:19
virtual void setSensorPose(const mrpt::poses::CPose3D &newSensorPose)=0
A general method to change the sensor pose on the robot.
This namespace contains representation of robot actions and observations.
Classes for 2D/3D geometry representation, both of single values and probability density distribution...
Definition: CPoint.h:17
std::string sensorLabel
An arbitrary label that can be used to identify the sensor.
Definition: CObservation.h:60
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
mrpt::system::TTimeStamp timestamp
The associated UTC time-stamp.
Definition: CObservation.h:58
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
Definition: CPose3D.h:88
Declares a class that represents any robot&#39;s observation.
Definition: CObservation.h:41
std::string dateTimeToString(const mrpt::system::TTimeStamp t)
Convert a timestamp into this textual form (UTC time): YEAR/MONTH/DAY,HH:MM:SS.MMM.
Definition: datetime.cpp:247
Lightweight 3D pose (three spatial coordinates, plus three angular coordinates).
GLfloat GLfloat p
Definition: glext.h:6305
double timestampTotime_t(const mrpt::system::TTimeStamp t)
Transform from TTimeStamp to standard "time_t" (actually a double number, it can contain fractions of...
Definition: datetime.cpp:55
#define IMPLEMENTS_VIRTUAL_SERIALIZABLE( class_name, base_class_name, NameSpace)
This must be inserted as implementation of some required members for virtual CSerializable classes: ...
virtual void getDescriptionAsText(std::ostream &o) const
Build a detailed, multi-line textual description of the observation contents and dump it to the outpu...



Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: ae4571287 Thu Nov 23 00:06:53 2017 +0100 at dom oct 27 23:51:55 CET 2019