CARLA
 
载入中...
搜索中...
未找到
Landmark.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/Memory.h" // 引入Carla的Memory头文件,提供内存相关的功能
10#include "carla/client/Waypoint.h" // 引入Carla的客户端Waypoint头文件,包含关于道路上位置点(Waypoint)的一些信息
11#include "carla/geom/Transform.h" // 引入Carla的几何变换Transform头文件,用于处理与位置、旋转相关的变换操作
12#include "carla/geom/BoundingBox.h" // 引入Carla的BoundingBox头文件,用于定义车辆或物体的边界框(BoundingBox)
13
14#include "carla/road/element/RoadInfoSignal.h" // 引入Carla道路模块中的RoadInfoSignal头文件,涉及到道路信息及其信号处理
15
16#include <string> // 引入标准库中的字符串头文件,用于处理字符串类型数据
17
18namespace carla {
19namespace client {
20
21 /// Landmark 类表示地图中的一个地标,该地标与某个信号相关联。
22 /// 包含关于地标的各种属性和信息,可以用来在地图上找到该地标以及获取其相关数据。
23 class Landmark {
24 public:
25 /// 获取与该地标相关联的路径点(Waypoint)。
26 /// Waypoint 表示地图上某一位置的详细信息。
28 return _waypoint;
29 }
30 /// 获取地标的变换信息(位置信息和朝向),该信息来自关联的信号。
32 return _signal->GetSignal()->GetTransform();
33 }
34 /// 获取地标所在的道路 ID。
36 return _signal->GetRoadId();
37 }
38 /// 获取从搜索地标到该地标的距离。
39 /// 该距离是与搜索的起点相关的,可以用来进行距离测量。
40 double GetDistance() const {
42 }
43 /// 获取地标在道路上的纵向位置(S 值),通常与路径上的进度或位置相关。
44 double GetS() const {
45 return _signal->GetS();
46 }
47 /// 获取地标在道路上的横向位置(T 值),表示地标距离中心线的偏移量。
48 double GetT() const {
49 return _signal->GetT();
50 }
51 /// 获取地标的唯一标识符。
52 /// 该标识符在整个系统中是唯一的,用来区分不同的地标。
53 std::string GetId() const {
54 return _signal->GetSignalId();
55 }
56 /// 获取地标的名称。
57 /// 该名称可能是与地标相关的标签或标识,通常用于人类可读的显示。
58 std::string GetName() const {
59 return _signal->GetSignal()->GetName();
60 }
61 /// 判断地标是否是动态的。
62 /// 如果地标是动态的,则它的属性可能会随时间变化,例如交通信号灯的状态。
63 bool IsDynamic() const {
64 return _signal->IsDynamic();
65 }
66 /// 获取地标的方向信息。
67 /// 该方向信息通常表示与道路上的行驶方向的关系。
71 /// 获取地标的 Z 轴偏移量。
72 /// Z 偏移量指示该地标在垂直方向上的位置偏移。
73 double GetZOffset() const {
74 return _signal->GetSignal()->GetZOffset();
75 }
76 /// 获取地标所属的国家名称。
77 /// 该属性可能与地标的交通规则或其他法律要求相关。
78 std::string GetCountry() const {
79 return _signal->GetSignal()->GetCountry();
80 }
81 /// 获取地标的类型。
82 /// 该类型可以用来标识地标是信号灯、标志牌或其他类型的地标。
83 std::string GetType() const {
84 return _signal->GetSignal()->GetType();
85 }
86 /// 获取地标的子类型。
87 /// 子类型进一步细化地标的具体类型,例如不同类型的交通标志或灯光。
88 std::string GetSubType() const {
89 return _signal->GetSignal()->GetSubtype();
90 }
91 /// 获取地标的数值属性(如果有)。
92 /// 该数值可能表示速度限制、信号状态等。
93 double GetValue() const {
94 return _signal->GetSignal()->GetValue();
95 }
96 /// 获取地标的单位(如果有)。
97 /// 该单位可以是如 km/h 或 m 等,表示地标的数值所对应的度量单位。
98 std::string GetUnit() const {
99 return _signal->GetSignal()->GetUnit();
100 }
101 /// 获取地标的高度。
102 /// 高度通常表示地标在垂直方向上的尺寸或位置。
103 double GetHeight() const {
104 return _signal->GetSignal()->GetHeight();
105 }
106 /// 获取地标的宽度。
107 /// 宽度通常表示地标的横向尺寸。
108 double GetWidth() const {
109 return _signal->GetSignal()->GetWidth();
110 }
111 /// 获取地标的文本信息(如果有)。
112 /// 该文本信息可以是与地标相关的说明或附加信息
113 std::string GetText() const {
114 return _signal->GetSignal()->GetText();
115 }
116 /// 获取地标的水平偏移量。
117 /// 水平偏移量表示地标相对于道路中心线的水平位置偏移。
118 double GethOffset() const {
119 return _signal->GetSignal()->GetHOffset();
120 }
121 /// 获取地标的俯仰角。
122 /// 俯仰角用于描述地标与地面之间的角度,通常与方向或朝向有关。
123 double GetPitch() const {
124 return _signal->GetSignal()->GetPitch();
125 }
126 /// 获取地标的滚转角。
127 /// 滚转角用于描述地标的旋转,特别是其绕水平轴的旋转。
128 double GetRoll() const {
129 return _signal->GetSignal()->GetRoll();
130 }
131 /// 获取地标的有效性信息。
132 /// 有效性信息描述地标是否在某些条件下有效,或其在某个时间范围内的可用性。
133 const auto &GetValidities() const {
134 return _signal->GetValidities();
135 }
136
137 private:
138 // 友元类声明,允许这些类访问 Landmark 类的私有成员。
139 friend Waypoint;
140 friend Map;
141 /// 构造函数,用于初始化 Landmark 对象。
142 /// 参数 waypoint: 与地标关联的路径点信息。
143 /// 参数 parent: 地图的父对象,表示地标所在的地图。
144 /// 参数 signal: 与地标相关的信号对象,包含地标的详细信息。
145 /// 参数 distance_from_search: 从搜索的起点到地标的距离。
147 SharedPtr<Waypoint> waypoint,
149 const road::element::RoadInfoSignal* signal,
150 double distance_from_search = 0)
151 : _waypoint(waypoint),
152 _parent(parent),
153 _signal(signal),
154 _distance_from_search(distance_from_search) {}
155
156 /// 与地标关联的路径点(Waypoint)。
158 /// 地标所在的地图对象。
160 /// 与地标相关的信号对象,包含地标的详细信息。
162 /// 从搜索点到地标的距离。
164 };
165
166} // client
167} // carla
Landmark 类表示地图中的一个地标,该地标与某个信号相关联。 包含关于地标的各种属性和信息,可以用来在地图上找到该地标以及获取其相关数据。
Definition Landmark.h:23
std::string GetText() const
获取地标的文本信息(如果有)。 该文本信息可以是与地标相关的说明或附加信息
Definition Landmark.h:113
std::string GetCountry() const
获取地标所属的国家名称。 该属性可能与地标的交通规则或其他法律要求相关。
Definition Landmark.h:78
double _distance_from_search
从搜索点到地标的距离。
Definition Landmark.h:163
double GetZOffset() const
获取地标的 Z 轴偏移量。 Z 偏移量指示该地标在垂直方向上的位置偏移。
Definition Landmark.h:73
double GetPitch() const
获取地标的俯仰角。 俯仰角用于描述地标与地面之间的角度,通常与方向或朝向有关。
Definition Landmark.h:123
std::string GetName() const
获取地标的名称。 该名称可能是与地标相关的标签或标识,通常用于人类可读的显示。
Definition Landmark.h:58
SharedPtr< Waypoint > GetWaypoint() const
获取与该地标相关联的路径点(Waypoint)。 Waypoint 表示地图上某一位置的详细信息。
Definition Landmark.h:27
bool IsDynamic() const
判断地标是否是动态的。 如果地标是动态的,则它的属性可能会随时间变化,例如交通信号灯的状态。
Definition Landmark.h:63
double GetT() const
获取地标在道路上的横向位置(T 值),表示地标距离中心线的偏移量。
Definition Landmark.h:48
double GetWidth() const
获取地标的宽度。 宽度通常表示地标的横向尺寸。
Definition Landmark.h:108
std::string GetUnit() const
获取地标的单位(如果有)。 该单位可以是如 km/h 或 m 等,表示地标的数值所对应的度量单位。
Definition Landmark.h:98
double GetDistance() const
获取从搜索地标到该地标的距离。 该距离是与搜索的起点相关的,可以用来进行距离测量。
Definition Landmark.h:40
Landmark(SharedPtr< Waypoint > waypoint, SharedPtr< const Map > parent, const road::element::RoadInfoSignal *signal, double distance_from_search=0)
构造函数,用于初始化 Landmark 对象。 参数 waypoint: 与地标关联的路径点信息。 参数 parent: 地图的父对象,表示地标所在的地图。 参数 signal: 与地标相关的信号对象,...
Definition Landmark.h:146
const geom::Transform & GetTransform() const
获取地标的变换信息(位置信息和朝向),该信息来自关联的信号。
Definition Landmark.h:31
road::SignalOrientation GetOrientation() const
获取地标的方向信息。 该方向信息通常表示与道路上的行驶方向的关系。
Definition Landmark.h:68
std::string GetId() const
获取地标的唯一标识符。 该标识符在整个系统中是唯一的,用来区分不同的地标。
Definition Landmark.h:53
double GetRoll() const
获取地标的滚转角。 滚转角用于描述地标的旋转,特别是其绕水平轴的旋转。
Definition Landmark.h:128
SharedPtr< const Map > _parent
地标所在的地图对象。
Definition Landmark.h:159
SharedPtr< Waypoint > _waypoint
与地标关联的路径点(Waypoint)。
Definition Landmark.h:157
road::RoadId GetRoadId() const
获取地标所在的道路 ID。
Definition Landmark.h:35
double GetHeight() const
获取地标的高度。 高度通常表示地标在垂直方向上的尺寸或位置。
Definition Landmark.h:103
double GethOffset() const
获取地标的水平偏移量。 水平偏移量表示地标相对于道路中心线的水平位置偏移。
Definition Landmark.h:118
std::string GetType() const
获取地标的类型。 该类型可以用来标识地标是信号灯、标志牌或其他类型的地标。
Definition Landmark.h:83
const auto & GetValidities() const
获取地标的有效性信息。 有效性信息描述地标是否在某些条件下有效,或其在某个时间范围内的可用性。
Definition Landmark.h:133
double GetValue() const
获取地标的数值属性(如果有)。 该数值可能表示速度限制、信号状态等。
Definition Landmark.h:93
double GetS() const
获取地标在道路上的纵向位置(S 值),通常与路径上的进度或位置相关。
Definition Landmark.h:44
const road::element::RoadInfoSignal * _signal
与地标相关的信号对象,包含地标的详细信息。
Definition Landmark.h:161
std::string GetSubType() const
获取地标的子类型。 子类型进一步细化地标的具体类型,例如不同类型的交通标志或灯光。
Definition Landmark.h:88
const std::string & GetSubtype() const
Definition Signal.h:130
const geom::Transform & GetTransform() const
Definition Signal.h:171
const std::string & GetType() const
Definition Signal.h:126
double GetHeight() const
Definition Signal.h:142
double GetPitch() const
Definition Signal.h:158
const std::string & GetUnit() const
Definition Signal.h:138
const std::string & GetName() const
Definition Signal.h:104
double GetRoll() const
Definition Signal.h:162
double GetHOffset() const
Definition Signal.h:154
double GetZOffset() const
Definition Signal.h:118
const std::string & GetText() const
Definition Signal.h:150
double GetWidth() const
Definition Signal.h:146
double GetValue() const
Definition Signal.h:134
const std::string & GetCountry() const
Definition Signal.h:122
const std::vector< LaneValidity > & GetValidities() const
SignalOrientation GetOrientation() const
SignalOrientation
Definition Signal.h:21
uint32_t RoadId
Definition RoadTypes.h:20
CARLA模拟器的主命名空间。
Definition Carla.cpp:139
boost::shared_ptr< T > SharedPtr
使用这个SharedPtr(boost::shared_ptr)以保持与boost::python的兼容性, 但未来如果可能的话,我们希望能为std::shared_ptr制作一个Python适配器。
Definition Memory.h:19
包含CARLA客户端相关类和函数的命名空间。