@@ -120,16 +120,16 @@ pcl::search::Search<PointT>::nearestKSearch (
120120 {
121121 k_indices.resize (cloud.size ());
122122 k_sqr_distances.resize (cloud.size ());
123- #pragma omp parallel for num_threads(num_threads_)
124- for (std::size_t i = 0 ; i < cloud.size (); i++)
123+ #pragma omp parallel for num_threads(num_threads_) default(none) shared(cloud, k, k_indices, k_sqr_distances)
124+ for (std::ptrdiff_t i = 0 ; i < static_cast <std:: ptrdiff_t >( cloud.size () ); i++)
125125 nearestKSearch (cloud, static_cast <index_t > (i), k, k_indices[i], k_sqr_distances[i]);
126126 }
127127 else
128128 {
129129 k_indices.resize (indices.size ());
130130 k_sqr_distances.resize (indices.size ());
131- #pragma omp parallel for num_threads(num_threads_)
132- for (std::size_t i = 0 ; i < indices.size (); i++)
131+ #pragma omp parallel for num_threads(num_threads_) default(none) shared(cloud, indices, k, k_indices, k_sqr_distances)
132+ for (std::ptrdiff_t i = 0 ; i < static_cast <std:: ptrdiff_t >( indices.size () ); i++)
133133 nearestKSearch (cloud, indices[i], k, k_indices[i], k_sqr_distances[i]);
134134 }
135135}
@@ -174,16 +174,16 @@ pcl::search::Search<PointT>::radiusSearch (
174174 {
175175 k_indices.resize (cloud.size ());
176176 k_sqr_distances.resize (cloud.size ());
177- #pragma omp parallel for num_threads(num_threads_)
178- for (std::size_t i = 0 ; i < cloud.size (); i++)
177+ #pragma omp parallel for num_threads(num_threads_) default(none) shared(cloud, radius, k_indices, k_sqr_distances, max_nn)
178+ for (std::ptrdiff_t i = 0 ; i < static_cast <std:: ptrdiff_t >( cloud.size () ); i++)
179179 radiusSearch (cloud, static_cast <index_t > (i), radius,k_indices[i], k_sqr_distances[i], max_nn);
180180 }
181181 else
182182 {
183183 k_indices.resize (indices.size ());
184184 k_sqr_distances.resize (indices.size ());
185- #pragma omp parallel for num_threads(num_threads_)
186- for (std::size_t i = 0 ; i < indices.size (); i++)
185+ #pragma omp parallel for num_threads(num_threads_) default(none) shared(cloud, indices, radius, k_indices, k_sqr_distances, max_nn)
186+ for (std::ptrdiff_t i = 0 ; i < static_cast <std:: ptrdiff_t >( indices.size () ); i++)
187187 radiusSearch (cloud,indices[i],radius,k_indices[i],k_sqr_distances[i], max_nn);
188188 }
189189}
0 commit comments