Blender V4.3
DNA_volume_types.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
9#pragma once
10
11#include "DNA_ID.h"
12
13struct PackedFile;
14
15#ifdef __cplusplus
16namespace blender::bke {
17struct VolumeRuntime;
18}
20#else
22#endif
23
34
35typedef struct VolumeRender {
37 int space;
38 float step_size;
39 float clipping;
41
42typedef struct Volume {
44 struct AnimData *adt; /* animation data (must be immediately after id) */
45
46 /* File */
47 char filepath[1024]; /* FILE_MAX */
49
50 /* Sequence */
53 char _pad1[2];
57
58 /* Flag */
59 int flag;
60
61 /* Grids */
63
64 /* Material */
65 struct Material **mat;
66 short totcol;
67 short _pad2[3];
68
69 /* Render & Display Settings */
72
73 /* Velocity field name. */
74 char velocity_grid[64];
75
76 char _pad3[3];
77
78 /* Unit of time the velocity vectors are expressed in.
79 * This uses the same enumeration values as #CacheFile.velocity_unit. */
81
82 /* Factor for velocity vector for artistic control. */
84
85 /* Draw Cache */
87
88 /* Runtime Data */
91
93enum {
94 VO_DS_EXPAND = (1 << 0),
95};
96
104
112
118
125
131
138
144
152
153/* Only one material supported currently. */
154#define VOLUME_MATERIAL_NR 1
ID and Library types, which are fundamental for SDNA.
struct VolumeRender VolumeRender
VolumeRenderSpace
@ VOLUME_SPACE_WORLD
@ VOLUME_SPACE_OBJECT
struct VolumeRuntimeHandle VolumeRuntimeHandle
@ VO_DS_EXPAND
VolumeWireframeType
@ VOLUME_WIREFRAME_NONE
@ VOLUME_WIREFRAME_BOXES
@ VOLUME_WIREFRAME_POINTS
@ VOLUME_WIREFRAME_BOUNDS
VolumeDisplayInterpMethod
@ VOLUME_DISPLAY_INTERP_CLOSEST
@ VOLUME_DISPLAY_INTERP_LINEAR
@ VOLUME_DISPLAY_INTERP_CUBIC
AxisAlignedSlicingMethod
@ VOLUME_AXIS_SLICE_SINGLE
@ VOLUME_AXIS_SLICE_FULL
struct VolumeDisplay VolumeDisplay
VolumeSequenceMode
@ VOLUME_SEQUENCE_REPEAT
@ VOLUME_SEQUENCE_CLIP
@ VOLUME_SEQUENCE_EXTEND
@ VOLUME_SEQUENCE_PING_PONG
@ VOLUME_SLICE_AXIS_Y
@ VOLUME_SLICE_AXIS_X
@ VOLUME_SLICE_AXIS_AUTO
@ VOLUME_SLICE_AXIS_Z
VolumeRenderPrecision
@ VOLUME_PRECISION_FULL
@ VOLUME_PRECISION_VARIABLE
@ VOLUME_PRECISION_HALF
struct Volume Volume
VolumeWireframeDetail
@ VOLUME_WIREFRAME_COARSE
@ VOLUME_WIREFRAME_FINE
Definition DNA_ID.h:413
int frame_duration
char filepath[1024]
VolumeRuntimeHandle * runtime
char is_sequence
char _pad1[2]
char _pad3[3]
void * batch_cache
struct PackedFile * packedfile
char velocity_grid[64]
short _pad2[3]
struct Material ** mat
VolumeRender render
VolumeDisplay display
char sequence_mode
struct AnimData * adt
float velocity_scale
char velocity_unit