CARLA
 
载入中...
搜索中...
未找到
RoadInfoLaneOffset.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 "carla/road/element/RoadInfo.h" // 包含定义道路信息元素的头文件
10#include "carla/geom/CubicPolynomial.h" // 包含定义三次多项式的头文件
11
12namespace carla {
13namespace road {
14namespace element {
15
16 /// 车道偏移记录定义了车道参考线(通常与道路参考线相同)的横向位移。
17 /// 这可以用于轻松实现车道相对于道路参考线的(局部)横向位移。
18 /// 特别是,这个特性可以显著地促进城市内部布局或“2+1”乡村道路布局的建模。
19 ///
20 class RoadInfoLaneOffset final : public RoadInfo { // final关键字表示此类不允许被继承
21 public:
22
23 RoadInfoLaneOffset( // 构造函数,初始化道路信息和偏移量多项式
24 double s, // 道路纵向位置s
25 double a, // 三次多项式系数a
26 double b, // 三次多项式系数b
27 double c, // 三次多项式系数c
28 double d) // 三次多项式系数d
29 : RoadInfo(s), // 调用基类RoadInfo的构造函数,传递参数s
30 _offset(a, b, c, d, s) {} // 初始化成员变量_offset
31
32 void AcceptVisitor(RoadInfoVisitor &v) final { // 访问者模式的AcceptVisitor函数,允许访问者对象访问当前对象
33 v.Visit(*this); // 访问者访问当前对象
34 }
35
36 const geom::CubicPolynomial &GetPolynomial() const { // 获取车道偏移量的三次多项式
37 return _offset; // 返回_offset成员变量
38 }
39
40 private:
41
42 const geom::CubicPolynomial _offset; // 私有成员变量,存储车道偏移量的三次多项式
43 };
44
45} // namespace element
46} // namespace road
47} // namespace carla
定义一个三次多项式CubicPolynomial类,用于描述和计算三次多项式 f(x) = a + b * x + c * x^2 + d * x^3
车道偏移记录定义了车道参考线(通常与道路参考线相同)的横向位移。 这可以用于轻松实现车道相对于道路参考线的(局部)横向位移。 特别是,这个特性可以显著地促进城市内部布局或“2+1”乡村道路布局的建模。
RoadInfoLaneOffset(double s, double a, double b, double c, double d)
const geom::CubicPolynomial & GetPolynomial() const
void AcceptVisitor(RoadInfoVisitor &v) final
CARLA模拟器的主命名空间。
Definition Carla.cpp:139