55 std::vector<SharedPtr<Lane>>
GetLanes(
74 return !(*
this == rhs);
Inherit (privately) to suppress copy/move construction and assignment.
A stretch of road over which the lane layout does not change.
double GetDistance() const
The s coordinate, along the road, at which this section begins.
bool ContainsLane(road::LaneId lane_id) const
SharedPtr< Road > GetRoad() const
bool operator!=(const LaneSection &rhs) const
road::SectionId _section_id
road::SectionId GetId() const
SharedPtr< LaneSection > GetNextSection() const
The next section along the road, or nullptr at the end.
std::vector< SharedPtr< Lane > > GetLanes(road::Lane::LaneType type=road::Lane::LaneType::Driving) const
Every lane in this section of the given type.
SharedPtr< const Map > _parent
road::RoadId GetRoadId() const
SharedPtr< Lane > GetLane(road::LaneId lane_id) const
The lane with this id, or nullptr when the section has no such lane.
SharedPtr< LaneSection > GetPreviousSection() const
The previous section along the road, or nullptr at the start.
uint64_t GetUniqueId() const
Unique id of this section within its map, for use as a dictionary key.
bool operator==(const LaneSection &rhs) const
double GetLength() const
Length of the section, in metres.
LaneSection(SharedPtr< const Map > parent, road::RoadId road_id, road::SectionId section_id)
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.
LaneType
Can be used as flags.
This file contains definitions of common data structures used in traffic manager.
std::shared_ptr< T > SharedPtr