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