Changeset View
Changeset View
Standalone View
Standalone View
source/blender/makesdna/DNA_volume_types.h
- This file was added.
| /* | |||||
| * ***** BEGIN GPL LICENSE BLOCK ***** | |||||
| * | |||||
| * This program is free software; you can redistribute it and/or | |||||
| * modify it under the terms of the GNU General Public License | |||||
| * as published by the Free Software Foundation; either version 2 | |||||
| * of the License, or (at your option) any later version. | |||||
| * | |||||
| * This program is distributed in the hope that it will be useful, | |||||
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||||
| * GNU General Public License for more details. | |||||
| * | |||||
| * You should have received a copy of the GNU General Public License | |||||
| * along with this program; if not, write to the Free Software Foundation, | |||||
| * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |||||
| * | |||||
| * ***** END GPL LICENSE BLOCK ***** | |||||
| */ | |||||
| /** \file DNA_volume_types.h | |||||
| * \ingroup DNA | |||||
| */ | |||||
| #ifndef __DNA_VOLUME_TYPES_H__ | |||||
| #define __DNA_VOLUME_TYPES_H__ | |||||
| #include "DNA_ID.h" | |||||
| struct PackedFile; | |||||
| struct VolumeGridVector; | |||||
| typedef struct Volume_Runtime { | |||||
| /* OpenVDB Grids */ | |||||
| struct VolumeGridVector *grids; | |||||
| /* Current frame in sequence for evaluated volume */ | |||||
| int frame; | |||||
| int _pad; | |||||
| } Volume_Runtime; | |||||
| typedef struct VolumeDisplay { | |||||
| float density; | |||||
| int wireframe_type; | |||||
| int _pad[2]; | |||||
| } VolumeDisplay; | |||||
| typedef struct Volume { | |||||
| ID id; | |||||
| struct AnimData *adt; /* animation data (must be immediately after id) */ | |||||
| /* File */ | |||||
| char filepath[1024]; /* FILE_MAX */ | |||||
| struct PackedFile *packedfile; | |||||
| /* Sequence */ | |||||
| char is_sequence; | |||||
| char sequence_mode; | |||||
| char _pad1[2]; | |||||
| int frame_start; | |||||
| int frame_duration; | |||||
| int frame_offset; | |||||
| /* Flag */ | |||||
| int flag; | |||||
| /* Grids */ | |||||
| int active_grid; | |||||
| /* Material */ | |||||
| struct Material **mat; | |||||
| short totcol; | |||||
| short _pad2[3]; | |||||
| /* Display */ | |||||
| VolumeDisplay display; | |||||
| /* Draw Cache */ | |||||
| void *batch_cache; | |||||
| /* Runtime Data */ | |||||
| Volume_Runtime runtime; | |||||
| } Volume; | |||||
| /* Volume.flag */ | |||||
| enum { | |||||
| VO_DS_EXPAND = (1 << 0), | |||||
| }; | |||||
| /* Volume.sequence_mode */ | |||||
| typedef enum VolumeSequenceMode { | |||||
| VOLUME_SEQUENCE_CLIP = 0, | |||||
| VOLUME_SEQUENCE_EXTEND, | |||||
| VOLUME_SEQUENCE_REPEAT, | |||||
| VOLUME_SEQUENCE_PING_PONG, | |||||
| } VolumeSequenceMode; | |||||
| /* VolumeDisplay.wireframe_type */ | |||||
| typedef enum VolumeWireframeType { | |||||
| VOLUME_WIREFRAME_NONE = 0, | |||||
| VOLUME_WIREFRAME_BOUNDS = 1, | |||||
| VOLUME_WIREFRAME_COARSE = 2, | |||||
| VOLUME_WIREFRAME_FINE = 3, | |||||
| } VolumeWireframeType; | |||||
| /* Only one material supported currently. */ | |||||
| #define VOLUME_MATERIAL_NR 1 | |||||
| #endif /* __DNA_VOLUME_TYPES_H__ */ | |||||