diff --git a/source/RobotAPI/libraries/core/Pose.cpp b/source/RobotAPI/libraries/core/Pose.cpp index 1464eb5cd98a0c102ed0d4320a5faa6bfa347169..cc4ba42ef370383cea0a30867de28ff9f3c6a7e0 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 38a176465c23ab52c42bcbee27ebe04872b42c03..727cac0e2e328f3e04d89030c5c6cbb763655bd2 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 &);