17 #ifndef _MULTIRAYSHAPE_HH_
18 #define _MULTIRAYSHAPE_HH_
51 public:
virtual void Init();
60 public:
double GetRange(
unsigned int _index);
65 public:
double GetRetro(
unsigned int _index);
70 public:
int GetFiducial(
unsigned int _index);
74 public:
double GetMinRange()
const;
78 public:
double GetMaxRange()
const;
82 public:
double GetResRange()
const;
86 public:
int GetSampleCount()
const;
90 public:
double GetScanResolution()
const;
102 public:
int GetVerticalSampleCount()
const;
106 public:
double GetVerticalScanResolution()
const;
117 public:
void Update();
122 public:
void FillMsg(msgs::Geometry &_msg);
127 public:
virtual void ProcessMsg(
const msgs::Geometry &_msg);
132 public:
template<
typename T>
134 {
return this->newLaserScans.Connect(_subscriber);}
139 {this->newLaserScans.Disconnect(_conn);}
142 protected:
virtual void UpdateRays() = 0;
151 protected: std::vector<RayShapePtr>
rays;