一、pcl中的PointT类型
完整列表请参见 point_types.hpp
1、PointXYZI - Members: float x, y, z, intensity;
简单的 XYZ + 强度点型。在理想情况下,这4个组件将创建一个单一的结构,SSE 对齐。然而,由于大多数点操作要么将数据[4]数组的最后一个组件(从 xyz 联合)设置为0或1(用于转换) ,我们不能将强度设置为同一结构的成员,因为它的内容将被覆盖。例如,两点之间的点积将其第4个分量设置为0,否则点积就没有意义。
因此,对于 SSE 对齐,我们用3个额外的浮点填充强度。在存储方面效率低下,但在内存对齐方面效果良好。
union
{
float data[4];
struct
{
float x;
float y;
float z;
};
};
union
{
float data[4];
struct
{
float x;
float y;
float z;
};
};
union
{
struct
{
float intensity;
};
float data_c[4];
};
2、PointXYZRGBA - Members: float x, y, z; std::uint32_t rgba;
与 PointXYZI 类似,但