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 =========================================================================*/ 00027 #ifndef __vtkSystemIncludes_h 00028 #define __vtkSystemIncludes_h 00029 00030 /* first include the local configuration for this machine */ 00031 #define __VTK_SYSTEM_INCLUDES__INSIDE 00032 #include "vtkWin32Header.h" 00033 #undef __VTK_SYSTEM_INCLUDES__INSIDE 00034 00035 // The language wrapper files do not need the real streams. They 00036 // define VTK_STREAMS_FWD_ONLY so that the streams are only 00037 // forward-declared. This significantly improves compile time on some 00038 // platforms. 00039 #if defined(VTK_STREAMS_FWD_ONLY) 00040 # include "vtkIOStreamFwd.h" // Forward-declare the C++ streams. 00041 #else 00042 # include "vtkIOStream.h" // Include the real C++ streams. 00043 #endif 00044 00045 // Setup the basic types to be used by VTK. 00046 #include "vtkType.h" 00047 00048 // this should be removed at some point 00049 #define VTK_USE_EXECUTIVES 00050 00051 #define __VTK_SYSTEM_INCLUDES__INSIDE 00052 #include "vtkOStreamWrapper.h" // Include the ostream wrapper. 00053 #include "vtkOStrStreamWrapper.h" // Include the ostrstream wrapper. 00054 #undef __VTK_SYSTEM_INCLUDES__INSIDE 00055 00056 // Include generic stuff. 00057 #include <stdio.h> 00058 #include <stdlib.h> 00059 #include <string.h> 00060 00061 // Borland C++ defines several of the stdlib.h and string.h symbols in 00062 // sub-headers search.h and mem.h. These sub-headers have using 00063 // declarations to pull functions from the std namespace to the global 00064 // namespace, but they are defined only if the header was not included 00065 // through the C++-style cstdlib or cstring header. These outer 00066 // headers are included by the streams library in C++-style and 00067 // include blockers are put in place that prevent including the 00068 // C-style versions from ever including the sub-headers. Therefore we 00069 // have to include the sub-headers here to get the using declarations. 00070 #if defined(__BORLANDC__) 00071 # include <mem.h> /* mem... functions from string.h */ 00072 # include <search.h> /* search functions from stdlib.h */ 00073 #endif 00074 00075 // These types define error codes for vtk functions 00076 #define VTK_OK 1 00077 #define VTK_ERROR 2 00078 00079 // These types define different text properties 00080 #define VTK_ARIAL 0 00081 #define VTK_COURIER 1 00082 #define VTK_TIMES 2 00083 #define VTK_UNKNOWN_FONT 3 00084 00085 #define VTK_TEXT_LEFT 0 00086 #define VTK_TEXT_CENTERED 1 00087 #define VTK_TEXT_RIGHT 2 00088 00089 #define VTK_TEXT_BOTTOM 0 00090 #define VTK_TEXT_TOP 2 00091 00092 #define VTK_TEXT_GLOBAL_ANTIALIASING_SOME 0 00093 #define VTK_TEXT_GLOBAL_ANTIALIASING_NONE 1 00094 #define VTK_TEXT_GLOBAL_ANTIALIASING_ALL 2 00095 00096 #define VTK_LUMINANCE 1 00097 #define VTK_LUMINANCE_ALPHA 2 00098 #define VTK_RGB 3 00099 #define VTK_RGBA 4 00100 00101 #define VTK_COLOR_MODE_DEFAULT 0 00102 #define VTK_COLOR_MODE_MAP_SCALARS 1 00103 00104 // Constants for InterpolationType 00105 #define VTK_NEAREST_INTERPOLATION 0 00106 #define VTK_LINEAR_INTERPOLATION 1 00107 00108 // For volume rendering 00109 #define VTK_MAX_VRCOMP 4 00110 00111 // For multithreading 00112 00113 // The maximum number of threads allowed 00114 #ifdef VTK_USE_SPROC 00115 #define VTK_MAX_THREADS 32 00116 #endif 00117 00118 #ifdef VTK_USE_PTHREADS 00119 #define VTK_MAX_THREADS 32 00120 #endif 00121 00122 #ifdef VTK_USE_WIN32_THREADS 00123 #define VTK_MAX_THREADS 8 00124 #endif 00125 00126 #ifndef VTK_USE_WIN32_THREADS 00127 #ifndef VTK_USE_SPROC 00128 #ifndef VTK_USE_PTHREADS 00129 #define VTK_MAX_THREADS 1 00130 #endif 00131 #endif 00132 #endif 00133 00134 // If VTK_USE_PTHREADS is defined, then the multithreaded 00135 // function is of type void *, and returns NULL 00136 // Otherwise the type is void which is correct for WIN32 00137 // and SPROC 00138 #ifdef VTK_USE_PTHREADS 00139 #define VTK_THREAD_RETURN_VALUE NULL 00140 #define VTK_THREAD_RETURN_TYPE void * 00141 #endif 00142 00143 #ifdef VTK_USE_WIN32_THREADS 00144 #define VTK_THREAD_RETURN_VALUE 0 00145 #define VTK_THREAD_RETURN_TYPE vtkWindowsDWORD __stdcall 00146 #endif 00147 00148 #if !defined(VTK_USE_PTHREADS) && !defined(VTK_USE_WIN32_THREADS) 00149 #define VTK_THREAD_RETURN_VALUE 00150 #define VTK_THREAD_RETURN_TYPE void 00151 #endif 00152 00153 // For encoding 00154 00155 #define VTK_ENCODING_NONE 0 // to specify that no encoding should occur 00156 #define VTK_ENCODING_US_ASCII 1 00157 #define VTK_ENCODING_UNICODE 2 00158 #define VTK_ENCODING_UTF_8 3 00159 #define VTK_ENCODING_ISO_8859_1 4 00160 #define VTK_ENCODING_ISO_8859_2 5 00161 #define VTK_ENCODING_ISO_8859_3 6 00162 #define VTK_ENCODING_ISO_8859_4 7 00163 #define VTK_ENCODING_ISO_8859_5 8 00164 #define VTK_ENCODING_ISO_8859_6 9 00165 #define VTK_ENCODING_ISO_8859_7 10 00166 #define VTK_ENCODING_ISO_8859_8 11 00167 #define VTK_ENCODING_ISO_8859_9 12 00168 #define VTK_ENCODING_ISO_8859_10 13 00169 #define VTK_ENCODING_ISO_8859_11 14 00170 #define VTK_ENCODING_ISO_8859_12 15 00171 #define VTK_ENCODING_ISO_8859_13 16 00172 #define VTK_ENCODING_ISO_8859_14 17 00173 #define VTK_ENCODING_ISO_8859_15 18 00174 #define VTK_ENCODING_ISO_8859_16 19 00175 #define VTK_ENCODING_UNKNOWN 20 // leave this one at the end 00176 00177 #endif