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__)
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 NULL
122// Otherwise the type is void which is correct for WIN32
123// and SPROC
124#ifdef VTK_USE_PTHREADS
125#define VTK_THREAD_RETURN_VALUE NULL
126#define VTK_THREAD_RETURN_TYPE void *
127#endif
128
129#ifdef VTK_USE_WIN32_THREADS
130#define VTK_THREAD_RETURN_VALUE 0
131#define VTK_THREAD_RETURN_TYPE vtkWindowsDWORD __stdcall
132#endif
133
134#if !defined(VTK_USE_PTHREADS) && !defined(VTK_USE_WIN32_THREADS)
135#define VTK_THREAD_RETURN_VALUE
136#define VTK_THREAD_RETURN_TYPE void
137#endif
138
139// For encoding
140
141#define VTK_ENCODING_NONE 0 // to specify that no encoding should occur
142#define VTK_ENCODING_US_ASCII 1
143#define VTK_ENCODING_UNICODE 2
144#define VTK_ENCODING_UTF_8 3
145#define VTK_ENCODING_ISO_8859_1 4
146#define VTK_ENCODING_ISO_8859_2 5
147#define VTK_ENCODING_ISO_8859_3 6
148#define VTK_ENCODING_ISO_8859_4 7
149#define VTK_ENCODING_ISO_8859_5 8
150#define VTK_ENCODING_ISO_8859_6 9
151#define VTK_ENCODING_ISO_8859_7 10
152#define VTK_ENCODING_ISO_8859_8 11
153#define VTK_ENCODING_ISO_8859_9 12
154#define VTK_ENCODING_ISO_8859_10 13
155#define VTK_ENCODING_ISO_8859_11 14
156#define VTK_ENCODING_ISO_8859_12 15
157#define VTK_ENCODING_ISO_8859_13 16
158#define VTK_ENCODING_ISO_8859_14 17
159#define VTK_ENCODING_ISO_8859_15 18
160#define VTK_ENCODING_ISO_8859_16 19
161#define VTK_ENCODING_UNKNOWN 20 // leave this one at the end
162
163#endif
164// VTK-HeaderTest-Exclude: vtkSystemIncludes.h