Blender V4.3
DNA_pointcache_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_listBase.h"
12
20enum {
28 BPHYS_DATA_AVELOCITY = 4, /* Used for particles. */
29 BPHYS_DATA_XCONST = 4, /* Used for cloth. */
33
34#define BPHYS_TOT_DATA 8
35};
36
37enum {
40};
41
42typedef struct PTCacheExtra {
44 unsigned int type, totdata;
45 void *data;
47
48typedef struct PTCacheMem {
49 struct PTCacheMem *next, *prev;
50 unsigned int frame, totpoint;
51 unsigned int data_types, flag;
52
54 void *data[8];
55
58
59typedef struct PointCache {
60 struct PointCache *next, *prev;
62 int flag;
63
77 int step;
78
91 char _pad[4];
92
93 /* for external cache files */
97 int index;
100 char _pad0[2];
101
102 char name[64];
103 char prev_name[64];
104 char info[128];
106 char path[1024];
107
114 char _pad1[4];
115
117
120 void (*free_edit)(struct PTCacheEdit *edit);
122
124enum {
129 // PTCACHE_BAKE_EDIT = 1 << 4,
130 // PTCACHE_BAKE_EDIT_ACTIVE = 1 << 5,
132 /* removed since 2.64 - #30974, could be added back in a more useful way */
133 // PTCACHE_QUICK_CACHE = 1 << 7,
145
147
150};
151
152enum {
156};
These structs are the foundation for all linked lists in the library system.
struct PTCacheMem PTCacheMem
@ PTCACHE_READ_INFO
@ PTCACHE_IGNORE_CLEAR
@ PTCACHE_FLAGS_COPY
@ PTCACHE_EXTERNAL
@ PTCACHE_IGNORE_LIBPATH
@ PTCACHE_BAKED
@ PTCACHE_FRAMES_SKIPPED
@ PTCACHE_FLAG_INFO_DIRTY
@ PTCACHE_BAKING
@ PTCACHE_OUTDATED
@ PTCACHE_FAKE_SMOKE
@ PTCACHE_DISK_CACHE
@ PTCACHE_SIMULATION_VALID
@ PTCACHE_REDO_NEEDED
@ BPHYS_EXTRA_FLUID_SPRINGS
@ BPHYS_EXTRA_CLOTH_ACCELERATION
struct PTCacheExtra PTCacheExtra
struct PointCache PointCache
@ BPHYS_DATA_SMOKE_HIGH
@ BPHYS_DATA_XCONST
@ BPHYS_DATA_SIZE
@ BPHYS_DATA_DYNAMICPAINT
@ BPHYS_DATA_VELOCITY
@ BPHYS_DATA_LOCATION
@ BPHYS_DATA_BOIDS
@ BPHYS_DATA_SMOKE_LOW
@ BPHYS_DATA_INDEX
@ BPHYS_DATA_AVELOCITY
@ BPHYS_DATA_ROTATION
@ BPHYS_DATA_TIMES
@ PTCACHE_COMPRESS_NO
@ PTCACHE_COMPRESS_LZMA
@ PTCACHE_COMPRESS_LZO
unsigned int totdata
struct PTCacheExtra * next
struct PTCacheExtra * prev
unsigned int flag
unsigned int data_types
unsigned int frame
struct ListBase extradata
struct PTCacheMem * next
struct PTCacheMem * prev
unsigned int totpoint
struct PointCache * next
struct ListBase mem_cache
struct PTCacheEdit * edit
void(* free_edit)(struct PTCacheEdit *edit)
struct PointCache * prev