17 #ifndef GZ_SENSORS_THERMALCAMERASENSOR_HH_
18 #define GZ_SENSORS_THERMALCAMERASENSOR_HH_
26 #include <gz/common/Event.hh>
27 #include <gz/utils/SuppressWarning.hh>
29 #include <gz/msgs/image.pb.h>
35 #pragma warning(disable: 4251)
37 #include <gz/rendering/ThermalCamera.hh>
42 #include "gz/sensors/thermal_camera/Export.hh"
44 #include "gz/sensors/Export.hh"
52 inline namespace GZ_SENSORS_VERSION_NAMESPACE {
54 class ThermalCameraSensorPrivate;
75 public:
virtual bool Load(
const sdf::Sensor &_sdf)
override;
80 public:
virtual bool Load(sdf::ElementPtr _sdf)
override;
84 public:
virtual bool Init()
override;
89 public:
virtual bool Update(
90 const std::chrono::steady_clock::duration &_now)
override;
94 public:
virtual rendering::ThermalCameraPtr ThermalCamera()
const;
102 public:
void OnNewThermalFrame(
const uint16_t *_scan,
103 unsigned int _width,
unsigned int _height,
104 unsigned int _channels,
115 public: common::ConnectionPtr ConnectImageCallback(
120 public:
virtual void SetScene(
121 gz::rendering::ScenePtr _scene)
override;
125 public:
virtual unsigned int ImageWidth()
const override;
129 public:
virtual unsigned int ImageHeight()
const override;
133 public:
virtual void SetAmbientTemperature(
float _ambient);
138 public:
virtual void SetAmbientTemperatureRange(
float _range);
142 public:
virtual void SetMinTemperature(
float _min);
146 public:
virtual void SetMaxTemperature(
float _max);
153 public:
virtual void SetLinearResolution(
float _resolution);
156 public:
virtual bool HasConnections()
const override;
160 private:
bool CreateCamera();
165 private:
void OnSceneChange(gz::rendering::ScenePtr )
168 GZ_UTILS_WARN_IGNORE__DLL_INTERFACE_MISSING
172 GZ_UTILS_WARN_RESUME__DLL_INTERFACE_MISSING