How to use use rviz_visual_tools deleteAllMarkers?
Hello
I am publishing visualizationmsgs::MarkerArray on a topic "/xyz" with frameid "map" which is being displayed on rviz. But i want to delete previous MarkerArray before displaying new one. For that i am trying to use rvizvisualtools. Here is my function which i want to do this task:
void Server::publishMarkerArray(const ros::Time& rostime, KeySet& c_Cells)
{
visualization_msgs::Marker frontierNode;
visualization_msgs::MarkerArray frontierNodesVis;
geometry_msgs::Point32 candidate_center;
// Delete previous markers before new one
rviz_visual_tools::RvizVisualTools rviz("map", "/xyz");
rviz.deleteAllMarkers();
// Make new Markers
for (KeySet::iterator iter= c_Cells.begin(), end=c_Cells.end(); iter !=end; ++iter)
{
octomap::point3d f_can_point;
f_can_point = m_octree->keyToCoord(*iter);
geometry_msgs::Point cubeCenter;
cubeCenter.x = f_can_point.x();
cubeCenter.y = f_can_point.y();
cubeCenter.z = f_can_point.z();
frontierNode.points.push_back(cubeCenter);
}
frontierNodesVis.markers.push_back(frontierNode);
// Make MarkerArray
for (unsigned i= 0; i < frontierNodesVis.markers.size(); ++i)
{
frontierNodesVis.markers[i].header.frame_id = m_worldFrameId;
frontierNodesVis.markers[i].header.stamp = rostime;
frontierNodesVis.markers[i].ns = "map";
frontierNodesVis.markers[i].id = i;
frontierNodesVis.markers[i].type = visualization_msgs::Marker::CUBE_LIST;
frontierNodesVis.markers[i].scale.x = 0.1;
frontierNodesVis.markers[i].scale.y = 0.1;
frontierNodesVis.markers[i].scale.z = 0.1;
frontierNodesVis.markers[i].color = m_colorFrontier;
if (frontierNodesVis.markers[i].points.size() > 0)
frontierNodesVis.markers[i].action = visualization_msgs::Marker::ADD;
else
frontierNodesVis.markers[i].action = visualization_msgs::Marker::DELETE;
}
// Publish MarkerArray
markerPub.publish(frontierNodesVis);
//Clear MarkerArray
frontierNodesVis.markers.clear();
}
And my publisher def is
markerPub = m_nh.advertise<visualization_msgs::MarkerArray>("xyz", 1, false);
Markers are being published but previous ones are not getting deleted. Pls advice.
Asked by usamamaq on 2019-07-26 08:04:08 UTC
Comments