6#define _GLIBCXX_USE_CXX11_ABI 0
18 struct CarlaEgoVehicleControlSubscriberImpl;
57 const char*
type()
const override {
return "Ego vehicle control"; }
71 void SetData(int32_t seconds, uint32_t nanoseconds, uint32_t actor_id, std::vector<float>&& data);
75 std::shared_ptr<CarlaEgoVehicleControlSubscriberImpl>
_impl;
CarlaEgoVehicleControlSubscriber类,用于订阅并处理来自ROS2的自动驾驶车辆控制消息
void SetData(int32_t seconds, uint32_t nanoseconds, uint32_t actor_id, std::vector< float > &&data)
设置内部数据,包括时间戳、车辆ID和控制数据。
const char * type() const override
返回用户的类型名称。
void * GetVehicle()
获取与用户关联的车辆实例的指针。
bool IsAlive()
检查用户是否仍然活跃。
CarlaEgoVehicleControlSubscriber & operator=(const CarlaEgoVehicleControlSubscriber &)
拷贝赋值运算符,用于深拷贝赋值。
VehicleControl GetMessage()
获取最新的车辆控制消息。
CarlaEgoVehicleControlSubscriber(void *vehicle, const char *ros_name="", const char *parent="")
构造函数,初始化用户并关联到指定的车辆。
~CarlaEgoVehicleControlSubscriber()
析构函数,清理资源并销毁用户。
std::shared_ptr< CarlaEgoVehicleControlSubscriberImpl > _impl
指向内部实现结构的智能指针,用于隐藏实现细节。
bool HasNewMessage()
检查是否有新的控制消息到达。
void ForwardMessage(VehicleControl control)
(内部使用)将控制消息转发给内部处理函数。
void DestroySubscriber()
销毁用户并释放相关资源。
const std::string & parent() const