EigenSVDPointAlign.hpp
Go to the documentation of this file.
1 
34 #ifndef EIGENSVDPOINTALIGN_HPP_
35 #define EIGENSVDPOINTALIGN_HPP_
36 
37 #include "SLAMScanWrapper.hpp"
39 
40 #include <Eigen/Dense>
41 
42 namespace lvr2
43 {
44 
45 template<typename T, typename PointT = float>
47 {
48 public:
49  using Vec3 = Vector3<T>;
50  using Mat4 = Transform<T>;
51  using Mat3 = Eigen::Matrix<T, 3, 3>;
53  using PointPairVector = std::vector<std::pair<Point3, Point3>>;
54 
56 
72  T alignPoints(
73  SLAMScanPtr scan,
74  Point3** neighbors,
75  const Vec3& centroid_m,
76  const Vec3& centroid_d,
77  Mat4& align) const;
78 
92  T alignPoints(
93  PointPairVector& points,
94  const Vec3& centroid_m,
95  const Vec3& centroid_d,
96  Mat4& align) const;
97 };
98 
99 } /* namespace lvr2 */
100 
101 #include "EigenSVDPointAlign.tcc"
102 
103 #endif /* EIGENSVDPOINTALIGN_HPP_ */
std::vector< std::pair< Point3, Point3 > > PointPairVector
Eigen::Matrix< T, 3, 1 > Vector3
Eigen 3D vector.
Eigen::Matrix< T, 3, 3 > Mat3
std::shared_ptr< SLAMScanWrapper > SLAMScanPtr
T alignPoints(SLAMScanPtr scan, Point3 **neighbors, const Vec3 &centroid_m, const Vec3 &centroid_d, Mat4 &align) const
Calculates the estimated Transformation to match a Data Pointcloud to a Model Pointcloud.
Eigen::Matrix< T, 4, 4 > Transform
General 4x4 transformation matrix (4x4)
Definition: MatrixTypes.hpp:65


lvr2
Author(s): Thomas Wiemann , Sebastian Pütz , Alexander Mock , Lars Kiesow , Lukas Kalbertodt , Tristan Igelbrink , Johan M. von Behren , Dominik Feldschnieders , Alexander Löhr
autogenerated on Mon Feb 28 2022 22:46:06