17 #ifndef _GAZEBO_SENSORS_RAYSENSOR_HH_
18 #define _GAZEBO_SENSORS_RAYSENSOR_HH_
24 #include <ignition/math/Angle.hh>
31 class OgreDynamicLines;
40 class RaySensorPrivate;
60 public:
virtual void Load(
const std::string &_worldName);
63 public:
virtual void Init();
66 protected:
virtual bool UpdateImpl(
const bool _force);
69 protected:
virtual void Fini();
72 public:
virtual std::string Topic()
const;
76 public: ignition::math::Angle AngleMin()
const;
80 public: ignition::math::Angle AngleMax()
const;
84 public:
double AngleResolution()
const;
88 public:
double RangeMin()
const;
92 public:
double RangeMax()
const;
96 public:
double RangeResolution()
const;
100 public:
int RayCount()
const;
104 public:
int RangeCount()
const;
108 public:
int VerticalRayCount()
const;
112 public:
int VerticalRangeCount()
const;
116 public: ignition::math::Angle VerticalAngleMin()
const;
120 public: ignition::math::Angle VerticalAngleMax()
const;
124 public:
double VerticalAngleResolution()
const;
135 public:
double Range(
const unsigned int _index)
const;
139 public:
void Ranges(std::vector<double> &_ranges)
const;
150 public:
double Retro(
const unsigned int _index)
const;
161 public:
int Fiducial(
const unsigned int _index)
const;
168 public:
virtual bool IsActive()
const;
172 private: std::unique_ptr<RaySensorPrivate> dataPtr;
boost::shared_ptr< MultiRayShape > MultiRayShapePtr
Definition: PhysicsTypes.hh:153
Sensor with one or more rays.
Definition: RaySensor.hh:51
GAZEBO_VISIBLE void Init(google::protobuf::Message &_message, const std::string &_id="")
Initialize a message.
Base class for sensors.
Definition: Sensor.hh:51
#define GAZEBO_VISIBLE
Use to represent "symbol visible" if supported.
Definition: system.hh:58