00001 #ifndef OFFSCREEN_RENDERER_ROBOT_RENDERER_H 00002 #define OFFSCREEN_RENDERER_ROBOT_RENDERER_H 00003 00004 #include "rve_render_client/client_context.h" 00005 #include "rve_render_server/init.h" 00006 #include "rve_render_client/init.h" 00007 #include "rve_render_client/render_offscreen.h" 00008 #include "rve_render_client/scene.h" 00009 #include "rve_render_client/camera.h" 00010 #include <rve_transformer/transformer_manager.h> 00011 #include <tf/tfMessage.h> 00012 00013 namespace offscreen_renderer 00014 { 00015 class OffscreenRenderer 00016 { 00017 00018 public: 00019 OffscreenRenderer(const rve_render_client::ClientContextPtr& p_context, 00020 const std::string &p_camera_topic, 00021 ros::NodeHandle &p_nh); 00022 00023 00024 ~OffscreenRenderer(){} 00025 void tfSubscriberCb(const boost::shared_ptr<tf::tfMessage const>& p_msg); 00026 00027 private: 00028 00029 rve_render_client::ClientContextPtr context_; 00030 rve_render_client::ScenePtr scene_; 00031 rve_render_client::CameraPtr camera_; 00032 00033 rve_transformer::TransformerManagerPtr transformer_manager_; 00034 00035 ros::Subscriber tf_subs_; 00036 rve_render_client::RenderOffscreenPtr render_offscreen_; 00037 }; 00038 } 00039 00040 #endif // OFFSCREEN_RENDERER_ROBOT_RENDERER_H