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 =========================================================================*/
27 #ifndef __vtkSystemIncludes_h
28 #define __vtkSystemIncludes_h
29 
30 /* first include the local configuration for this machine */
31 #define __VTK_SYSTEM_INCLUDES__INSIDE
32 #include "vtkWin32Header.h"
33 #undef __VTK_SYSTEM_INCLUDES__INSIDE
34 
35 // The language wrapper files do not need the real streams. They
36 // define VTK_STREAMS_FWD_ONLY so that the streams are only
37 // forward-declared. This significantly improves compile time on some
38 // platforms.
39 #if defined(VTK_STREAMS_FWD_ONLY)
40 # include "vtkIOStreamFwd.h" // Forward-declare the C++ streams.
41 #else
42 # include "vtkIOStream.h" // Include the real C++ streams.
43 #endif
44 
45 // Setup the basic types to be used by VTK.
46 #include "vtkType.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__)
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 
85 #define VTK_TEXT_LEFT 0
86 #define VTK_TEXT_CENTERED 1
87 #define VTK_TEXT_RIGHT 2
88 
89 #define VTK_TEXT_BOTTOM 0
90 #define VTK_TEXT_TOP 2
91 
92 #define VTK_TEXT_GLOBAL_ANTIALIASING_SOME 0
93 #define VTK_TEXT_GLOBAL_ANTIALIASING_NONE 1
94 #define VTK_TEXT_GLOBAL_ANTIALIASING_ALL 2
95 
96 #define VTK_LUMINANCE 1
97 #define VTK_LUMINANCE_ALPHA 2
98 #define VTK_RGB 3
99 #define VTK_RGBA 4
100 
101 #define VTK_COLOR_MODE_DEFAULT 0
102 #define VTK_COLOR_MODE_MAP_SCALARS 1
103 
104 // Constants for InterpolationType
105 #define VTK_NEAREST_INTERPOLATION 0
106 #define VTK_LINEAR_INTERPOLATION 1
107 
108 // For volume rendering
109 #define VTK_MAX_VRCOMP 4
110 
111 // If VTK_USE_PTHREADS is defined, then the multithreaded
112 // function is of type void *, and returns NULL
113 // Otherwise the type is void which is correct for WIN32
114 // and SPROC
115 #ifdef VTK_USE_PTHREADS
116 #define VTK_THREAD_RETURN_VALUE NULL
117 #define VTK_THREAD_RETURN_TYPE void *
118 #endif
119 
120 #ifdef VTK_USE_WIN32_THREADS
121 #define VTK_THREAD_RETURN_VALUE 0
122 #define VTK_THREAD_RETURN_TYPE vtkWindowsDWORD __stdcall
123 #endif
124 
125 #if !defined(VTK_USE_PTHREADS) && !defined(VTK_USE_WIN32_THREADS)
126 #define VTK_THREAD_RETURN_VALUE
127 #define VTK_THREAD_RETURN_TYPE void
128 #endif
129 
130 // For encoding
131 
132 #define VTK_ENCODING_NONE 0 // to specify that no encoding should occur
133 #define VTK_ENCODING_US_ASCII 1
134 #define VTK_ENCODING_UNICODE 2
135 #define VTK_ENCODING_UTF_8 3
136 #define VTK_ENCODING_ISO_8859_1 4
137 #define VTK_ENCODING_ISO_8859_2 5
138 #define VTK_ENCODING_ISO_8859_3 6
139 #define VTK_ENCODING_ISO_8859_4 7
140 #define VTK_ENCODING_ISO_8859_5 8
141 #define VTK_ENCODING_ISO_8859_6 9
142 #define VTK_ENCODING_ISO_8859_7 10
143 #define VTK_ENCODING_ISO_8859_8 11
144 #define VTK_ENCODING_ISO_8859_9 12
145 #define VTK_ENCODING_ISO_8859_10 13
146 #define VTK_ENCODING_ISO_8859_11 14
147 #define VTK_ENCODING_ISO_8859_12 15
148 #define VTK_ENCODING_ISO_8859_13 16
149 #define VTK_ENCODING_ISO_8859_14 17
150 #define VTK_ENCODING_ISO_8859_15 18
151 #define VTK_ENCODING_ISO_8859_16 19
152 #define VTK_ENCODING_UNKNOWN 20 // leave this one at the end
153 
154 #endif