22 #ifndef _RENDERING_DEPTHCAMERA_HH_
23 #define _RENDERING_DEPTHCAMERA_HH_
63 ScenePtr _scene,
bool _autoRender =
true);
70 public:
void Load(sdf::ElementPtr &_sdf);
99 public:
template<
typename T>
101 {
return newDepthFrame.
Connect(_subscriber); }
111 public:
template<
typename T>
113 {
return newRGBPointCloud.
Connect(_subscriber); }
122 private:
virtual void RenderImpl();
128 private:
void UpdateRenderTarget(Ogre::RenderTarget *_target,
129 Ogre::Material *_material,
130 const std::string &_matName);
142 private:
float *depthBuffer;
145 private: Ogre::Material *depthMaterial;
148 private:
bool outputPoints;
151 private:
float *pcdBuffer;
154 private: Ogre::Viewport *pcdViewport;
157 private: Ogre::Material *pcdMaterial;
160 private: Ogre::Texture *pcdTexture;
163 private: Ogre::RenderTarget *pcdTarget;
166 private:
event::EventT<void(
const float *,
unsigned int,
unsigned int,
167 unsigned int,
const std::string &)> newRGBPointCloud;
170 private:
event::EventT<void(
const float *,
unsigned int,
unsigned int,
171 unsigned int,
const std::string &)> newDepthFrame;