00001 #ifndef RANGEREADING_H 00002 #define RANGEREADING_H 00003 00004 #include <vector> 00005 #include <sensor/sensor_base/sensorreading.h> 00006 #include "rangesensor.h" 00007 00008 namespace GMapping{ 00009 00010 class RangeReading: public SensorReading, public std::vector<double>{ 00011 public: 00012 RangeReading(const RangeSensor* rs, double time=0); 00013 RangeReading(unsigned int n_beams, const double* d, const RangeSensor* rs, double time=0); 00014 virtual ~RangeReading(); 00015 inline const OrientedPoint& getPose() const {return m_pose;} 00016 inline void setPose(const OrientedPoint& pose) {m_pose=pose;} 00017 unsigned int rawView(double* v, double density=0.) const; 00018 std::vector<Point> cartesianForm(double maxRange=1e6) const; 00019 unsigned int activeBeams(double density=0.) const; 00020 protected: 00021 OrientedPoint m_pose; 00022 }; 00023 00024 }; 00025 00026 #endif