25     out << minSensorDistance << maxSensorDistance << sensorConeApperture;
    26     const uint32_t n = sensedData.size();
    28     for (uint32_t i = 0; i < n; i++)
    29         out << sensedData[i].sensorID << 
CPose3D(sensedData[i].sensorPose)
    30             << sensedData[i].sensedDistance;
    31     out << sensorLabel << timestamp;
    47             in >> minSensorDistance >> maxSensorDistance >> sensorConeApperture;
    52             for (i = 0; i < n; i++)
    55                     in >> sensedData[i].sensorID;
    57                     sensedData[i].sensorID = i;
    59                 in >> aux >> sensedData[i].sensedDistance;
    60                 sensedData[i].sensorPose = aux.
asTPose();
    84     if (!sensedData.empty())
    85         out_sensorPose = 
CPose3D(sensedData[0].sensorPose);
    87         out_sensorPose = 
CPose3D(0, 0, 0);
    95     for (
auto& sd : sensedData) sd.sensorPose = newSensorPose.
asTPose();
   103     o << 
"minSensorDistance   = " << minSensorDistance << 
" m" << endl;
   104     o << 
"maxSensorDistance   = " << maxSensorDistance << 
" m" << endl;
   105     o << 
"sensorConeApperture = " << 
RAD2DEG(sensorConeApperture) << 
" deg"   109     o << 
"  SENSOR_ID    RANGE (m)    SENSOR POSE (on the robot)" << endl;
   110     o << 
"-------------------------------------------------------" << endl;
   111     for (
const auto& q : sensedData)
   113         o << 
format(
"     %7u", (
unsigned int)q.sensorID);
   114         o << 
format(
"    %4.03f   ", q.sensedDistance);
   115         o << q.sensorPose << endl;
 mrpt::math::TPose3D asTPose() const
 
Declares a class derived from "CObservation" that encapsules a single range measurement, and associated parameters. 
 
std::string std::string format(std::string_view fmt, ARGS &&... args)
 
#define IMPLEMENTS_SERIALIZABLE(class_name, base, NameSpace)
To be added to all CSerializable-classes implementation files. 
 
#define MRPT_THROW_UNKNOWN_SERIALIZATION_VERSION(__V)
For use in CSerializable implementations. 
 
This namespace contains representation of robot actions and observations. 
 
Classes for 2D/3D geometry representation, both of single values and probability density distribution...
 
void serializeFrom(mrpt::serialization::CArchive &in, uint8_t serial_version) override
Pure virtual method for reading (deserializing) from an abstract archive. 
 
Virtual base class for "archives": classes abstracting I/O streams. 
 
A class used to store a 3D pose (a 3D translation + a rotation in 3D). 
 
mrpt::vision::TStereoCalibResults out
 
Declares a class that represents any robot's observation. 
 
constexpr double RAD2DEG(const double x)
Radians to degrees. 
 
void setSensorPose(const mrpt::poses::CPose3D &newSensorPose) override
A general method to change the sensor pose on the robot. 
 
void getDescriptionAsText(std::ostream &o) const override
Build a detailed, multi-line textual description of the observation contents and dump it to the outpu...
 
void serializeTo(mrpt::serialization::CArchive &out) const override
Pure virtual method for writing (serializing) to an abstract archive. 
 
void getSensorPose(mrpt::poses::CPose3D &out_sensorPose) const override
A general method to retrieve the sensor pose on the robot. 
 
#define INVALID_TIMESTAMP
Represents an invalid timestamp, where applicable. 
 
virtual void getDescriptionAsText(std::ostream &o) const
Build a detailed, multi-line textual description of the observation contents and dump it to the outpu...