From 7123f53176e0714c144ab82be2a633891a03f6e7 Mon Sep 17 00:00:00 2001 From: Sergi Hernandez Juan <shernand@iri.upc.edu> Date: Sat, 6 Feb 2021 20:29:40 +0100 Subject: [PATCH] Solved some minor bugs. --- include/opendrive_lane.h | 2 +- src/opendrive_lane.cpp | 8 ++++---- src/opendrive_link.cpp | 2 +- src/opendrive_road.cpp | 3 ++- src/opendrive_road_node.cpp | 2 +- 5 files changed, 9 insertions(+), 8 deletions(-) diff --git a/include/opendrive_lane.h b/include/opendrive_lane.h index 7142db8..f080f58 100644 --- a/include/opendrive_lane.h +++ b/include/opendrive_lane.h @@ -198,7 +198,7 @@ class COpendriveLane * * \return the road mark identifier at the right side of the lane. */ - opendrive_mark_t get_left_road_mark(void) const; + opendrive_mark_t get_right_road_mark(void) const; /** * \brief Returns the width of the lane * diff --git a/src/opendrive_lane.cpp b/src/opendrive_lane.cpp index 0df2545..e4621b8 100644 --- a/src/opendrive_lane.cpp +++ b/src/opendrive_lane.cpp @@ -903,11 +903,11 @@ std::ostream& operator<<(std::ostream& out, COpendriveLane &lane) out << " width: " << lane.get_width() << std::endl; out << " speed: " << lane.get_speed() << std::endl; out << " Previous lanes: " << std::endl; - for(unsigned int i=0;i<previous.size();i++) - out << " Lane " << this->previous[i]->id << " in road segment " << this->previous[i]->segment->get_name() << std::endl; + for(unsigned int i=0;i<lane.prev.size();i++) + out << " Lane " << lane.prev[i]->id << " in road segment " << lane.prev[i]->segment->get_name() << std::endl; out << " Next lanes: " << std::endl; - for(unsigned int i=0;i<next.size();i++) - out << " Lane " << this->next[i]->id << " in road segment " << this->next[i]->segment->get_name() << std::endl; + for(unsigned int i=0;i<lane.next.size();i++) + out << " Lane " << lane.next[i]->id << " in road segment " << lane.next[i]->segment->get_name() << std::endl; if(lane.segment!=NULL) out << " Parent road segment: " << lane.segment->get_name() << std::endl; else diff --git a/src/opendrive_link.cpp b/src/opendrive_link.cpp index 89ecede..4243d05 100644 --- a/src/opendrive_link.cpp +++ b/src/opendrive_link.cpp @@ -198,7 +198,7 @@ const COpendriveLane &COpendriveLink::get_parent_lane(void) const } } -bool COpendriveLink::is_lane_link(void) +bool COpendriveLink::is_lane_link(void) const { if(this->lane==NULL) return false; diff --git a/src/opendrive_road.cpp b/src/opendrive_road.cpp index 486084a..e7d6236 100644 --- a/src/opendrive_road.cpp +++ b/src/opendrive_road.cpp @@ -837,6 +837,7 @@ std::vector<unsigned int> COpendriveRoad::get_sub_road(std::vector<unsigned int> COpendriveLink *link; std::vector<unsigned int> new_path_nodes; unsigned int link_index; + double distance; new_path_nodes.resize(path_nodes.size()); @@ -862,7 +863,7 @@ std::vector<unsigned int> COpendriveRoad::get_sub_road(std::vector<unsigned int> } // add the last segment node=this->nodes[path_nodes[path_nodes.size()-1]]; - link_index=node->get_closest_link(end_pose); + link_index=node->get_closest_link_index(end_pose,distance); if(link_index==(unsigned int)-1) throw CException(_HERE_,"The provided path has unconnected nodes"); link=node->links[link_index]; diff --git a/src/opendrive_road_node.cpp b/src/opendrive_road_node.cpp index 0a87c10..6551616 100644 --- a/src/opendrive_road_node.cpp +++ b/src/opendrive_road_node.cpp @@ -489,7 +489,7 @@ unsigned int COpendriveRoadNode::get_closest_link_index(TOpendriveWorldPose &pos return closest_index; } -const CopendriveLink &COpendriveRoadNode::get_closest_link(TOpendriveWorldPose &pose,double &distance,bool only_lanes,double angle_tol)const +const COpendriveLink &COpendriveRoadNode::get_closest_link(TOpendriveWorldPose &pose,double &distance,bool only_lanes,double angle_tol)const { unsigned int closest_index; -- GitLab