VTK
dox/Common/Core/vtkSystemIncludes.h
Go to the documentation of this file.
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 
00081 #define VTK_TEXT_LEFT     0
00082 #define VTK_TEXT_CENTERED 1
00083 #define VTK_TEXT_RIGHT    2
00084 
00085 #define VTK_TEXT_BOTTOM 0
00086 #define VTK_TEXT_TOP    2
00087 
00088 #define VTK_TEXT_GLOBAL_ANTIALIASING_SOME 0
00089 #define VTK_TEXT_GLOBAL_ANTIALIASING_NONE 1
00090 #define VTK_TEXT_GLOBAL_ANTIALIASING_ALL 2
00091 
00092 #define VTK_LUMINANCE       1
00093 #define VTK_LUMINANCE_ALPHA 2
00094 #define VTK_RGB             3
00095 #define VTK_RGBA            4
00096 
00097 #define VTK_COLOR_MODE_DEFAULT 0
00098 #define VTK_COLOR_MODE_MAP_SCALARS 1
00099 
00100 // Constants for InterpolationType
00101 #define VTK_NEAREST_INTERPOLATION       0
00102 #define VTK_LINEAR_INTERPOLATION        1
00103 #define VTK_CUBIC_INTERPOLATION         2
00104 
00105 // Constants for SlabType
00106 #define VTK_IMAGE_SLAB_MIN  0
00107 #define VTK_IMAGE_SLAB_MAX  1
00108 #define VTK_IMAGE_SLAB_MEAN 2
00109 #define VTK_IMAGE_SLAB_SUM  3
00110 
00111 // For volume rendering
00112 #define VTK_MAX_VRCOMP                  4
00113 
00114 // If VTK_USE_PTHREADS is defined, then the multithreaded
00115 // function is of type void *, and returns NULL
00116 // Otherwise the type is void which is correct for WIN32
00117 // and SPROC
00118 #ifdef VTK_USE_PTHREADS
00119 #define VTK_THREAD_RETURN_VALUE  NULL
00120 #define VTK_THREAD_RETURN_TYPE   void *
00121 #endif
00122 
00123 #ifdef VTK_USE_WIN32_THREADS
00124 #define VTK_THREAD_RETURN_VALUE 0
00125 #define VTK_THREAD_RETURN_TYPE vtkWindowsDWORD __stdcall
00126 #endif
00127 
00128 #if !defined(VTK_USE_PTHREADS) && !defined(VTK_USE_WIN32_THREADS)
00129 #define VTK_THREAD_RETURN_VALUE
00130 #define VTK_THREAD_RETURN_TYPE void
00131 #endif
00132 
00133 // For encoding
00134 
00135 #define VTK_ENCODING_NONE         0 // to specify that no encoding should occur
00136 #define VTK_ENCODING_US_ASCII     1
00137 #define VTK_ENCODING_UNICODE      2
00138 #define VTK_ENCODING_UTF_8        3
00139 #define VTK_ENCODING_ISO_8859_1   4
00140 #define VTK_ENCODING_ISO_8859_2   5
00141 #define VTK_ENCODING_ISO_8859_3   6
00142 #define VTK_ENCODING_ISO_8859_4   7
00143 #define VTK_ENCODING_ISO_8859_5   8
00144 #define VTK_ENCODING_ISO_8859_6   9
00145 #define VTK_ENCODING_ISO_8859_7   10
00146 #define VTK_ENCODING_ISO_8859_8   11
00147 #define VTK_ENCODING_ISO_8859_9   12
00148 #define VTK_ENCODING_ISO_8859_10  13
00149 #define VTK_ENCODING_ISO_8859_11  14
00150 #define VTK_ENCODING_ISO_8859_12  15
00151 #define VTK_ENCODING_ISO_8859_13  16
00152 #define VTK_ENCODING_ISO_8859_14  17
00153 #define VTK_ENCODING_ISO_8859_15  18
00154 #define VTK_ENCODING_ISO_8859_16  19
00155 #define VTK_ENCODING_UNKNOWN      20  // leave this one at the end
00156 
00157 #endif
00158 // VTK-HeaderTest-Exclude: vtkSystemIncludes.h