CARLA
 
载入中...
搜索中...
未找到
MapData.cpp
浏览该文件的文档.
1// Copyright (c) 2017 Computer Vision Center (CVC) at the Universitat Autonoma
2// de Barcelona (UAB).
3//
4// This work is licensed under the terms of the MIT license.
5// For a copy, see <https://opensource.org/licenses/MIT>.
6
7#include "carla/road/MapData.h" // 引入地图数据的头文件
8#include "carla/road/Lane.h" // 引入车道的头文件
9
10namespace carla {
11namespace road {
12
13 std::unordered_map<RoadId, Road> &MapData::GetRoads() { // 获取道路的引用
14 return _roads; // 返回道路集合
15 }
16
17 std::unordered_map<JuncId, Junction> &MapData::GetJunctions() { // 获取交叉口的引用
18 return _junctions; // 返回交叉口集合
19 }
20
21 Road &MapData::GetRoad(const RoadId id) { // 根据ID获取特定道路的引用
22 return _roads.at(id); // 查找并返回对应的道路
23 }
24
25 const Road &MapData::GetRoad(const RoadId id) const { // 常量版本,根据ID获取特定道路的引用
26 return const_cast<MapData *>(this)->GetRoad(id); // 将当前对象转换为非const并调用GetRoad
27 }
28
29 Junction *MapData::GetJunction(JuncId id) { // 根据ID获取特定交叉口的指针
30 const auto search = _junctions.find(id); // 在交叉口集合中查找ID
31 if (search != _junctions.end()) { // 如果找到了
32 return &search->second; // 返回找到的交叉口的指针
33 }
34 return nullptr; // 如果没找到,返回空指针
35 }
36
37 const Junction *MapData::GetJunction(JuncId id) const { // 常量版本,根据ID获取特定交叉口的指针
38 const auto search = _junctions.find(id); // 在交叉口集合中查找ID
39 if (search != _junctions.end()) { // 如果找到了
40 return &search->second; // 返回找到的交叉口的指针
41 }
42 return nullptr; // 如果没找到,返回空指针
43 }
44} // namespace road
45} // namespace carla
std::unordered_map< RoadId, Road > _roads
Definition MapData.h:94
std::unordered_map< RoadId, Road > & GetRoads()
Definition MapData.cpp:13
Road & GetRoad(const RoadId id)
Definition MapData.cpp:21
std::unordered_map< JuncId, Junction > _junctions
Definition MapData.h:96
std::unordered_map< JuncId, Junction > & GetJunctions()
Definition MapData.cpp:17
Junction * GetJunction(JuncId id)
Definition MapData.cpp:29
int32_t JuncId
Definition RoadTypes.h:23
uint32_t RoadId
Definition RoadTypes.h:20
CARLA模拟器的主命名空间。
Definition Carla.cpp:139