IceConversions.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <Eigen/Core>
4 #include <Eigen/Geometry>
5 
6 #include <RobotAPI/interface/ArViz/Elements.h>
7 
8 namespace armarx::viz
9 {
10 
11  inline Eigen::Matrix4f
12  toEigen(data::GlobalPose const& pose)
13  {
14  Eigen::Matrix4f result;
15  result.block<3, 3>(0, 0) =
16  Eigen::Quaternionf(pose.qw, pose.qx, pose.qy, pose.qz).toRotationMatrix();
17  result.block<3, 1>(0, 3) = Eigen::Vector3f(pose.x, pose.y, pose.z);
18  result.block<1, 4>(3, 0) = Eigen::Vector4f(0.0f, 0.0f, 0.0f, 1.0f);
19  return result;
20  }
21 
22  inline data::GlobalPose
23  poseToIce(Eigen::Vector3f const& pos, Eigen::Quaternionf const& ori)
24  {
25  data::GlobalPose result;
26  result.x = pos.x();
27  result.y = pos.y();
28  result.z = pos.z();
29  result.qw = ori.w();
30  result.qx = ori.x();
31  result.qy = ori.y();
32  result.qz = ori.z();
33  return result;
34  }
35 
36 } // namespace armarx::viz
armarx::viz::toEigen
Eigen::Matrix4f toEigen(data::GlobalPose const &pose)
Definition: Interaction.h:48
GfxTL::Matrix4f
MatrixXX< 4, 4, float > Matrix4f
Definition: MatrixXX.h:650
armarx::Quaternion< float, 0 >
armarx::viz::poseToIce
data::GlobalPose poseToIce(Eigen::Vector3f const &pos, Eigen::Quaternionf const &ori)
Definition: IceConversions.h:23
armarx::viz
This file is part of ArmarX.
Definition: ArVizStorage.cpp:418