config.h
Go to the documentation of this file.
1 /* ========================================================================
2 * PROJECT: ARToolKitPlus
3 * ========================================================================
4 * This work is based on the original ARToolKit developed by
5 * Hirokazu Kato
6 * Mark Billinghurst
7 * HITLab, University of Washington, Seattle
8 * http://www.hitl.washington.edu/artoolkit/
9 *
10 * Copyright of the derived and new portions of this work
11 * (C) 2006 Graz University of Technology
12 *
13 * This framework is free software; you can redistribute it and/or modify
14 * it under the terms of the GNU General Public License as published by
15 * the Free Software Foundation; either version 2 of the License, or
16 * (at your option) any later version.
17 *
18 * This framework is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU General Public License for more details.
22 *
23 * You should have received a copy of the GNU General Public License
24 * along with this framework; if not, write to the Free Software
25 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
26 *
27 * For further information please contact
28 * Dieter Schmalstieg
29 * <schmalstieg@icg.tu-graz.ac.at>
30 * Graz University of Technology,
31 * Institut for Computer Graphics and Vision,
32 * Inffeldgasse 16a, 8010 Graz, Austria.
33 * ========================================================================
34 ** @author Daniel Wagner
35 *
36 * $Id: config.h 162 2006-04-19 21:28:10Z grabner $
37 * @file
38 * ======================================================================== */
39 
40 
48 #ifndef AR_CONFIG_H
49 #define AR_CONFIG_H
50 
51 // autoconf generated file with configuration information
52 #ifdef HAVE_CONFIG_H
53 #include <config.h>
54 #endif
55 
56 // may be changed to double, float is particularly useful for PDA's
57 #ifdef _USE_DOUBLE_
58  typedef double ARFloat;
59 #else
60  typedef float ARFloat;
61 #endif
62 
63 
68 #ifdef HAVE_CONFIG_H
69  #ifdef WORDS_BIGENDIAN
70  #define AR_BIG_ENDIAN
71  #undef AR_LITTLE_ENDIAN
72  #else
73  #define AR_LITTLE_ENDIAN
74  #undef AR_BIG_ENDIAN
75  #endif
76 #else
77  #ifdef __linux
78  #undef AR_BIG_ENDIAN
79  #define AR_LITTLE_ENDIAN
80  #endif
81  #ifdef _WIN32
82  #undef AR_BIG_ENDIAN
83  #define AR_LITTLE_ENDIAN
84  #endif
85  #ifdef __sgi
86  #undef AR_LITTLE_ENDIAN
87  #define AR_BIG_ENDIAN
88  #endif
89  #ifdef __APPLE_CC__
90  #undef AR_LITTLE_ENDIAN
91  #define AR_BIG_ENDIAN
92  #endif
93 #endif
94 
103 //#ifdef _USE_8BITIMAGE_
104 // #define AR_PIX_SIZE 1
105 // #define AR_PIX_FORMAT_LUM
106 //#else
107 // #ifdef _USE_16BITIMAGE_
108 // #define AR_PIX_SIZE 2
109 // #define AR_PIX_FORMAT_RGB565
110 // #else
111 // #define AR_PIX_SIZE 4
112 // #ifdef __linux
113 // #define AR_PIX_FORMAT_RGBA
114 // #endif
115 // #ifdef _WIN32
116 // #define AR_PIX_FORMAT_BGRA
117 // #endif
118 // #ifdef __sgi
119 // #define AR_PIX_FORMAT_ABGR
120 // #endif
121 // #ifdef __APPLE_CC__
122 // #define AR_PIX_FORMAT_RGBA
123 // #endif
124 // #endif //_USE_16BITIMAGE_
125 //#endif //_USE_8BITIMAGE_
126 
127 
128 /*------------------------------------------------------------
129  * see
130  * http://www.hitl.washington.edu/people/grof/SharedSpace/Download/Doc/art240.html
131  * for an explanation of the next two define blocks
132  */
133 
134 // constants for variable arImageProcMode
135 // half mode is faster and useful for interlaced images
136 #define AR_IMAGE_PROC_IN_FULL 0
137 #define AR_IMAGE_PROC_IN_HALF 1
138 #define DEFAULT_IMAGE_PROC_MODE AR_IMAGE_PROC_IN_HALF
139 
140 // constants for variable arFittingMode
141 #define AR_FITTING_TO_IDEAL 0
142 #define AR_FITTING_TO_INPUT 1
143 #define DEFAULT_FITTING_MODE AR_FITTING_TO_IDEAL
144 
145 // constants for variable arTemplateMatchingMode
146 #define AR_TEMPLATE_MATCHING_COLOR 0
147 #define AR_TEMPLATE_MATCHING_BW 1
148 #define DEFAULT_TEMPLATE_MATCHING_MODE AR_TEMPLATE_MATCHING_COLOR
149 
150 // constant for variable arMatchingPCAMode
151 #define AR_MATCHING_WITHOUT_PCA 0
152 #define AR_MATCHING_WITH_PCA 1
153 #define DEFAULT_MATCHING_PCA_MODE AR_MATCHING_WITHOUT_PCA
154 
155 
156 // constants influencing accuracy of arGetTransMat(...)
157 #define AR_GET_TRANS_MAT_MAX_LOOP_COUNT 5
158 #define AR_GET_TRANS_MAT_MAX_FIT_ERROR 1.0
159 // criterium for arGetTransMatCont(...) to call
160 // arGetTransMat(...) instead
161 #define AR_GET_TRANS_CONT_MAT_MAX_FIT_ERROR 1.0
162 
163 // min/max area of fiducial interiors to be matched
164 // against templates, used in arDetectMarker.c
165 #define AR_AREA_MAX 100000
166 #define AR_AREA_MIN 70
167 
168 // used in arDetectMarker2(...), this param controls the
169 // maximum number of potential markers evaluated further.
170 // Only the first AR_SQUARE_MAX patterns are examined.
171 //#define AR_SQUARE_MAX 50
172 // plays some role in arDetectMarker2 I don't understand yet
173 #define AR_CHAIN_MAX 10000
174 // maximum number of markers that can be simultaneously loaded
175 //#define AR_PATT_NUM_MAX 50
176 
177 // These parameters control the way the toolkit warps a found
178 // marker to a perfect square. The square has size
179 // AR_PATT_SIZE_X * AR_SIZE_PATT_Y, the projected
180 // square in the image is subsampled at a min of
181 // AR_PATT_SIZE_X/Y and a max of AR_PATT_SAMPLE_NUM
182 // steps in both x and y direction
183 //#define AR_PATT_SIZE_X 16
184 //#define AR_PATT_SIZE_Y 16
185 //#define AR_PATT_SAMPLE_NUM 64
186 
187 // Constants controlling the behavior of
188 // atParamGet (for calibrating HMDs and cameras)
189 // max/min number of feature points to match 2D<->3D
190 #define AR_PARAM_NMIN 6
191 #define AR_PARAM_NMAX 1000
192 #define AR_PARAM_C34 100.0
193 
194 #define EVEC_MAX 10
195 #define P_MAX 500
196 
197 // this defines the maximum screen width that
198 // can be processed by artoolkit...
199 // memory consumption (if static) is: 2*width*height bytes
200 #ifdef _WIN32_WCE
201  #define MAX_BUFFER_WIDTH 320
202  #define MAX_BUFFER_HEIGHT 240
203 #else
204  #define MAX_BUFFER_WIDTH 720
205  #define MAX_BUFFER_HEIGHT 576
206 #endif //_WIN32_WCE
207 
208 //#define WORK_SIZE 1024*32
209 
210 
211 //#define SMALL_LUM8_TABLE
212 
213 #ifdef SMALL_LUM8_TABLE
214  #define getLUM8_from_RGB565(ptr) RGB565_to_LUM8_LUT[ (*(unsigned short*)(ptr))>>6 ]
215 #else
216  #define getLUM8_from_RGB565(ptr) RGB565_to_LUM8_LUT[ (*(unsigned short*)(ptr)) ]
217 #endif //SMALL_LUM8_TABLE
218 
219 
220 #if defined(_MSC_VER) || defined(_WIN32_WCE)
221 # include <windows.h>
222 #else
223 // for linux no MAX_PATH variable is set
224 # define MAX_PATH 512
225 #endif
226 
227 
228 #endif // AR_CONFIG_H
229 
float ARFloat
Definition: config.h:60


tuw_artoolkitplus
Author(s): Markus Bader
autogenerated on Sun Sep 4 2016 03:24:33