udacity5_Behavior_Planner 设计2
road.h 代码解析
road.h 头文件,需要.cpp外部申明1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48#ifndef ROAD_H//条件指示符#ifndef的最主要目的是防止头文件的重复包含和编译。
#define ROAD_H
#include <map>
#include <string>
#include <vector>
#include "vehicle.h" //车辆信息
class Road {
public:
// Constructor 构造器
Road(int speed_limit, double traffic_density, std::vector<int> &lane_speeds);//初始化
// Destructor 析构器
virtual ~Road();
// Road functions
Vehicle get_ego(); //获取当前车辆函数
void populate_traffic();//给路上填充交通流
void advance();//更新
void display(int timestep);//显示
void add_ego(int lane_num, int s, std::vector<int> &config_data);//在路上增加车辆
void cull();
// Road variables 车道信息
int update_width = 70;//车道宽度
int vehicles_added = 0;
int ego_key = -1;
int num_lanes, speed_limit, camera_center;
double density;
std::map<int, Vehicle> vehicles;
std::string ego_rep = " *** ";
std::vector<int> lane_speeds;
};
#endif // ROAD_H