Point Cloud Library (PCL)
1.11.1
|
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;
typename pcl::PointCloud< PointT >::ConstPtr PointCloudConstPtr
PointCloud represents the base class in PCL for storing collections of 3D points.
Matrix4 getAbsoluteTransform() const
Get estimated overall transform.
typename pcl::Registration< PointT, PointT, Scalar >::Ptr RegistrationPtr
void reset()
Reset incremental Registration without resetting registration_.
bool registerCloud(const PointCloudConstPtr &cloud, const Matrix4 &delta_estimate=Matrix4::Identity())
Register new point cloud incrementally.
typename pcl::Registration< PointT, PointT, Scalar >::Matrix4 Matrix4
void setRegistration(RegistrationPtr)
Set registration instance used to align clouds.
Matrix4 getDeltaTransform() const
Get estimated transform between the last two registered clouds.
IncrementalRegistration()