40 #ifndef PCL_REGISTRATION_TRANSFORMATION_ESTIMATION_POINT_TO_PLANE_H_
41 #define PCL_REGISTRATION_TRANSFORMATION_ESTIMATION_POINT_TO_PLANE_H_
43 #include <pcl/registration/transformation_estimation.h>
44 #include <pcl/registration/transformation_estimation_lm.h>
45 #include <pcl/registration/warp_point_rigid.h>
49 namespace registration
57 template <
typename Po
intSource,
typename Po
intTarget,
typename Scalar =
float>
61 typedef boost::shared_ptr<TransformationEstimationPointToPlane<PointSource, PointTarget, Scalar> >
Ptr;
62 typedef boost::shared_ptr<const TransformationEstimationPointToPlane<PointSource, PointTarget, Scalar> >
ConstPtr;
71 typedef Eigen::Matrix<Scalar, 4, 1>
Vector4;
81 Vector4 s (p_src.x, p_src.y, p_src.z, 0);
82 Vector4 t (p_tgt.x, p_tgt.y, p_tgt.z, 0);
83 Vector4 n (p_tgt.normal_x, p_tgt.normal_y, p_tgt.normal_z, 0);
84 return ((s - t).dot (n));
91 Vector4 t (p_tgt.x, p_tgt.y, p_tgt.z, 0);
92 Vector4 n (p_tgt.normal_x, p_tgt.normal_y, p_tgt.normal_z, 0);
93 return ((p_src - t).dot (n));
PointIndices::Ptr PointIndicesPtr
pcl::PointCloud< PointSource > PointCloudSource
TransformationEstimationLM implements Levenberg Marquardt-based estimation of the transformation alig...
Eigen::Matrix< Scalar, 4, 1 > Vector4
PointCloudSource::ConstPtr PointCloudSourceConstPtr
virtual Scalar computeDistance(const PointSource &p_src, const PointTarget &p_tgt) const
Compute the distance between a source point and its corresponding target point.
PointIndices::ConstPtr PointIndicesConstPtr
virtual ~TransformationEstimationPointToPlane()
virtual Scalar computeDistance(const Vector4 &p_src, const PointTarget &p_tgt) const
Compute the distance between a source point and its corresponding target point.
boost::shared_ptr< const PointCloud< PointSource > > ConstPtr
boost::shared_ptr< ::pcl::PointIndices > Ptr
boost::shared_ptr< TransformationEstimationPointToPlane< PointSource, PointTarget, Scalar > > Ptr
TransformationEstimationPointToPlane uses Levenberg Marquardt optimization to find the transformation...
PointCloudSource::Ptr PointCloudSourcePtr
boost::shared_ptr< PointCloud< PointSource > > Ptr
boost::shared_ptr< const TransformationEstimationPointToPlane< PointSource, PointTarget, Scalar > > ConstPtr
boost::shared_ptr< ::pcl::PointIndices const > ConstPtr
TransformationEstimationPointToPlane()
pcl::PointCloud< PointTarget > PointCloudTarget