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