00001 #include <ros/ros.h> 00002 #include <interactive_markers/interactive_marker_server.h> 00003 #include <jsk_interactive_marker/interactive_marker_helpers.h> 00004 00005 #include <interactive_markers/menu_handler.h> 00006 #include <jsk_interactive_marker/SetPose.h> 00007 #include <jsk_interactive_marker/MarkerSetPose.h> 00008 00009 class TriangleFoot{ 00010 public: 00011 visualization_msgs::Marker makeTriangleMarker(); 00012 visualization_msgs::Marker makeRFootMarker(); 00013 visualization_msgs::Marker makeLFootMarker(); 00014 visualization_msgs::Marker makeFootMarker(geometry_msgs::Pose pose); 00015 visualization_msgs::InteractiveMarker makeInteractiveMarker(); 00016 void moveBoxCb( const visualization_msgs::InteractiveMarkerFeedbackConstPtr &feedback); 00017 void reverseTriangleCb( const visualization_msgs::InteractiveMarkerFeedbackConstPtr &feedback); 00018 void updateBoxInteractiveMarker(); 00019 interactive_markers::MenuHandler makeMenuHandler(); 00020 00021 TriangleFoot (); 00022 private: 00023 ros::NodeHandle nh_; 00024 ros::NodeHandle pnh_; 00025 boost::shared_ptr<interactive_markers::InteractiveMarkerServer> server_; 00026 00027 std::string server_name; 00028 std::string marker_name; 00029 00030 interactive_markers::MenuHandler menu_handler; 00031 double size_; 00032 bool reverse; 00033 };