1 /********************************************************************
2  *
3  * License:  See top level LICENSE.txt file.
4  *
5  * Author: Ken Melero
6  *
7  * Description: Common file for global constants.
8  *
9  **************************************************************************
10  * $Id: ossimConstants.h 22476 2013-11-07 16:08:32Z dburken $
11  */
12 #ifndef ossimConstants_HEADER
13 #define ossimConstants_HEADER 1
14 
15 #include <ossim/ossimConfig.h>
16 
17 #ifdef __cplusplus
18 #  include <cfloat>
19 #else
20 #  include <float.h>
21 #endif
22 
23 /**
24  * WARNINGS SECTION:
25  */
26 #ifdef _MSC_VER /* Quiet a bunch of MSVC warnings... */
27 #  pragma warning(disable:4786) /* visual c6.0 compiler */
28 #  pragma warning(disable:4251)/* for std:: member variable to have dll interface */
29 #  pragma warning(disable:4275) /* for std:: base class to have dll interface */
30 #  pragma warning(disable:4800) /* int forcing value to bool */
31 #  pragma warning(disable:4244) /* conversion, possible loss of data */
32 #endif
33 #if defined(__GNUC__)
34 #   define OSSIM_DEPRECATE_METHOD(func) func __attribute__ ((deprecated))
35 #elif defined(_MSC_VER)
36 #   define OSSIM_DEPRECATE_METHOD(func)  __declspec(deprecated) func
37 #else
38 #   define OSSIM_DEPRECATE_METHOD(func)
39 #endif
40 
41 /**
42  * DLL IMPORT/EXORT SECTION
43  */
44 #if defined(OSSIM_STATIC)
45 #  define OSSIMEXPORT
46 #  define OSSIMIMPORT
47 #  define OSSIMDLLEXPORT
48 #  define OSSIM_DLL
49 #  define OSSIMDLLEXPORT_DATA(type) type
50 #  define OSSIM_DLL_DATA(type) type
51 #  define OSSIMDLLEXPORT_CTORFN
52 #elif defined(__MINGW32__) || defined(__CYGWIN__) || defined(_MSC_VER) || defined(__VISUALC__) || defined(__BORLANDC__) || defined(__WATCOMC__)
53 #  define OSSIMEXPORT __declspec(dllexport)
54 #  define OSSIMIMPORT __declspec(dllimport)
55 #  ifdef OSSIMMAKINGDLL
56 #    define OSSIMDLLEXPORT OSSIMEXPORT
57 #    define OSSIM_DLL       OSSIMEXPORT
58 #    define OSSIMDLLEXPORT_DATA(type) OSSIMEXPORT type
59 #    define OSSIM_DLL_DATA(type) OSSIMEXPORT type
60 #    define OSSIMDLLEXPORT_CTORFN
61 #  else
62 #    define OSSIMDLLEXPORT OSSIMIMPORT
63 #    define OSSIM_DLL      OSSIMIMPORT
64 #    define OSSIMDLLEXPORT_DATA(type) OSSIMIMPORT type
65 #    define OSSIM_DLL_DATA(type) OSSIMIMPORT type
66 #    define OSSIMDLLEXPORT_CTORFN
67 #  endif
68 #else /* not #if defined(_MSC_VER) */
69 #  define OSSIMEXPORT
70 #  define OSSIMIMPORT
71 #  define OSSIMDLLEXPORT
72 #  define OSSIM_DLL
73 #  define OSSIMDLLEXPORT_DATA(type) type
74 #  define OSSIM_DLL_DATA(type) type
75 #  define OSSIMDLLEXPORT_CTORFN
76 #endif /* #if defined(_MSC_VER) */
77 
78 /**
79  * Previous DLL import export section.  Commented out, but left just in case.
80  */
81 #if 0 /* Comment out ALL this mess! */
82 #if defined(_MSC_VER) || defined(__VISUALC__) || defined(__BORLANDC__) || defined(__GNUC__) || defined(__WATCOMC__)
83 #  if (_MSC_VER >= 1300)	/* MSVC .NET 2003 version */
84 #    define OSSIMEXPORT __declspec(dllexport)
85 #    define OSSIMIMPORT __declspec(dllimport)
86 #  else
87 #    define OSSIMEXPORT __declspec(dllexport)
88 #    define OSSIMIMPORT __declspec(dllimport)
89 #  endif
90 #else /* compiler doesn't support __declspec() */
91 #   define OSSIMEXPORT
92 #   define OSSIMIMPORT
93 #endif
94 
95 #if defined(__WXPM__)
96 #  if defined (__WATCOMC__)
97 #    define OSSIMEXPORT __declspec(dllexport)
98  /*
99    __declspec(dllimport) prepends __imp to imported symbols. We do NOT
100    want that!
101  */
102 #    define OSSIMIMPORT
103 #  elif (!(defined(__VISAGECPP__) && (__IBMCPP__ < 400 || __IBMC__ < 400 )))
104 #    define OSSIMEXPORT _Export
105 #    define OSSIMIMPORT _Export
106 #  endif
107 #elif defined(__OSSIMMAC__)
108 #  ifdef __MWERKS__
109 #    define OSSIMEXPORT __declspec(export)
110 #    define OSSIMIMPORT __declspec(import)
111 #  endif
112 #endif
113 
114 #if defined(_MSC_VER)
115 #  pragma warning(disable:4786) /* visual c6.0 compiler */
116 #  pragma warning(disable:4251) /* for std:: member variable to have dll interface */
117 #  pragma warning(disable:4275) /* for std:: base class to have dll interface */
118 #  pragma warning(disable:4800) /* int forcing value to bool */
119 #  pragma warning(disable:4244) /* conversion, possible loss of data */
120 
121 #  ifdef OSSIMSINGLEDLL /* one gigantic dll, all declared export */
122 #    ifdef EXPORT_OSMMATRIX
123 #      define EXPORT_OSMMATRIX  OSSIMEXPORT
124 #    endif
125 #    ifndef OSSIMDLLEXPORT
126 #      define OSSIMDLLEXPORT    OSSIMEXPORT
127 #    endif
128 #    ifdef EXPORT_OSMELEV
129 #      define EXPORT_OSMELEV    OSSIMEXPORT
130 #    endif
131 #    ifdef EXPORT_OSMSPTDATA
132 #      define EXPORT_OSMSPTDATA OSSIMEXPORT
133 #    endif
134 #    ifdef EXPORT_ISO8211
135 #      define EXPORT_ISO8211    OSSIMEXPORT
136 #    endif
137 #    ifdef EXPORT_OSMPROJ
138 #      define EXPORT_OSMPROJ    OSSIMEXPORT
139 #    endif
140 #    ifndef EXPORT_OSMIMAGING
141 #      define EXPORT_OSMIMAGING OSSIMEXPORT
142 #    endif
143 #  else /* individual dlls, each with their own import/export symbols */
144 #    ifndef EXPORT_OSMMATRIX
145 #      ifdef OSMMATRIX_EXPORTS
146 #        define EXPORT_OSMMATRIX OSSIMEXPORT
147 #      else
148 #        define EXPORT_OSMMATRIX OSSIMIMPORT
149 #      endif
150 #    endif
151 #    ifndef OSSIMDLLEXPORT
152 #      ifdef OSMBASE_EXPORTS
153 #        define OSSIMDLLEXPORT OSSIMEXPORT
154 #      else
155 #        define OSSIMDLLEXPORT OSSIMIMPORT
156 #      endif
157 #    endif
158 #    ifndef EXPORT_OSMELEV
159 #      ifdef OSMELEV_EXPORTS
160 #        define EXPORT_OSMELEV OSSIMEXPORT
161 #      else
162 #        define EXPORT_OSMELEV OSSIMIMPORT
163 #      endif
164 #    endif
165 #    ifndef EXPORT_OSMSPTDATA
166 #      ifdef OSMSPTDATA_EXPORTS
167 #        define EXPORT_OSMSPTDATA OSSIMEXPORT
168 #      else
169 #        define EXPORT_OSMSPTDATA OSSIMIMPORT
170 #      endif
171 #    endif
172 #    ifndef EXPORT_OSMPROJ
173 #      ifdef OSMPROJ_EXPORTS
174 #        define EXPORT_OSMPROJ OSSIMEXPORT
175 #      else
176 #        define EXPORT_OSMPROJ OSSIMIMPORT
177 #      endif
178 #    endif
179 #    ifndef EXPORT_ISO8211
180 #      ifdef ISO8211_EXPORTS
181 #        define EXPORT_ISO8211 OSSIMEXPORT
182 #      else
183 #        define EXPORT_ISO8211 OSSIMIMPORT
184 #      endif
185 #    endif
186 #    ifndef EXPORT_OSMIMAGING
187 #      ifdef OSMIMAGING_EXPORTS
188 #        define EXPORT_OSMIMAGING OSSIMEXPORT
189 #      else
190 #        define EXPORT_OSMIMAGING OSSIMIMPORT
191 #      endif
192 #    endif
193 #  endif
194 #else /* defined(_MSC_VER) */
195 #  ifdef OSSIMMAKINGDLL
196 #    define OSSIMDLLEXPORT OSSIMEXPORT
197 #    define OSSIM_DLL       OSSIMEXPORT
198 #    define OSSIMDLLEXPORT_DATA(type) OSSIMEXPORT type
199 #    define OSSIM_DLL_DATA(type) OSSIMEXPORT type
200 #    define OSSIMDLLEXPORT_CTORFN
201 #  elif defined(OSSIMUSINGDLL)
202 #    define OSSIMDLLEXPORT OSSIMIMPORT
203 #    define OSSIM_DLL      OSSIMIMPORT
204 #    define OSSIMDLLEXPORT_DATA(type) OSSIMIMPORT type
205 #    define OSSIM_DLL_DATA(type) OSSIMIMPORT type
206 #    define OSSIMDLLEXPORT_CTORFN
207 #  else /* not making nor using DLL */
208 #    define OSSIMDLLEXPORT
209 #    define OSSIM_DLL
210 #    define OSSIM_DLL_DATA(type) type
211 #    define OSSIMDLLEXPORT_DATA(type) type
212 #    define OSSIMDLLEXPORT_CTORFN
213 #  endif
214 #  define EXPORT_OSMMATRIX  OSSIMDLLEXPORT
215 #  define EXPORT_OSMELEV    OSSIMDLLEXPORT
216 #  define EXPORT_OSMSPTDATA OSSIMDLLEXPORT
217 #  define EXPORT_OSMPROJ    OSSIMDLLEXPORT
218 #  define EXPORT_OSMIMAGING OSSIMDLLEXPORT
219 #endif
220 #endif /* End of commented out "#if 0" old DLL import/export section. */
221 
222 /*
223   we know that if this is defined all other types are defined
224   since its included from ossimConfig.h
225 */
226 typedef char                   ossim_int8;
227 typedef unsigned char          ossim_uint8;
228 typedef signed char            ossim_sint8;
229 
230 typedef short                  ossim_int16;
231 typedef unsigned short         ossim_uint16;
232 typedef signed short           ossim_sint16;
233 
234 typedef int                    ossim_int32;
235 typedef unsigned int           ossim_uint32;
236 typedef signed int             ossim_sint32;
237 
238 typedef float                  ossim_float32;
239 typedef double                 ossim_float64;
240 
241 
242 typedef long long              ossim_int64;
243 typedef unsigned long long     ossim_uint64;
244 typedef signed long long       ossim_sint64;
245 
246 typedef ossim_int32            ossimErrorCode;
247 
248 enum ossimVertexOrdering
249 {
250    OSSIM_VERTEX_ORDER_UNKNOWN    = 0,
251    OSSIM_CLOCKWISE_ORDER         = 1,
252    OSSIM_COUNTERCLOCKWISE_ORDER  = 2
253 };
254 
255 //---
256 // For histogram builders.  Note that FAST computation mode will not sample all tiles.
257 //---
258 enum ossimHistogramMode
259 {
260    OSSIM_HISTO_MODE_UNKNOWN = 0,
261    OSSIM_HISTO_MODE_NORMAL  = 1,
262    OSSIM_HISTO_MODE_FAST    = 2
263 };
264 
265 /*
266  Corner coordinates are relative to center (0) of pixel
267  or relative to the upper left of pixel (1).
268 */
269 enum ossimPixelType
270 {
271    OSSIM_PIXEL_IS_POINT = 0,
272    OSSIM_PIXEL_IS_AREA  = 1
273 };
274 
275 /*
276  Definitions for scalar type identification.
277 */
278 enum ossimScalarType
279 {
280    OSSIM_SCALAR_UNKNOWN    =  0,
281    OSSIM_UINT8             =  1, /**<  8 bit unsigned integer */
282    OSSIM_UINT9             =  2, /**< 16 bit unsigned integer (9 bits used) */
283    OSSIM_UINT10            =  3, /**< 16 bit unsigned integer (10 bits used) */
284    OSSIM_UINT11            =  4, /**< 16 bit unsigned integer (11 bits used) */
285    OSSIM_UINT12            =  5, /**< 16 bit unsigned integer (12 bits used) */
286    OSSIM_UINT13            =  6, /**< 16 bit unsigned integer (13 bits used) */
287    OSSIM_UINT14            =  7, /**< 16 bit unsigned integer (14 bits used) */
288    OSSIM_UINT15            =  8, /**< 16 bit unsigned integer (15 bits used) */
289    OSSIM_UINT16            =  9, /**< 16 bit unsigned integer       */
290    OSSIM_UINT32            = 10, /**< 32 bit unsigned integer       */
291    OSSIM_UINT64            = 11, /**< 64 bit unsigned integer       */
292    OSSIM_SINT8             = 12, /**<  8 bit signed integer         */
293    OSSIM_SINT16            = 13, /**< 16 bit signed integer         */
294    OSSIM_SINT32            = 14, /**< 32 bit signed integer         */
295    OSSIM_SINT64            = 15, /**< 64 bit signed integer         */
296    OSSIM_FLOAT32           = 16, /**< 32 bit floating point         */
297    OSSIM_FLOAT64           = 17, /**< 64 bit floating point         */
298    OSSIM_CINT16            = 18, /**< 16 bit complex integer        */
299    OSSIM_CINT32            = 19, /**< 32 bit complex integer        */
300    OSSIM_CFLOAT32          = 20, /**< 32 bit complex floating point */
301    OSSIM_CFLOAT64          = 21, /**< 64 bit complex floating point */
302    OSSIM_NORMALIZED_FLOAT  = 22, /**< 32 bit normalized floating point */
303    OSSIM_NORMALIZED_DOUBLE = 23, /**< 64 bit normalized floating point */
304 
305    //---
306    // Below for backward compatibility only.  Please use above enums in
307    // conjunction with null, min, max settings to determine bit depth.
308    //---
309    OSSIM_UCHAR             =  1, /**<  8 bit unsigned integer */
310    OSSIM_USHORT11          =  4, /**< 16 bit unsigned integer (11 bits used) */
311    OSSIM_USHORT12          =  5, /**< 16 bit unsigned integer (12 bits used) */
312    OSSIM_USHORT13          =  6, /**< 16 bit unsigned integer (13 bits used) */
313    OSSIM_USHORT14          =  7, /**< 16 bit unsigned integer (14 bits used) */
314    OSSIM_USHORT15          =  8, /**< 16 bit unsigned integer (15 bits used) */
315    OSSIM_USHORT16          =  9, /**< 16 bit unsigned integer */
316    OSSIM_SSHORT16          = 13, /**< 16 bit signed integer  */
317    OSSIM_FLOAT             = 16, /**< 32 bit floating point  */
318    OSSIM_DOUBLE            = 17  /**< 64 bit floating point  */
319 };
320 
321 /*
322  Definitions for interleave type identification.
323 */
324 enum ossimInterleaveType
325 {
326    OSSIM_INTERLEAVE_UNKNOWN = 0,
327    OSSIM_BIL                = 1,  /* band interleaved by line */
328    OSSIM_BIP                = 2,  /* band interleaved by pixel */
329    OSSIM_BSQ                = 3,  /* band sequential */
330    OSSIM_BSQ_MULTI_FILE     = 4   /* band sequential in separate files */
331 };
332 
333 /*
334  Definitions for origin location.
335 */
336 enum ossimOriginLocationType
337 {
338    OSSIM_ORIGIN_LOCATION_UNKNOWN = 0,
339    OSSIM_CENTER                  = 1,
340    OSSIM_UPPER_LEFT              = 2,
341    OSSIM_UPPER_LEFT_CENTER       = 3,
342    OSSIM_LOWER_LEFT              = 4,
343    OSSIM_LOWER_LEFT_CENTER       = 5
344 };
345 
346 /*
347  Definitions for coordinate system type.
348 */
349 enum ossimCoordinateSystemType
350 {
351    OSSIM_COORDINATE_SYSTEM_UNKNOWN = 0,
352    OSSIM_IMAGE_SPACE               = 1,
353    OSSIM_GEOGRAPHIC_SPACE          = 2,
354    OSSIM_PROJECTED_SPACE           = 3,
355    OSSIM_GEOCENTRIC_SPACE          = 4
356 };
357 
358 /*
359  Definitions for coordinate system orientation mode .
360 */
361 enum ossimCoordSysOrientMode
362 {
363    OSSIM_LEFT_HANDED  = 0,
364    OSSIM_RIGHT_HANDED = 1
365 };
366 
367 /*
368  Definitions for unit type.
369 */
370 enum ossimUnitType
371 {
372    OSSIM_UNIT_UNKNOWN    = 0,
373    OSSIM_METERS          = 1,
374    OSSIM_FEET            = 2,
375    OSSIM_US_SURVEY_FEET  = 3,
376    OSSIM_DEGREES         = 4,
377    OSSIM_RADIANS         = 5,
378    OSSIM_NAUTICAL_MILES  = 6,
379    OSSIM_SECONDS         = 7,
380    OSSIM_MINUTES         = 8,
381    OSSIM_PIXEL           = 9,
382    OSSIM_MILES           = 10,
383    OSSIM_MILLIMETERS     = 11,
384    OSSIM_MICRONS         = 12,
385    OSSIM_CENTIMETERS     = 13,
386    OSSIM_YARDS           = 14,
387    OSSIM_INCHES          = 15,
388    OSSIM_KILOMETERS      = 16
389 };
390 
391 /** Definitions for data object status. */
392 enum ossimDataObjectStatus
393 {
394    OSSIM_STATUS_UNKNOWN = 0,
395    OSSIM_NULL           = 1, // not initialized
396    OSSIM_EMPTY          = 2, // initialized but blank or empty
397    OSSIM_PARTIAL        = 3, // contains some null/invalid values
398    OSSIM_FULL           = 4  // all valid data
399 };
400 
401 /** Definitions for image type identification. */
402 enum ossimImageType
403 {
404    OSSIM_IMAGE_TYPE_UNKNOWN       = 0,
405    OSSIM_TIFF_STRIP               = 1,
406    OSSIM_TIFF_STRIP_BAND_SEPARATE = 2,
407    OSSIM_TIFF_TILED               = 3,
408    OSSIM_TIFF_TILED_BAND_SEPARATE = 4,
409    OSSIM_GENERAL_RASTER_BIP       = 5,
410    OSSIM_GENERAL_RASTER_BIL       = 6,
411    OSSIM_GENERAL_RASTER_BSQ       = 7,
412    OSSIM_JPEG                     = 8,
413    OSSIM_PDF                      = 9
414 };
415 
416 /** Definitions for metadata type identification. */
417 enum ossimMetadataType
418 {
419    OSSIM_META_UNKNOWN   = 0,
420    OSSIM_META_TFW       = 1,
421    OSSIM_META_JGW       = 2,
422    OSSIM_META_GEOM      = 3,
423    OSSIM_META_README    = 4,
424    OSSIM_META_FGDC      = 5,
425    OSSIM_META_ENVI      = 6
426 };
427 
428 enum ossimByteOrder
429 {
430    OSSIM_LITTLE_ENDIAN = 0,
431    OSSIM_BIG_ENDIAN    = 1
432 };
433 
434 enum ossimCompareType
435 {
436    OSSIM_COMPARE_FULL=0,      // compares full traversal if supported.  Not just instance pointers
437    OSSIM_COMPARE_IMMEDIATE=1  // Only immediate attributes are compared
438 };
439 
440 #ifndef FLT_EPSILON
441 #  define FLT_EPSILON __FLT_EPSILON__
442 #endif
443 
444 #ifndef DBL_EPSILON
445 #  define DBL_EPSILON __DBL_EPSILON__
446 #endif
447 
448 #ifndef M_PI
449 #  define M_PI             ((ossim_float64)3.141592653589793238462643)
450 #endif
451 #ifndef TWO_PI
452 #  define TWO_PI           ((ossim_float64)(2.0 * M_PI))
453 #endif
454 #ifndef DEG_PER_RAD
455 #  define DEG_PER_RAD      ((ossim_float64)(180.0/M_PI))
456 #endif
457 #ifndef SEC_PER_RAD
458 #  define SEC_PER_RAD      ((ossim_float64)206264.8062471)
459 #endif
460 #ifndef RAD_PER_DEG
461 #  define RAD_PER_DEG      ((ossim_float64)(M_PI/180.0))
462 #endif
463 #ifndef MTRS_PER_FT
464 #  define MTRS_PER_FT      ((ossim_float64)0.3048)
465 #endif
466 #ifndef FT_PER_MTRS
467 #  define FT_PER_MTRS      ((ossim_float64)3.280839895013122)
468 #endif
469 #ifndef FT_PER_MILE
470 #  define FT_PER_MILE      ((ossim_float64)5280.0)
471 #endif
472 #ifndef SQRT_TWO_PI
473 #  define SQRT_TWO_PI      ((ossim_float64)2.50662827463100050242)
474 #endif
475 #ifndef SQRT_TWO_PI_DIV2
476 #  define SQRT_TWO_PI_DIV2 ((ossim_float64)7.07106781186547524401E-1)
477 #endif
478 
479 #define TIFFTAG_OSSIM_METADATA 50955
480 #define OSSIM_DEFAULT_TILE_HEIGHT  ((ossim_int32)64)
481 #define OSSIM_DEFAULT_TILE_WIDTH   ((ossim_int32)64)
482 
483 /*
484  NOTE Reference for U.S. feet value:
485  U.S.G.S. "Map Projections - A Working Manual"
486  USGS Professional paper 1395 page 51
487 */
488 #ifndef US_METERS_PER_FT
489 #  define  US_METERS_PER_FT ((ossim_float64)0.3048006096)
490 #endif
491 
492 //---
493 // Integer nan kept for ossimIpt and templated ossim::Pt
494 // This should be the most negative int.
495 // 32 bit: -2147483648
496 // 64 bit: -9223372036854775808
497 //---
498 #define OSSIM_INT_NAN ((ossim_sint32)0x80000000)
499 #define OSSIM_INT32_NAN ((ossim_sint32)0x80000000)
500 #define OSSIM_INT64_NAN ((ossim_sint64)0x8000000000000000)
501 
502 // UCHAR for backwards compatibility. */
503 #define OSSIM_DEFAULT_NULL_PIX_UCHAR  ((ossim_uint8)0)
504 #define OSSIM_DEFAULT_MIN_PIX_UCHAR   ((ossim_uint8)1)
505 #define OSSIM_DEFAULT_MAX_PIX_UCHAR   ((ossim_uint8)255)
506 
507 #define OSSIM_DEFAULT_NULL_PIX_SINT8  ((ossim_sint8)0x80)
508 #define OSSIM_DEFAULT_MIN_PIX_SINT8   ((ossim_sint8)0x81)
509 #define OSSIM_DEFAULT_MAX_PIX_SINT8   ((ossim_sint8)0x7F)
510 
511 #define OSSIM_DEFAULT_NULL_PIX_UINT8  ((ossim_uint8)0)
512 #define OSSIM_DEFAULT_MIN_PIX_UINT8   ((ossim_uint8)1)
513 #define OSSIM_DEFAULT_MAX_PIX_UINT8   ((ossim_uint8)255)
514 
515 #define OSSIM_DEFAULT_NULL_PIX_UINT9 ((ossim_uint16)0)
516 #define OSSIM_DEFAULT_MIN_PIX_UINT9  ((ossim_uint16)1)
517 #define OSSIM_DEFAULT_MAX_PIX_UINT9  ((ossim_uint16)0x01FF)
518 
519 #define OSSIM_DEFAULT_NULL_PIX_UINT10 ((ossim_uint16)0)
520 #define OSSIM_DEFAULT_MIN_PIX_UINT10  ((ossim_uint16)1)
521 #define OSSIM_DEFAULT_MAX_PIX_UINT10  ((ossim_uint16)0x03FF)
522 
523 #define OSSIM_DEFAULT_NULL_PIX_UINT11 ((ossim_uint16)0)
524 #define OSSIM_DEFAULT_MIN_PIX_UINT11  ((ossim_uint16)1)
525 #define OSSIM_DEFAULT_MAX_PIX_UINT11  ((ossim_uint16)0x07FF)
526 
527 #define OSSIM_DEFAULT_NULL_PIX_UINT12 ((ossim_uint16)0)
528 #define OSSIM_DEFAULT_MIN_PIX_UINT12  ((ossim_uint16)1)
529 #define OSSIM_DEFAULT_MAX_PIX_UINT12  ((ossim_uint16)0x0FFF)
530 
531 #define OSSIM_DEFAULT_NULL_PIX_UINT13 ((ossim_uint16)0)
532 #define OSSIM_DEFAULT_MIN_PIX_UINT13  ((ossim_uint16)1)
533 #define OSSIM_DEFAULT_MAX_PIX_UINT13  ((ossim_uint16)0x1FFF)
534 
535 #define OSSIM_DEFAULT_NULL_PIX_UINT14 ((ossim_uint16)0)
536 #define OSSIM_DEFAULT_MIN_PIX_UINT14  ((ossim_uint16)1)
537 #define OSSIM_DEFAULT_MAX_PIX_UINT14  ((ossim_uint16)0x3FFF)
538 
539 #define OSSIM_DEFAULT_NULL_PIX_UINT15 ((ossim_uint16)0)
540 #define OSSIM_DEFAULT_MIN_PIX_UINT15  ((ossim_uint16)1)
541 #define OSSIM_DEFAULT_MAX_PIX_UINT15  ((ossim_uint16)0x7FFF)
542 
543 #define OSSIM_DEFAULT_NULL_PIX_SINT16 ((ossim_sint16)0x8000)
544 #define OSSIM_DEFAULT_MIN_PIX_SINT16  ((ossim_sint16)0x8001)
545 #define OSSIM_DEFAULT_MAX_PIX_SINT16  ((ossim_sint16)0x7FFF)
546 
547 #define OSSIM_DEFAULT_NULL_PIX_UINT16 ((ossim_uint16)0)
548 #define OSSIM_DEFAULT_MIN_PIX_UINT16  ((ossim_uint16)1)
549 #define OSSIM_DEFAULT_MAX_PIX_UINT16  ((ossim_uint16)0xFFFF)
550 
551 #define OSSIM_DEFAULT_NULL_PIX_SINT32 ((ossim_sint32)0x80000000)
552 #define OSSIM_DEFAULT_MIN_PIX_SINT32  ((ossim_sint32)0x80000001)
553 #define OSSIM_DEFAULT_MAX_PIX_SINT32  ((ossim_sint32)0x7FFFFFFF)
554 
555 #define OSSIM_DEFAULT_NULL_PIX_UINT32 ((ossim_uint32)0)
556 #define OSSIM_DEFAULT_MIN_PIX_UINT32  ((ossim_uint32)1)
557 #define OSSIM_DEFAULT_MAX_PIX_UINT32  ((ossim_uint32)0xFFFFFFFF)
558 
559 #define OSSIM_DEFAULT_NULL_PIX_SINT64 ((ossim_sint64)0x8000000000000000)
560 #define OSSIM_DEFAULT_MIN_PIX_SINT64  ((ossim_sint64)0x8000000000000001)
561 #define OSSIM_DEFAULT_MAX_PIX_SINT64  ((ossim_sint64)0x7FFFFFFFFFFFFFFF)
562 
563 #define OSSIM_DEFAULT_NULL_PIX_UINT64 ((ossim_uint64)0)
564 #define OSSIM_DEFAULT_MIN_PIX_UINT64  ((ossim_uint64)1)
565 #define OSSIM_DEFAULT_MAX_PIX_UINT64  ((ossim_uint64)0xFFFFFFFFFFFFFFFF)
566 
567 #define OSSIM_DEFAULT_NULL_PIX_FLOAT  ((ossim_float32)-1.0/FLT_EPSILON)
568 #define OSSIM_DEFAULT_MIN_PIX_FLOAT   ((ossim_float32)((-1.0/FLT_EPSILON) + 1))
569 #define OSSIM_DEFAULT_MAX_PIX_FLOAT   ((ossim_float32)((1.0/FLT_EPSILON)))
570 
571 #define OSSIM_DEFAULT_NULL_PIX_NORM_FLOAT  ((ossim_float32)0)
572 #define OSSIM_DEFAULT_MIN_PIX_NORM_FLOAT   ((ossim_float32)((2*FLT_EPSILON)))
573 #define OSSIM_DEFAULT_MAX_PIX_NORM_FLOAT   ((ossim_float32)1.0)
574 
575 #define OSSIM_DEFAULT_NULL_PIX_DOUBLE      ((ossim_float64)-1.0/DBL_EPSILON)
576 #define OSSIM_DEFAULT_MIN_PIX_DOUBLE       ((ossim_float64)((-1.0/DBL_EPSILON) + 1))
577 #define OSSIM_DEFAULT_MAX_PIX_DOUBLE       ((ossim_float64)((1.0/DBL_EPSILON)))
578 
579 #define OSSIM_DEFAULT_NULL_PIX_NORM_DOUBLE ((ossim_float64)0)
580 #define OSSIM_DEFAULT_MIN_PIX_NORM_DOUBLE  ((ossim_float64)((2*DBL_EPSILON)))
581 #define OSSIM_DEFAULT_MAX_PIX_NORM_DOUBLE  ((ossim_float64)(1.0))
582 
583 #define OSSIM_DEFAULT_MEAN_SEA_LEVEL ((ossim_float64)0.0)
584 
585 #endif /* #ifndef ossimConstants_HEADER */
586