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";
143 double max_distance = std::numeric_limits<double>::max ());
154 double max_distance = std::numeric_limits<double>::max ());
196 #include <pcl/registration/impl/correspondence_estimation_normal_shooting.hpp>
boost::shared_ptr< const CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar > > ConstPtr
PointCloudTarget::Ptr PointCloudTargetPtr
std::string corr_name_
The correspondence estimation method name.
pcl::PointCloud< NormalT > PointCloudNormals
PointCloudTarget::ConstPtr PointCloudTargetConstPtr
void getKSearch() const
Get the number of nearest neighbours considered in the target point cloud for computing correspondenc...
bool initCompute()
Internal computation initalization.
virtual void determineReciprocalCorrespondences(pcl::Correspondences &correspondences, double max_distance=std::numeric_limits< double >::max())
Determine the reciprocal correspondences between input and target cloud.
void setKSearch(unsigned int k)
Set the number of nearest neighbours to be considered in the target point cloud.
NormalsConstPtr getSourceNormals() const
Get the normals of the source point cloud.
CorrespondenceEstimationNormalShooting computes correspondences as points in the target cloud which h...
pcl::PointCloud< PointTarget > PointCloudTarget
PointCloudSource::ConstPtr PointCloudSourceConstPtr
boost::shared_ptr< PointCloud< PointT > > Ptr
boost::shared_ptr< KdTree< PointT > > Ptr
void determineCorrespondences(pcl::Correspondences &correspondences, double max_distance=std::numeric_limits< double >::max())
Determine the correspondences between input and target cloud.
PointCloudNormals::Ptr NormalsPtr
void setSourceNormals(const NormalsConstPtr &normals)
Set the normals computed on the source point cloud.
PointCloudNormals::ConstPtr NormalsConstPtr
boost::shared_ptr< const PointCloud< PointT > > ConstPtr
virtual ~CorrespondenceEstimationNormalShooting()
Empty destructor.
Abstract CorrespondenceEstimationBase class.
std::vector< pcl::Correspondence, Eigen::aligned_allocator< pcl::Correspondence > > Correspondences
pcl::search::KdTree< PointTarget >::Ptr KdTreePtr
PointCloudSource::Ptr PointCloudSourcePtr
boost::shared_ptr< CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar > > Ptr
pcl::search::KdTree< PointTarget > KdTree
CorrespondenceEstimationNormalShooting()
Empty constructor.
pcl::PointCloud< PointSource > PointCloudSource