Apollo 10.0
自动驾驶开放平台
apollo::hdmap::HDMapUtil类 参考

#include <hdmap_util.h>

apollo::hdmap::HDMapUtil 的协作图:

静态 Public 成员函数

static const HDMapBaseMapPtr ()
 
static const HDMapBaseMapPtr (const relative_map::MapMsg &map_msg)
 
static const HDMapBaseMap ()
 
static const HDMapSimMapPtr ()
 
static const HDMapSimMap ()
 
static bool ReloadMaps ()
 
static bool ReloadBaseMap ()
 

详细描述

在文件 hdmap_util.h93 行定义.

成员函数说明

◆ BaseMap()

const HDMap & apollo::hdmap::HDMapUtil::BaseMap ( )
static

在文件 hdmap_util.cc143 行定义.

143{ return *CHECK_NOTNULL(BaseMapPtr()); }
static const HDMap * BaseMapPtr()

◆ BaseMapPtr() [1/2]

const HDMap * apollo::hdmap::HDMapUtil::BaseMapPtr ( )
static

在文件 hdmap_util.cc111 行定义.

111 {
112 // TODO(all) Those logics should be removed to planning
113 /*if (FLAGS_use_navigation_mode) {
114 std::lock_guard<std::mutex> lock(base_map_mutex_);
115 auto* relative_map = AdapterManager::GetRelativeMap();
116 if (!relative_map) {
117 AERROR << "RelativeMap adapter is not registered";
118 return nullptr;
119 }
120 if (relative_map->Empty()) {
121 AERROR << "RelativeMap is empty";
122 return nullptr;
123 }
124 const auto& latest = relative_map->GetLatestObserved();
125 if (base_map_ != nullptr &&
126 base_map_seq_ == latest.header().sequence_num()) {
127 // avoid re-create map in the same cycle.
128 return base_map_.get();
129 } else {
130 base_map_ = CreateMap(latest);
131 base_map_seq_ = latest.header().sequence_num();
132 }
133 } else*/
134 if (base_map_ == nullptr) {
135 std::lock_guard<std::mutex> lock(base_map_mutex_);
136 if (base_map_ == nullptr) { // Double check.
137 base_map_ = CreateMap(BaseMapFile());
138 }
139 }
140 return base_map_.get();
141}
std::unique_ptr< HDMap > CreateMap(const std::string &map_file_path)
Definition hdmap_util.cc:71
std::string BaseMapFile()
get base map file path from flags.
Definition hdmap_util.cc:47

◆ BaseMapPtr() [2/2]

const HDMap * apollo::hdmap::HDMapUtil::BaseMapPtr ( const relative_map::MapMsg map_msg)
static

在文件 hdmap_util.cc98 行定义.

98 {
99 std::lock_guard<std::mutex> lock(base_map_mutex_);
100 if (base_map_ != nullptr &&
101 base_map_seq_ == map_msg.header().sequence_num()) {
102 // avoid re-create map in the same cycle.
103 return base_map_.get();
104 } else {
105 base_map_ = CreateMap(map_msg);
106 base_map_seq_ = map_msg.header().sequence_num();
107 }
108 return base_map_.get();
109}

◆ ReloadBaseMap()

bool apollo::hdmap::HDMapUtil::ReloadBaseMap ( )
static

在文件 hdmap_util.cc171 行定义.

171 {
172 {
173 std::lock_guard<std::mutex> lock(base_map_mutex_);
174 base_map_ = CreateMap(BaseMapFile());
175 }
176 return base_map_ != nullptr;
177}

◆ ReloadMaps()

bool apollo::hdmap::HDMapUtil::ReloadMaps ( )
static

在文件 hdmap_util.cc159 行定义.

159 {
160 {
161 std::lock_guard<std::mutex> lock(base_map_mutex_);
162 base_map_ = CreateMap(BaseMapFile());
163 }
164 {
165 std::lock_guard<std::mutex> lock(sim_map_mutex_);
166 sim_map_ = CreateMap(SimMapFile());
167 }
168 return base_map_ != nullptr && sim_map_ != nullptr;
169}
std::string SimMapFile()
get simulation map file path from flags.
Definition hdmap_util.cc:56

◆ SimMap()

const HDMap & apollo::hdmap::HDMapUtil::SimMap ( )
static

在文件 hdmap_util.cc157 行定义.

157{ return *CHECK_NOTNULL(SimMapPtr()); }
static const HDMap * SimMapPtr()

◆ SimMapPtr()

const HDMap * apollo::hdmap::HDMapUtil::SimMapPtr ( )
static

在文件 hdmap_util.cc145 行定义.

145 {
146 if (FLAGS_use_navigation_mode) {
147 return BaseMapPtr();
148 } else if (sim_map_ == nullptr) {
149 std::lock_guard<std::mutex> lock(sim_map_mutex_);
150 if (sim_map_ == nullptr) { // Double check.
151 sim_map_ = CreateMap(SimMapFile());
152 }
153 }
154 return sim_map_.get();
155}

该类的文档由以下文件生成: