MRSL JPS3D Library  1.1
An implementaion of Jump Point Search on 3D voxel map
data_type.h
Go to the documentation of this file.
1 
8 #include <stdio.h>
9 #include <vector>
10 #include <Eigen/Geometry>
11 #include <Eigen/StdVector>
12 
14 #ifndef ANSI_COLOR_RED
15 #define ANSI_COLOR_RED "\x1b[1;31m"
16 #endif
17 #ifndef ANSI_COLOR_GREEN
19 #define ANSI_COLOR_GREEN "\x1b[1;32m"
20 #endif
21 #ifndef ANSI_COLOR_YELLOW
23 #define ANSI_COLOR_YELLOW "\x1b[1;33m"
24 #endif
25 #ifndef ANSI_COLOR_BLUE
27 #define ANSI_COLOR_BLUE "\x1b[1;34m"
28 #endif
29 #ifndef ANSI_COLOR_MAGENTA
31 #define ANSI_COLOR_MAGENTA "\x1b[1;35m"
32 #endif
33 #ifndef ANSI_COLOR_CYAN
35 #define ANSI_COLOR_CYAN "\x1b[1;36m"
36 #endif
37 #ifndef ANSI_COLOR_RESET
39 #define ANSI_COLOR_RESET "\x1b[0m"
40 #endif
41 
42 #ifndef DATA_TYPE_H
43 #define DATA_TYPE_H
44 
48 typedef double decimal_t;
49 
51 template <typename T>
52 using vec_E = std::vector<T, Eigen::aligned_allocator<T>>;
54 template <int N>
55 using Vecf = Eigen::Matrix<decimal_t, N, 1>;
57 template <int N>
58 using Veci = Eigen::Matrix<int, N, 1>;
60 using VecDf = Eigen::Matrix<decimal_t, Eigen::Dynamic, 1>;
62 template <int M, int N>
63 using Matf = Eigen::Matrix<decimal_t, M, N>;
65 template <int N>
66 using MatDNf = Eigen::Matrix<decimal_t, Eigen::Dynamic, N>;
68 template <int N>
71 template <int N>
73 
75 typedef Vecf<2> Vec2f;
77 typedef Veci<2> Vec2i;
79 typedef Vecf<3> Vec3f;
81 typedef Veci<3> Vec3i;
83 typedef Vecf<4> Vec4f;
85 typedef Vecf<6> Vec6f;
86 
95 
97 typedef Matf<2, 2> Mat2f;
99 typedef Matf<3, 3> Mat3f;
104 
111 
113 typedef Eigen::Transform<decimal_t, 2, Eigen::Affine> Aff2f;
115 typedef Eigen::Transform<decimal_t, 3, Eigen::Affine> Aff3f;
116 
117 #endif
Matf< Eigen::Dynamic, Eigen::Dynamic > MatDf
Dynamic MxN Eigen float matrix.
Definition: data_type.h:110
Matf< 3, 3 > Mat3f
3x3 Matrix in float
Definition: data_type.h:99
MatDNf< 3 > MatD3f
Mx3 Eigen float matrix.
Definition: data_type.h:108
Eigen::Matrix< decimal_t, Eigen::Dynamic, 1 > VecDf
Eigen 1D float vector of dynamic size.
Definition: data_type.h:60
Eigen::Matrix< decimal_t, Eigen::Dynamic, N > MatDNf
MxN Eigen matrix with M unknown.
Definition: data_type.h:66
std::vector< T, Eigen::aligned_allocator< T > > vec_E
Pre-allocated std::vector for Eigen using vec_E.
Definition: data_type.h:52
Vecf< 3 > Vec3f
Eigen 1D float vector of size 3.
Definition: data_type.h:79
Matf< 2, 2 > Mat2f
2x2 Matrix in float
Definition: data_type.h:97
vec_E< Vecf< N > > vec_Vecf
Vector of Eigen 1D float vector.
Definition: data_type.h:69
Matf< 4, 4 > Mat4f
4x4 Matrix in float
Definition: data_type.h:101
Eigen::Matrix< decimal_t, M, N > Matf
MxN Eigen matrix.
Definition: data_type.h:63
Eigen::Matrix< int, N, 1 > Veci
Eigen 1D int vector of size N.
Definition: data_type.h:58
double decimal_t
Rename the float type used in lib.
Definition: data_type.h:48
Matf< 6, 6 > Mat6f
6x6 Matrix in float
Definition: data_type.h:103
Eigen::Transform< decimal_t, 3, Eigen::Affine > Aff3f
Allias of Eigen::Affine3d.
Definition: data_type.h:115
Vecf< 2 > Vec2f
Eigen 1D float vector of size 2.
Definition: data_type.h:75
vec_E< Veci< N > > vec_Veci
Vector of Eigen 1D int vector.
Definition: data_type.h:72
Vecf< 6 > Vec6f
Column vector in float of size 6.
Definition: data_type.h:85
vec_E< Vec3i > vec_Vec3i
Vector of type Vec3i.
Definition: data_type.h:94
Eigen::Matrix< decimal_t, N, 1 > Vecf
Eigen 1D float vector of size N.
Definition: data_type.h:55
Vecf< 4 > Vec4f
Eigen 1D float vector of size 4.
Definition: data_type.h:83
vec_E< Vec3f > vec_Vec3f
Vector of type Vec3f.
Definition: data_type.h:92
vec_E< Vec2i > vec_Vec2i
Vector of type Vec2i.
Definition: data_type.h:90
Veci< 3 > Vec3i
Eigen 1D int vector of size 3.
Definition: data_type.h:81
Eigen::Transform< decimal_t, 2, Eigen::Affine > Aff2f
Allias of Eigen::Affine2d.
Definition: data_type.h:113
Veci< 2 > Vec2i
Eigen 1D int vector of size 2.
Definition: data_type.h:77
vec_E< Vec2f > vec_Vec2f
Vector of type Vec2f.
Definition: data_type.h:88