VTK  9.3.0
Types.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
3 #pragma once
4 
5 #include "vtkRenderingRayTracingModule.h"
6 #include <stdint.h>
7 #include <sys/types.h>
8 
9 VTK_ABI_NAMESPACE_BEGIN
10 typedef enum : uint32_t
11 {
19 } RTWError;
20 
21 typedef enum : uint32_t
22 {
23  RTW_FB_NONE, //< framebuffer will not be mapped by application
24  RTW_FB_RGBA8, //< one dword per pixel: rgb+alpha, each one byte
25  RTW_FB_SRGBA, //< one dword per pixel: rgb (in sRGB space) + alpha, each one byte
26  RTW_FB_RGBA32F, //< one float4 per pixel: rgb+alpha, each one float
28 
29 typedef enum : uint32_t
30 {
31  RTW_FB_COLOR = (1 << 0),
32  RTW_FB_DEPTH = (1 << 1),
33  RTW_FB_ACCUM = (1 << 2),
34  RTW_FB_VARIANCE = (1 << 3),
35  RTW_FB_NORMAL = (1 << 4),
36  RTW_FB_ALBEDO = (1 << 5),
38 
39 // OSPRay events which can be waited on via ospWait()
40 typedef enum : uint32_t
41 {
46  RTW_TASK_FINISHED = 100000
48 
49 // OSPRay cell types definition for unstructured volumes, values are set to match VTK
50 typedef enum : uint8_t
51 {
54  RTW_WEDGE = 13,
58 
59 // OSPRay PerspectiveCamera stereo image modes
60 typedef enum : uint8_t
61 {
66  RTW_STEREO_UNKNOWN = 255
68 
69 // OSPRay Curves geometry types
70 typedef enum : uint8_t
71 {
77 
78 // OSPRay Curves geometry bases
79 typedef enum : uint8_t
80 {
88 
89 // AMR Volume rendering methods
90 typedef enum : uint8_t
91 {
96 
97 typedef enum : uint32_t
98 {
116 
117 typedef enum :uint32_t
118 {
122 
123 typedef enum : uint32_t
124 {
125  // Object reference type.
126  RTW_DEVICE = 100,
127 
128  // Void pointer type.
130 
131  // Booleans, same size as RTW_INT.
132  RTW_BOOL = 250,
133 
134  // highest bit to represent objects/handles
135  RTW_OBJECT = 0x8000000,
136 
137  // object subtypes
138  RTW_DATA = 0x8000000 + 100,
155 
156  // Pointer to a C-style NULL-terminated character string.
157  RTW_STRING = 1500,
158 
159  // Character scalar type.
160  RTW_CHAR = 2000,
161 
162  // Unsigned character scalar and vector types.
164  RTW_BYTE = 2500, //XXX RTW_UCHAR, ISPC issue #1246
165  RTW_RAW = 2500, //XXX RTW_UCHAR, ISPC issue #1246
166 
167  // Signed 16-bit integer scalar.
168  RTW_SHORT = 3000,
169 
170  // Unsigned 16-bit integer scalar.
171  RTW_USHORT = 3500,
172 
173  // Signed 32-bit integer scalar and vector types.
175 
176  // Unsigned 32-bit integer scalar and vector types.
178 
179  // Signed 64-bit integer scalar and vector types.
181 
182  // Unsigned 64-bit integer scalar and vector types.
184 
185  // Single precision floating point scalar and vector types.
187 
188  // Double precision floating point scalar type.
189  RTW_DOUBLE = 7000,
190 
191  // Signed 32-bit integer N-dimensional box types
193 
194  // Single precision floating point N-dimensional box types
196 
197  // Transformation types
199 
200  // Guard value.
201  RTW_UNKNOWN = 9999999
203 
204 typedef enum : uint32_t
205 {
209 VTK_ABI_NAMESPACE_END
210 
211 namespace rtw
212 {
213 VTK_ABI_NAMESPACE_BEGIN
214  struct vec2f { float x, y; };
215  struct vec2i { int x, y; };
216  struct vec3i { int x, y, z; };
217  struct vec3ui { unsigned int x, y, z; };
218  struct vec3f { float x, y, z; };
219  struct vec4f { float x, y, z, w; };
220  struct box3i { vec3i lower, upper; };
221  struct box3f { vec3f lower, upper; };
222  struct linear3f { vec3f vx, vy, vz; };
223  struct affine3f { linear3f l; vec3f p; };
224 VTK_ABI_NAMESPACE_END
225 }
226 
227 VTK_ABI_NAMESPACE_BEGIN
228 
229 typedef struct RTWHandle
246 
248 
249 typedef enum : uint32_t
250 {
257 } RTWFeature;
258 VTK_ABI_NAMESPACE_END
struct RTWHandle * RTWData
Definition: Types.h:238
RTWCurveBasis
Definition: Types.h:80
@ RTW_BSPLINE
Definition: Types.h:83
@ RTW_LINEAR
Definition: Types.h:81
@ RTW_UNKNOWN_CURVE_BASIS
Definition: Types.h:86
@ RTW_CATMULL_ROM
Definition: Types.h:85
@ RTW_HERMITE
Definition: Types.h:84
@ RTW_BEZIER
Definition: Types.h:82
struct RTWHandle * RTWCamera
Definition: Types.h:232
RTWFrameBufferFormat
Definition: Types.h:22
@ RTW_FB_RGBA8
Definition: Types.h:24
@ RTW_FB_SRGBA
Definition: Types.h:25
@ RTW_FB_NONE
Definition: Types.h:23
@ RTW_FB_RGBA32F
Definition: Types.h:26
struct RTWHandle * RTWObject
Definition: Types.h:245
struct RTWHandle * RTWTexture
Definition: Types.h:244
RTWTextureFormat
Definition: Types.h:98
@ RTW_TEXTURE_L8
Definition: Types.h:107
@ RTW_TEXTURE_FORMAT_INVALID
Definition: Types.h:114
@ RTW_TEXTURE_R32F
Definition: Types.h:106
@ RTW_TEXTURE_RGBA32F
Definition: Types.h:101
@ RTW_TEXTURE_RA16
Definition: Types.h:112
@ RTW_TEXTURE_R16
Definition: Types.h:113
@ RTW_TEXTURE_LA8
Definition: Types.h:109
@ RTW_TEXTURE_RA8
Definition: Types.h:108
@ RTW_TEXTURE_SRGB
Definition: Types.h:103
@ RTW_TEXTURE_RGBA16
Definition: Types.h:110
@ RTW_TEXTURE_RGB8
Definition: Types.h:102
@ RTW_TEXTURE_R8
Definition: Types.h:105
@ RTW_TEXTURE_RGBA8
Definition: Types.h:99
@ RTW_TEXTURE_RGB32F
Definition: Types.h:104
@ RTW_TEXTURE_SRGBA
Definition: Types.h:100
@ RTW_TEXTURE_RGB16
Definition: Types.h:111
RTWSyncEvent
Definition: Types.h:41
@ RTW_FRAME_FINISHED
Definition: Types.h:45
@ RTW_NONE_FINISHED
Definition: Types.h:42
@ RTW_WORLD_RENDERED
Definition: Types.h:43
@ RTW_WORLD_COMMITTED
Definition: Types.h:44
@ RTW_TASK_FINISHED
Definition: Types.h:46
RTWStereoMode
Definition: Types.h:61
@ RTW_STEREO_LEFT
Definition: Types.h:63
@ RTW_STEREO_SIDE_BY_SIDE
Definition: Types.h:65
@ RTW_STEREO_UNKNOWN
Definition: Types.h:66
@ RTW_STEREO_RIGHT
Definition: Types.h:64
@ RTW_STEREO_NONE
Definition: Types.h:62
struct RTWHandle * RTWTransferFunction
Definition: Types.h:243
RTWFeature
Definition: Types.h:250
@ RTW_DEPTH_COMPOSITING
Definition: Types.h:256
@ RTW_INSTANCING
Definition: Types.h:254
@ RTW_DENOISER
Definition: Types.h:255
@ RTW_DEPTH_NORMALIZATION
Definition: Types.h:251
@ RTW_OPENGL_INTEROP
Definition: Types.h:252
@ RTW_ANIMATED_PARAMETERIZATION
Definition: Types.h:253
struct RTWHandle * RTWFrameBuffer
Definition: Types.h:229
RTWTexture RTWTexture2D
Definition: Types.h:247
struct RTWHandle * RTWGroup
Definition: Types.h:233
struct RTWHandle * RTWGeometry
Definition: Types.h:239
RTWAMRMethod
Definition: Types.h:91
@ RTW_AMR_OCTANT
Definition: Types.h:94
@ RTW_AMR_CURRENT
Definition: Types.h:92
@ RTW_AMR_FINEST
Definition: Types.h:93
struct RTWHandle * RTWVolume
Definition: Types.h:242
RTWCurveType
Definition: Types.h:71
@ RTW_RIBBON
Definition: Types.h:74
@ RTW_UNKNOWN_CURVE_TYPE
Definition: Types.h:75
@ RTW_FLAT
Definition: Types.h:73
@ RTW_ROUND
Definition: Types.h:72
RTWError
Definition: Types.h:11
@ RTW_UNKNOWN_ERROR
Definition: Types.h:13
@ RTW_VERSION_MISMATCH
Definition: Types.h:18
@ RTW_NO_ERROR
Definition: Types.h:12
@ RTW_OUT_OF_MEMORY
Definition: Types.h:16
@ RTW_INVALID_OPERATION
Definition: Types.h:15
@ RTW_UNSUPPORTED_DEVICE
Definition: Types.h:17
@ RTW_INVALID_ARGUMENT
Definition: Types.h:14
RTWTextureFilter
Definition: Types.h:118
@ RTW_TEXTURE_FILTER_NEAREST
Definition: Types.h:120
@ RTW_TEXTURE_FILTER_BILINEAR
Definition: Types.h:119
struct RTWHandle * RTWVolumetricModel
Definition: Types.h:236
RTWDataType
Definition: Types.h:124
@ RTW_BOX1I
Definition: Types.h:192
@ RTW_VEC3F
Definition: Types.h:186
@ RTW_BYTE
Definition: Types.h:164
@ RTW_FLOAT
Definition: Types.h:186
@ RTW_UINT
Definition: Types.h:177
@ RTW_MATERIAL
Definition: Types.h:148
@ RTW_VEC4F
Definition: Types.h:186
@ RTW_VEC4UL
Definition: Types.h:183
@ RTW_FRAMEBUFFER
Definition: Types.h:140
@ RTW_BOX2I
Definition: Types.h:192
@ RTW_VEC2I
Definition: Types.h:174
@ RTW_UNKNOWN
Definition: Types.h:201
@ RTW_WORLD
Definition: Types.h:154
@ RTW_BOX3F
Definition: Types.h:195
@ RTW_CAMERA
Definition: Types.h:139
@ RTW_VEC4L
Definition: Types.h:180
@ RTW_BOX4F
Definition: Types.h:195
@ RTW_AFFINE3F
Definition: Types.h:198
@ RTW_BOX4I
Definition: Types.h:192
@ RTW_ULONG
Definition: Types.h:183
@ RTW_TRANSFER_FUNCTION
Definition: Types.h:151
@ RTW_LONG
Definition: Types.h:180
@ RTW_LINEAR3F
Definition: Types.h:198
@ RTW_INT
Definition: Types.h:174
@ RTW_VEC3UL
Definition: Types.h:183
@ RTW_GROUP
Definition: Types.h:144
@ RTW_VEC2L
Definition: Types.h:180
@ RTW_FUTURE
Definition: Types.h:141
@ RTW_VEC2UL
Definition: Types.h:183
@ RTW_VOLUMETRIC_MODEL
Definition: Types.h:153
@ RTW_USHORT
Definition: Types.h:171
@ RTW_VEC2UC
Definition: Types.h:163
@ RTW_GEOMETRIC_MODEL
Definition: Types.h:142
@ RTW_DEVICE
Definition: Types.h:126
@ RTW_STRING
Definition: Types.h:157
@ RTW_VEC3I
Definition: Types.h:174
@ RTW_LINEAR2F
Definition: Types.h:198
@ RTW_VEC3UI
Definition: Types.h:177
@ RTW_IMAGE_OPERATION
Definition: Types.h:145
@ RTW_VEC3L
Definition: Types.h:180
@ RTW_RAW
Definition: Types.h:165
@ RTW_VEC2F
Definition: Types.h:186
@ RTW_VOID_PTR
Definition: Types.h:129
@ RTW_VEC4UC
Definition: Types.h:163
@ RTW_BOX2F
Definition: Types.h:195
@ RTW_VEC3UC
Definition: Types.h:163
@ RTW_BOX3I
Definition: Types.h:192
@ RTW_GEOMETRY
Definition: Types.h:143
@ RTW_UCHAR
Definition: Types.h:163
@ RTW_INSTANCE
Definition: Types.h:146
@ RTW_RENDERER
Definition: Types.h:149
@ RTW_VOLUME
Definition: Types.h:152
@ RTW_SHORT
Definition: Types.h:168
@ RTW_VEC4I
Definition: Types.h:174
@ RTW_VEC2UI
Definition: Types.h:177
@ RTW_LIGHT
Definition: Types.h:147
@ RTW_DOUBLE
Definition: Types.h:189
@ RTW_TEXTURE
Definition: Types.h:150
@ RTW_OBJECT
Definition: Types.h:135
@ RTW_BOX1F
Definition: Types.h:195
@ RTW_VEC4UI
Definition: Types.h:177
@ RTW_BOOL
Definition: Types.h:132
@ RTW_CHAR
Definition: Types.h:160
@ RTW_AFFINE2F
Definition: Types.h:198
@ RTW_DATA
Definition: Types.h:138
struct RTWHandle * RTWMaterial
Definition: Types.h:240
struct RTWHandle * RTWRenderer
Definition: Types.h:231
struct RTWHandle * RTWLight
Definition: Types.h:241
struct RTWHandle * RTWInstance
Definition: Types.h:234
RTWFrameBufferChannel
Definition: Types.h:30
@ RTW_FB_ALBEDO
Definition: Types.h:36
@ RTW_FB_VARIANCE
Definition: Types.h:34
@ RTW_FB_ACCUM
Definition: Types.h:33
@ RTW_FB_NORMAL
Definition: Types.h:35
@ RTW_FB_COLOR
Definition: Types.h:31
@ RTW_FB_DEPTH
Definition: Types.h:32
struct RTWHandle * RTWWorld
Definition: Types.h:237
RTWUnstructuredCellType
Definition: Types.h:51
@ RTW_TETRAHEDRON
Definition: Types.h:52
@ RTW_HEXAHEDRON
Definition: Types.h:53
@ RTW_WEDGE
Definition: Types.h:54
@ RTW_UNKNOWN_CELL_TYPE
Definition: Types.h:56
@ RTW_PYRAMID
Definition: Types.h:55
RTWBackendType
Definition: Types.h:205
@ RTW_BACKEND_OSPRAY
Definition: Types.h:206
@ RTW_BACKEND_VISRTX
Definition: Types.h:207
struct RTWHandle * RTWGeometricModel
Definition: Types.h:235
Definition: Types.h:212
vec3f p
Definition: Types.h:223
linear3f l
Definition: Types.h:223
vec3f lower
Definition: Types.h:221
vec3f upper
Definition: Types.h:221
vec3i lower
Definition: Types.h:220
vec3i upper
Definition: Types.h:220
vec3f vx
Definition: Types.h:222
vec3f vz
Definition: Types.h:222
vec3f vy
Definition: Types.h:222
float x
Definition: Types.h:214
float y
Definition: Types.h:214
int x
Definition: Types.h:215
int y
Definition: Types.h:215
float z
Definition: Types.h:218
float y
Definition: Types.h:218
float x
Definition: Types.h:218
int y
Definition: Types.h:216
int x
Definition: Types.h:216
int z
Definition: Types.h:216
unsigned int z
Definition: Types.h:217
unsigned int x
Definition: Types.h:217
unsigned int y
Definition: Types.h:217
float w
Definition: Types.h:219
float x
Definition: Types.h:219
float y
Definition: Types.h:219
float z
Definition: Types.h:219