CARLA
 
载入中...
搜索中...
未找到
RoadInfo.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/RoadInfoVisitor.h"// 包含RoadInfoVisitor类的定义,用于访问者模式。
10#include "carla/NonCopyable.h"// 包含NonCopyable类的定义,用于禁止拷贝操作。
11
12#include <map>// 提供map容器的定义。
13#include <string>// 提供string类的定义。
14#include <vector>// 提供vector容器的定义。
15//使用carla命名空间下的road和element子命名空间。
16namespace carla {
17namespace road {
18namespace element {
19 // 定义RoadInfo类,它继承自NonCopyable(私有继承),用于禁止拷贝操作。
20 class RoadInfo : private NonCopyable {
21 public:
22 // 定义一个虚析构函数,确保派生类能够正确析构。
23 virtual ~RoadInfo() = default;
24 // 定义一个纯虚函数AcceptVisitor,接受一个RoadInfoVisitor引用作为参数。
25 // 这是访问者模式的实现,允许外部通过访问者对象访问RoadInfo的内部状态。
26 virtual void AcceptVisitor(RoadInfoVisitor &) = 0;
27 /// 获取从道路起始位置的距离。
28 /// Distance from road's start location.
29 double GetDistance() const {
30 return _s;// 返回私有成员变量_s的值。
31 }
32
33 protected:
34 // 定义受保护的构造函数,允许派生类构造RoadInfo对象。
35 // 带有默认参数0.0,表示默认距离为0。
36 RoadInfo(double distance = 0.0) : _s(distance) {}
37
38 private:
39 // 私有成员变量_s,存储从道路起始位置的距离。
40 double _s;
41 };
42
43} // namespace element
44} // namespace road
45} // namespace carla
这个类用于禁止拷贝和移动构造函数及赋值操作
double GetDistance() const
获取从道路起始位置的距离。 Distance from road's start location.
Definition RoadInfo.h:29
virtual void AcceptVisitor(RoadInfoVisitor &)=0
RoadInfo(double distance=0.0)
Definition RoadInfo.h:36
CARLA模拟器的主命名空间。
Definition Carla.cpp:139