Use trajectory ID as namespace for trajectory marker (#473)
Also simplifies marker IDs since they must only be unique within a unique namespace.master
parent
ab1ca30353
commit
7f616b4cc7
|
@ -169,13 +169,13 @@ visualization_msgs::MarkerArray MapBuilderBridge::GetTrajectoryNodeList() {
|
||||||
visualization_msgs::MarkerArray trajectory_node_list;
|
visualization_msgs::MarkerArray trajectory_node_list;
|
||||||
const auto all_trajectory_nodes =
|
const auto all_trajectory_nodes =
|
||||||
map_builder_.sparse_pose_graph()->GetTrajectoryNodes();
|
map_builder_.sparse_pose_graph()->GetTrajectoryNodes();
|
||||||
int marker_id = 0;
|
|
||||||
for (int trajectory_id = 0;
|
for (int trajectory_id = 0;
|
||||||
trajectory_id < static_cast<int>(all_trajectory_nodes.size());
|
trajectory_id < static_cast<int>(all_trajectory_nodes.size());
|
||||||
++trajectory_id) {
|
++trajectory_id) {
|
||||||
const auto& single_trajectory_nodes = all_trajectory_nodes[trajectory_id];
|
const auto& single_trajectory_nodes = all_trajectory_nodes[trajectory_id];
|
||||||
visualization_msgs::Marker marker;
|
visualization_msgs::Marker marker;
|
||||||
marker.id = marker_id++;
|
marker.ns = "Trajectory " + std::to_string(trajectory_id);
|
||||||
|
marker.id = 0;
|
||||||
marker.type = visualization_msgs::Marker::LINE_STRIP;
|
marker.type = visualization_msgs::Marker::LINE_STRIP;
|
||||||
marker.header.stamp = ::ros::Time::now();
|
marker.header.stamp = ::ros::Time::now();
|
||||||
marker.header.frame_id = node_options_.map_frame;
|
marker.header.frame_id = node_options_.map_frame;
|
||||||
|
@ -198,7 +198,7 @@ visualization_msgs::MarkerArray MapBuilderBridge::GetTrajectoryNodeList() {
|
||||||
// trajectory into multiple markers.
|
// trajectory into multiple markers.
|
||||||
if (marker.points.size() == 16384) {
|
if (marker.points.size() == 16384) {
|
||||||
trajectory_node_list.markers.push_back(marker);
|
trajectory_node_list.markers.push_back(marker);
|
||||||
marker.id = marker_id++;
|
++marker.id;
|
||||||
marker.points.clear();
|
marker.points.clear();
|
||||||
// Push back the last point, so the two markers appear connected.
|
// Push back the last point, so the two markers appear connected.
|
||||||
marker.points.push_back(node_point);
|
marker.points.push_back(node_point);
|
||||||
|
|
Loading…
Reference in New Issue