Apollo 11.0
自动驾驶开放平台
apollo::planning::SpeedLimit类 参考

#include <speed_limit.h>

apollo::planning::SpeedLimit 的协作图:

Public 成员函数

 SpeedLimit ()=default
 
void AppendSpeedLimit (const double s, const double v)
 
const std::vector< std::pair< double, double > > & speed_limit_points () const
 
double GetSpeedLimitByS (const double s) const
 
void Clear ()
 

详细描述

在文件 speed_limit.h29 行定义.

构造及析构函数说明

◆ SpeedLimit()

apollo::planning::SpeedLimit::SpeedLimit ( )
default

成员函数说明

◆ AppendSpeedLimit()

void apollo::planning::SpeedLimit::AppendSpeedLimit ( const double  s,
const double  v 
)

在文件 speed_limit.cc30 行定义.

30 {
31 if (!speed_limit_points_.empty()) {
32 DCHECK_GE(s, speed_limit_points_.back().first);
33 }
34 speed_limit_points_.emplace_back(s, v);
35}

◆ Clear()

void apollo::planning::SpeedLimit::Clear ( )

在文件 speed_limit.cc59 行定义.

59{ speed_limit_points_.clear(); }

◆ GetSpeedLimitByS()

double apollo::planning::SpeedLimit::GetSpeedLimitByS ( const double  s) const

在文件 speed_limit.cc42 行定义.

42 {
43 CHECK_GE(speed_limit_points_.size(), 2U);
44 DCHECK_GE(s, speed_limit_points_.front().first);
45
46 auto compare_s = [](const std::pair<double, double>& point, const double s) {
47 return point.first < s;
48 };
49
50 auto it_lower = std::lower_bound(speed_limit_points_.begin(),
51 speed_limit_points_.end(), s, compare_s);
52
53 if (it_lower == speed_limit_points_.end()) {
54 return (it_lower - 1)->second;
55 }
56 return it_lower->second;
57}

◆ speed_limit_points()

const std::vector< std::pair< double, double > > & apollo::planning::SpeedLimit::speed_limit_points ( ) const

在文件 speed_limit.cc37 行定义.

38 {
39 return speed_limit_points_;
40}

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