From 67ca0f935d0eeaf0460000fe677f1c4cf2d3b876 Mon Sep 17 00:00:00 2001 From: omid Date: Wed, 1 Jul 2020 19:06:32 -0600 Subject: [PATCH 1/2] initial decleration --- include/rviz_visual_tools/rviz_visual_tools.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/rviz_visual_tools/rviz_visual_tools.h b/include/rviz_visual_tools/rviz_visual_tools.h index 8245b82..3b01d0e 100644 --- a/include/rviz_visual_tools/rviz_visual_tools.h +++ b/include/rviz_visual_tools/rviz_visual_tools.h @@ -217,6 +217,8 @@ class RvizVisualTools */ void resetMarkerCounts(); + void removeMarkerWithID(int id); + /** * \brief Pre-load rviz markers for better efficiency * \return converted pose * \return true on sucess From ffdc7cc65879ba8ee9ce1297670f08fc40082b9e Mon Sep 17 00:00:00 2001 From: omid Date: Wed, 1 Jul 2020 19:26:21 -0600 Subject: [PATCH 2/2] added the definition of the function --- include/rviz_visual_tools/rviz_visual_tools.h | 3 +++ src/rviz_visual_tools.cpp | 15 +++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/include/rviz_visual_tools/rviz_visual_tools.h b/include/rviz_visual_tools/rviz_visual_tools.h index 3b01d0e..05de738 100644 --- a/include/rviz_visual_tools/rviz_visual_tools.h +++ b/include/rviz_visual_tools/rviz_visual_tools.h @@ -217,6 +217,9 @@ class RvizVisualTools */ void resetMarkerCounts(); + /** + * \brief Remove a specific marker with the given id. + */ void removeMarkerWithID(int id); /** diff --git a/src/rviz_visual_tools.cpp b/src/rviz_visual_tools.cpp index 30f7676..7abdced 100644 --- a/src/rviz_visual_tools.cpp +++ b/src/rviz_visual_tools.cpp @@ -80,6 +80,21 @@ bool RvizVisualTools::deleteAllMarkers() return publishMarker(reset_marker_); } +void RvizVisualTools::removeMarkerWithID(int id) +{ + visualization_msgs::Marker empty_marker; + empty_marker.header.frame_id = base_frame_; + empty_marker.id = id; + empty_marker.header.stamp = ros::Time(); + empty_marker.ns = "deleteAllMarkers"; + empty_marker.action = 3; + empty_marker.pose.orientation.w = 1; + + visualization_msgs::MarkerArray empty_marker_array; + empty_marker_array.markers.push_back(empty_marker); + pub_rviz_markers_.publish(empty_marker_array); +} + void RvizVisualTools::resetMarkerCounts() { arrow_marker_.id++;