18 #ifndef IGNITION_RENDERING_OGRE_OGREDEPTHCAMERA_HH_ 19 #define IGNITION_RENDERING_OGRE_OGREDEPTHCAMERA_HH_ 57 inline namespace IGNITION_RENDERING_VERSION_NAMESPACE {
60 class OgreDepthCameraPrivate;
65 class IGNITION_RENDERING_OGRE_VISIBLE OgreDepthCamera :
67 public virtual BaseDepthCamera<OgreSensor>,
68 public virtual OgreObjectInterface
71 protected: OgreDepthCamera();
74 public:
virtual ~OgreDepthCamera();
77 public:
virtual void Init()
override;
80 public:
virtual void CreateDepthTexture()
override;
83 public:
virtual void PostRender()
override;
87 public:
virtual const float *DepthData()
const override;
94 unsigned int,
const std::string &)> _subscriber)
override;
100 std::function<
void(
const float *,
unsigned int,
unsigned int,
101 unsigned int,
const std::string &)> _subscriber)
override;
104 public:
virtual void PreRender()
override;
107 public:
virtual void Render()
override;
111 public:
virtual void SetFarClipPlane(
const double _far)
override;
115 public:
virtual void SetNearClipPlane(
const double _near)
override;
120 public:
double NearClipPlane()
const override;
125 public:
double FarClipPlane()
const override;
128 public:
virtual void Destroy()
override;
131 public:
virtual Ogre::Camera *Camera()
const override;
138 Ogre::Material *_material,
149 protected:
static double LimitFOV(
const double _fov);
152 protected:
void CreateCamera();
155 private:
void CreatePointCloudTexture();
158 protected:
bool newData =
false;
160 protected:
bool captureData =
false;
166 protected: Ogre::Viewport *depthViewport =
nullptr;
shared_ptr< RenderTarget > RenderTargetPtr
Shared pointer to RenderTarget.
Definition: RenderTypes.hh:230
Ogre::Camera * ogreCamera
Pointer to the ogre camera.
Definition: OgreDepthCamera.hh:169
OgreRenderTexturePtr depthTexture
Pointer to the depth texture.
Definition: OgreDepthCamera.hh:163
A Ray Query class used for computing ray object intersections.
Definition: OgreRayQuery.hh:39
shared_ptr< OgreRenderTexture > OgreRenderTexturePtr
Definition: OgreRenderTypes.hh:115
Definition: OgreCamera.hh:28
Definition: OgreScene.hh:39