00001 #ifndef BRICS_OODL_LASERSCANNERDATAWITHINTENSITIES_H
00002 #define BRICS_OODL_LASERSCANNERDATAWITHINTENSITIES_H
00003
00004
00005 #include "LaserScannerData.hpp"
00006
00007 #include "generic-laser-scanner/LaserScannerData.hpp"
00008 namespace brics_oodl {
00009
00014 class LaserScannerDataWithIntensities : public LaserScannerData {
00015 public:
00016 LaserScannerDataWithIntensities();
00017
00018 virtual ~LaserScannerDataWithIntensities();
00019
00020 void getMesasurementIterator(std::vector< quantity<length> >::iterator& rangesIterator, std::vector< quantity<plane_angle> >::iterator& rangeAnglesIterator, std::vector< double >::iterator& intensitieIterator);
00021
00022 void getMeasurements(std::vector< quantity<length> >& ranges, std::vector< quantity<plane_angle> >& rangeAngles, std::vector< double >& intensities) const;
00023
00024 void setMeasurements(const std::vector< quantity<length> >& ranges, const std::vector< quantity<plane_angle> >& rangeAngles, const std::vector< double >& intensities);
00025
00026 void setMeasurements(double* ranges, double* rangeAngles, unsigned int* intensities, const unsigned int& numMeasurements, const boost::units::si::length& rangeUnit, const boost::units::si::plane_angle& angleUnit, const boost::units::si::length& intensitieUnit);
00027
00028 void setMeasurements(unsigned int* ranges, double* rangeAngles, unsigned int* intensities, const unsigned int& numMeasurements, const boost::units::si::length& rangeUnit, const boost::units::si::plane_angle& angleUnit, const boost::units::si::length& intensitieUnit);
00029
00030 void setMeasurements(const std::vector<double>& ranges, const std::vector<double>& rangeAngles, const std::vector<double>& intensities, const boost::units::si::length& rangeUnit, const boost::units::si::plane_angle& angleUnit, const boost::units::si::length& intensitieUnit);
00031
00032
00033 protected:
00034 std::vector< double > intensities;
00035
00036 };
00037
00038 }
00039 #endif