39 #ifndef PCL_REGISTRATION_TRANSFORMATION_ESTIMATION_POINT_TO_PLANE_LLS_WEIGHTED_H_
40 #define PCL_REGISTRATION_TRANSFORMATION_ESTIMATION_POINT_TO_PLANE_LLS_WEIGHTED_H_
42 #include <pcl/registration/transformation_estimation.h>
43 #include <pcl/registration/warp_point_rigid.h>
44 #include <pcl/cloud_iterator.h>
48 namespace registration
62 template <
typename Po
intSource,
typename Po
intTarget,
typename Scalar =
float>
66 typedef boost::shared_ptr<TransformationEstimationPointToPlaneLLSWeighted<PointSource, PointTarget, Scalar> >
Ptr;
67 typedef boost::shared_ptr<const TransformationEstimationPointToPlaneLLSWeighted<PointSource, PointTarget, Scalar> >
ConstPtr;
83 Matrix4 &transformation_matrix)
const;
94 const std::vector<int> &indices_src,
96 Matrix4 &transformation_matrix)
const;
108 const std::vector<int> &indices_src,
110 const std::vector<int> &indices_tgt,
111 Matrix4 &transformation_matrix)
const;
124 Matrix4 &transformation_matrix)
const;
144 typename std::vector<Scalar>::const_iterator& weights_it,
145 Matrix4 &transformation_matrix)
const;
158 const double & tx,
const double & ty,
const double & tz,
159 Matrix4 &transformation_matrix)
const;
166 #include <pcl/registration/impl/transformation_estimation_point_to_plane_lls_weighted.hpp>
std::vector< pcl::Correspondence, Eigen::aligned_allocator< pcl::Correspondence > > Correspondences
std::vector< Scalar > weights_
TransformationEstimationPointToPlaneLLSWeighted implements a Linear Least Squares (LLS) approximation...
Eigen::Matrix< Scalar, 4, 4 > Matrix4
TransformationEstimation represents the base class for methods for transformation estimation based on...
boost::shared_ptr< TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar > > Ptr
TransformationEstimationPointToPlaneLLSWeighted()
void constructTransformationMatrix(const double &alpha, const double &beta, const double &gamma, const double &tx, const double &ty, const double &tz, Matrix4 &transformation_matrix) const
Construct a 4 by 4 tranformation matrix from the provided rotation and translation.
void estimateRigidTransformation(const pcl::PointCloud< PointSource > &cloud_src, const pcl::PointCloud< PointTarget > &cloud_tgt, Matrix4 &transformation_matrix) const
Estimate a rigid rotation transformation between a source and a target point cloud using SVD...
Iterator class for point clouds with or without given indices.
TransformationEstimation< PointSource, PointTarget, Scalar >::Matrix4 Matrix4
void setCorrespondenceWeights(const std::vector< Scalar > &weights)
Set the weights for the correspondences.
boost::shared_ptr< const TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar > > ConstPtr
virtual ~TransformationEstimationPointToPlaneLLSWeighted()