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