Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Functions
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
Variables
a
b
c
d
e
f
h
i
m
n
o
p
r
s
t
v
w
x
y
Typedefs
a
b
c
d
e
f
h
i
k
l
m
n
p
q
r
s
t
u
v
Enumerations
Enumerator
b
g
h
j
l
o
p
r
s
w
x
y
Classes
Class List
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
Enumerations
Enumerator
a
b
c
d
e
f
g
h
i
l
m
n
p
r
s
t
u
w
z
Related Functions
:
a
b
c
d
e
f
h
k
l
n
o
p
s
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
z
Functions
a
b
c
d
e
f
g
h
i
l
m
o
p
r
s
t
u
v
w
Variables
_
a
b
c
d
f
i
m
n
o
p
s
Typedefs
a
b
c
d
e
f
g
h
i
m
n
p
s
t
u
v
Enumerations
Enumerator
a
d
f
i
k
l
o
p
r
s
t
u
v
w
x
z
Macros
_
a
b
c
d
e
f
h
i
k
l
m
n
p
r
s
t
u
v
w
Examples
include
lvr2
registration
EigenSVDPointAlign.hpp
Go to the documentation of this file.
1
34
#ifndef EIGENSVDPOINTALIGN_HPP_
35
#define EIGENSVDPOINTALIGN_HPP_
36
37
#include "
SLAMScanWrapper.hpp
"
38
#include "
lvr2/types/MatrixTypes.hpp
"
39
40
#include <Eigen/Dense>
41
42
namespace
lvr2
43
{
44
45
template
<
typename
T,
typename
Po
int
T =
float
>
46
class
EigenSVDPointAlign
47
{
48
public
:
49
using
Vec3
=
Vector3<T>
;
50
using
Mat4
=
Transform<T>
;
51
using
Mat3
= Eigen::Matrix<T, 3, 3>;
52
using
Point3
=
Vector3<PointT>
;
53
using
PointPairVector
= std::vector<std::pair<Point3, Point3>>;
54
55
EigenSVDPointAlign
() {};
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 ¢roid_m, const Vec3 ¢roid_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