1. 首先定义Point结构体
struct PointXYZUV
{
PCL_ADD_POINT4D; // 添加pcl里xyz+padding
float u;
float v;
EIGEN_MAKE_ALIGNED_OPERATOR_NEW // 确保定义新类型点云内存与SSE对齐
} EIGEN_ALIGN16; // 强制SSE填充以正确对齐内存
2.注册类型
POINT_CLOUD_REGISTER_POINT_STRUCT(PointXYZUV, // 定义新类型里元素包括XYZ+“test”
(float, x, x)
(float, y, y)
(float, z, z)
(float, u, u)
(float, v, v)
)
3.由于PCL为了加快编译速度,将类的实现放在了hpp文件中。官方文档是这么说的:

因此在使用自定义Point类型的时候,必须包含hpp文件。

本文介绍如何在PCL中定义PointXYZUV结构体,添加XYZ+UV坐标,并利用EIGEN确保内存对齐。同时讲解了PCL将类实现放在hpp文件的策略,以及如何在使用自定义类型时包含对应文件。
946

被折叠的 条评论
为什么被折叠?



