18 #ifndef GZ_RENDERING_OGRE_OGRETHERMALCAMERA_HH_
19 #define GZ_RENDERING_OGRE_OGRETHERMALCAMERA_HH_
32 #include "gz/rendering/ogre/Export.hh"
41 #include "gz/common/Event.hh"
42 #include "gz/common/Console.hh"
55 inline namespace GZ_RENDERING_VERSION_NAMESPACE {
58 class OgreThermalCameraPrivate;
63 class GZ_RENDERING_OGRE_VISIBLE OgreThermalCamera :
65 public virtual BaseThermalCamera<OgreSensor>,
66 public virtual OgreObjectInterface
69 protected: OgreThermalCamera();
72 public:
virtual ~OgreThermalCamera();
75 public:
virtual void Init()
override;
78 public:
virtual void CreateRenderTexture();
82 protected:
void DestroyRenderTexture();
85 public:
virtual void PostRender()
override;
91 std::function<
void(
const uint16_t *,
unsigned int,
unsigned int,
92 unsigned int,
const std::string &)> _subscriber)
override;
95 public:
virtual void PreRender()
override;
98 public:
virtual void Render()
override;
101 public:
virtual void Destroy()
override;
104 public:
virtual Ogre::Camera *Camera()
const override;
111 protected:
void CreateCamera();
114 private:
void CreateThermalTexture();
117 protected: Ogre::Camera *ogreCamera =
nullptr;