ed_gui_server
gui_server_plugin.h
Go to the documentation of this file.
1 #ifndef ED_GUI_SERVER_PLUGIN_H_
2 #define ED_GUI_SERVER_PLUGIN_H_
3 
4 #include <ed/plugin.h>
5 
6 #include <ed_gui_server_msgs/QueryEntities.h>
7 #include <ed_gui_server_msgs/QueryMeshes.h>
8 #include <ed_gui_server_msgs/Interact.h>
9 #include <ed_gui_server_msgs/GetEntityInfo.h>
10 #include <ed_gui_server_msgs/Map.h>
11 
12 #include <geolib/Shape.h>
13 
14 #include <ros/callback_queue.h>
15 #include <ros/service_server.h>
16 #include <ros/publisher.h>
17 
18 #include "robot.h"
19 
21 {
22 
23 public:
24 
26 
27  virtual ~GUIServerPlugin();
28 
29  void initialize(ed::InitData& init);
30 
31  void process(const ed::WorldModel& world, ed::UpdateRequest& req);
32 
33 private:
34 
35  //
36 
38 
39  ros::CallbackQueue cb_queue_;
40 
41  ros::Publisher pub_entities_;
42 
43  ros::ServiceServer srv_query_meshes_;
44 
45  ed::shared_ptr<gui::Robot> robot_;
46 
48 
49  bool srvQueryMeshes(const ed_gui_server_msgs::QueryMeshes::Request& ros_req,
50  ed_gui_server_msgs::QueryMeshes::Response& ros_res);
51 
52  ros::ServiceServer srv_query_entities_;
53 
54  bool srvQueryEntities(const ed_gui_server_msgs::QueryEntities::Request& ros_req,
55  ed_gui_server_msgs::QueryEntities::Response& ros_res);
56 
57  ros::ServiceServer srv_get_entity_info_;
58 
59  bool srvGetEntityInfo(const ed_gui_server_msgs::GetEntityInfo::Request& ros_req,
60  ed_gui_server_msgs::GetEntityInfo::Response& ros_res);
61 
62  ros::ServiceServer srv_interact_;
63 
64  bool srvInteract(const ed_gui_server_msgs::Interact::Request& ros_req,
65  ed_gui_server_msgs::Interact::Response& ros_res);
66 
67  void storeMeasurement(const std::string& id, const std::string& type);
68 
69 
70  void entityToMsg(const ed::EntityConstPtr& e, ed_gui_server_msgs::EntityInfo& msg);
71 
72  ros::ServiceServer srv_map_;
73 
80  bool srvMap(const ed_gui_server_msgs::Map::Request& req,
81  ed_gui_server_msgs::Map::Response& rep);
82 
83 };
84 
85 #endif
GUIServerPlugin::srvInteract
bool srvInteract(const ed_gui_server_msgs::Interact::Request &ros_req, ed_gui_server_msgs::Interact::Response &ros_res)
Definition: gui_server_plugin.cpp:601
ed::Plugin
robot.h
ed::UpdateRequest
std::string
GUIServerPlugin::srvGetEntityInfo
bool srvGetEntityInfo(const ed_gui_server_msgs::GetEntityInfo::Request &ros_req, ed_gui_server_msgs::GetEntityInfo::Response &ros_res)
Definition: gui_server_plugin.cpp:386
GUIServerPlugin::person_shape_
geo::Shape person_shape_
Definition: gui_server_plugin.h:47
GUIServerPlugin
Definition: gui_server_plugin.h:20
GUIServerPlugin::storeMeasurement
void storeMeasurement(const std::string &id, const std::string &type)
Definition: gui_server_plugin.cpp:577
GUIServerPlugin::entityToMsg
void entityToMsg(const ed::EntityConstPtr &e, ed_gui_server_msgs::EntityInfo &msg)
Definition: gui_server_plugin.cpp:119
Shape.h
GUIServerPlugin::pub_entities_
ros::Publisher pub_entities_
Definition: gui_server_plugin.h:41
ed::InitData
ed::EntityConstPtr
shared_ptr< const Entity > EntityConstPtr
GUIServerPlugin::~GUIServerPlugin
virtual ~GUIServerPlugin()
Definition: gui_server_plugin.cpp:214
GUIServerPlugin::srvMap
bool srvMap(const ed_gui_server_msgs::Map::Request &req, ed_gui_server_msgs::Map::Response &rep)
Generate a map based on the entities that need to be in-view.
Definition: gui_server_plugin.cpp:637
GUIServerPlugin::cb_queue_
ros::CallbackQueue cb_queue_
Definition: gui_server_plugin.h:39
GUIServerPlugin::srv_map_
ros::ServiceServer srv_map_
Definition: gui_server_plugin.h:72
GUIServerPlugin::process
void process(const ed::WorldModel &world, ed::UpdateRequest &req)
Definition: gui_server_plugin.cpp:280
GUIServerPlugin::world_model_
const ed::WorldModel * world_model_
Definition: gui_server_plugin.h:37
req
string req
ed::WorldModel
GUIServerPlugin::srv_get_entity_info_
ros::ServiceServer srv_get_entity_info_
Definition: gui_server_plugin.h:57
GUIServerPlugin::srv_query_meshes_
ros::ServiceServer srv_query_meshes_
Definition: gui_server_plugin.h:43
plugin.h
GUIServerPlugin::srvQueryEntities
bool srvQueryEntities(const ed_gui_server_msgs::QueryEntities::Request &ros_req, ed_gui_server_msgs::QueryEntities::Response &ros_res)
Definition: gui_server_plugin.cpp:309
GUIServerPlugin::GUIServerPlugin
GUIServerPlugin()
Definition: gui_server_plugin.cpp:204
GUIServerPlugin::robot_
ed::shared_ptr< gui::Robot > robot_
Definition: gui_server_plugin.h:45
GUIServerPlugin::srv_query_entities_
ros::ServiceServer srv_query_entities_
Definition: gui_server_plugin.h:52
ed::Plugin::initialize
virtual void initialize()
GUIServerPlugin::srv_interact_
ros::ServiceServer srv_interact_
Definition: gui_server_plugin.h:62
geo::Shape
GUIServerPlugin::srvQueryMeshes
bool srvQueryMeshes(const ed_gui_server_msgs::QueryMeshes::Request &ros_req, ed_gui_server_msgs::QueryMeshes::Response &ros_res)
Definition: gui_server_plugin.cpp:452