17 #ifndef _GAZEBO_SENSORS_GPURAYSENSOR_HH_
18 #define _GAZEBO_SENSORS_GPURAYSENSOR_HH_
24 #include <ignition/math/Angle.hh>
25 #include <ignition/math/Pose3.hh>
39 class GpuRaySensorPrivate;
61 public:
virtual void Load(
const std::string &_worldName,
62 sdf::ElementPtr _sdf);
66 public:
virtual void Load(
const std::string &_worldName);
69 public:
virtual void Init();
72 protected:
virtual bool UpdateImpl(
const bool _force);
75 protected:
virtual void Fini();
78 public:
virtual std::string Topic()
const;
86 public: ignition::math::Angle AngleMin()
const;
90 public:
void SetAngleMin(
const double _angle);
94 public: ignition::math::Angle AngleMax()
const;
98 public:
void SetAngleMax(
const double _angle);
102 public:
double AngleResolution()
const;
106 public:
double RangeMin()
const;
110 public:
double RangeMax()
const;
119 public:
double RangeResolution()
const;
123 public:
int RayCount()
const;
127 public:
int RangeCount()
const;
131 public:
int VerticalRayCount()
const;
135 public:
int VerticalRangeCount()
const;
139 public: ignition::math::Angle VerticalAngleMin()
const;
143 public:
void SetVerticalAngleMin(
const double _angle);
147 public: ignition::math::Angle VerticalAngleMax()
const;
151 public:
void SetVerticalAngleMax(
const double _angle);
155 public:
double VerticalAngleResolution()
const;
166 public:
double Range(
const int _index)
const;
170 public:
void Ranges(std::vector<double> &_ranges)
const;
181 public:
double Retro(
const int _index)
const;
192 public:
int Fiducial(
const unsigned int _index)
const;
196 public:
unsigned int CameraCount()
const;
200 public:
bool IsHorizontal()
const;
208 public:
double RayCountRatio()
const;
216 public:
double RangeCountRatio()
const;
220 public:
double HorzFOV()
const;
224 public:
double CosHorzFOV()
const;
228 public:
double VertFOV()
const;
232 public:
double CosVertFOV()
const;
236 public:
double HorzHalfAngle()
const;
240 public:
double VertHalfAngle()
const;
245 std::function<
void(
const float *,
unsigned int,
unsigned int,
246 unsigned int,
const std::string &)> _subscriber);
249 public:
virtual bool IsActive()
const;
252 private:
void Render();
256 private: std::unique_ptr<GpuRaySensorPrivate> dataPtr;
GPU based laser sensor.
Definition: GpuRaySensor.hh:50
boost::shared_ptr< GpuLaser > GpuLaserPtr
Definition: RenderTypes.hh:106
Forward declarations for transport.
boost::shared_ptr< Connection > ConnectionPtr
Definition: CommonTypes.hh:134
GAZEBO_VISIBLE void Init(google::protobuf::Message &_message, const std::string &_id="")
Initialize a message.
Base class for sensors.
Definition: Sensor.hh:51