00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef __TERRALIB_INTERNAL_DEFINES_H
00027 #define __TERRALIB_INTERNAL_DEFINES_H
00028
00029 #include <string>
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040 #define TePLATFORMCODE_MSWINDOWS 1
00041
00042 #define TePLATFORMCODE_LINUX 2
00043
00044 #define TePLATFORMCODE_SOLARIS 3
00045
00046 #define TePLATFORMCODE_APPLE 4
00047
00048 #define TePLATFORMCODE_AIX 5
00049
00050 #if defined( WIN32 ) || defined( __WIN32__ ) || defined ( _WIN32 ) || defined( WIN64 ) || defined( _WIN32_WCE )
00051 #define TePLATFORM TePLATFORMCODE_MSWINDOWS
00052 #elif defined( __LINUX__ ) || defined( linux ) || defined( __linux__ ) ||defined( __FreeBSD__ ) //FAMI
00053 #define TePLATFORM TePLATFORMCODE_LINUX
00054 #elif defined( __APPLE_CC__ ) || defined( APPLE_CC )
00055 #define TePLATFORM TePLATFORMCODE_APPLE
00056 #elif defined(sparc) && defined(sun) && defined(unix)
00057 #define TePLATFORM TePLATFORMCODE_SOLARIS
00058 #elif defined(_AIX)
00059 #define TePLATFORM TePLATFORMCODE_AIX
00060 #ifndef __unix__
00061 #define __unix__
00062 #endif
00063 #else
00064 #error "ERROR: Unknown platform"
00065 #endif
00066
00067
00068
00069
00070
00071
00072 #define TeCOMPILERCODE_VCPLUSPLUS 1
00073
00074 #define TeCOMPILERCODE_BCPLUSPLUS 2
00075
00076 #define TeCOMPILERCODE_GNUC 3
00077
00078 #define TeCOMPILERCODE_CODEWARRIOR 4
00079
00080 #define TeCOMPILERCODE_SUNFORTE7 5
00081
00082 #define TeCOMPILERCODE_XLC 6
00083
00084 #if defined( _MSC_VER )
00085 #define TeCOMPILER TeCOMPILERCODE_VCPLUSPLUS
00086 #elif defined( __BORLANDC__ ) || defined( __BCPLUSPLUS__ )
00087 #define TeCOMPILER TeCOMPILERCODE_BCPLUSPLUS
00088 #elif defined( __GNUC__ )
00089 #define TeCOMPILER TeCOMPILERCODE_GNUC
00090 #elif defined( __MWERKS__ )
00091 #define TeCOMPILER TeCOMPILERCODE_CODEWARRIOR
00092 #elif defined( __SUNPRO_CC)
00093 #define TeCOMPILER TeCOMPILERCODE_SUNFORTE7
00094 #elif defined( __xlC__ )
00095 #define TeCOMPILER TeCOMPILERCODE_XLC
00096 #else
00097 #error "ERROR: Unknown compiler"
00098 #endif
00099
00100
00101
00102
00103 #if TePLATFORM == TePLATFORMCODE_MSWINDOWS
00104 #include "TeWindowsPlatformDefines.h"
00105 #elif TePLATFORM == TePLATFORMCODE_LINUX
00106 #ifdef HAVE_CONFIG_H
00107 #include "TeUnixPlatformDefines.h"
00108 #endif
00109 #elif TePLATFORM == TePLATFORMCODE_AIX
00110 #ifdef HAVE_CONFIG_H
00111 #include "TeUnixPlatformDefines.h"
00112 #endif
00113 #elif TePLATFORM == TePLATFORMCODE_APPLE
00114 #ifdef HAVE_CONFIG_H
00115 #include "TeUnixPlatformDefines.h"
00116 #endif
00117 #else
00118 #error "ERROR: Unsupported platform"
00119 #endif
00120
00121
00122
00123
00124
00125
00126 const int TeNAME_LENGTH = 2000;
00127 const double TeMAXFLOAT = 3.4E37;
00128 const double TeMINFLOAT = 3.4E-37;
00129 const double TePI = 3.14159265358979323846;
00130 const double TeCDR = 0.01745329251994329576;
00131 const double TeCRD = 57.29577951308232087679;
00132 const double TeEARTHRADIUS = 6378160.;
00133
00134 #ifndef MAX
00135 #define MAX(a,b) ( (a>b) ? a : b )
00136 #endif
00137
00138 #ifndef MIN
00139 #define MIN(a,b) ( (a<b) ? a : b )
00140 #endif
00141
00142 #ifndef ABS
00143 #define ABS(x) ( ((x) >= 0) ? (x) : -(x) )
00144 #endif
00145
00146
00147
00148
00149
00150
00151 #define TeDEFAULT 0
00152 #define TePOINTED 1
00153 #define TeQUERIED 2
00154 #define TePOINTED_QUERIED 3
00155 // end Selection Mode
00156
00157
00158
00159
00160
00161 #define TeNOTURN 0
00162 #define TeCOLLINEAR 0
00163 #define TeCLOCKWISE -1
00164 #define TeCOUNTERCLOCKWISE 1
00165 // end Orientation
00166
00167
00168
00169
00170
00171
00172
00173
00174 #define TeUNKNOWNPOSITION 0
00175 #define TeINSIDE 1
00176 #define TeOUTSIDE 2
00177 #define TeBOUNDARY 4
00178
00179
00180
00181
00182
00183
00184
00185
00186
00187
00188
00189 #define TeINTERIORINTERIOR 8
00190 #define TeINTERIORBOUNDARY 16
00191 #define TeINTERIOREXTERIOR 32
00192 #define TeBOUNDARYINTERIOR 64
00193 #define TeBOUNDARYBOUNDARY 128
00194 #define TeBOUNDARYEXTERIOR 256
00195 #define TeEXTERIORINTERIOR 512
00196 #define TeEXTERIORBOUNDARY 1024
00197 #define TeEXTERIOREXTERIOR 2048
00198 // end GeneralInter
00199
00200
00201
00202
00203
00204 #define TeDONT_INTERSECT 0
00205 #define TeDO_INTERSECT 1
00206 #define TeAT_ENDPOINT 4
00207 // end SegInter
00208
00209
00210
00211
00212
00213 #define TeDIFFERENCE 1
00214 #define TeUNION 2
00215 #define TeINTERSECTION 4
00216 // end TopOper
00217
00218
00219
00220
00221 const std::string TeDBVERSION = "4.1.2";
00222
00223
00224
00225 #if TePLATFORM == TePLATFORMCODE_MSWINDOWS
00226 #include <float.h>
00227 #define TeISNAN( x ) _isnan( x )
00228 #elif TePLATFORM == TePLATFORMCODE_LINUX || TePLATFORM == TePLATFORMCODE_AIX || TePLATFORM == TePLATFORMCODE_APPLE
00229 #include <math.h>
00230 #define TeISNAN( x ) isnan( x )
00231 #else
00232 #error "ERROR: Unsupported platform"
00233 #endif
00234
00235
00236
00237
00238 #if defined( WIN32 ) || defined( __WIN32__ ) || defined ( _WIN32 ) || defined( WIN64 ) || defined( _WIN32_WCE )
00239
00240 #if defined(_MSC_VER)
00241 #pragma warning(disable: 4251)
00242 #endif
00243
00244 #ifdef TL_AS_DLL
00245 #define TL_DLL __declspec(dllexport)
00246 #else
00247 #define TL_DLL __declspec(dllimport)
00248 #endif
00249
00250 #else
00251 #define TL_DLL
00252 #endif
00253
00254
00255
00256
00257
00258
00259
00260
00261
00262
00263 #endif
00264