defines.h
Go to the documentation of this file.
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 #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 /* win32 dll export/import directives */
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 /* unix needs nothing */
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 //#ifdef __cplusplus
00075 namespace rtflann {
00076 //#endif
00077 
00078 /* Nearest neighbour index algorithms */
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 //#ifdef __cplusplus
00152 }
00153 //#endif
00154 
00155 
00156 #endif /* RTABMAP_FLANN_DEFINES_H_ */


rtabmap
Author(s): Mathieu Labbe
autogenerated on Sat Jul 23 2016 11:44:15