diff --git a/registration/include/pcl/registration/icp.h b/registration/include/pcl/registration/icp.h index dbba310952a..6e06a02fb79 100644 --- a/registration/include/pcl/registration/icp.h +++ b/registration/include/pcl/registration/icp.h @@ -463,4 +463,5 @@ class IterativeClosestPointWithNormals extern template class pcl::IterativeClosestPoint; extern template class pcl::IterativeClosestPoint; extern template class pcl::IterativeClosestPoint; +extern template class pcl::IterativeClosestPoint; #endif // PCL_NO_PRECOMPILE diff --git a/registration/include/pcl/registration/impl/registration.hpp b/registration/include/pcl/registration/impl/registration.hpp index db0faef597f..b246958927e 100644 --- a/registration/include/pcl/registration/impl/registration.hpp +++ b/registration/include/pcl/registration/impl/registration.hpp @@ -148,7 +148,7 @@ Registration::getFitnessScore(double max_range if (!input_->is_dense && !pcl::isXYZFinite(point)) continue; // Find its nearest neighbor in the target - tree_->nearestKSearch(point, 1, nn_indices, nn_dists); + tree_->nearestKSearchT(point, 1, nn_indices, nn_dists); // Deal with occlusions (incomplete targets) if (nn_dists[0] <= max_range) { @@ -216,4 +216,4 @@ Registration::align(PointCloudSource& output, deinitCompute(); } -} // namespace pcl \ No newline at end of file +} // namespace pcl diff --git a/registration/include/pcl/registration/registration.h b/registration/include/pcl/registration/registration.h index da80847ff7a..171b0854fdd 100644 --- a/registration/include/pcl/registration/registration.h +++ b/registration/include/pcl/registration/registration.h @@ -665,7 +665,7 @@ class Registration : public PCLBase { pcl::Indices& indices, std::vector& distances) { - int k = tree_->nearestKSearch(cloud, index, 1, indices, distances); + int k = tree_->nearestKSearchT(cloud[index], 1, indices, distances); if (k == 0) return (false); return (true); diff --git a/registration/include/pcl/registration/transformation_estimation_lm.h b/registration/include/pcl/registration/transformation_estimation_lm.h index 3af43f5c9da..7a2d207ee67 100644 --- a/registration/include/pcl/registration/transformation_estimation_lm.h +++ b/registration/include/pcl/registration/transformation_estimation_lm.h @@ -349,3 +349,13 @@ class TransformationEstimationLM } // namespace pcl #include + +#if !defined(PCL_NO_PRECOMPILE) && \ + !defined(PCL_REGISTRATION_TRANSFORMATION_ESTIMATION_LM_CPP_) +extern template class pcl::registration::TransformationEstimationLM; +extern template class pcl::registration::TransformationEstimationLM; +extern template class pcl::registration::TransformationEstimationLM; +#endif // PCL_NO_PRECOMPILE diff --git a/registration/src/icp.cpp b/registration/src/icp.cpp index 0ca020475f8..e888c322b21 100644 --- a/registration/src/icp.cpp +++ b/registration/src/icp.cpp @@ -48,4 +48,5 @@ template class PCL_EXPORTS pcl::IterativeClosestPoint; template class PCL_EXPORTS pcl::IterativeClosestPoint; +template class PCL_EXPORTS pcl::IterativeClosestPoint; #endif // PCL_NO_PRECOMPILE diff --git a/registration/src/transformation_estimation_lm.cpp b/registration/src/transformation_estimation_lm.cpp index 8a869e5b8d3..96b8c052c11 100644 --- a/registration/src/transformation_estimation_lm.cpp +++ b/registration/src/transformation_estimation_lm.cpp @@ -36,4 +36,17 @@ * */ +#define PCL_REGISTRATION_TRANSFORMATION_ESTIMATION_LM_CPP_ #include +#include // for PCL_NO_PRECOMPILE + +#ifndef PCL_NO_PRECOMPILE +#include // for PCL_EXPORTS +#include +template class PCL_EXPORTS + pcl::registration::TransformationEstimationLM; +template class PCL_EXPORTS + pcl::registration::TransformationEstimationLM; +template class PCL_EXPORTS + pcl::registration::TransformationEstimationLM; +#endif // PCL_NO_PRECOMPILE