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
00030 #ifndef OPENCV_FLANN_DEFINES_H_
00031 #define OPENCV_FLANN_DEFINES_H_
00032
00033 #include "config.h"
00034
00035 #ifdef FLANN_EXPORT
00036 #undef FLANN_EXPORT
00037 #endif
00038 #ifdef WIN32
00039
00040 #ifdef FLANN_EXPORTS
00041 #define FLANN_EXPORT __declspec(dllexport)
00042 #elif defined(FLANN_STATIC)
00043 #define FLANN_EXPORT
00044 #else
00045 #define FLANN_EXPORT __declspec(dllimport)
00046 #endif
00047 #else
00048
00049 #define FLANN_EXPORT
00050 #endif
00051
00052
00053 #ifdef FLANN_DEPRECATED
00054 #undef FLANN_DEPRECATED
00055 #endif
00056 #ifdef __GNUC__
00057 #define FLANN_DEPRECATED __attribute__ ((deprecated))
00058 #elif defined(_MSC_VER)
00059 #define FLANN_DEPRECATED __declspec(deprecated)
00060 #else
00061 #pragma message("WARNING: You need to implement FLANN_DEPRECATED for this compiler")
00062 #define FLANN_DEPRECATED
00063 #endif
00064
00065
00066 #undef FLANN_PLATFORM_32_BIT
00067 #undef FLANN_PLATFORM_64_BIT
00068 #if defined __amd64__ || defined __x86_64__ || defined _WIN64 || defined _M_X64
00069 #define FLANN_PLATFORM_64_BIT
00070 #else
00071 #define FLANN_PLATFORM_32_BIT
00072 #endif
00073
00074
00075 #undef FLANN_ARRAY_LEN
00076 #define FLANN_ARRAY_LEN(a) (sizeof(a)/sizeof(a[0]))
00077
00078 namespace cvflann {
00079
00080
00081 enum flann_algorithm_t
00082 {
00083 FLANN_INDEX_LINEAR = 0,
00084 FLANN_INDEX_KDTREE = 1,
00085 FLANN_INDEX_KMEANS = 2,
00086 FLANN_INDEX_COMPOSITE = 3,
00087 FLANN_INDEX_KDTREE_SINGLE = 4,
00088 FLANN_INDEX_HIERARCHICAL = 5,
00089 FLANN_INDEX_LSH = 6,
00090 FLANN_INDEX_SAVED = 254,
00091 FLANN_INDEX_AUTOTUNED = 255,
00092
00093
00094 LINEAR = 0,
00095 KDTREE = 1,
00096 KMEANS = 2,
00097 COMPOSITE = 3,
00098 KDTREE_SINGLE = 4,
00099 SAVED = 254,
00100 AUTOTUNED = 255
00101 };
00102
00103
00104
00105 enum flann_centers_init_t
00106 {
00107 FLANN_CENTERS_RANDOM = 0,
00108 FLANN_CENTERS_GONZALES = 1,
00109 FLANN_CENTERS_KMEANSPP = 2,
00110
00111
00112 CENTERS_RANDOM = 0,
00113 CENTERS_GONZALES = 1,
00114 CENTERS_KMEANSPP = 2
00115 };
00116
00117 enum flann_log_level_t
00118 {
00119 FLANN_LOG_NONE = 0,
00120 FLANN_LOG_FATAL = 1,
00121 FLANN_LOG_ERROR = 2,
00122 FLANN_LOG_WARN = 3,
00123 FLANN_LOG_INFO = 4
00124 };
00125
00126 enum flann_distance_t
00127 {
00128 FLANN_DIST_EUCLIDEAN = 1,
00129 FLANN_DIST_L2 = 1,
00130 FLANN_DIST_MANHATTAN = 2,
00131 FLANN_DIST_L1 = 2,
00132 FLANN_DIST_MINKOWSKI = 3,
00133 FLANN_DIST_MAX = 4,
00134 FLANN_DIST_HIST_INTERSECT = 5,
00135 FLANN_DIST_HELLINGER = 6,
00136 FLANN_DIST_CHI_SQUARE = 7,
00137 FLANN_DIST_CS = 7,
00138 FLANN_DIST_KULLBACK_LEIBLER = 8,
00139 FLANN_DIST_KL = 8,
00140 FLANN_DIST_HAMMING = 9,
00141
00142
00143 EUCLIDEAN = 1,
00144 MANHATTAN = 2,
00145 MINKOWSKI = 3,
00146 MAX_DIST = 4,
00147 HIST_INTERSECT = 5,
00148 HELLINGER = 6,
00149 CS = 7,
00150 KL = 8,
00151 KULLBACK_LEIBLER = 8
00152 };
00153
00154 enum flann_datatype_t
00155 {
00156 FLANN_INT8 = 0,
00157 FLANN_INT16 = 1,
00158 FLANN_INT32 = 2,
00159 FLANN_INT64 = 3,
00160 FLANN_UINT8 = 4,
00161 FLANN_UINT16 = 5,
00162 FLANN_UINT32 = 6,
00163 FLANN_UINT64 = 7,
00164 FLANN_FLOAT32 = 8,
00165 FLANN_FLOAT64 = 9
00166 };
00167
00168 enum
00169 {
00170 FLANN_CHECKS_UNLIMITED = -1,
00171 FLANN_CHECKS_AUTOTUNED = -2
00172 };
00173
00174 }
00175
00176 #endif