Blender V5.0
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
8
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 {
43#ifdef __cplusplus
45 static constexpr ID_Type id_type = ID_VO;
46#endif
47
49 struct AnimData *adt; /* animation data (must be immediately after id) */
50
51 /* File */
52 char filepath[/*FILE_MAX*/ 1024];
54
55 /* Sequence */
58 char _pad1[2];
62
63 /* Flag */
64 int flag;
65
66 /* Grids */
68
69 /* Material */
70 struct Material **mat;
71 short totcol;
72 short _pad2[3];
73
74 /* Render & Display Settings */
77
78 /* Velocity field name. */
79 char velocity_grid[64];
80
81 char _pad3[3];
82
83 /* Unit of time the velocity vectors are expressed in.
84 * This uses the same enumeration values as #CacheFile.velocity_unit. */
86
87 /* Factor for velocity vector for artistic control. */
89
90 /* Draw Cache */
92
93 /* Runtime Data */
96
98enum {
99 VO_DS_EXPAND = (1 << 0),
100};
101
109
117
123
130
136
143
149
157
158/* Only one material supported currently. */
159#define VOLUME_MATERIAL_NR 1
ID and Library types, which are fundamental for SDNA.
ID_Type
@ ID_VO
VolumeRenderSpace
@ VOLUME_SPACE_WORLD
@ VOLUME_SPACE_OBJECT
struct VolumeRuntimeHandle VolumeRuntimeHandle
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
@ VO_DS_EXPAND
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
VolumeWireframeDetail
@ VOLUME_WIREFRAME_COARSE
@ VOLUME_WIREFRAME_FINE
Definition DNA_ID.h:414
int frame_duration
char filepath[1024]
VolumeRuntimeHandle * runtime
char is_sequence
char _pad1[2]
char _pad3[3]
NODE_DECLARE Volume()
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