17 #ifndef GZ_SENSORS_WIDEANGLECAMERASENSOR_HH_
18 #define GZ_SENSORS_WIDEANGLECAMERASENSOR_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/WideAngleCamera.hh>
42 #include "gz/sensors/wide_angle_camera/Export.hh"
44 #include "gz/sensors/Export.hh"
52 inline namespace GZ_SENSORS_VERSION_NAMESPACE {
54 class WideAngleCameraSensorPrivate;
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::WideAngleCameraPtr WideAngleCamera()
const;
102 public:
void OnNewWideAngleFrame(
const unsigned char *_data,
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;
132 public: rendering::CameraPtr RenderingCamera()
const override;
135 public:
virtual bool HasConnections()
const override;
139 private:
bool CreateCamera();
141 GZ_UTILS_WARN_IGNORE__DLL_INTERFACE_MISSING
145 GZ_UTILS_WARN_RESUME__DLL_INTERFACE_MISSING