vtkExtensionsTypes.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
#ifndef VTK_EXTENSIONS_TYPES_H_
00017
# define VTK_EXTENSIONS_TYPES_H_
00018
00019
# include "vtkExtensionsConfigure.h"
00020
# ifdef __cplusplus
00021
00022
# include <cstddef>
00023
# else
00024
# include <stddef.h>
00025
# endif
00026
00038
VTK_EXTENSIONS_BEGIN_EXTERN_C
00039
00042
# if defined(__BORLANDC__)
00043
# include <sys/types.h>
00044
# include <limits.h>
00045
# if (__BORLANDC__ < 0x540)
00046
typedef unsigned short vtkXMLChType;
00047
# else
00048
typedef wchar_t vtkXMLChType;
00049
# endif
00050
# elif defined(__MWERKS__)
00051
# if defined(VTK_EXTENSIONS_WIN32)
00052
# include <wchar.h>
00053
# include <wctype.h>
00054
# endif
00055
# if defined(VTK_EXTENSIONS_APPLE)
00056
typedef unsigned short vtkXMLChType;
00057
# elif defined(VTK_EXTENSIONS_WIN32)
00058
typedef wchar_t vtkXMLChType;
00059
# endif
00060
# elif defined(_MSC_VER) && (_MSC_VER>=1100)
00061
typedef wchar_t vtkXMLChType;
00062
# else
00063
# include <sys/types.h>
00064
# include <limits.h>
00065 typedef unsigned short vtkXMLChType;
00066
# endif
00067
00071
# if defined(_SIZE_T)&&defined(SIZE_MAX)&&defined(_SSIZE_T)&&defined(SSIZE_MAX)
00072
typedef size_t
vtkSizeType;
00073
typedef ssize_t
vtkSSizeType;
00074
# define VTK_EXTENSIONS_SIZE_MAX SIZE_MAX
00075
# define VTK_EXTENSIONS_SSIZE_MAX SSIZE_MAX
00076
# else
00077 typedef unsigned long vtkSizeType;
00078 typedef long vtkSSizeType;
00079 # define VTK_EXTENSIONS_SIZE_MAX ULONG_MAX
00080 # define VTK_EXTENSIONS_SSIZE_MAX LONG_MAX
00081
# endif
00082
00086
# if VTK_SIZEOF_CHAR == 1
00087
typedef unsigned char vtkByteType;
00088
typedef unsigned char vtkUint8Type;
00089
00090
00091
00092
00093
00094
00095
00096
# if (defined(HPUX) && defined(__cplusplus) \
00097
&& !defined(__GNUC__) && __cplusplus < 199707L) || \
00098
(defined(SCO) && defined(__cplusplus) \
00099
&& !defined(__GNUC__) && __cplusplus == 1L)
00100
typedef char vtkInt8Type;
00101
# else
00102
typedef signed char vtkInt8Type;
00103
# endif
00104
# else
00105
# error "No suitable type for vtkInt8Type/vtkUint8Type."
00106
# endif
00107
00111 # define VTK_EXTENSIONS_INT8_MAX 127
00112 # define VTK_EXTENSIONS_INT8_MIN (-128)
00113 # define VTK_EXTENSIONS_UINT8_MAX 255U
00114
00118
# if VTK_SIZEOF_SHORT == 2
00119
typedef unsigned short vtkUint16Type;
00120
typedef short vtkInt16Type;
00121
# else
00122
# error "No suitable type for vtkInt16Type/vtkUint16Type."
00123
# endif
00124
00128 # define VTK_EXTENSIONS_INT16_MAX 32767
00129 # define VTK_EXTENSIONS_INT16_MIN (-32768)
00130 # define VTK_EXTENSIONS_UINT16_MAX 65535U
00131
00135
# if VTK_SIZEOF_INT == 4
00136
typedef unsigned int vtkUint32Type;
00137
typedef int vtkInt32Type;
00138
# define VTK_EXTENSIONS_INT32(x) x
00139
# define VTK_EXTENSIONS_UINT32(x) x ## U
00140
# elif VTK_SIZEOF_LONG == 4
00141
typedef unsigned long vtkUint32Type;
00142
typedef long vtkInt32Type;
00143
# define VTK_EXTENSIONS_INT32(x) x ## L
00144
# define VTK_EXTENSIONS_UINT32(x) x ## UL
00145
# else
00146
# error "No suitable type for vtkInt32Type/vtkUint32Type."
00147
# endif
00148
00152 # define VTK_EXTENSIONS_INT32_MAX VTK_EXTENSIONS_INT32(2147483647)
00153 # define VTK_EXTENSIONS_INT32_MIN (-VTK_EXTENSIONS_INT32_MAX - 1)
00154 # define VTK_EXTENSIONS_UINT32_MAX VTK_EXTENSIONS_UINT32(4294967295)
00155
00160
# define VTK_EXTENSIONS_BIT(_n) ((vtkUint32Type)1 << (_n))
00161
# define VTK_EXTENSIONS_BITMASK(_n) (VTK_EXTENSIONS_BIT(_n) - 1)
00162
00173
# ifdef VTK_EXTENSIONS_HAVE_LONG_LONG
00174
# if VTK_SIZEOF_LONG == 8
00175
typedef long vtkInt64Type;
00176
typedef unsigned long vtkUint64Type;
00177
# elif defined(VTK_EXTENSIONS_WIN32) && !defined(__GNUC__)
00178
typedef __int64 vtkInt64Type;
00179
typedef unsigned __int64
vtkUint64Type;
00180
# else
00181
typedef long long vtkInt64Type;
00182
typedef unsigned long long vtkUint64Type;
00183
# endif
00184
# else
00185 typedef struct {
00186
# ifdef VTK_EXTENSIONS_IS_LITTLE_ENDIAN
00187
vtkUint32Type lo, hi;
00188
# else
00189 vtkUint32Type hi, lo;
00190
# endif
00191
} vtkInt64Type;
00192 typedef vtkInt64Type
vtkUint64Type;
00193
# endif
00194
00202
# if VTK_SIZEOF_INT >= 2
00203
typedef int vtkIntnType;
00204
typedef unsigned int vtkUintnType;
00205
# else
00206
# error 'sizeof(int)' not sufficient for platform use
00207
# endif
00208
00212
# if VTK_SIZEOF_FLOAT == 4
00213
typedef float vtkFloat32Type;
00214
# elif VTK_SIZEOF_DOUBLE == 4
00215
typedef double vtkFloat32Type;
00216
# else
00217
# error "No suitable type for vtkFloat32Type."
00218
# endif
00219
00220
# if VTK_SIZEOF_DOUBLE == 8
00221
typedef double vtkFloat64Type;
00222
# elif defined(VTK_SIZEOF_LONG_DOUBLE) && VTK_SIZEOF_LONG_DOUBLE == 8
00223
typedef long double vtkFloat64Type;
00224
# else
00225
# error "No suitable type for vtkFloat64Type."
00226
# endif
00227
00231 typedef vtkInt32Type
vtkOffset32Type;
00232 typedef vtkInt64Type
vtkOffset64Type;
00240 typedef ptrdiff_t
vtkPtrdiffType;
00241 typedef unsigned long vtkUptrdiffType;
00251 typedef vtkIntnType
vtkBoolType;
00252
# ifndef VTK_TRUE
00253 # define VTK_TRUE 1
00254 # define VTK_FALSE 0
00255
# endif
00256
00262 typedef vtkUint8Type
vtkPackedBoolType;
00263
00264
00269
# ifdef VTK_COMPILER_HAS_BOOL
00270
typedef bool vtkstd_bool;
00271
# else
00272 typedef int vtkstd_bool;
00273
# endif
00274
00278 typedef enum
00279 {
00280
VTK_EXTENSIONS_FAILURE = -1,
00281
VTK_EXTENSIONS_SUCCESS = 0
00282 }
vtkStatusType;
00283
00287 typedef vtkUint32Type
vtkResultType;
00288
00305 typedef vtkInt8Type
vtkChar;
00306 typedef vtkUint8Type
vtkUTF8ChType;
00307 typedef vtkUint16Type
vtkUTF16ChType;
00308 typedef vtkXMLChType vtkDOMChar;
00309 typedef vtkUint16Type
vtkUCS2ChType;
00310 typedef vtkUint32Type
vtkUTF32ChType;
00311 typedef vtkUint32Type
vtkUCS4ChType;
00317 # define VTK_EXTENSIONS_BIT(_n) ((vtkUint32Type)1 << (_n))
00318 # define VTK_EXTENSIONS_BITMASK(_n) (VTK_EXTENSIONS_BIT(_n) - 1)
00319
00321 typedef unsigned long vtkBitmapType;
00322
00323 # define VTK_EXTENSIONS_TEST_BIT(_map,_bit) \
00324
((_map)[(_bit)>>VTK_EXTENSIONS_BITS_PER_LONG_LOG2] & (1L << ((_bit) & (VTK_EXTENSIONS_BITS_PER_LONG-1))))
00325 # define VTK_EXTENSIONS_SET_BIT(_map,_bit) \
00326
((_map)[(_bit)>>VTK_EXTENSIONS_BITS_PER_LONG_LOG2] |= (1L << ((_bit) & (VTK_EXTENSIONS_BITS_PER_LONG-1))))
00327 # define VTK_EXTENSIONS_CLEAR_BIT(_map,_bit) \
00328
((_map)[(_bit)>>VTK_EXTENSIONS_BITS_PER_LONG_LOG2] &= ~(1L << ((_bit) & (VTK_EXTENSIONS_BITS_PER_LONG-1))))
00329
00334 # define VTK_EXTENSIONS_CEILING_LOG2(_log2,_n) \
00335
VTK_EXTENSIONS_BEGIN_MACRO \
00336
vtkUint32Type j_ = (vtkUint32Type)(_n); \
00337
(_log2) = 0; \
00338
if ((j_) & ((j_)-1)) \
00339
(_log2) += 1; \
00340
if ((j_) >> 16) \
00341
(_log2) += 16, (j_) >>= 16; \
00342
if ((j_) >> 8) \
00343
(_log2) += 8, (j_) >>= 8; \
00344
if ((j_) >> 4) \
00345
(_log2) += 4, (j_) >>= 4; \
00346
if ((j_) >> 2) \
00347
(_log2) += 2, (j_) >>= 2; \
00348
if ((j_) >> 1) \
00349
(_log2) += 1; \
00350
VTK_EXTENSIONS_END_MACRO
00351
00358 # define VTK_EXTENSIONS_FLOOR_LOG2(_log2,_n) \
00359
VTK_EXTENSIONS_BEGIN_MACRO \
00360
vtkUint32Type j_ = (vtkUint32Type)(_n); \
00361
(_log2) = 0; \
00362
if ((j_) >> 16) \
00363
(_log2) += 16, (j_) >>= 16; \
00364
if ((j_) >> 8) \
00365
(_log2) += 8, (j_) >>= 8; \
00366
if ((j_) >> 4) \
00367
(_log2) += 4, (j_) >>= 4; \
00368
if ((j_) >> 2) \
00369
(_log2) += 2, (j_) >>= 2; \
00370
if ((j_) >> 1) \
00371
(_log2) += 1; \
00372
VTK_EXTENSIONS_END_MACRO
00373
00376 # define VTK_EXTENSIONS_PTR_TO_INT32(_x) ((char *)(_x) - (char *)0)
00377 # define VTK_EXTENSIONS_INT32_TO_PTR(_x) ((void *)((char *)0 + (_x)))
00378
00383 typedef vtkUint32Type
vtkColorWord;
00385 typedef vtkUint8Type
vtkColorByte;
00386
00387 typedef vtkColorWord vtkPackedColor;
00388
00389 typedef struct
00390
{
00391 vtkFloat32Type Ka[3];
00392 vtkFloat32Type Kd[4];
00393 vtkFloat32Type Ks[3];
00394 vtkFloat32Type Se;
00395 }
vtkMaterial;
00396
00397 typedef struct
00398
{
00399 vtkPackedColor Ka;
00400 vtkPackedColor Kd;
00401 vtkPackedColor Ks;
00402 }
vtkPackedMaterial;
00407 # define VTK_EXTENSIONS_RGB_MAX VTK_EXTENSIONS_UINT8_MAX
00408
00410 # define VTK_EXTENSIONS_MAKE_RGBA(_r, _g, _b, _a) \
00411
((vtkColorWord)(((_r) << 24) | ((_g) << 16) | ((_b) << 8) | (_a)))
00412
00413 # define VTK_EXTENSIONS_MAKE_RGB(_r, _g, _b) \
00414
VTK_EXTENSIONS_MAKE_RGBA((_r), (_g), (_b), VTK_EXTENSIONS_RGB_MAX)
00415
00417 # define VTK_EXTENSIONS_MAKE_ABGR(_a, _b, _g, _r) \
00418
((vtkColorWord)(((_a) << 24) | ((_b) << 16) | ((_g) << 8) | (_r)))
00419
00420 # define VTK_EXTENSIONS_MAKE_BGR(_b, _g, _r) \
00421
VTK_EXTENSIONS_MAKE_ABGR(VTK_EXTENSIONS_RGB_MAX, (_b), (_g), (_r))
00422
00425 # define VTK_EXTENSIONS_GET_RGBA_R(_rgba) \
00426
((vtkColorByte)(((_rgba) >> 24) & 0xff))
00427 # define VTK_EXTENSIONS_GET_RGBA_G(_rgba) \
00428
((vtkColorByte)(((_rgba) >> 16) & 0xff))
00429 # define VTK_EXTENSIONS_GET_RGBA_B(_rgba) \
00430
((vtkColorByte)(((_rgba) >> 8) & 0xff))
00431 # define VTK_EXTENSIONS_GET_RGBA_A(_rgba) \
00432
((vtkColorByte)((_rgba) & 0xff))
00433
00437 # define VTK_EXTENSIONS_GET_ABGR_R(_abgr) \
00438
((vtkColorByte)((_abgr) & 0xff))
00439 # define VTK_EXTENSIONS_GET_ABGR_G(_abgr) \
00440
((vtkColorByte)(((_abgr) >> 8) & 0xff))
00441 # define VTK_EXTENSIONS_GET_ABGR_B(_abgr) \
00442
((vtkColorByte)(((_abgr) >> 16) & 0xff))
00443 # define VTK_EXTENSIONS_GET_ABGR_A(_abgr) \
00444
((vtkColorByte)(((_abgr) >> 24) & 0xff))
00445
00448 # define VTK_EXTENSIONS_RGBONLY(_rgba) \
00449
((_rgba) & 0xffffff00)
00450
00452 # define VTK_EXTENSIONS_BGRONLY(_abgr) \
00453
((_abgr) & 0x00ffffff)
00454
00455 # define VTK_EXTENSIONS_GET_COLORBYTE(_word, _n) \
00456
((vtkColorByte)(((_word) >> ((3-(_n))<<3)) & 0xff))
00457
00459 # define VTK_EXTENSIONS_COLORBYTE_REF(_word, _n) \
00460
(((vtkColorByte *)(&(_word)))[(_n)])
00461
00463 # define VTK_EXTENSIONS_COLORBYTE_PTR(_word, _n) \
00464
(&(VTK_EXTENSIONS_COLORBYTE_REF((_word), (_n))))
00465
00466 # define VTK_EXTENSIONS_CLAMP_COLORBYTE(_c) \
00467
( (_c) <= 0.0 ? 0 : \
00468
( (_c) > (vtkRealType)(VTK_EXTENSIONS_RGB_MAX) ? \
00469
VTK_EXTENSIONS_RGB_MAX : (vtkColorByte)(_c) ) )
00470
00471
VTK_EXTENSIONS_END_EXTERN_C
00472
00479 # define VTK_EXTENSIONS_ENSURE_TRUE(_x, _ret) \
00480
VTK_EXTENSIONS_BEGIN_MACRO \
00481
if (!(_x)) { \
00482
vtkGenericWarningMacro("ENSURE_TRUE(" #_x ") failed"); \
00483
return _ret; \
00484
} \
00485
VTK_EXTENSIONS_END_MACRO
00486
00487 # define VTK_EXTENSIONS_ENSURE_FALSE(_x, _ret) \
00488
VTK_EXTENSIONS_ENSURE_TRUE(!(_x), _ret)
00489
00494 # define VTK_EXTENSIONS_ENSURE_ARG(_a) \
00495
VTK_EXTENSIONS_ENSURE_TRUE(_a, VTK_ERROR)
00496
00497 # define VTK_EXTENSIONS_ENSURE_ARG_POINTER(_a) \
00498
VTK_EXTENSIONS_ENSURE_TRUE(_a, VTK_ERROR)
00499
00500 # define VTK_EXTENSIONS_ENSURE_ARG_MIN(_a, _min) \
00501
VTK_EXTENSIONS_ENSURE_TRUE((_a) >= _min, VTK_ERROR)
00502
00503 # define VTK_EXTENSIONS_ENSURE_ARG_MAX(_a, _max) \
00504
VTK_EXTENSIONS_ENSURE_TRUE((_a) <= _max, VTK_ERROR)
00505
00506 # define VTK_EXTENSIONS_ENSURE_ARG_RANGE(_a, _min, _max) \
00507
VTK_EXTENSIONS_ENSURE_TRUE(((_a) >= _min) && ((_a) <= _max), VTK_ERROR)
00508
00509 # define VTK_EXTENSIONS_ENSURE_STATE(_state) \
00510
VTK_EXTENSIONS_ENSURE_TRUE(_state, VTK_ERROR)
00511
00513
#endif
00514
00515
00516
00517
Generated on Tue Aug 10 03:37:39 2004 for vtkExtensions by
1.3.7