CARLA
 
载入中...
搜索中...
未找到
SensorData.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/Memory.h" // 包含内存管理相关的头文件
10#include "carla/NonCopyable.h" // 包含不可复制类的头文件
11#include "carla/sensor/RawData.h" // 包含原始数据相关的头文件
12
13/// @todo 这个不应该暴露在这个命名空间中。
14#include "carla/client/detail/EpisodeProxy.h" // 包含剧集代理的头文件
15
16namespace carla { // carla 命名空间
17namespace sensor { // sensor 命名空间
18
19 /// 所有传感器生成数据的对象的基类
21 : public EnableSharedFromThis<SensorData>, // 允许共享指针
22 private NonCopyable { // 不可复制的类
23 protected:
24
25 // 构造函数,初始化帧数、时间戳和传感器变换
26 SensorData(size_t frame, double timestamp, const rpc::Transform &sensor_transform)
27 : _frame(frame), // 初始化帧数
28 _timestamp(timestamp), // 初始化时间戳
29 _sensor_transform(sensor_transform) {} // 初始化传感器变换
30
31 // 通过原始数据构造 SensorData 对象
32 explicit SensorData(const RawData &data)
33 : SensorData(data.GetFrame(), data.GetTimestamp(), data.GetSensorTransform()) {} // 调用上面的构造函数
34
35 public:
36
37 virtual ~SensorData() = default; // 虚析构函数,使用默认实现
38
39 /// 获取数据生成时的帧计数
40 size_t GetFrame() const {
41 return _frame; // 返回帧数
42 }
43
44 /// 获取数据生成时的仿真时间
45 double GetTimestamp() const {
46 return _timestamp; // 返回时间戳
47 }
48
49 /// 获取数据生成时的传感器变换
51 return _sensor_transform; // 返回传感器变换
52 }
53
54 protected:
55
56 // 获取与该数据相关的剧集
57 const auto &GetEpisode() const {
58 return _episode; // 返回弱引用的剧集代理
59 }
60
61 private:
62
63 /// @todo 这个不应该暴露在这个命名空间中。
64 friend class client::detail::Simulator; // 声明 Simulator 类为友元
65 client::detail::WeakEpisodeProxy _episode; // 剧集的弱引用代理
66
67 const size_t _frame; // 帧数
68 const double _timestamp; // 时间戳
69 const rpc::Transform _sensor_transform; // 传感器变换
70 };
71
72} // namespace sensor
73} // namespace carla
这个类用于禁止拷贝和移动构造函数及赋值操作
连接并控制 CARLA 模拟器。
Definition Simulator.h:52
包装一个传感器生成的原始数据以及一些有用的元信息。
Definition RawData.h:20
所有传感器生成数据的对象的基类
Definition SensorData.h:22
double GetTimestamp() const
获取数据生成时的仿真时间
Definition SensorData.h:45
size_t GetFrame() const
获取数据生成时的帧计数
Definition SensorData.h:40
virtual ~SensorData()=default
client::detail::WeakEpisodeProxy _episode
Definition SensorData.h:65
const rpc::Transform _sensor_transform
Definition SensorData.h:69
const auto & GetEpisode() const
Definition SensorData.h:57
SensorData(size_t frame, double timestamp, const rpc::Transform &sensor_transform)
Definition SensorData.h:26
SensorData(const RawData &data)
Definition SensorData.h:32
const rpc::Transform & GetSensorTransform() const
获取数据生成时的传感器变换
Definition SensorData.h:50
EpisodeProxyImpl< EpisodeProxyPointerType::Weak > WeakEpisodeProxy
CARLA模拟器的主命名空间。
Definition Carla.cpp:139