CARLA
 
载入中...
搜索中...
未找到
secondaryCommands.h
浏览该文件的文档.
1// Copyright (c) 2022 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/Logging.h" // 引入CARLA的日志模块(暂时注释掉)
10#include "carla/Buffer.h" // 引入CARLA的缓冲区模块
11#include "carla/multigpu/commands.h" // 引入多GPU命令模块
12#include <functional> // 引入函数对象的头文件
13
14namespace carla { // CARLA项目的顶级命名空间
15namespace multigpu { // CARLA项目中与多GPU相关功能的子命名空间
16
17// 前向声明Secondary类,以便在SecondaryCommands类中使用其共享指针
18class Secondary;
19
20// SecondaryCommands类定义,用于管理和处理与Secondary类相关的命令和回调
22 public:
23
24 // 定义回调函数类型,该函数接受一个MultiGPUCommand枚举值和一个carla::Buffer对象作为参数
25 // MultiGPUCommand可能是一个枚举类型,表示不同类型的GPU命令
26 // carla::Buffer是一个用于数据传输的缓冲区类
27 using callback_type = std::function<void(MultiGPUCommand, carla::Buffer)>;
28
29 // 设置Secondary对象的共享指针,以便在需要时访问Secondary类的实例
30 // 这个方法允许SecondaryCommands类与Secondary类实例进行交互
31 void set_secondary(std::shared_ptr<Secondary> secondary);
32
33 // 设置回调函数,该函数将在处理完命令后被调用
34 // 回调函数将接收一个MultiGPUCommand枚举值和一个包含命令数据的carla::Buffer对象
35 void set_callback(callback_type callback);
36
37 // 处理从Secondary接收到的命令
38 // 这个方法接受一个包含命令数据的缓冲区作为参数,并解析命令,然后根据需要调用设置的回调函数
39 void process_command(carla::Buffer buffer);
40
41 private:
42 // 存储Secondary对象的共享指针,以便在处理命令时访问Secondary类的实例
43 std::shared_ptr<Secondary> _secondary;
44
45 // 存储回调函数,以便在处理完命令后调用它
46 // 回调函数将使用从命令中解析出的数据和命令类型作为参数进行调用
48};
49
50// 注意:MultiGPUCommand枚举类型和carla::Buffer类的定义没有在这个代码片段中给出,
51// 它们可能在其他地方(如其他头文件)被定义。此外,Secondary类的定义也没有给出,
52// 但通过前向声明,SecondaryCommands类可以引用Secondary类的共享指针。
53} // namespace multigpu
54} // namespace carla
一块原始数据。 请注意,如果需要更多容量,则会分配一个新的内存块,并 删除旧的内存块。这意味着默认情况下,缓冲区只能增长。要释放内存,使用 clear 或 pop。
std::function< void(MultiGPUCommand, carla::Buffer)> callback_type
void set_secondary(std::shared_ptr< Secondary > secondary)
std::shared_ptr< Secondary > _secondary
void set_callback(callback_type callback)
void process_command(carla::Buffer buffer)
CARLA模拟器的主命名空间。
Definition Carla.cpp:139