38 #ifndef PCL_REGISTRATION_IMPL_INCREMENTAL_REGISTRATION_HPP_ 39 #define PCL_REGISTRATION_IMPL_INCREMENTAL_REGISTRATION_HPP_ 41 template <
typename Po
intT,
typename Scalar>
43 delta_transform_ (
Matrix4::Identity ()),
44 abs_transform_ (
Matrix4::Identity ())
47 template <
typename Po
intT,
typename Scalar>
bool 50 assert (registration_);
55 abs_transform_ = delta_transform_ = delta_estimate;
59 registration_->setInputSource (cloud);
60 registration_->setInputTarget (last_cloud_);
64 registration_->align (p, delta_estimate);
67 bool converged = registration_->hasConverged ();
70 delta_transform_ = registration_->getFinalTransformation ();
71 abs_transform_ = abs_transform_ * delta_transform_;
81 return (delta_transform_);
87 return (abs_transform_);
90 template <
typename Po
intT,
typename Scalar>
inline void 94 delta_transform_ = abs_transform_ = Matrix4::Identity ();
97 template <
typename Po
intT,
typename Scalar>
inline void 100 registration_ = registration;
bool registerCloud(const PointCloudConstPtr &cloud, const Matrix4 &delta_estimate=Matrix4::Identity())
Register new point cloud incrementally.
pcl::Registration< PointT, PointT, Scalar >::Matrix4 Matrix4
IncrementalRegistration()
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.
pcl::Registration< PointT, PointT, Scalar >::Ptr RegistrationPtr
void setRegistration(RegistrationPtr)
Set registration instance used to align clouds.
pcl::PointCloud< PointT >::ConstPtr PointCloudConstPtr