CARLA
LaneMarking.h
Go to the documentation of this file.
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 
11 namespace carla {
12 namespace road {
13 namespace element {
14 
15  class RoadInfoMarkRecord;
16 
17  struct LaneMarking {
18 
19  enum class Type {
20  Other,
21  Broken,
22  Solid,
23  // (for double solid line)
24  SolidSolid,
25  // (from inside to outside, exception: center lane -from left to right)
27  // (from inside to outside, exception: center lane -from left to right)
29  // (from inside to outside, exception: center lane -from left to right)
31  BottsDots,
32  // (meaning a grass edge)
33  Grass,
34  Curb,
35  None
36  };
37 
38  enum class Color : uint8_t {
39  Standard = 0u, // (equivalent to "white")
40  Blue = 1u,
41  Green = 2u,
42  Red = 3u,
43  White = Standard,
44  Yellow = 4u,
45  Other = 5u
46  };
47 
48  /// Can be used as flags.
49  enum class LaneChange : uint8_t {
50  None = 0x00, // 00
51  Right = 0x01, // 01
52  Left = 0x02, // 10
53  Both = 0x03 // 11
54  };
55 
56  explicit LaneMarking(const RoadInfoMarkRecord &info);
57 
59 
61 
63 
64  double width = 0.0;
65  };
66 
67 } // namespace element
68 } // namespace road
69 } // namespace carla
Each lane within a road cross section can be provided with several road markentries.
LaneChange
Can be used as flags.
Definition: LaneMarking.h:49
This file contains definitions of common data structures used in traffic manager. ...
Definition: Carla.cpp:133
LaneMarking(const RoadInfoMarkRecord &info)
Definition: LaneMarking.cpp:76