corelib
src
rtflann
defines.h
Go to the documentation of this file.
1
/***********************************************************************
2
* Software License Agreement (BSD License)
3
*
4
* Copyright 2008-2011 Marius Muja (mariusm@cs.ubc.ca). All rights reserved.
5
* Copyright 2008-2011 David G. Lowe (lowe@cs.ubc.ca). All rights reserved.
6
*
7
* Redistribution and use in source and binary forms, with or without
8
* modification, are permitted provided that the following conditions
9
* are met:
10
*
11
* 1. Redistributions of source code must retain the above copyright
12
* notice, this list of conditions and the following disclaimer.
13
* 2. Redistributions in binary form must reproduce the above copyright
14
* notice, this list of conditions and the following disclaimer in the
15
* documentation and/or other materials provided with the distribution.
16
*
17
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
*************************************************************************/
28
29
#ifndef RTABMAP_FLANN_DEFINES_H_
30
#define RTABMAP_FLANN_DEFINES_H_
31
32
#include "
config.h
"
33
34
#ifdef FLANN_EXPORT
35
#undef FLANN_EXPORT
36
#endif
37
#ifdef WIN32
38
/* win32 dll export/import directives */
39
#ifdef FLANN_EXPORTS
40
#define FLANN_EXPORT __declspec(dllexport)
41
#elif defined(FLANN_STATIC)
42
#define FLANN_EXPORT
43
#else
44
#define FLANN_EXPORT __declspec(dllimport)
45
#endif
46
#else
47
/* unix needs nothing */
48
#define FLANN_EXPORT
49
#endif
50
51
#ifdef FLANN_DEPRECATED
52
#undef FLANN_DEPRECATED
53
#endif
54
#ifdef __GNUC__
55
#define FLANN_DEPRECATED __attribute__ ((deprecated))
56
#elif defined(_MSC_VER)
57
#define FLANN_DEPRECATED __declspec(deprecated)
58
#else
59
#pragma message("WARNING: You need to implement FLANN_DEPRECATED for this compiler")
60
#define FLANN_DEPRECATED
61
#endif
62
63
#undef FLANN_PLATFORM_64_BIT
64
#undef FLANN_PLATFORM_32_BIT
65
#if __amd64__ || __x86_64__ || _WIN64 || _M_X64
66
#define FLANN_PLATFORM_64_BIT
67
#else
68
#define FLANN_PLATFORM_32_BIT
69
#endif
70
71
#undef FLANN_ARRAY_LEN
72
#define FLANN_ARRAY_LEN(a) (sizeof(a)/sizeof(a[0]))
73
74
//#ifdef __cplusplus
75
namespace
rtflann
{
76
//#endif
77
78
/* Nearest neighbour index algorithms */
79
enum
flann_algorithm_t
80
{
81
FLANN_INDEX_LINEAR
= 0,
82
FLANN_INDEX_KDTREE
= 1,
83
FLANN_INDEX_KMEANS
= 2,
84
FLANN_INDEX_COMPOSITE
= 3,
85
FLANN_INDEX_KDTREE_SINGLE
= 4,
86
FLANN_INDEX_HIERARCHICAL
= 5,
87
FLANN_INDEX_LSH
= 6,
88
#ifdef FLANN_USE_CUDA
89
FLANN_INDEX_KDTREE_CUDA = 7,
90
#endif
91
FLANN_INDEX_SAVED
= 254,
92
FLANN_INDEX_AUTOTUNED
= 255,
93
};
94
95
enum
flann_centers_init_t
96
{
97
FLANN_CENTERS_RANDOM
= 0,
98
FLANN_CENTERS_GONZALES
= 1,
99
FLANN_CENTERS_KMEANSPP
= 2,
100
FLANN_CENTERS_GROUPWISE
= 3,
101
};
102
103
enum
flann_log_level_t
104
{
105
FLANN_LOG_NONE
= 0,
106
FLANN_LOG_FATAL
= 1,
107
FLANN_LOG_ERROR
= 2,
108
FLANN_LOG_WARN
= 3,
109
FLANN_LOG_INFO
= 4,
110
FLANN_LOG_DEBUG
= 5
111
};
112
113
enum
flann_distance_t
114
{
115
FLANN_DIST_EUCLIDEAN
= 1,
116
FLANN_DIST_L2
= 1,
117
FLANN_DIST_MANHATTAN
= 2,
118
FLANN_DIST_L1
= 2,
119
FLANN_DIST_MINKOWSKI
= 3,
120
FLANN_DIST_MAX
= 4,
121
FLANN_DIST_HIST_INTERSECT
= 5,
122
FLANN_DIST_HELLINGER
= 6,
123
FLANN_DIST_CHI_SQUARE
= 7,
124
FLANN_DIST_KULLBACK_LEIBLER
= 8,
125
FLANN_DIST_HAMMING
= 9,
126
FLANN_DIST_HAMMING_LUT
= 10,
127
FLANN_DIST_HAMMING_POPCNT
= 11,
128
FLANN_DIST_L2_SIMPLE
= 12,
129
};
130
131
enum
flann_datatype_t
132
{
133
FLANN_NONE
= -1,
134
FLANN_INT8
= 0,
135
FLANN_INT16
= 1,
136
FLANN_INT32
= 2,
137
FLANN_INT64
= 3,
138
FLANN_UINT8
= 4,
139
FLANN_UINT16
= 5,
140
FLANN_UINT32
= 6,
141
FLANN_UINT64
= 7,
142
FLANN_FLOAT32
= 8,
143
FLANN_FLOAT64
= 9
144
};
145
146
enum
flann_checks_t
{
147
FLANN_CHECKS_UNLIMITED
= -1,
148
FLANN_CHECKS_AUTOTUNED
= -2,
149
};
150
151
//#ifdef __cplusplus
152
}
153
//#endif
154
155
156
#endif
/* RTABMAP_FLANN_DEFINES_H_ */
rtflann::FLANN_DIST_HELLINGER
@ FLANN_DIST_HELLINGER
Definition:
defines.h:122
rtflann::FLANN_CHECKS_UNLIMITED
@ FLANN_CHECKS_UNLIMITED
Definition:
defines.h:147
rtflann::FLANN_LOG_NONE
@ FLANN_LOG_NONE
Definition:
defines.h:105
rtflann::FLANN_LOG_FATAL
@ FLANN_LOG_FATAL
Definition:
defines.h:106
rtflann::FLANN_FLOAT32
@ FLANN_FLOAT32
Definition:
defines.h:142
rtflann::FLANN_DIST_L2
@ FLANN_DIST_L2
Definition:
defines.h:116
rtflann::FLANN_INDEX_KDTREE
@ FLANN_INDEX_KDTREE
Definition:
defines.h:82
rtflann::FLANN_FLOAT64
@ FLANN_FLOAT64
Definition:
defines.h:143
rtflann::FLANN_LOG_INFO
@ FLANN_LOG_INFO
Definition:
defines.h:109
rtflann::FLANN_INT16
@ FLANN_INT16
Definition:
defines.h:135
rtflann::FLANN_UINT64
@ FLANN_UINT64
Definition:
defines.h:141
rtflann::FLANN_UINT16
@ FLANN_UINT16
Definition:
defines.h:139
rtflann::FLANN_INDEX_SAVED
@ FLANN_INDEX_SAVED
Definition:
defines.h:91
rtflann::FLANN_DIST_CHI_SQUARE
@ FLANN_DIST_CHI_SQUARE
Definition:
defines.h:123
rtflann::FLANN_INDEX_COMPOSITE
@ FLANN_INDEX_COMPOSITE
Definition:
defines.h:84
rtflann::flann_distance_t
flann_distance_t
Definition:
defines.h:113
rtflann::FLANN_LOG_DEBUG
@ FLANN_LOG_DEBUG
Definition:
defines.h:110
rtflann::flann_checks_t
flann_checks_t
Definition:
defines.h:146
rtflann::FLANN_CENTERS_KMEANSPP
@ FLANN_CENTERS_KMEANSPP
Definition:
defines.h:99
rtflann::FLANN_CENTERS_RANDOM
@ FLANN_CENTERS_RANDOM
Definition:
defines.h:97
rtflann::FLANN_DIST_KULLBACK_LEIBLER
@ FLANN_DIST_KULLBACK_LEIBLER
Definition:
defines.h:124
rtflann::FLANN_DIST_L2_SIMPLE
@ FLANN_DIST_L2_SIMPLE
Definition:
defines.h:128
rtflann::FLANN_INT32
@ FLANN_INT32
Definition:
defines.h:136
rtflann::FLANN_CENTERS_GONZALES
@ FLANN_CENTERS_GONZALES
Definition:
defines.h:98
rtflann::FLANN_INDEX_KDTREE_SINGLE
@ FLANN_INDEX_KDTREE_SINGLE
Definition:
defines.h:85
rtflann::FLANN_INT8
@ FLANN_INT8
Definition:
defines.h:134
rtflann::FLANN_DIST_EUCLIDEAN
@ FLANN_DIST_EUCLIDEAN
Definition:
defines.h:115
rtflann::FLANN_DIST_HAMMING
@ FLANN_DIST_HAMMING
Definition:
defines.h:125
rtflann::FLANN_INT64
@ FLANN_INT64
Definition:
defines.h:137
rtflann::FLANN_INDEX_AUTOTUNED
@ FLANN_INDEX_AUTOTUNED
Definition:
defines.h:92
rtflann::FLANN_LOG_WARN
@ FLANN_LOG_WARN
Definition:
defines.h:108
rtflann::FLANN_DIST_MINKOWSKI
@ FLANN_DIST_MINKOWSKI
Definition:
defines.h:119
rtflann::FLANN_LOG_ERROR
@ FLANN_LOG_ERROR
Definition:
defines.h:107
rtflann::FLANN_CHECKS_AUTOTUNED
@ FLANN_CHECKS_AUTOTUNED
Definition:
defines.h:148
rtflann::FLANN_INDEX_KMEANS
@ FLANN_INDEX_KMEANS
Definition:
defines.h:83
rtflann::FLANN_NONE
@ FLANN_NONE
Definition:
defines.h:133
rtflann::flann_algorithm_t
flann_algorithm_t
Definition:
defines.h:79
rtflann::FLANN_DIST_HAMMING_POPCNT
@ FLANN_DIST_HAMMING_POPCNT
Definition:
defines.h:127
rtflann::FLANN_DIST_HAMMING_LUT
@ FLANN_DIST_HAMMING_LUT
Definition:
defines.h:126
rtflann::FLANN_CENTERS_GROUPWISE
@ FLANN_CENTERS_GROUPWISE
Definition:
defines.h:100
rtflann::FLANN_UINT8
@ FLANN_UINT8
Definition:
defines.h:138
config.h
rtflann::FLANN_DIST_MAX
@ FLANN_DIST_MAX
Definition:
defines.h:120
rtflann::FLANN_INDEX_LSH
@ FLANN_INDEX_LSH
Definition:
defines.h:87
rtflann::FLANN_DIST_HIST_INTERSECT
@ FLANN_DIST_HIST_INTERSECT
Definition:
defines.h:121
rtflann::FLANN_INDEX_HIERARCHICAL
@ FLANN_INDEX_HIERARCHICAL
Definition:
defines.h:86
rtflann::flann_centers_init_t
flann_centers_init_t
Definition:
defines.h:95
rtflann::FLANN_UINT32
@ FLANN_UINT32
Definition:
defines.h:140
rtflann::FLANN_INDEX_LINEAR
@ FLANN_INDEX_LINEAR
Definition:
defines.h:81
rtflann
Definition:
all_indices.h:49
rtflann::flann_log_level_t
flann_log_level_t
Definition:
defines.h:103
rtflann::flann_datatype_t
flann_datatype_t
Definition:
defines.h:131
rtflann::FLANN_DIST_L1
@ FLANN_DIST_L1
Definition:
defines.h:118
rtflann::FLANN_DIST_MANHATTAN
@ FLANN_DIST_MANHATTAN
Definition:
defines.h:117
rtabmap
Author(s): Mathieu Labbe
autogenerated on Thu Jul 25 2024 02:50:09