EigenUtility.h
Go to the documentation of this file.
1 /*
2  * Copyright 2012-2020 CNRS-UM LIRMM, CNRS-AIST JRL
3  */
4 
5 #pragma once
6 
7 #include "EigenTypedef.h"
8 
9 namespace Eigen
10 {
11 
15 template<typename T>
17 {
18  Matrix3<T> mat;
19  mat << 0., -vec(2), vec(1), vec(2), 0., -vec(0), -vec(1), vec(0), 0.;
20  return mat;
21 }
22 
26 template<typename T>
28 {
29  Matrix6<T> mat;
30  Matrix3<T> c13 = vector3ToCrossMatrix<T>(vec.template head<3>());
31  mat << c13, Matrix3d::Zero(), vector3ToCrossMatrix<T>(vec.template tail<3>()), c13;
32  return mat;
33 }
34 
38 template<typename T>
40 {
41  return -vector6ToCrossMatrix<T>(vec).transpose();
42 }
43 
44 } // namespace Eigen
45 
46 namespace sva
47 {
48 
52 
53 } // namespace sva
Eigen::vector6ToCrossDualMatrix
Matrix6< T > vector6ToCrossDualMatrix(const Vector6< T > &vec)
Definition: EigenUtility.h:39
Eigen::Matrix3
Matrix< T, 3, 3 > Matrix3
Definition: EigenTypedef.h:20
Eigen
Definition: EigenTypedef.h:9
sva
Definition: ABInertia.h:10
Eigen::vector3ToCrossMatrix
Matrix3< T > vector3ToCrossMatrix(const Vector3< T > &vec)
Definition: EigenUtility.h:16
Eigen::Vector3
Matrix< T, 3, 1 > Vector3
Definition: EigenTypedef.h:18
Eigen::Vector6
Matrix< T, 6, 1 > Vector6
Definition: EigenTypedef.h:13
Eigen::vector6ToCrossMatrix
Matrix6< T > vector6ToCrossMatrix(const Vector6< T > &vec)
Definition: EigenUtility.h:27
EigenTypedef.h
Eigen::Matrix6
Matrix< T, 6, 6 > Matrix6
Definition: EigenTypedef.h:15