Apollo 10.0
自动驾驶开放平台
apollo::hdmap::LaneSegment结构体 参考

#include <path.h>

apollo::hdmap::LaneSegment 的协作图:

Public 成员函数

 LaneSegment ()=default
 
 LaneSegment (LaneInfoConstPtr lane, const double start_s, const double end_s)
 
double Length () const
 
std::string DebugString () const
 

静态 Public 成员函数

static void Join (std::vector< LaneSegment > *segments)
 Join neighboring lane segments if they have the same lane id
 

Public 属性

LaneInfoConstPtr lane = nullptr
 
double start_s = 0.0
 
double end_s = 0.0
 

详细描述

在文件 path.h73 行定义.

构造及析构函数说明

◆ LaneSegment() [1/2]

apollo::hdmap::LaneSegment::LaneSegment ( )
default

◆ LaneSegment() [2/2]

apollo::hdmap::LaneSegment::LaneSegment ( LaneInfoConstPtr  lane,
const double  start_s,
const double  end_s 
)
inline

在文件 path.h75 行定义.

76 : lane(CHECK_NOTNULL(lane)), start_s(start_s), end_s(end_s) {}
LaneInfoConstPtr lane
Definition path.h:77

成员函数说明

◆ DebugString()

std::string apollo::hdmap::LaneSegment::DebugString ( ) const

在文件 path.cc193 行定义.

193 {
194 if (lane == nullptr) {
195 return "(lane is null)";
196 }
197 return absl::StrCat("id = ", lane->id().id(), " start_s = ", start_s,
198 " end_s = ", end_s);
199}

◆ Join()

void apollo::hdmap::LaneSegment::Join ( std::vector< LaneSegment > *  segments)
static

Join neighboring lane segments if they have the same lane id

在文件 path.cc138 行定义.

138 {
139 static constexpr double kSegmentDelta = 0.5;
140 std::size_t k = 0;
141 std::size_t i = 0;
142 while (i < segments->size()) {
143 std::size_t j = i;
144 while (j + 1 < segments->size() &&
145 segments->at(i).lane == segments->at(j + 1).lane) {
146 ++j;
147 }
148 auto& segment_k = segments->at(k);
149 segment_k.lane = segments->at(i).lane;
150 segment_k.start_s = segments->at(i).start_s;
151 segment_k.end_s = segments->at(j).end_s;
152 if (segment_k.start_s < kSegmentDelta) {
153 segment_k.start_s = 0.0;
154 }
155 if (segment_k.end_s + kSegmentDelta >= segment_k.lane->total_length()) {
156 segment_k.end_s = segment_k.lane->total_length();
157 }
158 i = j + 1;
159 ++k;
160 }
161 segments->resize(k);
162 segments->shrink_to_fit(); // release memory
163}

◆ Length()

double apollo::hdmap::LaneSegment::Length ( ) const
inline

在文件 path.h80 行定义.

80{ return end_s - start_s; }

类成员变量说明

◆ end_s

double apollo::hdmap::LaneSegment::end_s = 0.0

在文件 path.h79 行定义.

◆ lane

LaneInfoConstPtr apollo::hdmap::LaneSegment::lane = nullptr

在文件 path.h77 行定义.

◆ start_s

double apollo::hdmap::LaneSegment::start_s = 0.0

在文件 path.h78 行定义.


该结构体的文档由以下文件生成: