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_ */
lvr2::EigenSVDPointAlign::alignPoints
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.
lvr2::EigenSVDPointAlign::PointPairVector
std::vector< std::pair< Point3, Point3 > > PointPairVector
Definition: EigenSVDPointAlign.hpp:53
lvr2::EigenSVDPointAlign::Point3
Vector3< PointT > Point3
Definition: EigenSVDPointAlign.hpp:52
SLAMScanWrapper.hpp
lvr2::Transform
Eigen::Matrix< T, 4, 4 > Transform
General 4x4 transformation matrix (4x4)
Definition: MatrixTypes.hpp:65
MatrixTypes.hpp
lvr2::SLAMScanPtr
std::shared_ptr< SLAMScanWrapper > SLAMScanPtr
Definition: SLAMScanWrapper.hpp:221
lvr2::Vector3
Eigen::Matrix< T, 3, 1 > Vector3
Eigen 3D vector.
Definition: MatrixTypes.hpp:115
lvr2::EigenSVDPointAlign::Mat4
Transform< T > Mat4
Definition: EigenSVDPointAlign.hpp:50
lvr2
Definition: BaseBufferManipulators.hpp:39
lvr2::EigenSVDPointAlign::EigenSVDPointAlign
EigenSVDPointAlign()
Definition: EigenSVDPointAlign.hpp:55
lvr2::EigenSVDPointAlign
Definition: EigenSVDPointAlign.hpp:46
lvr2::EigenSVDPointAlign::Mat3
Eigen::Matrix< T, 3, 3 > Mat3
Definition: EigenSVDPointAlign.hpp:51
lvr2::EigenSVDPointAlign::Vec3
Vector3< T > Vec3
Definition: EigenSVDPointAlign.hpp:49


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 Wed Mar 2 2022 00:37:23