[Bf-blender-cvs] [40517fb] openvdb: Added a way to get the cache filename.

Kévin Dietrich noreply at git.blender.org
Sun Nov 13 21:44:03 CET 2016


Commit: 40517fb2e7faaccda0bd2c4bbef4e9481bb1b5ca
Author: Kévin Dietrich
Date:   Sun Jan 31 16:50:03 2016 +0100
Branches: openvdb
https://developer.blender.org/rB40517fb2e7faaccda0bd2c4bbef4e9481bb1b5ca

Added a way to get the cache filename.

===================================================================

M	intern/cycles/blender/blender_object.cpp
M	source/blender/blenkernel/BKE_pointcache.h
M	source/blender/blenkernel/intern/pointcache.c
M	source/blender/makesdna/DNA_smoke_types.h
M	source/blender/makesrna/intern/rna_smoke.c

===================================================================

diff --git a/intern/cycles/blender/blender_object.cpp b/intern/cycles/blender/blender_object.cpp
index 9e2671e..1d5a4d8 100644
--- a/intern/cycles/blender/blender_object.cpp
+++ b/intern/cycles/blender/blender_object.cpp
@@ -91,14 +91,12 @@ bool BlenderSync::object_has_sparse_volume(BL::Object& b_ob)
 	    return false;
 	}
 
-#if 0
 	char filename[1024];
 	SmokeDomainSettings_cache_filename_get(&b_domain.ptr, filename);
 
+	printf("filename (blender sync): %s\n", filename);
+
 	return strcmp(filename, "");
-#else
-	return true;
-#endif
 }
 
 static uint object_ray_visibility(BL::Object& b_ob)
diff --git a/source/blender/blenkernel/BKE_pointcache.h b/source/blender/blenkernel/BKE_pointcache.h
index 40dbffe..82893a3 100644
--- a/source/blender/blenkernel/BKE_pointcache.h
+++ b/source/blender/blenkernel/BKE_pointcache.h
@@ -280,6 +280,7 @@ void BKE_ptcache_ids_from_object(struct ListBase *lb, struct Object *ob, struct
 
 /***************** Global funcs ****************************/
 void BKE_ptcache_remove(void);
+int ptcache_filename(PTCacheID *pid, char *filename, int cfra, short do_path, short do_ext);
 
 /************ ID specific functions ************************/
 void    BKE_ptcache_id_clear(PTCacheID *id, int mode, unsigned int cfra);
diff --git a/source/blender/blenkernel/intern/pointcache.c b/source/blender/blenkernel/intern/pointcache.c
index 4414838..6cec7cd 100644
--- a/source/blender/blenkernel/intern/pointcache.c
+++ b/source/blender/blenkernel/intern/pointcache.c
@@ -1817,7 +1817,7 @@ static int ptcache_path(PTCacheID *pid, char *filename)
 	return BLI_add_slash(filename); /* new strlen() */
 }
 
-static int ptcache_filename(PTCacheID *pid, char *filename, int cfra, short do_path, short do_ext)
+int ptcache_filename(PTCacheID *pid, char *filename, int cfra, short do_path, short do_ext)
 {
 	int len=0;
 	char *idname;
diff --git a/source/blender/makesdna/DNA_smoke_types.h b/source/blender/makesdna/DNA_smoke_types.h
index 76de844..b9ceae6 100644
--- a/source/blender/makesdna/DNA_smoke_types.h
+++ b/source/blender/makesdna/DNA_smoke_types.h
@@ -161,6 +161,8 @@ typedef struct SmokeDomainSettings {
 	float burning_rate, flame_smoke, flame_vorticity;
 	float flame_ignition, flame_max_temp;
 	float flame_smoke_color[3];
+
+	char cache_filename[1024];
 } SmokeDomainSettings;
 
 
diff --git a/source/blender/makesrna/intern/rna_smoke.c b/source/blender/makesrna/intern/rna_smoke.c
index ba3198a..06404f1 100644
--- a/source/blender/makesrna/intern/rna_smoke.c
+++ b/source/blender/makesrna/intern/rna_smoke.c
@@ -317,6 +317,15 @@ static void rna_SmokeFlow_uvlayer_set(PointerRNA *ptr, const char *value)
 	rna_object_uvlayer_name_set(ptr, value, flow->uvlayer_name, sizeof(flow->uvlayer_name));
 }
 
+static void rna_SmokeModifier_cache_filename_get(PointerRNA *ptr, char *filename)
+{
+       SmokeDomainSettings *sds = (SmokeDomainSettings *)ptr->data;
+       PTCacheID pid;
+
+       BKE_ptcache_id_from_smoke(&pid, ptr->id.data, sds->smd);
+       ptcache_filename(&pid, filename, sds->smd->time, 1, 1);
+}
+
 #else
 
 static void rna_def_smoke_domain_settings(BlenderRNA *brna)
@@ -644,6 +653,12 @@ static void rna_def_smoke_domain_settings(BlenderRNA *brna)
 	RNA_def_property_enum_items(prop, cache_file_type_items);
 	RNA_def_property_ui_text(prop, "File Format", "Select the file format to be used for caching");
 	RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_Smoke_resetCache");
+
+	prop = RNA_def_property(srna, "cache_filename", PROP_STRING, PROP_NONE);
+	RNA_def_property_string_maxlength(prop, 1024);
+	RNA_def_property_string_funcs(prop, "rna_SmokeModifier_cache_filename_get", NULL, NULL);
+	RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+	RNA_def_property_ui_text(prop, "Filename", "Path to the .blend file");
 }
 
 static void rna_def_smoke_flow_settings(BlenderRNA *brna)




More information about the Bf-blender-cvs mailing list