44 #include <geometry_msgs/PoseStamped.h>
47 #include <visualization_msgs/InteractiveMarkerFeedback.h>
48 #include <visualization_msgs/InteractiveMarker.h>
50 #include <Eigen/Geometry>
57 using visualization_msgs::InteractiveMarkerControl;
58 using visualization_msgs::InteractiveMarkerFeedback;
60 typedef std::function<void(
const visualization_msgs::InteractiveMarkerFeedbackConstPtr&)>
IMarkerCallback;
64 geometry_msgs::Pose getIdentityPose()
66 geometry_msgs::Pose pose;
67 pose.orientation.w = 1.0;
75 explicit IMarkerSimple(
const std::string& name =
"imarker",
double scale = 0.2,
76 const geometry_msgs::Pose& initial_pose = getIdentityPose(),
77 const std::string& parent_frame =
"world");
81 void setPose(
const Eigen::Isometry3d& pose);
83 void setPose(
const geometry_msgs::Pose& pose);
85 void iMarkerCallback(
const visualization_msgs::InteractiveMarkerFeedbackConstPtr& feedback);
95 void make6DofMarker(
const geometry_msgs::Pose& pose = getIdentityPose(),
double scale = 0.2,
96 const std::string& parent_frame =
"world");
101 std::string
name_ =
"imarker_simple";
109 std::shared_ptr<interactive_markers::InteractiveMarkerServer>
imarker_server_;