diff --git a/include/opendrive_lane.h b/include/opendrive_lane.h index 7142db8ed184b77b5fb5458bbee32caf836f2fac..f080f58b737c362a8cb0d8e0eb7e5d662397da72 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 0df25457723f00ec87eab13add652b53b757efa7..e4621b82bb63e5ece82f628977c87cd9ecae6b3d 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 89ecedefcee6bd4b28672c56cf534f93a86d62d8..4243d05e6817746bb4667beb526355bf1671c681 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 486084a0a2bbe21e54cb2b2a717b0531abd5095e..e7d6236174cbf26fe5886d36fa14596ed7d876e8 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 0a87c10b464c8c6896430982fa119a658140b75c..6551616292dd51f096af8d6e7f13368c5a6cf105 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;