74 std::vector<std::vector<float> >
diffs (scales_.size ());
77 std::vector<float>
aux_diffs (input_->size (), 0.0f);
80 cloud_trees_[scales_[0].second]->setInputCloud (clouds_[scales_[0].second]);
151 keypoints_indices_->indices.push_back (
point_i);
156 output.header = input_->header;
184 PCL_INFO (
"SmoothedSurfacesKeypoint initCompute () called\n");
187 PCL_ERROR (
"[pcl::SmoothedSurfacesKeypoints::initCompute] Keypoint::initCompute failed\n");
193 PCL_ERROR (
"[pcl::SmoothedSurfacesKeypoints::initCompute] Input normals were not set\n");
196 if (clouds_.empty ())
198 PCL_ERROR (
"[pcl::SmoothedSurfacesKeypoints::initCompute] No other clouds were set apart from the input\n");
202 if (input_->size () != normals_->size ())
204 PCL_ERROR (
"[pcl::SmoothedSurfacesKeypoints::initCompute] The input cloud and the input normals differ in size\n");
210 if (clouds_[
cloud_i]->size () != input_->size ())
212 PCL_ERROR(
"[pcl::SmoothedSurfacesKeypoints::initCompute] Cloud %zu does not have "
213 "the same number of points as the input cloud\n",
218 if (cloud_normals_[
cloud_i]->size () != input_->size ())
220 PCL_ERROR(
"[pcl::SmoothedSurfacesKeypoints::initCompute] Normals for cloud %zu "
221 "do not have the same number of points as the input cloud\n",
228 scales_.push_back (std::pair<float, std::size_t> (input_scale_, scales_.size ()));
229 clouds_.push_back (input_);
230 cloud_normals_.push_back (normals_);
231 cloud_trees_.push_back (tree_);
233 sort (scales_.begin (), scales_.end (), compareScalesFunction);
236 for (std::size_t i = 0; i < scales_.size (); ++i)
237 if (scales_[i].second == scales_.size () - 1)
243 PCL_INFO (
"Scales: ");
244 for (std::size_t i = 0; i < scales_.size (); ++i) PCL_INFO (
"(%d %f), ", scales_[i].second, scales_[i].first);