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-2018, 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>
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::poses;
22 using namespace mrpt::math;
23 
25 
26 void CObservation::getSensorPose(mrpt::math::TPose3D& out_sensorPose) const
27 {
28  CPose3D p;
29  getSensorPose(p);
30  out_sensorPose = p.asTPose();
31 }
32 
34 {
35  setSensorPose(CPose3D(newSensorPose));
36 }
37 
39 {
40  std::swap(timestamp, o.timestamp);
41  std::swap(sensorLabel, o.sensorLabel);
42 }
43 
44 void CObservation::getDescriptionAsText(std::ostream& o) const
45 {
46  using namespace mrpt::system; // for the TTimeStamp << op
47 
48  o << "Timestamp (UTC): " << mrpt::system::dateTimeToString(timestamp)
49  << std::endl;
50  o << " (as time_t): " << std::fixed << std::setprecision(5)
51  << mrpt::system::timestampTotime_t(timestamp) << std::endl;
52  o << " (as TTimestamp): " << timestamp << std::endl;
53  o << "Sensor label: '" << sensorLabel << "'" << std::endl;
54  o << std::endl;
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:
Declares a class that represents any robot's observation.
Definition: CObservation.h:44
virtual void getDescriptionAsText(std::ostream &o) const
Build a detailed, multi-line textual description of the observation contents and dump it to the outpu...
std::string sensorLabel
An arbitrary label that can be used to identify the sensor.
Definition: CObservation.h:62
mrpt::system::TTimeStamp timestamp
The associated UTC time-stamp.
Definition: CObservation.h:60
void swap(CObservation &o)
Swap with another observation, ONLY the data defined here in the base class CObservation.
virtual void setSensorPose(const mrpt::poses::CPose3D &newSensorPose)=0
A general method to change the sensor pose on the robot.
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
Definition: CPose3D.h:87
typedef void(APIENTRYP PFNGLBLENDCOLORPROC)(GLclampf red
GLfloat GLfloat p
Definition: glext.h:6305
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:147
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:50
This base provides a set of functions for maths stuff.
This namespace contains representation of robot actions and observations.
Classes for 2D/3D geometry representation, both of single values and probability density distribution...
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
Lightweight 3D pose (three spatial coordinates, plus three angular coordinates).



Page generated by Doxygen 1.9.1 for MRPT 1.9.9 Git: 814d80880 Fri Aug 24 01:51:28 2018 +0200 at mar 26 may 2026 12:30:59 CEST