41 #ifndef PCL_REGISTRATION_CORRESPONDENCE_ESTIMATION_NORMAL_SHOOTING_H_
42 #define PCL_REGISTRATION_CORRESPONDENCE_ESTIMATION_NORMAL_SHOOTING_H_
44 #include <pcl/registration/correspondence_types.h>
45 #include <pcl/registration/correspondence_estimation.h>
49 namespace registration
77 template <
typename Po
intSource,
typename Po
intTarget,
typename NormalT,
typename Scalar =
float>
81 typedef boost::shared_ptr<CorrespondenceEstimationNormalShooting<PointSource, PointTarget, NormalT, Scalar> >
Ptr;
82 typedef boost::shared_ptr<const CorrespondenceEstimationNormalShooting<PointSource, PointTarget, NormalT, Scalar> >
ConstPtr;
116 , source_normals_transformed_ ()
119 corr_name_ =
"CorrespondenceEstimationNormalShooting";
133 inline NormalsConstPtr
143 double max_distance = std::numeric_limits<double>::max ());
154 double max_distance = std::numeric_limits<double>::max ());
185 NormalsConstPtr source_normals_;
188 NormalsPtr source_normals_transformed_;
196 #include <pcl/registration/impl/correspondence_estimation_normal_shooting.hpp>
void setKSearch(unsigned int k)
Set the number of nearest neighbours to be considered in the target point cloud.
boost::shared_ptr< KdTree< PointT > > Ptr
std::vector< pcl::Correspondence, Eigen::aligned_allocator< pcl::Correspondence > > Correspondences
void setSourceNormals(const NormalsConstPtr &normals)
Set the normals computed on the source point cloud.
PointCloudSource::Ptr PointCloudSourcePtr
Abstract CorrespondenceEstimationBase class.
std::string corr_name_
The correspondence estimation method name.
CorrespondenceEstimationNormalShooting()
Empty constructor.
void determineCorrespondences(pcl::Correspondences &correspondences, double max_distance=std::numeric_limits< double >::max())
Determine the correspondences between input and target cloud.
boost::shared_ptr< const CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar > > ConstPtr
PointCloudSource::ConstPtr PointCloudSourceConstPtr
virtual void determineReciprocalCorrespondences(pcl::Correspondences &correspondences, double max_distance=std::numeric_limits< double >::max())
Determine the reciprocal correspondences between input and target cloud.
pcl::PointCloud< NormalT > PointCloudNormals
PointCloudTarget::ConstPtr PointCloudTargetConstPtr
PointCloudNormals::Ptr NormalsPtr
pcl::search::KdTree< PointTarget > KdTree
boost::shared_ptr< const PointCloud< PointSource > > ConstPtr
pcl::PointCloud< PointSource > PointCloudSource
pcl::PointCloud< PointTarget > PointCloudTarget
boost::shared_ptr< CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar > > Ptr
NormalsConstPtr getSourceNormals() const
Get the normals of the source point cloud.
CorrespondenceEstimationNormalShooting computes correspondences as points in the target cloud which h...
pcl::search::KdTree< PointTarget >::Ptr KdTreePtr
virtual ~CorrespondenceEstimationNormalShooting()
Empty destructor.
PointCloudNormals::ConstPtr NormalsConstPtr
boost::shared_ptr< PointCloud< PointSource > > Ptr
PointCloudTarget::Ptr PointCloudTargetPtr
void getKSearch() const
Get the number of nearest neighbours considered in the target point cloud for computing correspondenc...
bool initCompute()
Internal computation initalization.