108 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).
SharedPtr< Lane > GetRightLane() const
The lane to the right, or nullptr at the edge of the road.
road::Lane::LaneType GetType() const
double GetDistance() const
The s coordinate, along the road, at which this lane's section begins.
std::vector< SharedPtr< Waypoint > > GetWaypoints(double distance) const
Waypoints along this lane, every distance metres.
SharedPtr< const Map > _parent
road::SectionId _section_id
double GetLength() const
Length of the lane, in metres.
SharedPtr< Road > GetRoad() const
SharedPtr< LaneSection > GetSection() const
road::LaneId GetId() const
std::vector< SharedPtr< Lane > > GetPreviousLanes() const
Lanes leading into this one.
SharedPtr< Lane > GetLeftLane() const
The lane to the left, or nullptr. See GetRightLane() on direction.
road::SectionId GetSectionId() const
bool operator!=(const Lane &rhs) const
std::vector< SharedPtr< Lane > > GetNextLanes() const
Lanes this one leads into. Empty where the lane ends.
double GetWidth(double s) const
Lane width at the given s, in metres.
uint64_t GetUniqueId() const
Unique id of this lane within its map, for use as a dictionary key.
bool IsPositiveDirection() const
Whether the lane runs along increasing s (a right-hand lane, id < 0).
SharedPtr< Waypoint > GetWaypoint(double s) const
The waypoint on this lane at road coordinate s, or nullptr when s falls outside the lane.
geom::Transform GetTransform(double s) const
const road::Lane & GetLane() const
The underlying OpenDRIVE lane. Valid only while _parent is alive.
Lane(SharedPtr< const Map > parent, road::RoadId road_id, road::SectionId section_id, road::LaneId lane_id)
bool operator==(const Lane &rhs) const
road::RoadId GetRoadId() const
An OpenDRIVE road: a run of carriageway divided along s into lane sections, each holding the lanes.
LaneType
Can be used as flags.
This file contains definitions of common data structures used in traffic manager.
std::shared_ptr< T > SharedPtr