17 #ifndef _GAZEBO_SENSORS_GPURAYSENSOR_HH_
18 #define _GAZEBO_SENSORS_GPURAYSENSOR_HH_
24 #include <ignition/math/Angle.hh>
25 #include <ignition/math/Pose3.hh>
41 class GpuRaySensorPrivate;
63 public:
virtual void Load(
const std::string &_worldName,
64 sdf::ElementPtr _sdf);
68 public:
virtual void Load(
const std::string &_worldName);
71 public:
virtual void Init();
74 protected:
virtual bool UpdateImpl(
const bool _force);
77 protected:
virtual void Fini();
80 public:
virtual std::string Topic()
const;
94 public: ignition::math::Angle AngleMin()
const;
98 public:
void SetAngleMin(
const double _angle);
102 public: ignition::math::Angle AngleMax()
const;
106 public:
void SetAngleMax(
const double _angle);
115 public:
double AngleResolution()
const;
124 public:
double RangeMin()
const;
133 public:
double RangeMax()
const;
152 public:
double RangeResolution()
const;
161 public:
int RayCount()
const;
170 public:
int RangeCount()
const;
179 public:
int VerticalRayCount()
const;
188 public:
int VerticalRangeCount()
const;
192 public: ignition::math::Angle VerticalAngleMin()
const;
196 public:
void SetVerticalAngleMin(
const double _angle);
200 public: ignition::math::Angle VerticalAngleMax()
const;
204 public:
void SetVerticalAngleMax(
const double _angle);
213 public:
double VerticalAngleResolution()
const;
236 public:
double Range(
const int _index)
const;
241 public:
void GetRanges(std::vector<double> &_ranges)
246 public:
void Ranges(std::vector<double> &_ranges)
const;
269 public:
double Retro(
const int _index)
const;
292 public:
int Fiducial(
const unsigned int _index)
const;
301 public:
unsigned int CameraCount()
const;
305 public:
bool IsHorizontal()
const;
322 public:
double RayCountRatio()
const;
339 public:
double RangeCountRatio()
const;
348 public:
double HorzFOV()
const;
357 public:
double CosHorzFOV()
const;
365 public:
double VertFOV()
const;
374 public:
double CosVertFOV()
const;
383 public:
double HorzHalfAngle()
const;
392 public:
double VertHalfAngle()
const;
398 std::function<
void(
const float *,
unsigned int,
unsigned int,
399 unsigned int,
const std::string &)> _subscriber);
406 public:
virtual bool IsActive()
const;
409 private:
void Render();
413 private: std::unique_ptr<GpuRaySensorPrivate> dataPtr;
boost::shared_ptr< Connection > ConnectionPtr
Definition: CommonTypes.hh:153
GPU based laser sensor.
Definition: GpuRaySensor.hh:52
Forward declarations for transport.
#define GAZEBO_DEPRECATED(version)
Definition: CommonTypes.hh:48
boost::shared_ptr< GpuLaser > GpuLaserPtr
Definition: RenderTypes.hh:104
GAZEBO_VISIBLE void Init(google::protobuf::Message &_message, const std::string &_id="")
Initialize a message.
Base class for sensors.
Definition: Sensor.hh:50
#define GAZEBO_VISIBLE
Use to represent "symbol visible" if supported.
Definition: system.hh:59