CARLA
 
载入中...
搜索中...
未找到
LaneMarking.h
浏览该文件的文档.
1// Copyright (c) 2017 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 <cstdint> // 引入整数类型定义
10#include <string> // 引入字符串类型定义
11
12namespace carla { // 定义命名空间carla
13namespace road { // 定义命名空间road
14namespace element { // 定义命名空间element
15
16 class RoadInfoMarkRecord; // 前向声明RoadInfoMarkRecord类
17
18 struct LaneMarking { // 定义LaneMarking结构体
19
20 enum class Type { // 定义车道标记类型的枚举
21 Other, // 其他
22 Broken, // 断开的
23 Solid, // 实线
24 // (用于双实线)
25 SolidSolid, // 双实线
26 // (从内到外,例外:中心车道 - 从左到右)
27 SolidBroken, // 实线-断线
28 // (从内到外,例外:中心车道 - 从左到右)
29 BrokenSolid, // 断线-实线
30 // (从内到外,例外:中心车道 - 从左到右)
31 BrokenBroken, // 断线-断线
32 BottsDots, // Botts点
33 // (表示草地边缘)
34 Grass, // 草地
35 Curb, // 路缘石
36 None // 无
37 };
38
39 enum class Color : uint8_t { // 定义颜色的枚举
40 Standard = 0u, // (等同于“白色”)
41 Blue = 1u, // 蓝色
42 Green = 2u, // 绿色
43 Red = 3u, // 红色
44 White = Standard, // 白色
45 Yellow = 4u, // 黄色
46 Other = 5u // 其他
47 };
48
49 /// 可以用作标志。
50 enum class LaneChange : uint8_t { // 定义车道变换的枚举
51 None = 0x00, // 00 - 无
52 Right = 0x01, // 01 - 向右
53 Left = 0x02, // 10 - 向左
54 Both = 0x03 // 11 - 双向
55 };
56
57 explicit LaneMarking(const RoadInfoMarkRecord &info); // 构造函数,接受RoadInfoMarkRecord对象
58
59 Type type = Type::None; // 车道标记类型,默认值为None
60
61 Color color = Color::Standard; // 车道标记颜色,默认值为Standard(白色)
62
63 LaneChange lane_change = LaneChange::None; // 车道变换标志,默认值为None
64
65 double width = 0.0; // 车道标记宽度,默认值为0.0
66
67 std::string GetColorInfoAsString() { // 获取颜色信息的字符串表示
68 switch(color) { // 根据颜色类型进行选择
69 case Color::Yellow: // 如果颜色是黄色
70 return std::string("yellow"); // 返回“yellow”
71 break; // 结束当前case
72 case Color::Standard: // 如果颜色是标准(白色)
73 return std::string("white"); // 返回“white”
74 break; // 结束当前case
75 default: // 默认情况
76 return std::string("white"); // 返回“white”
77 break; // 结束当前case
78 }
79 return std::string("white"); // 最终返回“white”
80 }
81 };
82
83} // namespace element
84} // namespace road
85} // namespace carla
每条车道在道路横截面内可以提供多个道路标记条目。 道路标记信息定义了车道外边界的线条样式。 对于左侧车道,这是左边界;对于右侧车道,这是右边界。 左右车道之间的分隔线样式由零号车道(即中央车道)的道路标...
CARLA模拟器的主命名空间。
Definition Carla.cpp:139
LaneChange
可以用作标志。
Definition LaneMarking.h:50
LaneMarking(const RoadInfoMarkRecord &info)