From ffd3660b4dd7bd25725f9abdbd0b84a63595bdbd Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 6 Mar 2026 17:41:54 +0000 Subject: [PATCH 1/2] Initial plan From 9d9ad62743eb9ff3c781c0709f015b69724a71b8 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 6 Mar 2026 17:47:26 +0000 Subject: [PATCH 2/2] Add road_predecessor_id and road_successor_id properties to Waypoint Python API Co-authored-by: Blyron <53337103+Blyron@users.noreply.github.com> --- LibCarla/source/carla/client/Waypoint.cpp | 8 ++++++++ LibCarla/source/carla/client/Waypoint.h | 4 ++++ PythonAPI/carla/source/libcarla/Map.cpp | 2 ++ 3 files changed, 14 insertions(+) diff --git a/LibCarla/source/carla/client/Waypoint.cpp b/LibCarla/source/carla/client/Waypoint.cpp index c046a24b16c..1cc42e53cdf 100644 --- a/LibCarla/source/carla/client/Waypoint.cpp +++ b/LibCarla/source/carla/client/Waypoint.cpp @@ -266,5 +266,13 @@ namespace client { return _parent->GetMap().GetLane(_waypoint).GetRoad()->IsRHT(); } + road::RoadId Waypoint::GetRoadSuccessor() const { + return _parent->GetMap().GetLane(_waypoint).GetRoad()->GetSuccessor(); + } + + road::RoadId Waypoint::GetRoadPredecessor() const { + return _parent->GetMap().GetLane(_waypoint).GetRoad()->GetPredecessor(); + } + } // namespace client } // namespace carla diff --git a/LibCarla/source/carla/client/Waypoint.h b/LibCarla/source/carla/client/Waypoint.h index f782e793380..c05564ecc1b 100644 --- a/LibCarla/source/carla/client/Waypoint.h +++ b/LibCarla/source/carla/client/Waypoint.h @@ -104,6 +104,10 @@ namespace client { bool IsRHT() const; + road::RoadId GetRoadSuccessor() const; + + road::RoadId GetRoadPredecessor() const; + private: friend class Map; diff --git a/PythonAPI/carla/source/libcarla/Map.cpp b/PythonAPI/carla/source/libcarla/Map.cpp index 24581899e90..b81b94a92b3 100644 --- a/PythonAPI/carla/source/libcarla/Map.cpp +++ b/PythonAPI/carla/source/libcarla/Map.cpp @@ -307,6 +307,8 @@ void export_map() { .add_property("right_lane_marking", CALL_RETURNING_OPTIONAL(cc::Waypoint, GetRightLaneMarking)) .add_property("left_lane_marking", CALL_RETURNING_OPTIONAL(cc::Waypoint, GetLeftLaneMarking)) .add_property("is_rht", &cc::Waypoint::IsRHT) + .add_property("road_predecessor_id", &cc::Waypoint::GetRoadPredecessor) + .add_property("road_successor_id", &cc::Waypoint::GetRoadSuccessor) .def("next", CALL_RETURNING_LIST_1(cc::Waypoint, GetNext, double), (args("distance"))) .def("previous", CALL_RETURNING_LIST_1(cc::Waypoint, GetPrevious, double), (args("distance"))) .def("next_until_lane_end", CALL_RETURNING_LIST_1(cc::Waypoint, GetNextUntilLaneEnd, double), (args("distance")))