Apollo 10.0
自动驾驶开放平台
apollo::routing::BlackListRangeGenerator类 参考

#include <black_list_range_generator.h>

apollo::routing::BlackListRangeGenerator 的协作图:

Public 成员函数

 BlackListRangeGenerator ()=default
 
 ~BlackListRangeGenerator ()=default
 
void GenerateBlackMapFromRequest (const routing::RoutingRequest &request, const TopoGraph *graph, TopoRangeManager *const range_manager) const
 
void AddBlackMapFromTerminal (const TopoNode *src_node, const TopoNode *dest_node, double start_s, double end_s, TopoRangeManager *const range_manager) const
 

详细描述

在文件 black_list_range_generator.h28 行定义.

构造及析构函数说明

◆ BlackListRangeGenerator()

apollo::routing::BlackListRangeGenerator::BlackListRangeGenerator ( )
default

◆ ~BlackListRangeGenerator()

apollo::routing::BlackListRangeGenerator::~BlackListRangeGenerator ( )
default

成员函数说明

◆ AddBlackMapFromTerminal()

void apollo::routing::BlackListRangeGenerator::AddBlackMapFromTerminal ( const TopoNode src_node,
const TopoNode dest_node,
double  start_s,
double  end_s,
TopoRangeManager *const  range_manager 
) const

在文件 black_list_range_generator.cc129 行定义.

131 {
132 double start_length = src_node->Length();
133 double end_length = dest_node->Length();
134
135 static constexpr double kEpsilon = 1e-2;
136 const double start_s_adjusted =
137 (start_s > start_length && start_s - start_length <= kEpsilon)
138 ? start_length
139 : start_s;
140 const double end_s_adjusted =
141 (end_s > end_length && end_s - end_length <= kEpsilon) ? end_length
142 : end_s;
143
144 if (start_s_adjusted < 0.0 || start_s_adjusted > start_length) {
145 AERROR << "Illegal start_s: " << start_s << ", length: " << start_length;
146 return;
147 }
148 if (end_s_adjusted < 0.0 || end_s_adjusted > end_length) {
149 AERROR << "Illegal end_s: " << end_s << ", length: " << end_length;
150 return;
151 }
152
153 double start_cut_s = MoveSBackward(start_s_adjusted, 0.0);
154 range_manager->Add(src_node, start_cut_s, start_cut_s);
155 AddBlackMapFromOutParallel(src_node, start_cut_s / start_length,
156 range_manager);
157
158 double end_cut_s = MoveSForward(end_s_adjusted, end_length);
159 range_manager->Add(dest_node, end_cut_s, end_cut_s);
160 AddBlackMapFromInParallel(dest_node, end_cut_s / end_length, range_manager);
161 range_manager->SortAndMerge();
162}
#define AERROR
Definition log.h:44

◆ GenerateBlackMapFromRequest()

void apollo::routing::BlackListRangeGenerator::GenerateBlackMapFromRequest ( const routing::RoutingRequest request,
const TopoGraph graph,
TopoRangeManager *const  range_manager 
) const

在文件 black_list_range_generator.cc121 行定义.

123 {
124 AddBlackMapFromLane(request, graph, range_manager);
125 AddBlackMapFromRoad(request, graph, range_manager);
126 range_manager->SortAndMerge();
127}

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