84 std::vector<int> indices(
points.size(), 0);
85 std::iota(indices.begin(), indices.end(), 0);
86 std::sort(indices.begin(), indices.end(),
87 [&](
const int lhs,
const int rhs) {
88 return points[lhs].z < points[rhs].z;
90 std::vector<SppPoint> points_target(
points.size());
91 std::vector<uint32_t> point_ids_target(
points.size());
92 for (
size_t i = 0; i <
points.size(); ++i) {
93 points_target[i] =
points[indices[i]];
94 point_ids_target[i] =
point_ids[indices[i]];
96 points.swap(points_target);