CARLA
 
载入中...
搜索中...
未找到
CarlaSubscriberListener.h
浏览该文件的文档.
1// Copyright (c) 2022 Computer Vision Center (CVC) at the Universitat Autonoma de Barcelona (UAB).
2// This work is licensed under the terms of the MIT license.
3// For a copy, see <https://opensource.org/licenses/MIT>.
4
5#pragma once
6#define _GLIBCXX_USE_CXX11_ABI 0
7
8#include <memory>
9/**
10 * @namespace carla::ros2
11 * @brief 命名空间carla::ros2,包含了与CARLA和ROS 2集成相关的类和函数。
12 */
13namespace carla {
14namespace ros2 {
15 /**
16 * @class CarlaSubscriberListenerImpl
17 * @brief CarlaSubscriberListener的内部实现类,用于隐藏实现细节。
18 */
19 class CarlaSubscriberListenerImpl;
20 /**
21 * @class CarlaEgoVehicleControlSubscriber
22 * @brief 用于订阅和控制CARLA中自车(ego vehicle)的类
23 * 此类可能包含与ROS 2节点相关的逻辑,用于接收来自CARLA的自车控制命令。
24 */
25 class CarlaEgoVehicleControlSubscriber;
26 /**
27 * @class CarlaSubscriberListener
28 * @brief Carla订阅者监听器类,用于处理与ROS 2订阅者相关的事件。
29 *
30 * 此类使用Pimpl(Pointer to IMPLementation)惯用法来隐藏实现细节,
31 * 通过一个指向CarlaSubscriberListenerImpl的unique_ptr来实现。
32 */
34 public:
35 /**
36 * @brief 构造函数,初始化CarlaSubscriberListener并设置其所有者。
37 *
38 * @param owner 指向CarlaEgoVehicleControlSubscriber的指针,作为此监听器的所有者。
39 */
41 /**
42 * @brief 析构函数,清理资源并释放内部实现。
43 */
45 /**
46 * @brief 禁用拷贝构造函数。
47 *
48 * 防止类对象被拷贝,确保资源的唯一性和安全性。
49 */
51 /**
52 * @brief 禁用赋值运算符。
53 *
54 * 防止类对象被赋值,确保资源的唯一性和安全性。
55 */
57 /**
58 * @brief 禁用移动构造函数。
59 *
60 * 防止类对象被移动,确保资源的唯一性和安全性。
61 */
63 /**
64 * @brief 禁用移动赋值运算符。
65 *
66 * 防止类对象被移动赋值,确保资源的唯一性和安全性。
67 */
69 /**
70 * @brief 设置此监听器的所有者。
71 *
72 * @param owner 指向新的CarlaEgoVehicleControlSubscriber所有者的指针。
73 */
74
76 /**
77 * @brief 指向内部实现类的指针。
78 *
79 * 使用unique_ptr来管理CarlaSubscriberListenerImpl的生命周期,确保资源的正确释放。
80 */
81 std::unique_ptr<CarlaSubscriberListenerImpl> _impl;
82 };
83}
84}
CarlaEgoVehicleControlSubscriber类,用于订阅并处理来自ROS2的自动驾驶车辆控制消息
Carla订阅者监听器类,用于处理与ROS 2订阅者相关的事件。
CarlaSubscriberListener & operator=(const CarlaSubscriberListener &)=delete
禁用赋值运算符。
CarlaSubscriberListener & operator=(CarlaSubscriberListener &&)=delete
禁用移动赋值运算符。
~CarlaSubscriberListener()
析构函数,清理资源并释放内部实现。
std::unique_ptr< CarlaSubscriberListenerImpl > _impl
指向内部实现类的指针。
CarlaSubscriberListener(const CarlaSubscriberListener &)=delete
禁用拷贝构造函数。
void SetOwner(CarlaEgoVehicleControlSubscriber *owner)
设置此监听器的所有者。
CarlaSubscriberListener(CarlaEgoVehicleControlSubscriber *owner)
构造函数,初始化CarlaSubscriberListener并设置其所有者。
CarlaSubscriberListener(CarlaSubscriberListener &&)=delete
禁用移动构造函数。
CARLA模拟器的主命名空间。
Definition Carla.cpp:139