From 627526aa77c2a9be1b21272fb02eaa6c6c7b8d88 Mon Sep 17 00:00:00 2001 From: Sergi Hernandez Juan <shernand@iri.upc.edu> Date: Mon, 17 Oct 2022 08:27:07 +0200 Subject: [PATCH] Solved a bug when creating a sub road: remaining lenghts smaller than the resolution are ignored. --- src/opendrive_road.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/opendrive_road.cpp b/src/opendrive_road.cpp index 98f9264..a4e0dce 100644 --- a/src/opendrive_road.cpp +++ b/src/opendrive_road.cpp @@ -1119,7 +1119,7 @@ double COpendriveRoad::get_closest_pose(TOpendriveWorldPose &pose,TOpendriveWorl { double dist,min_dist=std::numeric_limits<double>::max(); TOpendriveWorldPose pose_found; - double length,closest_length; + double length,closest_length=std::numeric_limits<double>::max(); for(unsigned int i=0;i<this->nodes.size();i++) { @@ -1312,7 +1312,7 @@ std::vector<unsigned int> COpendriveRoad::get_sub_road(TOpendriveWorldPose &star new_road.add_segment(new_segment); new_segment_ref[(COpendriveRoadSegment *)segment]=new_segment; new_road.add_neighbors(segment,new_segment_ref,new_node_ref,new_lane_ref,new_link_ref,tmp_start_pose,tmp_end_pose); - while(segment!=end_segment || node_side!=end_segment_side) + while((segment!=end_segment || node_side!=end_segment_side) && rem_length>this->resolution) { segment=segment->get_next_path_segment(path_nodes,node_side,node_side); if((rem_length-segment->get_length())<0.0) -- GitLab