eigen_conversions.cpp
Go to the documentation of this file.
1
2#include "eigen_conversions.h"
3
4#include <Eigen/Geometry>
5
7{
8
9 Eigen::Isometry3f
10 toEigen(const ::cartographer::transform::Rigid3d& pose)
11 {
12 Eigen::Isometry3f eigenPose = Eigen::Isometry3f::Identity();
13
14 eigenPose.translation() = pose.translation().cast<float>();
15 eigenPose.linear() = pose.rotation().cast<float>().toRotationMatrix();
16
17 return eigenPose;
18 }
19
20 ::cartographer::transform::Rigid3d
21 fromEigen(const Eigen::Isometry3f& pose)
22 {
23 return ::cartographer::transform::Rigid3d(pose.translation().cast<double>(),
24 Eigen::AngleAxisf(pose.linear()).cast<double>());
25 }
26
27
28} // namespace armarx::localization_and_mapping::cartographer_adapter
Eigen::Isometry3f toEigen(const ::cartographer::transform::Rigid3d &pose)
::cartographer::transform::Rigid3d fromEigen(const Eigen::Isometry3f &pose)