00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef RTABMAP_FLANN_DEFINES_H_
00030 #define RTABMAP_FLANN_DEFINES_H_
00031
00032 #include "config.h"
00033
00034 #ifdef FLANN_EXPORT
00035 #undef FLANN_EXPORT
00036 #endif
00037 #ifdef WIN32
00038
00039 #ifdef FLANN_EXPORTS
00040 #define FLANN_EXPORT __declspec(dllexport)
00041 #elif defined(FLANN_STATIC)
00042 #define FLANN_EXPORT
00043 #else
00044 #define FLANN_EXPORT __declspec(dllimport)
00045 #endif
00046 #else
00047
00048 #define FLANN_EXPORT
00049 #endif
00050
00051 #ifdef FLANN_DEPRECATED
00052 #undef FLANN_DEPRECATED
00053 #endif
00054 #ifdef __GNUC__
00055 #define FLANN_DEPRECATED __attribute__ ((deprecated))
00056 #elif defined(_MSC_VER)
00057 #define FLANN_DEPRECATED __declspec(deprecated)
00058 #else
00059 #pragma message("WARNING: You need to implement FLANN_DEPRECATED for this compiler")
00060 #define FLANN_DEPRECATED
00061 #endif
00062
00063 #undef FLANN_PLATFORM_64_BIT
00064 #undef FLANN_PLATFORM_32_BIT
00065 #if __amd64__ || __x86_64__ || _WIN64 || _M_X64
00066 #define FLANN_PLATFORM_64_BIT
00067 #else
00068 #define FLANN_PLATFORM_32_BIT
00069 #endif
00070
00071 #undef FLANN_ARRAY_LEN
00072 #define FLANN_ARRAY_LEN(a) (sizeof(a)/sizeof(a[0]))
00073
00074
00075 namespace rtflann {
00076
00077
00078
00079 enum flann_algorithm_t
00080 {
00081 FLANN_INDEX_LINEAR = 0,
00082 FLANN_INDEX_KDTREE = 1,
00083 FLANN_INDEX_KMEANS = 2,
00084 FLANN_INDEX_COMPOSITE = 3,
00085 FLANN_INDEX_KDTREE_SINGLE = 4,
00086 FLANN_INDEX_HIERARCHICAL = 5,
00087 FLANN_INDEX_LSH = 6,
00088 #ifdef FLANN_USE_CUDA
00089 FLANN_INDEX_KDTREE_CUDA = 7,
00090 #endif
00091 FLANN_INDEX_SAVED = 254,
00092 FLANN_INDEX_AUTOTUNED = 255,
00093 };
00094
00095 enum flann_centers_init_t
00096 {
00097 FLANN_CENTERS_RANDOM = 0,
00098 FLANN_CENTERS_GONZALES = 1,
00099 FLANN_CENTERS_KMEANSPP = 2,
00100 FLANN_CENTERS_GROUPWISE = 3,
00101 };
00102
00103 enum flann_log_level_t
00104 {
00105 FLANN_LOG_NONE = 0,
00106 FLANN_LOG_FATAL = 1,
00107 FLANN_LOG_ERROR = 2,
00108 FLANN_LOG_WARN = 3,
00109 FLANN_LOG_INFO = 4,
00110 FLANN_LOG_DEBUG = 5
00111 };
00112
00113 enum flann_distance_t
00114 {
00115 FLANN_DIST_EUCLIDEAN = 1,
00116 FLANN_DIST_L2 = 1,
00117 FLANN_DIST_MANHATTAN = 2,
00118 FLANN_DIST_L1 = 2,
00119 FLANN_DIST_MINKOWSKI = 3,
00120 FLANN_DIST_MAX = 4,
00121 FLANN_DIST_HIST_INTERSECT = 5,
00122 FLANN_DIST_HELLINGER = 6,
00123 FLANN_DIST_CHI_SQUARE = 7,
00124 FLANN_DIST_KULLBACK_LEIBLER = 8,
00125 FLANN_DIST_HAMMING = 9,
00126 FLANN_DIST_HAMMING_LUT = 10,
00127 FLANN_DIST_HAMMING_POPCNT = 11,
00128 FLANN_DIST_L2_SIMPLE = 12,
00129 };
00130
00131 enum flann_datatype_t
00132 {
00133 FLANN_NONE = -1,
00134 FLANN_INT8 = 0,
00135 FLANN_INT16 = 1,
00136 FLANN_INT32 = 2,
00137 FLANN_INT64 = 3,
00138 FLANN_UINT8 = 4,
00139 FLANN_UINT16 = 5,
00140 FLANN_UINT32 = 6,
00141 FLANN_UINT64 = 7,
00142 FLANN_FLOAT32 = 8,
00143 FLANN_FLOAT64 = 9
00144 };
00145
00146 enum flann_checks_t {
00147 FLANN_CHECKS_UNLIMITED = -1,
00148 FLANN_CHECKS_AUTOTUNED = -2,
00149 };
00150
00151
00152 }
00153
00154
00155
00156 #endif