66 explicit Map(rpc::MapInfo description, std::string xodr_content);
73 explicit Map(std::string name, std::string xodr_content);
83 const std::string &GetName()
const {
84 return _description.name;
91 const road::Map &GetMap()
const {
99 const std::string &GetOpenDrive()
const {
100 return open_drive_file;
107 const std::vector<geom::Transform> &GetRecommendedSpawnPoints()
const {
108 return _description.recommended_spawn_points;
118 SharedPtr<Waypoint> GetWaypoint(
119 const geom::Location &location,
120 bool project_to_road =
true,
121 int32_t lane_type =
static_cast<uint32_t
>(road::Lane::LaneType::Driving))
const;
130 SharedPtr<Waypoint> GetWaypointXODR(
137 using TopologyList = std::vector<std::pair<SharedPtr<Waypoint>, SharedPtr<Waypoint>>>;
150 std::vector<SharedPtr<Waypoint>> GenerateWaypoints(
double distance)
const;
158 std::vector<road::element::LaneMarking> CalculateCrossedLanes(
159 const geom::Location &origin,
160 const geom::Location &destination)
const;
166 const geom::GeoLocation &GetGeoReference()
const;
172 std::vector<geom::Location> GetAllCrosswalkZones()
const;
179 SharedPtr<Junction> GetJunction(
const Waypoint &waypoint)
const;
188 std::vector<std::pair<SharedPtr<Waypoint>, SharedPtr<Waypoint>>> GetJunctionWaypoints(
189 road::JuncId
id, road::Lane::LaneType type)
const;
196 std::vector<SharedPtr<Landmark>> GetAllLandmarks()
const;
204 std::vector<SharedPtr<Landmark>> GetLandmarksFromId(std::string
id)
const;
212 std::vector<SharedPtr<Landmark>> GetAllLandmarksOfType(std::string type)
const;
220 std::vector<SharedPtr<Landmark>> GetLandmarkGroup(
const Landmark &landmark)
const;
227 void CookInMemoryMap(
const std::string& path)
const;
231 std::string open_drive_file;
233 const rpc::MapInfo _description;
235 const road::Map _map;
地图类的前向声明,用于在LaneInvasionSensor类中可能的引用。
carla::SharedPtr< carla::client::Junction > Junction
std::vector< std::pair< WaypointPtr, WaypointPtr > > TopologyList