diff options
Diffstat (limited to 'source/blender/blenkernel/BKE_smoke.h')
-rw-r--r-- | source/blender/blenkernel/BKE_smoke.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/source/blender/blenkernel/BKE_smoke.h b/source/blender/blenkernel/BKE_smoke.h index 07d156cfa02..bc2e3768cb8 100644 --- a/source/blender/blenkernel/BKE_smoke.h +++ b/source/blender/blenkernel/BKE_smoke.h @@ -33,6 +33,8 @@ * \author Daniel Genrich */ +struct OpenVDBCache; + typedef float (*bresenham_callback)(float *result, float *input, int res[3], int *pixel, float *tRay, float correct); struct DerivedMesh *smokeModifier_do(struct SmokeModifierData *smd, struct Scene *scene, struct Object *ob, struct DerivedMesh *dm, bool for_render); @@ -48,4 +50,24 @@ void smokeModifier_copy(struct SmokeModifierData *smd, struct SmokeModifierData float smoke_get_velocity_at(struct Object *ob, float position[3], float velocity[3]); int smoke_get_data_flags(struct SmokeDomainSettings *sds); +/* OpenVDB smoke export/import */ + +typedef void (*update_cb)(void *, float progress, int *cancel); + +void smokeModifier_OpenVDB_export(struct SmokeModifierData *smd, struct Scene *scene, + struct Object *ob, struct DerivedMesh *dm, + update_cb update, + void *update_cb_data); + +void smokeModifier_OpenVDB_update_transform(struct SmokeModifierData *smd, + struct Scene *scene, + struct Object *ob, + update_cb update, + void *update_cb_data); + +void smokeModifier_OpenVDB_import(struct SmokeModifierData *smd, struct Scene *scene, struct Object *ob, struct OpenVDBCache *cache); + +struct OpenVDBCache *BKE_openvdb_get_current_cache(struct SmokeDomainSettings *sds); +void BKE_openvdb_cache_filename(char *r_filename, const char *path, const char *fname, const char *relbase, int frame); + #endif /* __BKE_SMOKE_H__ */ |