From c30d0e5f04c8bdfbc9e1cc2adcafbe8816710019 Mon Sep 17 00:00:00 2001 From: Markus Vieth Date: Wed, 1 Apr 2020 18:20:03 +0200 Subject: [PATCH] Improve for-loops and iterators --- .../include/pcl/search/impl/brute_force.hpp | 26 +++++++++---------- search/include/pcl/search/organized.h | 4 +-- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/search/include/pcl/search/impl/brute_force.hpp b/search/include/pcl/search/impl/brute_force.hpp index f0b82134c8c..6e8442b3e79 100644 --- a/search/include/pcl/search/impl/brute_force.hpp +++ b/search/include/pcl/search/impl/brute_force.hpp @@ -77,8 +77,8 @@ pcl::search::BruteForce::denseKSearch ( std::priority_queue queue; if (indices_) { - auto iIt =indices_->begin (); - auto iEnd = indices_->begin () + std::min (static_cast (k), static_cast (indices_->size ())); + auto iIt = indices_->cbegin (); + auto iEnd = indices_->cbegin () + std::min (static_cast (k), static_cast (indices_->size ())); for (; iIt != iEnd; ++iIt) result.push_back (Entry (*iIt, getDistSqr (input_->points[*iIt], point))); @@ -86,7 +86,7 @@ pcl::search::BruteForce::denseKSearch ( // add the rest Entry entry; - for (; iIt != indices_->end (); ++iIt) + for (; iIt != indices_->cend (); ++iIt) { entry.distance = getDistSqr (input_->points[*iIt], point); if (queue.top ().distance > entry.distance) @@ -146,8 +146,8 @@ pcl::search::BruteForce::sparseKSearch ( std::priority_queue queue; if (indices_) { - auto iIt =indices_->begin (); - for (; iIt != indices_->end () && result.size () < static_cast (k); ++iIt) + auto iIt =indices_->cbegin (); + for (; iIt != indices_->cend () && result.size () < static_cast (k); ++iIt) { if (std::isfinite (input_->points[*iIt].x)) result.push_back (Entry (*iIt, getDistSqr (input_->points[*iIt], point))); @@ -158,7 +158,7 @@ pcl::search::BruteForce::sparseKSearch ( // either we have k elements, or there are none left to iterate >in either case we're fine // add the rest Entry entry; - for (; iIt != indices_->end (); ++iIt) + for (; iIt != indices_->cend (); ++iIt) { if (!std::isfinite (input_->points[*iIt].x)) continue; @@ -235,12 +235,12 @@ pcl::search::BruteForce::denseRadiusSearch ( float distance; if (indices_) { - for (auto iIt =indices_->begin (); iIt != indices_->end (); ++iIt) + for (const auto& idx : *indices_) { - distance = getDistSqr (input_->points[*iIt], point); + distance = getDistSqr (input_->points[idx], point); if (distance <= radius) { - k_indices.push_back (*iIt); + k_indices.push_back (idx); k_sqr_distances.push_back (distance); if (k_indices.size () == max_nn) // max_nn = 0 -> never true break; @@ -291,15 +291,15 @@ pcl::search::BruteForce::sparseRadiusSearch ( float distance; if (indices_) { - for (auto iIt =indices_->begin (); iIt != indices_->end (); ++iIt) + for (const auto& idx : *indices_) { - if (!std::isfinite (input_->points[*iIt].x)) + if (!std::isfinite (input_->points[idx].x)) continue; - distance = getDistSqr (input_->points[*iIt], point); + distance = getDistSqr (input_->points[idx], point); if (distance <= radius) { - k_indices.push_back (*iIt); + k_indices.push_back (idx); k_sqr_distances.push_back (distance); if (k_indices.size () == max_nn) // never true if max_nn = 0 break; diff --git a/search/include/pcl/search/organized.h b/search/include/pcl/search/organized.h index 6e0dc0bd365..a6d40bbf220 100644 --- a/search/include/pcl/search/organized.h +++ b/search/include/pcl/search/organized.h @@ -136,8 +136,8 @@ namespace pcl if (indices_ && !indices_->empty()) { mask_.assign (input_->size (), 0); - for (auto iIt = indices_->begin (); iIt != indices_->end (); ++iIt) - mask_[*iIt] = 1; + for (const auto& idx : *indices_) + mask_[idx] = 1; } else mask_.assign (input_->size (), 1);