38 #ifndef PCL_REGISTRATION_IMPL_INCREMENTAL_REGISTRATION_HPP_ 39 #define PCL_REGISTRATION_IMPL_INCREMENTAL_REGISTRATION_HPP_ 45 namespace registration
48 template <
typename Po
intT,
typename Scalar>
50 delta_transform_ (
Matrix4::Identity ()),
51 abs_transform_ (
Matrix4::Identity ())
54 template <
typename Po
intT,
typename Scalar>
bool 57 assert (registration_);
62 abs_transform_ = delta_transform_ = delta_estimate;
66 registration_->setInputSource (cloud);
67 registration_->setInputTarget (last_cloud_);
71 registration_->align (p, delta_estimate);
74 bool converged = registration_->hasConverged ();
77 delta_transform_ = registration_->getFinalTransformation ();
78 abs_transform_ *= delta_transform_;
88 return (delta_transform_);
94 return (abs_transform_);
97 template <
typename Po
intT,
typename Scalar>
inline void 100 last_cloud_.reset ();
101 delta_transform_ = abs_transform_ = Matrix4::Identity ();
104 template <
typename Po
intT,
typename Scalar>
inline void 107 registration_ = registration;
bool registerCloud(const PointCloudConstPtr &cloud, const Matrix4 &delta_estimate=Matrix4::Identity())
Register new point cloud incrementally.
typename pcl::Registration< PointT, PointT, Scalar >::Ptr RegistrationPtr
typename pcl::PointCloud< PointT >::ConstPtr PointCloudConstPtr
IncrementalRegistration()
typename pcl::Registration< PointT, PointT, Scalar >::Matrix4 Matrix4
void reset()
Reset incremental Registration without resetting registration_.
PointCloud represents the base class in PCL for storing collections of 3D points. ...
Matrix4 getAbsoluteTransform() const
Get estimated overall transform.
Matrix4 getDeltaTransform() const
Get estimated transform between the last two registered clouds.
void setRegistration(RegistrationPtr)
Set registration instance used to align clouds.