00001 #ifndef SENSORLOG_H 00002 #define SENSORLOG_H 00003 00004 #include <list> 00005 #include <istream> 00006 #include <gmapping/sensor/sensor_base/sensorreading.h> 00007 #include <gmapping/sensor/sensor_odometry/odometrysensor.h> 00008 #include <gmapping/sensor/sensor_range/rangesensor.h> 00009 #include <gmapping/sensor/sensor_odometry/odometryreading.h> 00010 #include <gmapping/sensor/sensor_range/rangereading.h> 00011 #include "configuration.h" 00012 00013 namespace GMapping { 00014 00015 class SensorLog : public std::list<SensorReading*>{ 00016 public: 00017 SensorLog(const SensorMap&); 00018 ~SensorLog(); 00019 std::istream& load(std::istream& is); 00020 OrientedPoint boundingBox(double& xmin, double& ymin, double& xmax, double& ymax) const; 00021 protected: 00022 const SensorMap& m_sensorMap; 00023 OdometryReading* parseOdometry(std::istream& is, const OdometrySensor* ) const; 00024 RangeReading* parseRange(std::istream& is, const RangeSensor* ) const; 00025 }; 00026 00027 }; 00028 00029 #endif