1 // -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- 2 // vi: set et ts=4 sw=2 sts=2: 3 #ifndef DUNE_ALBERTAHEADER_HH 4 #define DUNE_ALBERTAHEADER_HH 5 6 #if HAVE_ALBERTA 7 8 #if not (ALBERTA_DIM > 0) 9 #if HEADERCHECK 10 #undef ALBERTA_DIM 11 #define ALBERTA_DIM 2 12 #else 13 #error ALBERTA_DIM should be 1, 2, or 3 14 #endif 15 #endif 16 17 // Set ALBERTA's DIM_OF_WORLD preprocessor variable 18 #ifndef ALBERTA_DIM 19 #error "ALBERTA_DIM needed to use AlbertaGrid." 20 #endif 21 #define DIM_OF_WORLD ALBERTA_DIM 22 23 // if we have ALBERTA C++ lib define namespace for ALBERTA 24 #ifdef __ALBERTApp__ 25 #define ALBERTA Alberta:: 26 #else 27 #define ALBERTA :: 28 #endif 29 30 #ifndef ALBERTA_DEBUG 31 #define ALBERTA_DEBUG 0 32 #endif 33 34 // MAX, MIN, and ABS are defined macros of ALBERTA 35 // if they are not defined elsewhere, they are undefined here 36 #ifndef MAX 37 #define _MAX_NOT_DEFINED_ 38 #endif 39 40 #ifndef MIN 41 #define _MIN_NOT_DEFINED_ 42 #endif 43 44 #ifndef ABS 45 #define _ABS_NOT_DEFINED_ 46 #endif 47 48 #ifndef DIM_OF_WORLD 49 #error "DIM_OF_WORLD not defined." 50 #endif 51 52 #ifdef HAVE_CONFIG_H 53 #define ALBERTASAVE_HAVE_CONFIG_H HAVE_CONFIG_H 54 #undef HAVE_CONFIG_H 55 #endif 56 57 #include <alberta/alberta.h> 58 59 #ifdef ALBERTASAVE_HAVE_CONFIG_H 60 #define HAVE_CONFIG_H ALBERTASAVE_HAVE_CONFIG_H 61 #undef ALBERTASAVE_HAVE_CONFIG_H 62 #endif 63 64 #ifndef _ALBERTA_H_ 65 #error "Unable to include alberta.h." 66 #endif 67 68 // Macro nil may be defined by alberta_util.h. If so, undefine it. 69 #ifdef nil 70 #undef nil 71 #endif 72 73 #endif // #if HAVE_ALBERTA 74 75 #endif // #ifndef DUNE_ALBERTAHEADER_HH 76