00001 00059 /* 00060 * table_visualization.h 00061 * 00062 * Created on: Sep 19, 2012 00063 * Author: goa-sn 00064 */ 00065 00066 #ifndef TABLE_VISUALIZATION_H_ 00067 #define TABLE_VISUALIZATION_H_ 00068 00069 //################## 00070 //#### includes #### 00071 // standard includes 00072 #include <stdio.h> 00073 #include <sstream> 00074 00075 // ros includes 00076 #include <ros/ros.h> 00077 #include <cob_3d_mapping_msgs/ShapeArray.h> 00078 #include <cob_3d_mapping_msgs/GetObjectsOfClass.h> 00079 #include <cob_3d_mapping_msgs/GetTables.h> 00080 #include <cob_3d_visualization/table_marker.h> 00081 00082 //#include <cob_3d_mapping_msgs/GetTables.h> 00083 00084 00085 class TableVisualization 00086 { 00087 public: 00088 // Constructor 00089 TableVisualization () 00090 00091 { 00092 ctr_ = 0 ; 00093 // simple_nh_("move_base_linear_simple") ; 00094 00095 table_array_sub_ = nh_.subscribe ("table_array", 1, &TableVisualization::tableVisualizationCallback, this); 00096 table_im_server_.reset (new interactive_markers::InteractiveMarkerServer ("geometry_map/map", "", false)); 00097 // goal_pub_ = nh_.advertise<geometry_msgs::PoseStamped>("/move_base_linear_simple/goal", 1); 00098 00099 00100 } 00101 // Destructor 00102 ~TableVisualization () 00103 { 00104 00105 } 00106 00107 void tableVisualizationCallback (const cob_3d_mapping_msgs::ShapeArrayPtr& ta); 00108 00109 00110 00111 protected: 00112 00113 ros::NodeHandle nh_; 00114 // ros::NodeHandle simple_nh_; 00115 ros::Subscriber table_array_sub_ ; 00116 ros::Publisher goal_pub_ ; 00117 std::vector<boost::shared_ptr<TableMarker> > v_tm_; 00118 boost::shared_ptr<interactive_markers::InteractiveMarkerServer> table_im_server_; 00119 00120 00121 00122 int ctr_; 00123 }; 00124 00125 #endif /* TABLE_VISUALIZATION_H_ */