CARLA
 
载入中...
搜索中...
未找到
Controller.h
浏览该文件的文档.
1// Copyright (c) 2020 Computer Vision Center (CVC) at the Universitat Autonoma
2// de Barcelona (UAB).
3//
4// This work is licensed under the terms of the MIT license.
5// For a copy; see <https://opensource.org/licenses/MIT>.
6
7#pragma once
8
9#include "carla/NonCopyable.h" // 引入不可拷贝类的定义
10#include "carla/road/RoadTypes.h" // 引入道路类型的定义
11
12
13#include <set> // 引入集合容器
14
15
16namespace carla { // carla 命名空间
17namespace road { // road 命名空间
18
19 class MapBuilder; // 前向声明 MapBuilder 类
20
21 class Controller : private MovableNonCopyable { // 定义 Controller 类,继承自不可拷贝类
22
23 public:
24
25 Controller( // 构造函数
26 ContId id, // 控制器 ID
27 std::string name, // 控制器名称
28 uint32_t sequence) // 控制器序列号
29 : _id(id), // 初始化 _id
30 _name(name), // 初始化 _name
31 _sequence(sequence){} // 初始化 _sequence
32
33 const ContId& GetControllerId() const{ // 获取控制器 ID 的方法
34 return _id; // 返回控制器 ID
35 }
36
37 const std::string& GetName() const { // 获取控制器名称的方法
38 return _name; // 返回控制器名称
39 }
40
41 const uint32_t &GetSequence() const { // 获取控制器序列号的方法
42 return _sequence; // 返回控制器序列号
43 }
44
45 const std::set<SignId>& GetSignals() const { // 获取信号集合的方法
46 return _signals; // 返回信号集合
47 }
48
49 const std::set<JuncId>& GetJunctions() const { // 获取交叉口集合的方法
50 return _junctions; // 返回交叉口集合
51 }
52
53 private:
54
55 friend MapBuilder; // 声明 MapBuilder 为友元类
56
57 ContId _id; // 控制器 ID
58 std::string _name; // 控制器名称
59 uint32_t _sequence; // 控制器序列号
60
61 std::set<JuncId> _junctions; // 存储交叉口的集合
62 std::set<SignId> _signals; // 存储信号的集合
63 };
64
65} // namespace road
66} // namespace carla
这个类用于禁止拷贝构造函数和赋值操作,但允许移动构造函数和赋值操作
const ContId & GetControllerId() const
Definition Controller.h:33
const std::set< JuncId > & GetJunctions() const
Definition Controller.h:49
std::set< JuncId > _junctions
Definition Controller.h:61
const uint32_t & GetSequence() const
Definition Controller.h:41
Controller(ContId id, std::string name, uint32_t sequence)
Definition Controller.h:25
std::set< SignId > _signals
Definition Controller.h:62
const std::set< SignId > & GetSignals() const
Definition Controller.h:45
const std::string & GetName() const
Definition Controller.h:37
std::string ContId
Definition RoadTypes.h:41
CARLA模拟器的主命名空间。
Definition Carla.cpp:139