22 #ifndef _GPURAYSENSOR_HH_ 
   23 #define _GPURAYSENSOR_HH_ 
   27 #include <boost/thread/mutex.hpp> 
   60       public: 
virtual void Load(
const std::string &_worldName,
 
   61                                 sdf::ElementPtr &_sdf);
 
   65       public: 
virtual void Load(
const std::string &_worldName);
 
   68       public: 
virtual void Init();
 
   72       protected: 
virtual void UpdateImpl(
bool _force);
 
   75       protected: 
virtual void Fini();
 
   78       public: 
virtual std::string 
GetTopic() 
const;
 
   83               {
return this->laserCam;}
 
  162       public: 
double GetRange(
int _index);
 
  166       public: 
void GetRanges(std::vector<double> &_ranges);
 
  177       public: 
double GetRetro(
int _index) 
const;
 
  240         boost::function<
void(
const float *, 
unsigned int, 
unsigned int,
 
  241         unsigned int, 
const std::string &)> _subscriber);
 
  287       private: boost::mutex mutex;
 
  290       private: msgs::LaserScanStamped laserMsg;
 
  299       private: 
enum NoiseModelType
 
  306       private: 
bool noiseActive;
 
  309       private: 
enum NoiseModelType noiseType;
 
  313       private: 
double noiseMean;
 
  317       private: 
double noiseStdDev;