1 /*========================================================================= 2 3 Program: Visualization Toolkit 4 Module: vtkSystemIncludes.h 5 6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 7 All rights reserved. 8 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 9 10 This software is distributed WITHOUT ANY WARRANTY; without even 11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 12 PURPOSE. See the above copyright notice for more information. 13 14 =========================================================================*/ 15 // .NAME vtkSystemIncludes - transition VTK to ANSI C++, centralize 16 // inclusion of system files 17 // .SECTION Description 18 // The vtkSystemIncludes centralizes the inclusion of system include 19 // files. 20 21 #ifndef vtkSystemIncludes_h 22 #define vtkSystemIncludes_h 23 24 /* first include the local configuration for this machine */ 25 #define __VTK_SYSTEM_INCLUDES__INSIDE 26 #include "vtkWin32Header.h" 27 #undef __VTK_SYSTEM_INCLUDES__INSIDE 28 29 // The language wrapper files do not need the real streams. They 30 // define VTK_STREAMS_FWD_ONLY so that the streams are only 31 // forward-declared. This significantly improves compile time on some 32 // platforms. 33 #if defined(VTK_STREAMS_FWD_ONLY) 34 # include "vtkIOStreamFwd.h" // Forward-declare the C++ streams. 35 #else 36 # include "vtkIOStream.h" // Include the real C++ streams. 37 #endif 38 39 // Setup the basic types to be used by VTK. 40 #include "vtkType.h" 41 42 // this should be removed at some point 43 #define VTK_USE_EXECUTIVES 44 45 #define __VTK_SYSTEM_INCLUDES__INSIDE 46 #include "vtkOStreamWrapper.h" // Include the ostream wrapper. 47 #include "vtkOStrStreamWrapper.h" // Include the ostrstream wrapper. 48 #undef __VTK_SYSTEM_INCLUDES__INSIDE 49 50 // Include generic stuff. 51 #include <stdio.h> 52 #include <stdlib.h> 53 #include <string.h> 54 55 // Borland C++ defines several of the stdlib.h and string.h symbols in 56 // sub-headers search.h and mem.h. These sub-headers have using 57 // declarations to pull functions from the std namespace to the global 58 // namespace, but they are defined only if the header was not included 59 // through the C++-style cstdlib or cstring header. These outer 60 // headers are included by the streams library in C++-style and 61 // include blockers are put in place that prevent including the 62 // C-style versions from ever including the sub-headers. Therefore we 63 // have to include the sub-headers here to get the using declarations. 64 #if defined(__BORLANDC__) 65 # include <mem.h> /* mem... functions from string.h */ 66 # include <search.h> /* search functions from stdlib.h */ 67 #endif 68 69 // These types define error codes for vtk functions 70 #define VTK_OK 1 71 #define VTK_ERROR 2 72 73 // These types define different text properties 74 #define VTK_ARIAL 0 75 #define VTK_COURIER 1 76 #define VTK_TIMES 2 77 #define VTK_UNKNOWN_FONT 3 78 #define VTK_FONT_FILE 4 79 80 #define VTK_TEXT_LEFT 0 81 #define VTK_TEXT_CENTERED 1 82 #define VTK_TEXT_RIGHT 2 83 84 #define VTK_TEXT_BOTTOM 0 85 #define VTK_TEXT_TOP 2 86 87 #define VTK_TEXT_GLOBAL_ANTIALIASING_SOME 0 88 #define VTK_TEXT_GLOBAL_ANTIALIASING_NONE 1 89 #define VTK_TEXT_GLOBAL_ANTIALIASING_ALL 2 90 91 #define VTK_LUMINANCE 1 92 #define VTK_LUMINANCE_ALPHA 2 93 #define VTK_RGB 3 94 #define VTK_RGBA 4 95 96 #define VTK_COLOR_MODE_DEFAULT 0 97 #define VTK_COLOR_MODE_MAP_SCALARS 1 98 #define VTK_COLOR_MODE_DIRECT_SCALARS 2 99 100 // Constants for InterpolationType 101 #define VTK_NEAREST_INTERPOLATION 0 102 #define VTK_LINEAR_INTERPOLATION 1 103 #define VTK_CUBIC_INTERPOLATION 2 104 105 // Constants for SlabType 106 #define VTK_IMAGE_SLAB_MIN 0 107 #define VTK_IMAGE_SLAB_MAX 1 108 #define VTK_IMAGE_SLAB_MEAN 2 109 #define VTK_IMAGE_SLAB_SUM 3 110 111 // For volume rendering 112 #define VTK_MAX_VRCOMP 4 113 114 // If VTK_USE_PTHREADS is defined, then the multithreaded 115 // function is of type void *, and returns NULL 116 // Otherwise the type is void which is correct for WIN32 117 // and SPROC 118 #ifdef VTK_USE_PTHREADS 119 #define VTK_THREAD_RETURN_VALUE NULL 120 #define VTK_THREAD_RETURN_TYPE void * 121 #endif 122 123 #ifdef VTK_USE_WIN32_THREADS 124 #define VTK_THREAD_RETURN_VALUE 0 125 #define VTK_THREAD_RETURN_TYPE vtkWindowsDWORD __stdcall 126 #endif 127 128 #if !defined(VTK_USE_PTHREADS) && !defined(VTK_USE_WIN32_THREADS) 129 #define VTK_THREAD_RETURN_VALUE 130 #define VTK_THREAD_RETURN_TYPE void 131 #endif 132 133 // For encoding 134 135 #define VTK_ENCODING_NONE 0 // to specify that no encoding should occur 136 #define VTK_ENCODING_US_ASCII 1 137 #define VTK_ENCODING_UNICODE 2 138 #define VTK_ENCODING_UTF_8 3 139 #define VTK_ENCODING_ISO_8859_1 4 140 #define VTK_ENCODING_ISO_8859_2 5 141 #define VTK_ENCODING_ISO_8859_3 6 142 #define VTK_ENCODING_ISO_8859_4 7 143 #define VTK_ENCODING_ISO_8859_5 8 144 #define VTK_ENCODING_ISO_8859_6 9 145 #define VTK_ENCODING_ISO_8859_7 10 146 #define VTK_ENCODING_ISO_8859_8 11 147 #define VTK_ENCODING_ISO_8859_9 12 148 #define VTK_ENCODING_ISO_8859_10 13 149 #define VTK_ENCODING_ISO_8859_11 14 150 #define VTK_ENCODING_ISO_8859_12 15 151 #define VTK_ENCODING_ISO_8859_13 16 152 #define VTK_ENCODING_ISO_8859_14 17 153 #define VTK_ENCODING_ISO_8859_15 18 154 #define VTK_ENCODING_ISO_8859_16 19 155 #define VTK_ENCODING_UNKNOWN 20 // leave this one at the end 156 157 #endif 158 // VTK-HeaderTest-Exclude: vtkSystemIncludes.h 159