17 #ifndef IGNITION_SENSORS_LIDAR_HH_ 18 #define IGNITION_SENSORS_LIDAR_HH_ 24 #include <ignition/common/SuppressWarning.hh> 25 #include <ignition/common/Event.hh> 27 #include "ignition/sensors/lidar/Export.hh" 35 inline namespace IGNITION_SENSORS_VERSION_NAMESPACE {
55 public:
virtual ~
Lidar();
60 public:
virtual bool IGN_DEPRECATED(4) Update(
61 const ignition::common::Time &_now)
override;
66 public:
virtual bool Update(
67 const std::chrono::steady_clock::duration &_now)
override;
72 public:
virtual bool IGN_DEPRECATED(4) PublishLidarScan(
73 const ignition::common::Time &_now);
78 public:
void ApplyNoise();
83 public:
virtual bool PublishLidarScan(
84 const std::chrono::steady_clock::duration &_now);
89 public:
virtual bool Load(
const sdf::Sensor &_sdf)
override;
94 public:
virtual bool Load(sdf::ElementPtr _sdf)
override;
98 public:
virtual bool Init()
override;
102 public:
void SetParent(
const std::string &_parent)
override;
105 public:
virtual bool CreateLidar();
108 protected:
virtual void Fini();
112 public: ignition::math::Angle AngleMin()
const;
116 public:
void SetAngleMin(
const double _angle);
120 public: ignition::math::Angle AngleMax()
const;
124 public:
void SetAngleMax(
const double _angle);
128 public:
double AngleResolution()
const;
132 public:
double RangeMin()
const;
136 public:
double RangeMax()
const;
145 public:
double RangeResolution()
const;
149 public:
unsigned int RayCount()
const;
153 public:
unsigned int RangeCount()
const;
157 public:
unsigned int VerticalRayCount()
const;
161 public:
unsigned int VerticalRangeCount()
const;
165 public: ignition::math::Angle VerticalAngleMin()
const;
169 public:
void SetVerticalAngleMin(
const double _angle);
173 public: ignition::math::Angle VerticalAngleMax()
const;
177 public:
void SetVerticalAngleMax(
const double _angle);
181 public:
double VerticalAngleResolution()
const;
192 public:
double Range(
const int _index)
const;
207 public:
double Retro(
const int _index)
const;
218 public:
int Fiducial(
const unsigned int _index)
const;
222 public:
bool IsHorizontal()
const;
230 public:
double RayCountRatio()
const;
238 public:
double RangeCountRatio()
const;
242 public:
double HorzFOV()
const;
246 public:
double VertFOV()
const;
249 public:
virtual bool IsActive()
const;
251 IGN_COMMON_WARN_IGNORE__DLL_INTERFACE_MISSING
254 IGN_COMMON_WARN_RESUME__DLL_INTERFACE_MISSING
257 public:
float *laserBuffer =
nullptr;
260 public:
bool initialized =
false;
269 public:
virtual ignition::common::ConnectionPtr ConnectNewLidarFrame(
271 unsigned int _heighti,
unsigned int _channels,
274 IGN_COMMON_WARN_IGNORE__DLL_INTERFACE_MISSING
278 IGN_COMMON_WARN_RESUME__DLL_INTERFACE_MISSING
a rendering sensor class
Definition: RenderingSensor.hh:52
Lidar Sensor Class.
Definition: Lidar.hh:49
std::mutex lidarMutex
Just a mutex for thread safety.
Definition: Lidar.hh:253
Definition: AirPressureSensor.hh:32