config.h
Go to the documentation of this file.
00001 /* ========================================================================
00002 * PROJECT: ARToolKitPlus
00003 * ========================================================================
00004 * This work is based on the original ARToolKit developed by
00005 *   Hirokazu Kato
00006 *   Mark Billinghurst
00007 *   HITLab, University of Washington, Seattle
00008 * http://www.hitl.washington.edu/artoolkit/
00009 *
00010 * Copyright of the derived and new portions of this work
00011 *     (C) 2006 Graz University of Technology
00012 *
00013 * This framework is free software; you can redistribute it and/or modify
00014 * it under the terms of the GNU General Public License as published by
00015 * the Free Software Foundation; either version 2 of the License, or
00016 * (at your option) any later version.
00017 *
00018 * This framework is distributed in the hope that it will be useful,
00019 * but WITHOUT ANY WARRANTY; without even the implied warranty of
00020 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00021 * GNU General Public License for more details.
00022 *
00023 * You should have received a copy of the GNU General Public License
00024 * along with this framework; if not, write to the Free Software
00025 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00026 *
00027 * For further information please contact 
00028 *   Dieter Schmalstieg
00029 *   <schmalstieg@icg.tu-graz.ac.at>
00030 *   Graz University of Technology, 
00031 *   Institut for Computer Graphics and Vision,
00032 *   Inffeldgasse 16a, 8010 Graz, Austria.
00033 * ========================================================================
00034 ** @author   Daniel Wagner
00035 *
00036 * $Id: config.h 162 2006-04-19 21:28:10Z grabner $
00037 * @file
00038 * ======================================================================== */
00039 
00040 
00048 #ifndef AR_CONFIG_H
00049 #define AR_CONFIG_H
00050 
00051 // autoconf generated file with configuration information
00052 #ifdef HAVE_CONFIG_H
00053 #include <config.h>
00054 #endif
00055 
00056 // may be changed to double, float is particularly useful for PDA's
00057 #ifdef _USE_DOUBLE_
00058         typedef double ARFloat;
00059 #else
00060         typedef float ARFloat;
00061 #endif
00062 
00063 
00068 #ifdef HAVE_CONFIG_H
00069         #ifdef WORDS_BIGENDIAN
00070                 #define AR_BIG_ENDIAN
00071                 #undef AR_LITTLE_ENDIAN
00072         #else
00073                 #define AR_LITTLE_ENDIAN
00074                 #undef AR_BIG_ENDIAN
00075         #endif
00076 #else
00077         #ifdef __linux
00078                 #undef   AR_BIG_ENDIAN
00079                 #define  AR_LITTLE_ENDIAN
00080         #endif
00081         #ifdef _WIN32
00082                 #undef   AR_BIG_ENDIAN
00083                 #define  AR_LITTLE_ENDIAN
00084         #endif
00085         #ifdef __sgi
00086                 #undef   AR_LITTLE_ENDIAN
00087                 #define  AR_BIG_ENDIAN
00088         #endif
00089         #ifdef __APPLE_CC__
00090                 #undef   AR_LITTLE_ENDIAN
00091                 #define  AR_BIG_ENDIAN
00092         #endif
00093 #endif
00094 
00103 //#ifdef _USE_8BITIMAGE_
00104 //  #define AR_PIX_SIZE 1
00105 //  #define AR_PIX_FORMAT_LUM
00106 //#else 
00107 //  #ifdef _USE_16BITIMAGE_
00108 //    #define AR_PIX_SIZE 2
00109 //    #define AR_PIX_FORMAT_RGB565
00110 //  #else
00111 //    #define AR_PIX_SIZE 4
00112 //    #ifdef __linux
00113 //      #define AR_PIX_FORMAT_RGBA
00114 //    #endif
00115 //    #ifdef _WIN32
00116 //      #define AR_PIX_FORMAT_BGRA
00117 //    #endif
00118 //    #ifdef __sgi
00119 //      #define AR_PIX_FORMAT_ABGR
00120 //    #endif
00121 //    #ifdef __APPLE_CC__
00122 //      #define AR_PIX_FORMAT_RGBA
00123 //    #endif
00124 //  #endif //_USE_16BITIMAGE_
00125 //#endif //_USE_8BITIMAGE_
00126 
00127 
00128 /*------------------------------------------------------------
00129  * see 
00130  * http://www.hitl.washington.edu/people/grof/SharedSpace/Download/Doc/art240.html 
00131  * for an explanation of the next two define blocks
00132  */
00133 
00134 // constants for variable arImageProcMode
00135 // half mode is faster and useful for interlaced images
00136 #define  AR_IMAGE_PROC_IN_FULL        0
00137 #define  AR_IMAGE_PROC_IN_HALF        1
00138 #define  DEFAULT_IMAGE_PROC_MODE     AR_IMAGE_PROC_IN_HALF
00139 
00140 // constants for variable arFittingMode
00141 #define  AR_FITTING_TO_IDEAL          0
00142 #define  AR_FITTING_TO_INPUT          1
00143 #define  DEFAULT_FITTING_MODE        AR_FITTING_TO_IDEAL
00144 
00145 // constants for variable arTemplateMatchingMode
00146 #define  AR_TEMPLATE_MATCHING_COLOR   0
00147 #define  AR_TEMPLATE_MATCHING_BW      1
00148 #define  DEFAULT_TEMPLATE_MATCHING_MODE     AR_TEMPLATE_MATCHING_COLOR
00149 
00150 // constant for variable arMatchingPCAMode
00151 #define  AR_MATCHING_WITHOUT_PCA      0
00152 #define  AR_MATCHING_WITH_PCA         1
00153 #define  DEFAULT_MATCHING_PCA_MODE          AR_MATCHING_WITHOUT_PCA
00154 
00155 
00156 // constants influencing accuracy of arGetTransMat(...)
00157 #define   AR_GET_TRANS_MAT_MAX_LOOP_COUNT         5
00158 #define   AR_GET_TRANS_MAT_MAX_FIT_ERROR          1.0
00159 // criterium for arGetTransMatCont(...) to call 
00160 // arGetTransMat(...) instead
00161 #define   AR_GET_TRANS_CONT_MAT_MAX_FIT_ERROR     1.0
00162 
00163 // min/max area of fiducial interiors to be matched
00164 // against templates, used in arDetectMarker.c
00165 #define   AR_AREA_MAX      100000
00166 #define   AR_AREA_MIN          70
00167 
00168 // used in arDetectMarker2(...), this param controls the
00169 // maximum number of potential markers evaluated further.
00170 // Only the first AR_SQUARE_MAX patterns are examined.
00171 //#define   AR_SQUARE_MAX        50
00172 // plays some role in arDetectMarker2 I don't understand yet
00173 #define   AR_CHAIN_MAX      10000
00174 // maximum number of markers that can be simultaneously loaded
00175 //#define   AR_PATT_NUM_MAX      50 
00176 
00177 // These parameters control the way the toolkit warps a found
00178 // marker to a perfect square. The square has size 
00179 // AR_PATT_SIZE_X * AR_SIZE_PATT_Y, the projected
00180 // square in the image is subsampled at a min of
00181 // AR_PATT_SIZE_X/Y and a max of AR_PATT_SAMPLE_NUM
00182 // steps in both x and y direction
00183 //#define   AR_PATT_SIZE_X       16
00184 //#define   AR_PATT_SIZE_Y       16
00185 //#define   AR_PATT_SAMPLE_NUM   64
00186 
00187 // Constants controlling the behavior of
00188 // atParamGet (for calibrating HMDs and cameras)
00189 // max/min number of feature points to match 2D<->3D
00190 #define   AR_PARAM_NMIN         6
00191 #define   AR_PARAM_NMAX      1000
00192 #define   AR_PARAM_C34        100.0
00193 
00194 #define   EVEC_MAX     10
00195 #define   P_MAX       500
00196 
00197 // this defines the maximum screen width that
00198 // can be processed by artoolkit...
00199 // memory consumption (if static) is: 2*width*height bytes
00200 #ifdef _WIN32_WCE
00201   #define MAX_BUFFER_WIDTH  320
00202   #define MAX_BUFFER_HEIGHT 240
00203 #else
00204   #define MAX_BUFFER_WIDTH  720
00205   #define MAX_BUFFER_HEIGHT 576
00206 #endif //_WIN32_WCE
00207 
00208 //#define WORK_SIZE   1024*32
00209 
00210 
00211 //#define SMALL_LUM8_TABLE
00212 
00213 #ifdef SMALL_LUM8_TABLE
00214   #define getLUM8_from_RGB565(ptr)   RGB565_to_LUM8_LUT[ (*(unsigned short*)(ptr))>>6 ]
00215 #else
00216   #define getLUM8_from_RGB565(ptr)   RGB565_to_LUM8_LUT[ (*(unsigned short*)(ptr))    ]
00217 #endif //SMALL_LUM8_TABLE
00218 
00219 
00220 #if defined(_MSC_VER) || defined(_WIN32_WCE)
00221 #  include <windows.h>
00222 #else
00223 // for linux no MAX_PATH variable is set
00224 #  define MAX_PATH 512
00225 #endif
00226 
00227 
00228 #endif //  AR_CONFIG_H
00229 


tuw_artoolkitplus
Author(s): Markus Bader
autogenerated on Sun May 29 2016 02:50:12