diff options
Diffstat (limited to 'source/blender/blenkernel/BKE_pointcache.h')
-rw-r--r-- | source/blender/blenkernel/BKE_pointcache.h | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/source/blender/blenkernel/BKE_pointcache.h b/source/blender/blenkernel/BKE_pointcache.h index a3ffad1f66b..8238ea64242 100644 --- a/source/blender/blenkernel/BKE_pointcache.h +++ b/source/blender/blenkernel/BKE_pointcache.h @@ -94,6 +94,9 @@ struct SmokeModifierData; struct SoftBody; struct RigidBodyWorld; +struct OpenVDBReader; +struct OpenVDBWriter; + /* temp structure for read/write */ typedef struct PTCacheData { unsigned int index; @@ -119,13 +122,18 @@ typedef struct PTCacheFile { #define PTCACHE_VEL_PER_SEC 1 +enum { + PTCACHE_FILE_PTCACHE = 0, + PTCACHE_FILE_OPENVDB = 1, +}; + typedef struct PTCacheID { struct PTCacheID *next, *prev; struct Scene *scene; struct Object *ob; void *calldata; - unsigned int type; + unsigned int type, file_type; unsigned int stack_index; unsigned int flag; @@ -147,6 +155,11 @@ typedef struct PTCacheID { /* copies cache cata to point data */ int (*read_stream)(PTCacheFile *pf, void *calldata); + /* copies point data to cache data */ + int (*write_openvdb_stream)(struct OpenVDBWriter *writer, void *calldata); + /* copies cache cata to point data */ + int (*read_openvdb_stream)(struct OpenVDBReader *reader, void *calldata); + /* copies custom extradata to cache data */ void (*write_extra_data)(void *calldata, struct PTCacheMem *pm, int cfra); /* copies custom extradata to cache data */ @@ -177,12 +190,10 @@ typedef struct PTCacheBaker { int render; int anim_init; int quick_step; - struct PTCacheID *pid; - int (*break_test)(void *data); - void *break_data; - void (*progressbar)(void *data, int num); - void (*progressend)(void *data); - void *progresscontext; + struct PTCacheID pid; + + void (*update_progress)(void *data, float progress, int *cancel); + void *bake_job; } PTCacheBaker; /* PTCacheEditKey->flag */ |