17 #ifndef IGNITION_SENSORS_LIDAR_HH_ 18 #define IGNITION_SENSORS_LIDAR_HH_ 24 #include <ignition/common/Event.hh> 26 #include "ignition/sensors/lidar/Export.hh" 34 inline namespace IGNITION_SENSORS_VERSION_NAMESPACE {
54 public:
virtual ~
Lidar();
59 public:
virtual bool Update(
const common::Time &_now)
override;
64 public:
virtual bool PublishLidarScan(
const common::Time &_now);
69 public:
virtual bool Load(
const sdf::Sensor &_sdf)
override;
74 public:
virtual bool Load(sdf::ElementPtr _sdf)
override;
78 public:
virtual bool Init()
override;
82 public:
void SetParent(
const std::string &_parent)
override;
85 public:
virtual bool CreateLidar();
88 protected:
virtual void Fini();
92 public: ignition::math::Angle AngleMin()
const;
96 public:
void SetAngleMin(
const double _angle);
100 public: ignition::math::Angle AngleMax()
const;
104 public:
void SetAngleMax(
const double _angle);
108 public:
double AngleResolution()
const;
112 public:
double RangeMin()
const;
116 public:
double RangeMax()
const;
125 public:
double RangeResolution()
const;
129 public:
unsigned int RayCount()
const;
133 public:
unsigned int RangeCount()
const;
137 public:
unsigned int VerticalRayCount()
const;
141 public:
unsigned int VerticalRangeCount()
const;
145 public: ignition::math::Angle VerticalAngleMin()
const;
149 public:
void SetVerticalAngleMin(
const double _angle);
153 public: ignition::math::Angle VerticalAngleMax()
const;
157 public:
void SetVerticalAngleMax(
const double _angle);
161 public:
double VerticalAngleResolution()
const;
172 public:
double Range(
const int _index)
const;
187 public:
double Retro(
const int _index)
const;
198 public:
int Fiducial(
const unsigned int _index)
const;
202 public:
bool IsHorizontal()
const;
210 public:
double RayCountRatio()
const;
218 public:
double RangeCountRatio()
const;
222 public:
double HorzFOV()
const;
226 public:
double VertFOV()
const;
229 public:
virtual bool IsActive()
const;
235 public:
float *laserBuffer =
nullptr;
238 public:
bool initialized =
false;
247 public:
virtual ignition::common::ConnectionPtr ConnectNewLidarFrame(
249 unsigned int _heighti,
unsigned int _channels,
a rendering sensor class
Definition: RenderingSensor.hh:42
Lidar Sensor Class.
Definition: Lidar.hh:48
std::mutex lidarMutex
Just a mutex for thread safety.
Definition: Lidar.hh:232
Definition: AirPressureSensor.hh:31