orca-robotics INTRODUCTION Overview Download and Install Documentation REPOSITORY Interfaces Drivers Libraries Utilities Software Map DEVELOPER Dashboard PEOPLE Contributors Users Project Download Mailing lists
|
rangescannersimulator.h00001 #ifndef HYDROSIM2D_RANGESCANNERSIMULATOR_H 00002 #define HYDROSIM2D_RANGESCANNERSIMULATOR_H 00003 00004 #include <hydroogmap/hydroogmap.h> 00005 #include <hydronavutil/hydronavutil.h> 00006 #include <vector> 00007 #include <hydrosim2d/irangescanpublisher.h> 00008 00009 namespace hydrosim2d { 00010 00014 class RangeScannerSimulator 00015 { 00016 00017 public: 00018 00019 struct Config { 00020 Config() {} 00021 Config( double pMaxRange, 00022 double pStartAngle, 00023 double pAngleIncrement, 00024 int pNumReturns ) 00025 : maxRange(pMaxRange), 00026 startAngle(pStartAngle), 00027 angleIncrement(pAngleIncrement), 00028 numReturns(pNumReturns) 00029 {} 00030 double maxRange; 00031 double startAngle; 00032 double angleIncrement; 00033 int numReturns; 00034 }; 00035 00037 00038 RangeScannerSimulator( const Config &config, 00039 const hydroogmap::OgMap &ogMap, 00040 IRangeScanPublisher &rangeScanPublisher ); 00041 00042 void getRangesFromPose( const hydronavutil::Pose &sensorPose, 00043 std::vector<float> &ranges ) const; 00044 00045 private: 00046 00047 const Config config_; 00048 const hydroogmap::OgMap ogMap_; 00049 mutable hydroogmap::OgLosTracer rayTracer_; 00050 mutable IRangeScanPublisher &rangeScanPublisher_; 00051 }; 00052 00053 } 00054 00055 #endif |
Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)