CARLA
 
载入中...
搜索中...
未找到
Public 成员函数 | Private 成员函数 | Private 属性 | 所有成员列表
carla::ros2::CarlaSemanticLidarPublisher类 参考

#include <CarlaSemanticLidarPublisher.h>

+ 类 carla::ros2::CarlaSemanticLidarPublisher 继承关系图:
+ carla::ros2::CarlaSemanticLidarPublisher 的协作图:

Public 成员函数

 CarlaSemanticLidarPublisher (CarlaSemanticLidarPublisher &&)
 CarlaSemanticLidarPublisher类的移动构造函数。
 
 CarlaSemanticLidarPublisher (const CarlaSemanticLidarPublisher &)
 CarlaSemanticLidarPublisher类的拷贝构造函数。
 
 CarlaSemanticLidarPublisher (const char *ros_name="", const char *parent="")
 CarlaSemanticLidarPublisher类的构造函数。
 
bool Init ()
 初始化Carla语义激光雷达数据发布者。
 
CarlaSemanticLidarPublisheroperator= (CarlaSemanticLidarPublisher &&)
 移动赋值运算符重载。
 
CarlaSemanticLidarPublisheroperator= (const CarlaSemanticLidarPublisher &)
 拷贝赋值运算符重载。
 
bool Publish ()
 
void SetData (int32_t seconds, uint32_t nanoseconds, size_t elements, size_t height, size_t width, float *data)
 设置激光雷达数据,包括时间戳、数据尺寸以及浮点数据数组,并对数据进行预处理。
 
const char * type () const override
 
 ~CarlaSemanticLidarPublisher ()
 CarlaSemanticLidarPublisher类的析构函数。
 
- Public 成员函数 继承自 carla::ros2::CarlaPublisher
 CarlaPublisher ()=default
 
const std::string & frame_id () const
 
void frame_id (std::string &&frame_id)
 
const std::string & name () const
 
void name (std::string &&name)
 
const std::string & parent () const
 
void parent (std::string &&parent)
 
virtual ~CarlaPublisher ()=default
 

Private 成员函数

void SetData (int32_t seconds, uint32_t nanoseconds, size_t height, size_t width, std::vector< uint8_t > &&data)
 设置激光雷达数据,包括时间戳、数据尺寸以及字节数据。
 

Private 属性

std::shared_ptr< CarlaSemanticLidarPublisherImpl_impl
 

额外继承的成员函数

- Protected 属性 继承自 carla::ros2::CarlaPublisher
std::string _frame_id = ""
 
std::string _name = ""
 
std::string _parent = ""
 

详细描述

在文件 CarlaSemanticLidarPublisher.h18 行定义.

构造及析构函数说明

◆ CarlaSemanticLidarPublisher() [1/3]

carla::ros2::CarlaSemanticLidarPublisher::CarlaSemanticLidarPublisher ( const char * ros_name = "",
const char * parent = "" )

CarlaSemanticLidarPublisher类的构造函数。

初始化CarlaSemanticLidarPublisher对象,创建内部实现对象,并设置ROS节点名称和父节点名称。

参数
ros_nameROS节点名称。
parent父节点名称或空字符串(如果无父节点)。

在文件 CarlaSemanticLidarPublisher.cpp299 行定义.

引用了 carla::ros2::CarlaPublisher::_name, carla::ros2::CarlaPublisher::_parent , 以及 carla::ros2::CarlaPublisher::parent().

+ 函数调用图:

◆ ~CarlaSemanticLidarPublisher()

carla::ros2::CarlaSemanticLidarPublisher::~CarlaSemanticLidarPublisher ( )

CarlaSemanticLidarPublisher类的析构函数。

清理CarlaSemanticLidarPublisher对象,释放所有资源。 这包括删除数据写入器、发布者、主题和参与者(如果它们存在)。

在文件 CarlaSemanticLidarPublisher.cpp310 行定义.

引用了 _impl.

◆ CarlaSemanticLidarPublisher() [2/3]

carla::ros2::CarlaSemanticLidarPublisher::CarlaSemanticLidarPublisher ( const CarlaSemanticLidarPublisher & other)

CarlaSemanticLidarPublisher类的拷贝构造函数。

通过另一个CarlaSemanticLidarPublisher对象来初始化当前对象,实现深拷贝(如果_impl是智能指针则实现浅拷贝)。

参数
other要拷贝的CarlaSemanticLidarPublisher对象。

在文件 CarlaSemanticLidarPublisher.cpp334 行定义.

引用了 carla::ros2::CarlaPublisher::_frame_id, _impl, carla::ros2::CarlaPublisher::_name , 以及 carla::ros2::CarlaPublisher::_parent.

◆ CarlaSemanticLidarPublisher() [3/3]

carla::ros2::CarlaSemanticLidarPublisher::CarlaSemanticLidarPublisher ( CarlaSemanticLidarPublisher && other)

CarlaSemanticLidarPublisher类的移动构造函数。

通过另一个CarlaSemanticLidarPublisher对象(右值引用)来初始化当前对象,实现资源的转移。

参数
other要移动的CarlaSemanticLidarPublisher对象(右值)。

在文件 CarlaSemanticLidarPublisher.cpp363 行定义.

引用了 carla::ros2::CarlaPublisher::_frame_id, _impl, carla::ros2::CarlaPublisher::_name , 以及 carla::ros2::CarlaPublisher::_parent.

成员函数说明

◆ Init()

bool carla::ros2::CarlaSemanticLidarPublisher::Init ( )

初始化Carla语义激光雷达数据发布者。

该函数负责创建Fast-DDS的域参与者、发布者、话题和数据写入器,并注册类型支持。

返回
bool 如果初始化成功,则返回true;否则返回false。

在文件 CarlaSemanticLidarPublisher.cpp62 行定义.

引用了 carla::ros2::CarlaPublisher::_frame_id, _impl, carla::ros2::CarlaPublisher::_name , 以及 carla::ros2::CarlaPublisher::_parent.

◆ operator=() [1/2]

CarlaSemanticLidarPublisher & carla::ros2::CarlaSemanticLidarPublisher::operator= ( CarlaSemanticLidarPublisher && other)

移动赋值运算符重载。

将当前对象替换为另一个CarlaSemanticLidarPublisher对象(右值)的资源转移。

参数
other要赋值的CarlaSemanticLidarPublisher对象(右值)。
返回
引用当前对象。

在文件 CarlaSemanticLidarPublisher.cpp377 行定义.

引用了 carla::ros2::CarlaPublisher::_frame_id, _impl, carla::ros2::CarlaPublisher::_name , 以及 carla::ros2::CarlaPublisher::_parent.

◆ operator=() [2/2]

CarlaSemanticLidarPublisher & carla::ros2::CarlaSemanticLidarPublisher::operator= ( const CarlaSemanticLidarPublisher & other)

拷贝赋值运算符重载。

将当前对象替换为另一个CarlaSemanticLidarPublisher对象的拷贝。

参数
other要赋值的CarlaSemanticLidarPublisher对象。
返回
引用当前对象。

在文件 CarlaSemanticLidarPublisher.cpp348 行定义.

引用了 carla::ros2::CarlaPublisher::_frame_id, _impl, carla::ros2::CarlaPublisher::_name , 以及 carla::ros2::CarlaPublisher::_parent.

◆ Publish()

bool carla::ros2::CarlaSemanticLidarPublisher::Publish ( )

在文件 CarlaSemanticLidarPublisher.cpp114 行定义.

◆ SetData() [1/2]

void carla::ros2::CarlaSemanticLidarPublisher::SetData ( int32_t seconds,
uint32_t nanoseconds,
size_t elements,
size_t height,
size_t width,
float * data )

设置激光雷达数据,包括时间戳、数据尺寸以及浮点数据数组,并对数据进行预处理。

此函数首先遍历浮点数据数组(除了第一个元素),将其中的每个元素乘以-1(即取反)。 然后,它将浮点数数据转换为字节序列,并调用另一个重载的SetData函数来设置处理后的数据。

参数
seconds时间戳的秒部分
nanoseconds时间戳的纳秒部分
elements每个点的数据元素数量(例如,一个点可能包含x, y, z坐标等)
height数据的高度(行数)
width数据的宽度(列数)
data指向浮点数据数组的指针,这些数据将被处理并用于设置激光雷达数据

在文件 CarlaSemanticLidarPublisher.cpp206 行定义.

引用了 end() , 以及 SetData().

被这些函数引用 SetData().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ SetData() [2/2]

void carla::ros2::CarlaSemanticLidarPublisher::SetData ( int32_t seconds,
uint32_t nanoseconds,
size_t height,
size_t width,
std::vector< uint8_t > && data )
private

设置激光雷达数据,包括时间戳、数据尺寸以及字节数据。

此函数创建并设置ROS消息头(Header)、点字段描述符(PointField)以及激光雷达数据(Lidar)的相关属性。 它使用提供的时间戳、高度、宽度和字节数据来填充这些属性,并准备激光雷达数据以供发布。

参数
seconds时间戳的秒部分
nanoseconds时间戳的纳秒部分
height数据的高度(行数)
width数据的宽度(点数/列数)
data包含激光雷达点数据的字节向量,这些数据将被直接用于设置激光雷达消息的数据部分

在文件 CarlaSemanticLidarPublisher.cpp238 行定义.

引用了 carla::ros2::CarlaPublisher::_frame_id, _impl, sensor_msgs::msg::PointField::count(), sensor_msgs::msg::PointField::datatype(), sensor_msgs::msg::PointField::name(), builtin_interfaces::msg::Time::nanosec(), sensor_msgs::msg::PointField::offset(), sensor_msgs::msg::PointField__FLOAT32, sensor_msgs::msg::PointField__UINT32 , 以及 builtin_interfaces::msg::Time::sec().

+ 函数调用图:

◆ type()

const char * carla::ros2::CarlaSemanticLidarPublisher::type ( ) const
inlineoverridevirtual

实现了 carla::ros2::CarlaPublisher.

在文件 CarlaSemanticLidarPublisher.h30 行定义.

类成员变量说明

◆ _impl

std::shared_ptr<CarlaSemanticLidarPublisherImpl> carla::ros2::CarlaSemanticLidarPublisher::_impl
private

该类的文档由以下文件生成: