Apollo 10.0
自动驾驶开放平台
apollo::planning::TrafficRule类 参考abstract

#include <traffic_rule.h>

类 apollo::planning::TrafficRule 继承关系图:
apollo::planning::TrafficRule 的协作图:

Public 成员函数

 TrafficRule ()
 
virtual ~TrafficRule ()=default
 
virtual bool Init (const std::string &name, const std::shared_ptr< DependencyInjector > &injector)
 
virtual common::Status ApplyRule (Frame *const frame, ReferenceLineInfo *const reference_line_info)=0
 
virtual void Reset ()=0
 
std::string Getname ()
 

Protected 成员函数

template<typename T >
bool LoadConfig (T *config)
 

Protected 属性

std::shared_ptr< DependencyInjectorinjector_
 
std::string config_path_
 
std::string name_
 

详细描述

在文件 traffic_rule.h37 行定义.

构造及析构函数说明

◆ TrafficRule()

apollo::planning::TrafficRule::TrafficRule ( )

在文件 traffic_rule.cc30 行定义.

30: injector_(nullptr), config_path_(""), name_("") {}
std::shared_ptr< DependencyInjector > injector_

◆ ~TrafficRule()

virtual apollo::planning::TrafficRule::~TrafficRule ( )
virtualdefault

成员函数说明

◆ ApplyRule()

◆ Getname()

std::string apollo::planning::TrafficRule::Getname ( )
inline

在文件 traffic_rule.h51 行定义.

51{ return name_; }

◆ Init()

bool apollo::planning::TrafficRule::Init ( const std::string &  name,
const std::shared_ptr< DependencyInjector > &  injector 
)
virtual

apollo::planning::BacksideVehicle, apollo::planning::Crosswalk, apollo::planning::Destination, apollo::planning::KeepClear, apollo::planning::ReferenceLineEnd, apollo::planning::Rerouting, apollo::planning::StopSign, apollo::planning::TrafficLight , 以及 apollo::planning::YieldSign 重载.

在文件 traffic_rule.cc32 行定义.

33 {
34 injector_ = injector;
35 name_ = name;
36
37 // Get the name of this class.
38 int status;
39 std::string class_name =
40 abi::__cxa_demangle(typeid(*this).name(), 0, 0, &status);
41 // Generate the traffic rule config path from PluginManager.
44 class_name, "conf/default_conf.pb.txt");
45 return true;
46}
std::string GetPluginConfPath(const std::string &class_name, const std::string &conf_name)
get plugin configuration file location
static PluginManager * Instance()
get singleton instance of PluginManager

◆ LoadConfig()

template<typename T >
bool apollo::planning::TrafficRule::LoadConfig ( T *  config)
protected

在文件 traffic_rule.h64 行定义.

64 {
65 CHECK_NOTNULL(config);
66 if (!apollo::cyber::common::LoadConfig<T>(config_path_, config)) {
67 AERROR << "Failed to load default config file" << config_path_;
68 return false;
69 }
70 return true;
71}
#define AERROR
Definition log.h:44

◆ Reset()

类成员变量说明

◆ config_path_

std::string apollo::planning::TrafficRule::config_path_
protected

在文件 traffic_rule.h59 行定义.

◆ injector_

std::shared_ptr<DependencyInjector> apollo::planning::TrafficRule::injector_
protected

在文件 traffic_rule.h57 行定义.

◆ name_

std::string apollo::planning::TrafficRule::name_
protected

在文件 traffic_rule.h60 行定义.


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