CARLA
 
载入中...
搜索中...
未找到
LibCarla/source/carla/client/Sensor.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
10
11#include <functional>
12/**
13 * @namespace carla::sensor
14 * @brief 包含传感器数据相关类和定义的命名空间。
15 */
16namespace carla {
17namespace sensor { class SensorData; }
18/**
19 * @namespace carla::client
20 * @brief 包含客户端相关类和定义的命名空间。
21 */
22namespace client {
23 /**
24 * @class Sensor
25 * @brief 传感器基类,继承自Actor类。
26 *
27 * Sensor类是一个抽象基类,代表CARLA模拟器中的一个传感器。它提供了注册回调、停止监听和检查是否正在监听新数据的功能。
28 */
29 class Sensor : public Actor {
30 public:
31 /**
32 * @typedef CallbackFunctionType
33 * @brief 回调函数的类型别名,用于接收传感器数据。
34 *
35 * 这是一个std::function类型的别名,它接受一个指向sensor::SensorData的智能指针作为参数,并返回void。
36 */
38 /**
39 * @brief 使用Actor的构造函数初始化Sensor对象。
40 *
41 * 这是通过使用using声明来继承Actor的构造函数。
42 */
43 using Actor::Actor;
44 /**
45 * @brief 注册一个回调,以便在每次收到新的测量值时执行。
46 *
47 * @param callback 回调函数,当传感器接收到新的数据时会被调用。
48 *
49 * 这个函数是虚函数,需要在子类中实现。
50 */
51 virtual void Listen(CallbackFunctionType callback) = 0;
52 /**
53 * @brief 停止监听新的测量结果。
54 *
55 * 这个函数是虚函数,需要在子类中实现。
56 */
57 virtual void Stop() = 0;
58 /**
59 * @brief 返回此传感器实例当前是否正在监听新数据。
60 *
61 * @return 如果传感器正在监听新数据,则返回true;否则返回false。
62 *
63 * 这个函数是虚函数,需要在子类中实现。
64 */
65 virtual bool IsListening() const = 0;
66 };
67
68} // namespace client
69} // namespace carla
表示模拟中的一个行为体(Actor)。
传感器基类,继承自Actor类。
virtual void Listen(CallbackFunctionType callback)=0
注册一个回调,以便在每次收到新的测量值时执行。
std::function< void(SharedPtr< sensor::SensorData >)> CallbackFunctionType
回调函数的类型别名,用于接收传感器数据。
virtual bool IsListening() const =0
返回此传感器实例当前是否正在监听新数据。
virtual void Stop()=0
停止监听新的测量结果。
CARLA模拟器的主命名空间。
Definition Carla.cpp:139
boost::shared_ptr< T > SharedPtr
使用这个SharedPtr(boost::shared_ptr)以保持与boost::python的兼容性, 但未来如果可能的话,我们希望能为std::shared_ptr制作一个Python适配器。
Definition Memory.h:19
包含CARLA客户端相关类和函数的命名空间。