27#ifndef G2O_EIGEN_TYPES_H
28#define G2O_EIGEN_TYPES_H
31#include <Eigen/Geometry>
38using Vector2I = Eigen::Matrix<int, 2, 1, Eigen::ColMajor>;
39using Vector3I = Eigen::Matrix<int, 3, 1, Eigen::ColMajor>;
40using Vector4I = Eigen::Matrix<int, 4, 1, Eigen::ColMajor>;
41using VectorXI = Eigen::Matrix<int, Eigen::Dynamic, 1, Eigen::ColMajor>;
43using Vector2F = Eigen::Matrix<float, 2, 1, Eigen::ColMajor>;
44using Vector3F = Eigen::Matrix<float, 3, 1, Eigen::ColMajor>;
45using Vector4F = Eigen::Matrix<float, 4, 1, Eigen::ColMajor>;
46using VectorXF = Eigen::Matrix<float, Eigen::Dynamic, 1, Eigen::ColMajor>;
48template <
int N,
typename T =
double>
49using VectorN = Eigen::Matrix<T, N, 1, Eigen::ColMajor>;
57using Matrix2I = Eigen::Matrix<int, 2, 2, Eigen::ColMajor>;
58using Matrix3I = Eigen::Matrix<int, 3, 3, Eigen::ColMajor>;
59using Matrix4I = Eigen::Matrix<int, 4, 4, Eigen::ColMajor>;
61 Eigen::Matrix<int, Eigen::Dynamic, Eigen::Dynamic, Eigen::ColMajor>;
63using Matrix2F = Eigen::Matrix<float, 2, 2, Eigen::ColMajor>;
64using Matrix3F = Eigen::Matrix<float, 3, 3, Eigen::ColMajor>;
65using Matrix4F = Eigen::Matrix<float, 4, 4, Eigen::ColMajor>;
67 Eigen::Matrix<float, Eigen::Dynamic, Eigen::Dynamic, Eigen::ColMajor>;
69template <
int N,
typename T =
double>
70using MatrixN = Eigen::Matrix<T, N, N, Eigen::ColMajor>;
76using Isometry2 = Eigen::Transform<double, 2, Eigen::Isometry, Eigen::ColMajor>;
77using Isometry3 = Eigen::Transform<double, 3, Eigen::Isometry, Eigen::ColMajor>;
78using Affine2 = Eigen::Transform<double, 2, Eigen::Affine, Eigen::ColMajor>;
79using Affine3 = Eigen::Transform<double, 3, Eigen::Affine, Eigen::ColMajor>;
Eigen::Matrix< float, 3, 3, Eigen::ColMajor > Matrix3F
MatrixN< Eigen::Dynamic > MatrixX
Eigen::Matrix< T, N, N, Eigen::ColMajor > MatrixN
Eigen::Matrix< T, N, 1, Eigen::ColMajor > VectorN
Eigen::Matrix< int, 4, 1, Eigen::ColMajor > Vector4I
Eigen::Matrix< int, 4, 4, Eigen::ColMajor > Matrix4I
Eigen::Matrix< float, 2, 2, Eigen::ColMajor > Matrix2F
Eigen::Matrix< int, 3, 3, Eigen::ColMajor > Matrix3I
Eigen::AngleAxis< double > AngleAxis
Eigen::Matrix< int, Eigen::Dynamic, 1, Eigen::ColMajor > VectorXI
Eigen::Matrix< float, 3, 1, Eigen::ColMajor > Vector3F
Eigen::Matrix< int, 2, 2, Eigen::ColMajor > Matrix2I
Eigen::Transform< double, 3, Eigen::Isometry, Eigen::ColMajor > Isometry3
Eigen::Matrix< int, 3, 1, Eigen::ColMajor > Vector3I
Eigen::Transform< double, 2, Eigen::Isometry, Eigen::ColMajor > Isometry2
Eigen::Transform< double, 3, Eigen::Affine, Eigen::ColMajor > Affine3
Eigen::Matrix< float, 4, 4, Eigen::ColMajor > Matrix4F
Eigen::Rotation2D< double > Rotation2D
Eigen::Matrix< float, 2, 1, Eigen::ColMajor > Vector2F
Eigen::Matrix< float, 4, 1, Eigen::ColMajor > Vector4F
Eigen::Matrix< int, 2, 1, Eigen::ColMajor > Vector2I
Eigen::Matrix< float, Eigen::Dynamic, 1, Eigen::ColMajor > VectorXF
Eigen::Transform< double, 2, Eigen::Affine, Eigen::ColMajor > Affine2
Eigen::Matrix< float, Eigen::Dynamic, Eigen::Dynamic, Eigen::ColMajor > MatrixXF
VectorN< Eigen::Dynamic > VectorX
Eigen::Quaternion< double > Quaternion
Eigen::Matrix< int, Eigen::Dynamic, Eigen::Dynamic, Eigen::ColMajor > MatrixXI