Go to the documentation of this file.00001 #ifndef EIGENTOOLS_HPP_
00002 #define EIGENTOOLS_HPP_
00003
00004
00005 #include <Eigen/Core>
00006 #include <Eigen/Geometry>
00007
00008
00009
00010 namespace telekyb_state {
00011
00012 class EigenTools {
00013 public:
00014 Eigen::Matrix<double,3,4> gamma (Eigen::Quaterniond q, Eigen::Vector3d v);
00015 Eigen::Matrix3d hat (Eigen::Vector3d v);
00016 Eigen::Matrix<double, 4, 3> matW(Eigen::Quaterniond q);
00017 Eigen::Matrix<double, 4, 4> qLeft(Eigen::Quaterniond q);
00018 Eigen::Matrix<double, 3, 4> jacpq(Eigen::Quaterniond q);
00019 Eigen::Matrix<double, 4, 3> jacqp(Eigen::Quaterniond q);
00020 Eigen::Vector3d toRodrigues(Eigen::Quaterniond q);
00021 Eigen::Quaterniond toQuaternion(Eigen::Vector3d p);
00022 Eigen::Quaterniond toQuaternion(Eigen::Vector4d v);
00023 Eigen::Vector4d toVector(Eigen::Quaterniond q);
00024 int min(const Eigen::Vector4d& vec, double & step);
00025 };
00026
00027 }
00028 #endif