71 std::vector<SharedPtr<Lane>>
GetLanes(
80 std::vector<SharedPtr<LaneSection>>
GetSections()
const;
111 return !(*
this == rhs);
Inherit (privately) to suppress copy/move construction and assignment.
A stretch of road over which the lane layout does not change.
A single OpenDRIVE lane, identified by (road id, lane section id, lane id).
An OpenDRIVE road: a run of carriageway divided along s into lane sections, each holding the lanes.
road::RoadId GetId() const
bool operator!=(const Road &rhs) const
std::vector< SharedPtr< LaneSection > > GetSections() const
std::vector< SharedPtr< Waypoint > > GetWaypointsAt(double s, road::Lane::LaneType type=road::Lane::LaneType::Driving) const
A cross-section: one waypoint per lane of the given type at s.
road::JuncId GetJunctionId() const
Id of the junction this road belongs to, or -1 when it is not part of one.
std::vector< SharedPtr< Waypoint > > GetWaypoints(double distance, road::Lane::LaneType type=road::Lane::LaneType::Driving) const
Waypoints sampled along the road every distance metres, on every lane of the given type.
SharedPtr< const Map > _parent
SharedPtr< Junction > GetJunction() const
The junction this road belongs to, or nullptr when it is not part of one.
geom::Transform GetTransformAt(double s) const
Transform at the centre of the road at road coordinate s.
std::vector< SharedPtr< Lane > > GetLanes(double s, road::Lane::LaneType type=road::Lane::LaneType::Driving) const
Every lane of the given type present at road coordinate s, across every lane section covering it.
bool IsRHT() const
Whether traffic on this road drives on the right.
std::vector< SharedPtr< Road > > GetPreviousRoads() const
Roads that lead into this one.
road::RoadId GetSuccessorId() const
Id of the road that follows this one, as recorded in OpenDRIVE.
Road(SharedPtr< const Map > parent, road::RoadId road_id)
bool operator==(const Road &rhs) const
SharedPtr< LaneSection > GetSectionAt(double s) const
The lane section covering road coordinate s, or nullptr.
SharedPtr< Lane > GetLane(road::SectionId section_id, road::LaneId lane_id) const
double GetLength() const
Length of the road, in metres.
SharedPtr< LaneSection > GetSection(road::SectionId section_id) const
SharedPtr< Lane > GetLaneAt(double s, road::LaneId lane_id) const
The lane with this id in whichever section covers s.
std::string GetName() const
std::vector< SharedPtr< Road > > GetNextRoads() const
Roads reachable by continuing forward.
road::RoadId GetPredecessorId() const
Id of the road that precedes this one, as recorded in OpenDRIVE.
LaneType
Can be used as flags.
carla::SharedPtr< carla::client::Junction > Junction
This file contains definitions of common data structures used in traffic manager.
std::shared_ptr< T > SharedPtr