void copyFields(const DeviceArray<PointXYZRGBL>& src, DeviceArray<PointXYZ>& dst) { //PointXYZRGBL.x (0) -> PointXYZ.x (0) //PointXYZRGBL.y (1) -> PointXYZ.y (1) //PointXYZRGBL.z (2) -> PointXYZ.z (2) copyFieldsEx(src, dst, rule(cp(0, 0), cp(1, 1), cp(2, 2))); };
void copyFields(const DeviceArray<Normal>& src, DeviceArray<PointNormal>& dst) { //PointXYZ.normal_x (0) -> PointNormal.normal_x (4) //PointXYZ.normal_y (1) -> PointNormal.normal_y (5) //PointXYZ.normal_z (2) -> PointNormal.normal_z (6) //PointXYZ.curvature (4) -> PointNormal.curvature (8) copyFieldsEx(src, dst, rule(cp(0, 4), cp(1, 5), cp(2, 6), cp(4,8))); };
void copyFieldsZ(const DeviceArray<PointXYZRGB>& src, DeviceArray<float>& dst) { //PointXYZRGBL.z (2) -> float (1) copyFieldsEx(src, dst, rule(cp(2, 0))); };