From 5e5601cbb58f68608131017a895f454156307966 Mon Sep 17 00:00:00 2001 From: Markus Grotz <markus.grotz@kit.edu> Date: Mon, 15 Jun 2015 14:03:17 +0200 Subject: [PATCH] revised Quaternion class added convenience function convert ArmarX quaternion variant type to Eigen::Quaternionf --- source/RobotAPI/libraries/core/Pose.cpp | 5 +++++ source/RobotAPI/libraries/core/Pose.h | 1 + 2 files changed, 6 insertions(+) diff --git a/source/RobotAPI/libraries/core/Pose.cpp b/source/RobotAPI/libraries/core/Pose.cpp index 1464eb5cd..cc4ba42ef 100644 --- a/source/RobotAPI/libraries/core/Pose.cpp +++ b/source/RobotAPI/libraries/core/Pose.cpp @@ -222,6 +222,11 @@ namespace armarx return rot; } + Eigen::Quaternionf Quaternion::toEigenQuaternion() const + { + return Quaternionf(this->qw, this->qx, this->qy, this->qz); + } + void Quaternion::init(const Matrix3f &m3) { Quaternionf q; diff --git a/source/RobotAPI/libraries/core/Pose.h b/source/RobotAPI/libraries/core/Pose.h index 38a176465..727cac0e2 100644 --- a/source/RobotAPI/libraries/core/Pose.h +++ b/source/RobotAPI/libraries/core/Pose.h @@ -188,6 +188,7 @@ namespace armarx Quaternion(::Ice::Float qw, ::Ice::Float qx, ::Ice::Float qy, ::Ice::Float qz); Eigen::Matrix3f toEigen() const; + Eigen::Quaternionf toEigenQuaternion() const; Eigen::Matrix3f slerp(float, const Eigen::Matrix3f &); static Eigen::Matrix3f slerp(float, const Eigen::Matrix3f &, const Eigen::Matrix3f &); -- GitLab