Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: RZ_A2M_Mbed_samples
defines.h
00001 /*********************************************************************** 00002 * Software License Agreement (BSD License) 00003 * 00004 * Copyright 2008-2011 Marius Muja (mariusm@cs.ubc.ca). All rights reserved. 00005 * Copyright 2008-2011 David G. Lowe (lowe@cs.ubc.ca). All rights reserved. 00006 * 00007 * Redistribution and use in source and binary forms, with or without 00008 * modification, are permitted provided that the following conditions 00009 * are met: 00010 * 00011 * 1. Redistributions of source code must retain the above copyright 00012 * notice, this list of conditions and the following disclaimer. 00013 * 2. Redistributions in binary form must reproduce the above copyright 00014 * notice, this list of conditions and the following disclaimer in the 00015 * documentation and/or other materials provided with the distribution. 00016 * 00017 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 00018 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 00019 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 00020 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 00021 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 00022 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 00023 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 00024 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 00025 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 00026 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 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 /* win32 dll export/import directives */ 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 /* unix needs nothing */ 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 /* Nearest neighbour index algorithms */ 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 // deprecated constants, should use the FLANN_INDEX_* ones instead 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 FLANN_CENTERS_GROUPWISE = 3, 00111 00112 // deprecated constants, should use the FLANN_CENTERS_* ones instead 00113 CENTERS_RANDOM = 0, 00114 CENTERS_GONZALES = 1, 00115 CENTERS_KMEANSPP = 2 00116 }; 00117 00118 enum flann_log_level_t 00119 { 00120 FLANN_LOG_NONE = 0, 00121 FLANN_LOG_FATAL = 1, 00122 FLANN_LOG_ERROR = 2, 00123 FLANN_LOG_WARN = 3, 00124 FLANN_LOG_INFO = 4 00125 }; 00126 00127 enum flann_distance_t 00128 { 00129 FLANN_DIST_EUCLIDEAN = 1, 00130 FLANN_DIST_L2 = 1, 00131 FLANN_DIST_MANHATTAN = 2, 00132 FLANN_DIST_L1 = 2, 00133 FLANN_DIST_MINKOWSKI = 3, 00134 FLANN_DIST_MAX = 4, 00135 FLANN_DIST_HIST_INTERSECT = 5, 00136 FLANN_DIST_HELLINGER = 6, 00137 FLANN_DIST_CHI_SQUARE = 7, 00138 FLANN_DIST_CS = 7, 00139 FLANN_DIST_KULLBACK_LEIBLER = 8, 00140 FLANN_DIST_KL = 8, 00141 FLANN_DIST_HAMMING = 9, 00142 00143 // deprecated constants, should use the FLANN_DIST_* ones instead 00144 EUCLIDEAN = 1, 00145 MANHATTAN = 2, 00146 MINKOWSKI = 3, 00147 MAX_DIST = 4, 00148 HIST_INTERSECT = 5, 00149 HELLINGER = 6, 00150 CS = 7, 00151 KL = 8, 00152 KULLBACK_LEIBLER = 8 00153 }; 00154 00155 enum flann_datatype_t 00156 { 00157 FLANN_INT8 = 0, 00158 FLANN_INT16 = 1, 00159 FLANN_INT32 = 2, 00160 FLANN_INT64 = 3, 00161 FLANN_UINT8 = 4, 00162 FLANN_UINT16 = 5, 00163 FLANN_UINT32 = 6, 00164 FLANN_UINT64 = 7, 00165 FLANN_FLOAT32 = 8, 00166 FLANN_FLOAT64 = 9 00167 }; 00168 00169 enum 00170 { 00171 FLANN_CHECKS_UNLIMITED = -1, 00172 FLANN_CHECKS_AUTOTUNED = -2 00173 }; 00174 00175 } 00176 00177 #endif /* OPENCV_FLANN_DEFINES_H_ */
Generated on Tue Jul 12 2022 18:20:17 by
