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_conversions.h
armarx::localization_and_mapping::cartographer_adapter::toEigen
Eigen::Isometry3f toEigen(const ::cartographer::transform::Rigid3d &pose)
Definition: eigen_conversions.cpp:10
GfxTL::Identity
void Identity(MatrixXX< N, N, T > *a)
Definition: MatrixXX.h:570
armarx::localization_and_mapping::cartographer_adapter
This file is part of ArmarX.
Definition: ApproximateTimeQueue.cpp:15
armarx::localization_and_mapping::cartographer_adapter::fromEigen
::cartographer::transform::Rigid3d fromEigen(const Eigen::Isometry3f &pose)
Definition: eigen_conversions.cpp:21