18 using Tags = std::map<std::string, std::string>;
21 const auto it =
tags.find(key);
22 return (it ==
tags.end()) ? nullptr : &it->second;
25 inline bool HasTag(
const Tags &
tags,
const std::string &key,
const std::string &value) {
27 return (found !=
nullptr) && (*found == value);
std::map< std::string, unsigned int > road
std::vector< Point3 > Line3
bg::model::d2::point_xy< double > Point
SignalKind
OpenDRIVE type/subtype follow road/SignalType.h; the crosswalk is not a signal in CARLA but an <objec...
const std::string * FindTag(const Tags &tags, const std::string &key)
bool HasTag(const Tags &tags, const std::string &key, const std::string &value)
std::map< std::string, std::string > Tags
SignalType GetSignalType(SignalKind kind)
const char * ToString(LaneType type)
std::vector< LaneLink > lane_links
ContactPoint contact_point
std::string connecting_road
std::string incoming_road
std::vector< std::string > signal_ids
std::vector< long long > osm_node_ids
std::optional< geom::Polygon > polygon
std::vector< long long > osm_way_ids
std::vector< Connection > connections
One lane of a road, numbered outward from the reference line.
std::optional< Marking > marking
std::optional< double > speed_limit
std::optional< int > successor_lane
std::optional< int > predecessor_lane
Lane this one continues from / into on the linked road; OpenDRIVE's <lane><link>, which is what lets ...
std::optional< int > layer
std::optional< geom::LineString > geometry
std::optional< ContactPoint > contact
std::vector< Lane > lanes
std::optional< RoadLink > successor
geom::Line3 reference_line
std::optional< RoadLink > predecessor
std::optional< std::string > junction_id
std::vector< long long > osm_way_ids
std::optional< Marking > center_marking
std::optional< long long > osm_node_id
std::vector< std::pair< int, int > > validities
std::optional< std::string > controller_id
std::optional< double > value
Everything the OpenDRIVE writer reads.
std::vector< Signal > signals
std::vector< Road > roads
const Road * FindRoad(const std::string &id) const
std::vector< Controller > controllers
std::vector< Junction > junctions