VTK  9.4.20241117
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
9VTK_ABI_NAMESPACE_BEGIN
10typedef enum : uint32_t
11{
19} RTWError;
20
21typedef 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
29typedef 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()
40typedef enum : uint32_t
41{
46 RTW_TASK_FINISHED = 100000
48
49// OSPRay cell types definition for unstructured volumes, values are set to match VTK
50typedef enum : uint8_t
51{
58
59// OSPRay PerspectiveCamera stereo image modes
60typedef enum : uint8_t
61{
68
69// OSPRay Curves geometry types
70typedef enum : uint8_t
71{
77
78// OSPRay Curves geometry bases
79typedef enum : uint8_t
80{
88
89// AMR Volume rendering methods
90typedef enum : uint8_t
91{
96
97typedef enum : uint32_t
98{
116
117typedef enum :uint32_t
118{
122
123typedef enum : uint32_t
124{
125 // Object reference type.
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.
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.
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.
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
204typedef enum : uint32_t
205{
209VTK_ABI_NAMESPACE_END
210
211namespace rtw
212{
213VTK_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; };
224VTK_ABI_NAMESPACE_END
225}
226
227VTK_ABI_NAMESPACE_BEGIN
228
229typedef struct RTWHandle
246
248
249typedef enum : uint32_t
250{
257} RTWFeature;
258VTK_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