21namespace geom {
class GeoLocation;
struct GeoProjection; }
37 explicit Map(std::string name, std::string xodr_content);
59 bool project_to_road =
true,
97 std::vector<SharedPtr<Road>>
GetRoads()
const;
Inherit (privately) to suppress copy/move construction and assignment.
Class containing a reference to RoadInfoSignal.
const road::Map & GetMap() const
const geom::GeoProjection & GetGeoProjection() const
std::vector< geom::Location > GetAllCrosswalkZones() const
const std::string & GetOpenDrive() const
const std::vector< geom::Transform > & GetRecommendedSpawnPoints() const
SharedPtr< Waypoint > GetWaypointXODR(carla::road::RoadId road_id, carla::road::LaneId lane_id, float s) const
SharedPtr< Junction > GetJunctionById(road::JuncId id) const
Returns the junction with this id, or nullptr when the map has none.
SharedPtr< Waypoint > MakeWaypoint(road::element::Waypoint waypoint) const
SharedPtr< Junction > GetJunction(const Waypoint &waypoint) const
void CookInMemoryMap(const std::string &path) const
Cooks InMemoryMap used by the traffic manager.
std::string open_drive_file
SharedPtr< LaneSection > GetLaneSection(road::RoadId road_id, road::SectionId section_id) const
Returns the lane section, or nullptr when road or section is unknown.
SharedPtr< Lane > GetLane(road::RoadId road_id, road::SectionId section_id, road::LaneId lane_id) const
Returns the lane, or nullptr when road, section or lane is unknown.
std::vector< SharedPtr< Landmark > > GetLandmarksFromId(std::string id) const
Returns all the larndmarks in the map with a specific OpenDRIVE id.
std::vector< SharedPtr< Landmark > > GetAllLandmarksOfType(std::string type) const
Returns all the landmarks in the map of a specific type.
TopologyList GetTopology() const
const rpc::MapInfo _description
const geom::GeoLocation & GetGeoReference() const
SharedPtr< Road > GetRoad(road::RoadId road_id) const
Returns the road with this id, or nullptr when the map has none.
std::vector< SharedPtr< Landmark > > GetLandmarkGroup(const Landmark &landmark) const
Returns all the landmarks in the same group including this one.
std::vector< road::element::LaneMarking > CalculateCrossedLanes(const geom::Location &origin, const geom::Location &destination) const
SharedPtr< Waypoint > GetWaypoint(const geom::Location &location, bool project_to_road=true, int32_t lane_type=static_cast< uint32_t >(road::Lane::LaneType::Driving)) const
std::vector< std::pair< SharedPtr< Waypoint >, SharedPtr< Waypoint > > > TopologyList
std::vector< SharedPtr< Junction > > GetJunctions() const
Returns every junction in the map.
std::vector< SharedPtr< Road > > GetRoads() const
Returns every road in the map.
std::vector< SharedPtr< Landmark > > GetAllLandmarks() const
Returns all the larndmarks in the map.
const std::string & GetName() const
std::vector< SharedPtr< Waypoint > > GenerateWaypoints(double distance) const
std::vector< std::pair< SharedPtr< Waypoint >, SharedPtr< Waypoint > > > GetJunctionWaypoints(road::JuncId id, road::Lane::LaneType type) const
Returns a pair of waypoints (start and end) for each lane in the junction.
LaneType
Can be used as flags.
std::vector< geom::Transform > recommended_spawn_points
carla::SharedPtr< carla::client::Junction > Junction
This file contains definitions of common data structures used in traffic manager.
std::shared_ptr< T > SharedPtr