VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkSystemIncludes.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00023 #ifndef __vtkSystemIncludes_h 00024 #define __vtkSystemIncludes_h 00025 00026 /* first include the local configuration for this machine */ 00027 #define __VTK_SYSTEM_INCLUDES__INSIDE 00028 #include "vtkWin32Header.h" 00029 #undef __VTK_SYSTEM_INCLUDES__INSIDE 00030 00031 // The language wrapper files do not need the real streams. They 00032 // define VTK_STREAMS_FWD_ONLY so that the streams are only 00033 // forward-declared. This significantly improves compile time on some 00034 // platforms. 00035 #if defined(VTK_STREAMS_FWD_ONLY) 00036 # include "vtkIOStreamFwd.h" // Forward-declare the C++ streams. 00037 #else 00038 # include "vtkIOStream.h" // Include the real C++ streams. 00039 #endif 00040 00041 // Setup the basic types to be used by VTK. 00042 #include "vtkType.h" 00043 00044 // this should be removed at some point 00045 #define VTK_USE_EXECUTIVES 00046 00047 #define __VTK_SYSTEM_INCLUDES__INSIDE 00048 #include "vtkOStreamWrapper.h" // Include the ostream wrapper. 00049 #include "vtkOStrStreamWrapper.h" // Include the ostrstream wrapper. 00050 #undef __VTK_SYSTEM_INCLUDES__INSIDE 00051 00052 // Include generic stuff. 00053 #include <stdio.h> 00054 #include <stdlib.h> 00055 #include <string.h> 00056 00057 // Borland C++ defines several of the stdlib.h and string.h symbols in 00058 // sub-headers search.h and mem.h. These sub-headers have using 00059 // declarations to pull functions from the std namespace to the global 00060 // namespace, but they are defined only if the header was not included 00061 // through the C++-style cstdlib or cstring header. These outer 00062 // headers are included by the streams library in C++-style and 00063 // include blockers are put in place that prevent including the 00064 // C-style versions from ever including the sub-headers. Therefore we 00065 // have to include the sub-headers here to get the using declarations. 00066 #if defined(__BORLANDC__) 00067 # include <mem.h> /* mem... functions from string.h */ 00068 # include <search.h> /* search functions from stdlib.h */ 00069 #endif 00070 00071 // These types define error codes for vtk functions 00072 #define VTK_OK 1 00073 #define VTK_ERROR 2 00074 00075 // These types define different text properties 00076 #define VTK_ARIAL 0 00077 #define VTK_COURIER 1 00078 #define VTK_TIMES 2 00079 #define VTK_UNKNOWN_FONT 3 00080 #define VTK_FONT_FILE 4 00081 00082 #define VTK_TEXT_LEFT 0 00083 #define VTK_TEXT_CENTERED 1 00084 #define VTK_TEXT_RIGHT 2 00085 00086 #define VTK_TEXT_BOTTOM 0 00087 #define VTK_TEXT_TOP 2 00088 00089 #define VTK_TEXT_GLOBAL_ANTIALIASING_SOME 0 00090 #define VTK_TEXT_GLOBAL_ANTIALIASING_NONE 1 00091 #define VTK_TEXT_GLOBAL_ANTIALIASING_ALL 2 00092 00093 #define VTK_LUMINANCE 1 00094 #define VTK_LUMINANCE_ALPHA 2 00095 #define VTK_RGB 3 00096 #define VTK_RGBA 4 00097 00098 #define VTK_COLOR_MODE_DEFAULT 0 00099 #define VTK_COLOR_MODE_MAP_SCALARS 1 00100 00101 // Constants for InterpolationType 00102 #define VTK_NEAREST_INTERPOLATION 0 00103 #define VTK_LINEAR_INTERPOLATION 1 00104 #define VTK_CUBIC_INTERPOLATION 2 00105 00106 // Constants for SlabType 00107 #define VTK_IMAGE_SLAB_MIN 0 00108 #define VTK_IMAGE_SLAB_MAX 1 00109 #define VTK_IMAGE_SLAB_MEAN 2 00110 #define VTK_IMAGE_SLAB_SUM 3 00111 00112 // For volume rendering 00113 #define VTK_MAX_VRCOMP 4 00114 00115 // If VTK_USE_PTHREADS is defined, then the multithreaded 00116 // function is of type void *, and returns NULL 00117 // Otherwise the type is void which is correct for WIN32 00118 // and SPROC 00119 #ifdef VTK_USE_PTHREADS 00120 #define VTK_THREAD_RETURN_VALUE NULL 00121 #define VTK_THREAD_RETURN_TYPE void * 00122 #endif 00123 00124 #ifdef VTK_USE_WIN32_THREADS 00125 #define VTK_THREAD_RETURN_VALUE 0 00126 #define VTK_THREAD_RETURN_TYPE vtkWindowsDWORD __stdcall 00127 #endif 00128 00129 #if !defined(VTK_USE_PTHREADS) && !defined(VTK_USE_WIN32_THREADS) 00130 #define VTK_THREAD_RETURN_VALUE 00131 #define VTK_THREAD_RETURN_TYPE void 00132 #endif 00133 00134 // For encoding 00135 00136 #define VTK_ENCODING_NONE 0 // to specify that no encoding should occur 00137 #define VTK_ENCODING_US_ASCII 1 00138 #define VTK_ENCODING_UNICODE 2 00139 #define VTK_ENCODING_UTF_8 3 00140 #define VTK_ENCODING_ISO_8859_1 4 00141 #define VTK_ENCODING_ISO_8859_2 5 00142 #define VTK_ENCODING_ISO_8859_3 6 00143 #define VTK_ENCODING_ISO_8859_4 7 00144 #define VTK_ENCODING_ISO_8859_5 8 00145 #define VTK_ENCODING_ISO_8859_6 9 00146 #define VTK_ENCODING_ISO_8859_7 10 00147 #define VTK_ENCODING_ISO_8859_8 11 00148 #define VTK_ENCODING_ISO_8859_9 12 00149 #define VTK_ENCODING_ISO_8859_10 13 00150 #define VTK_ENCODING_ISO_8859_11 14 00151 #define VTK_ENCODING_ISO_8859_12 15 00152 #define VTK_ENCODING_ISO_8859_13 16 00153 #define VTK_ENCODING_ISO_8859_14 17 00154 #define VTK_ENCODING_ISO_8859_15 18 00155 #define VTK_ENCODING_ISO_8859_16 19 00156 #define VTK_ENCODING_UNKNOWN 20 // leave this one at the end 00157 00158 #endif 00159 // VTK-HeaderTest-Exclude: vtkSystemIncludes.h