此类构建一个离散的本地地图缓存。 使用世界实例化该类并运行SetUp()构造本地地图。 更多...
#include <InMemoryMap.h>
Public 成员函数 | |
NodeList | GetDenseTopology () const |
此方法返回本地缓存中离散样本的完整列表。 | |
const cc::Map & | GetMap () const |
std::string | GetMapName () |
SimpleWaypointPtr | GetWaypoint (const cg::Location loc) const |
此方法返回给定位置上最近的路径点。 | |
NodeList | GetWaypointsInDelta (const cg::Location loc, const uint16_t n_points, const float random_sample) const |
此方法返回与自我车辆距离一定范围内的n个路径点。 | |
InMemoryMap (WorldMap world_map) | |
bool | Load (const std::vector< uint8_t > &content) |
void | SetUp () |
此方法以采样分辨率构建本地地图。 | |
~InMemoryMap () | |
静态 Public 成员函数 | |
static void | Cook (WorldMap world_map, const std::string &path) |
Private 成员函数 | |
void | FindAndLinkLaneChange (SimpleWaypointPtr reference_waypoint) |
此方法用于查找和链接车道变更连接。 | |
NodeList | GetPredecessors (const SegmentId segment_id, const SegmentTopology &segment_topology, const SegmentMap &segment_map) |
SegmentId | GetSegmentId (const SimpleWaypointPtr &swp) const |
SegmentId | GetSegmentId (const WaypointPtr &wp) const |
计算给定路径点的段ID。 ID考虑了OpenDrive的道路ID、车道ID和分段ID。 | |
NodeList | GetSuccessors (const SegmentId segment_id, const SegmentTopology &segment_topology, const SegmentMap &segment_map) |
void | Save (const std::string &path) |
void | SetUpDenseTopology () |
void | SetUpRoadOption () |
void | SetUpSpatialTree () |
Private 属性 | |
WorldMap | _world_map |
保存构造函数接收的世界地图对象。 | |
NodeList | dense_topology |
存储所有自定义路径点对象的结构,经过稀疏拓扑插值处理。 | |
Rtree | rtree |
用于索引和查询路径点的空间二维R树。 | |
此类构建一个离散的本地地图缓存。 使用世界实例化该类并运行SetUp()构造本地地图。
在文件 InMemoryMap.h 第 62 行定义.
carla::traffic_manager::InMemoryMap::InMemoryMap | ( | WorldMap | world_map | ) |
在文件 InMemoryMap.cpp 第 25 行定义.
carla::traffic_manager::InMemoryMap::~InMemoryMap | ( | ) |
在文件 InMemoryMap.cpp 第 27 行定义.
|
static |
|
private |
此方法用于查找和链接车道变更连接。
检查过境
左转航路点仅存在
仅显示正确的航路点
左右两侧均显示交通状况
右转航路点
左转航路点
无中转航点(左或右)
在文件 InMemoryMap.cpp 第 521 行定义.
引用了 GetWaypoint().
被这些函数引用 SetUp().
NodeList carla::traffic_manager::InMemoryMap::GetDenseTopology | ( | ) | const |
const cc::Map & carla::traffic_manager::InMemoryMap::GetMap | ( | ) | const |
在文件 InMemoryMap.cpp 第 592 行定义.
引用了 _world_map.
std::string carla::traffic_manager::InMemoryMap::GetMapName | ( | ) |
|
private |
在文件 InMemoryMap.cpp 第 62 行定义.
引用了 GetPredecessors().
被这些函数引用 GetPredecessors() , 以及 SetUp().
|
private |
|
private |
计算给定路径点的段ID。 ID考虑了OpenDrive的道路ID、车道ID和分段ID。
在文件 InMemoryMap.cpp 第 30 行定义.
被这些函数引用 GetSegmentId() , 以及 SetUp().
|
private |
在文件 InMemoryMap.cpp 第 43 行定义.
引用了 GetSuccessors().
被这些函数引用 GetSuccessors() , 以及 SetUp().
SimpleWaypointPtr carla::traffic_manager::InMemoryMap::GetWaypoint | ( | const cg::Location | loc | ) | const |
此方法返回给定位置上最近的路径点。
在文件 InMemoryMap.cpp 第 476 行定义.
引用了 rtree, carla::geom::Vector3D::x, carla::geom::Vector3D::y , 以及 carla::geom::Vector3D::z.
被这些函数引用 FindAndLinkLaneChange().
NodeList carla::traffic_manager::InMemoryMap::GetWaypointsInDelta | ( | const cg::Location | loc, |
const uint16_t | n_points, | ||
const float | random_sample ) const |
此方法返回与自我车辆距离一定范围内的n个路径点。
在文件 InMemoryMap.cpp 第 489 行定义.
引用了 carla::traffic_manager::constants::Map::DELTA, rtree, carla::geom::Vector3D::x, carla::geom::Vector3D::y, carla::geom::Vector3D::z , 以及 carla::traffic_manager::constants::Map::Z_DELTA.
bool carla::traffic_manager::InMemoryMap::Load | ( | const std::vector< uint8_t > & | content | ) |
在文件 InMemoryMap.cpp 第 122 行定义.
引用了 _world_map, dense_topology, carla::traffic_manager::CachedSimpleWaypoint::geodesic_grid_id, carla::traffic_manager::CachedSimpleWaypoint::is_junction, carla::traffic_manager::CachedSimpleWaypoint::lane_id, carla::traffic_manager::CachedSimpleWaypoint::Read(), carla::traffic_manager::CachedSimpleWaypoint::road_id, carla::traffic_manager::CachedSimpleWaypoint::road_option, carla::traffic_manager::CachedSimpleWaypoint::s, SetUpSpatialTree() , 以及 carla::traffic_manager::CachedSimpleWaypoint::waypoint_id.
|
private |
在文件 InMemoryMap.cpp 第 87 行定义.
引用了 dense_topology, GetMapName(), carla::log_error() , 以及 carla::traffic_manager::CachedSimpleWaypoint::Write().
被这些函数引用 Cook().
void carla::traffic_manager::InMemoryMap::SetUp | ( | ) |
此方法以采样分辨率构建本地地图。
在文件 InMemoryMap.cpp 第 176 行定义.
引用了 _world_map, dense_topology, FindAndLinkLaneChange(), GetPredecessors(), GetSegmentId(), GetSuccessors(), carla::traffic_manager::constants::Map::MAX_GEODESIC_GRID_LENGTH, carla::traffic_manager::constants::LaneChange::MAX_WPT_DISTANCE, carla::traffic_manager::constants::Map::MAX_WPT_RADIANS, carla::traffic_manager::constants::Map::MIN_LANE_WIDTH, SetUpRoadOption() , 以及 SetUpSpatialTree().
被这些函数引用 Cook().
|
private |
|
private |
在文件 InMemoryMap.cpp 第 388 行定义.
引用了 dense_topology, carla::traffic_manager::LaneFollow, carla::traffic_manager::Left, carla::traffic_manager::Right, carla::traffic_manager::RoadEnd, carla::traffic_manager::Straight, carla::traffic_manager::constants::Map::STRAIGHT_DEG , 以及 carla::traffic_manager::Void.
被这些函数引用 SetUp().
|
private |
在文件 InMemoryMap.cpp 第 378 行定义.
引用了 dense_topology, rtree, carla::geom::Vector3D::x, carla::geom::Vector3D::y , 以及 carla::geom::Vector3D::z.
|
private |
|
private |
存储所有自定义路径点对象的结构,经过稀疏拓扑插值处理。
在文件 InMemoryMap.h 第 69 行定义.
被这些函数引用 GetDenseTopology(), Load(), Save(), SetUp(), SetUpRoadOption() , 以及 SetUpSpatialTree().
|
private |
用于索引和查询路径点的空间二维R树。
在文件 InMemoryMap.h 第 71 行定义.
被这些函数引用 GetWaypoint(), GetWaypointsInDelta() , 以及 SetUpSpatialTree().