29 #ifndef HECTOR_POSE_ESTIMATION_MATRIX_H 30 #define HECTOR_POSE_ESTIMATION_MATRIX_H 32 #include <hector_pose_estimation/matrix_config.h> 37 #include <Eigen/Geometry> 44 using Eigen::DenseBase;
55 (Rows != Dynamic ? Rows : MaxVectorSize), 1
65 1, (Cols != Dynamic ? Cols : MaxVectorSize)
71 template <
int Rows,
int Cols>
74 (Rows == 1 && Cols != 1 ? Eigen::RowMajor : Eigen::ColMajor),
75 (Rows != Dynamic ? Rows : MaxMatrixRowsCols),
76 (Cols != Dynamic ? Cols : MaxMatrixRowsCols)
82 template <
int RowsCols>
90 template <
typename OtherDerived>
92 EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(Eigen::MatrixBase<OtherDerived>, 3);
94 result << 0.0, -other.z(), other.y(),
95 other.z(), 0.0, -other.x(),
96 -other.y(), other.x(), 0.0;
108 #if !EIGEN_VERSION_AT_LEAST(3,0,91) 110 template<
typename T,
int _Options>
class DenseStorage<T, 0, Dynamic, Dynamic, _Options>
111 :
public DenseStorage<T, 0, 0, 0, _Options> { };
113 template<
typename T,
int _Rows,
int _Options>
class DenseStorage<T, 0, _Rows, Dynamic, _Options>
114 :
public DenseStorage<T, 0, 0, 0, _Options> { };
116 template<
typename T,
int _Cols,
int _Options>
class DenseStorage<T, 0, Dynamic, _Cols, _Options>
117 :
public DenseStorage<T, 0, 0, 0, _Options> { };
124 using Eigen::VectorBlock;
135 #endif // HECTOR_POSE_ESTIMATION_MATRIX_H
Eigen::Block< Matrix, Dynamic, Dynamic > MatrixBlock
Matrix_< RowsCols, RowsCols >::type type
Eigen::Quaternion< ScalarType > Quaternion
RowVector_< Dynamic >::type RowVector
SymmetricMatrix_< 3 >::type SymmetricMatrix3
Eigen::DenseIndex IndexType
SymmetricMatrix_< 6 >::type SymmetricMatrix6
VectorBlock< const ColumnVector, 4 > ConstVectorBlock4
RowVector_< 3 >::type RowVector3
Matrix_< 3, 3 >::type Matrix3
ColumnVector_< Dynamic >::type ColumnVector
Eigen::Matrix< ScalarType, Rows, Cols,(Rows==1 &&Cols!=1?Eigen::RowMajor:Eigen::ColMajor),(Rows!=Dynamic?Rows:MaxMatrixRowsCols),(Cols!=Dynamic?Cols:MaxMatrixRowsCols) > type
VectorBlock< const ColumnVector, 3 > ConstVectorBlock3
Matrix_< Dynamic, Dynamic >::type Matrix
Eigen::Matrix< ScalarType, 1, Cols, Eigen::RowMajor, 1,(Cols!=Dynamic?Cols:MaxVectorSize) > type
Eigen::Matrix< ScalarType, Rows, 1, Eigen::ColMajor,(Rows!=Dynamic?Rows:MaxVectorSize), 1 > type
SymmetricMatrix_< Dynamic >::type SymmetricMatrix
ColumnVector_< 3 >::type ColumnVector3
static Matrix3 SkewSymmetricMatrix(const Eigen::MatrixBase< OtherDerived > &other)
VectorBlock< ColumnVector, 4 > VectorBlock4
VectorBlock< ColumnVector, 3 > VectorBlock3