[Bf-blender-cvs] [b20f9b3ff5a] fluid-mantaflow: automated some UI selections
Sebastián Barschkis
noreply at git.blender.org
Thu Jun 15 13:54:06 CEST 2017
Commit: b20f9b3ff5a5d5d25d021424f507bb747c7b9579
Author: Sebastián Barschkis
Date: Thu Jun 15 13:50:31 2017 +0200
Branches: fluid-mantaflow
https://developer.blender.org/rBb20f9b3ff5a5d5d25d021424f507bb747c7b9579
automated some UI selections
now smoke domains set volume cache automatically, liquid domains set surface cache automatically
===================================================================
M source/blender/blenkernel/intern/smoke.c
M source/blender/makesrna/intern/rna_smoke.c
===================================================================
diff --git a/source/blender/blenkernel/intern/smoke.c b/source/blender/blenkernel/intern/smoke.c
index dc645b80f43..ade5e36bc87 100644
--- a/source/blender/blenkernel/intern/smoke.c
+++ b/source/blender/blenkernel/intern/smoke.c
@@ -561,7 +561,7 @@ void smokeModifier_createType(struct SmokeModifierData *smd)
smd->domain->cfl_condition = 4.0;
smd->domain->vorticity = 0.2;
smd->domain->border_collisions = 0; // open domain
- smd->domain->flags = MOD_SMOKE_DISSOLVE_LOG;
+ smd->domain->flags = MOD_SMOKE_DISSOLVE_LOG | MOD_SMOKE_USE_VOLUME_CACHE;
smd->domain->highres_sampling = SM_HRES_FULLSAMPLE;
smd->domain->strength = 1.0;
smd->domain->noise = MOD_SMOKE_NOISEWAVE;
diff --git a/source/blender/makesrna/intern/rna_smoke.c b/source/blender/makesrna/intern/rna_smoke.c
index 2abd009799c..0936c6c80d6 100644
--- a/source/blender/makesrna/intern/rna_smoke.c
+++ b/source/blender/makesrna/intern/rna_smoke.c
@@ -172,6 +172,30 @@ static void rna_Smoke_update_volume_format(Main *bmain, Scene *scene, PointerRNA
rna_Smoke_resetCache(bmain, scene, ptr);
}
+static void rna_Smoke_use_surface_format_set(struct PointerRNA *ptr, int value)
+{
+ SmokeDomainSettings *settings = (SmokeDomainSettings *)ptr->data;
+
+ if (value == 1) {
+ settings->flags |= MOD_SMOKE_USE_SURFACE_CACHE;
+ }
+ else {
+ settings->flags &= ~MOD_SMOKE_USE_SURFACE_CACHE;
+ }
+}
+
+static void rna_Smoke_use_volume_format_set(struct PointerRNA *ptr, int value)
+{
+ SmokeDomainSettings *settings = (SmokeDomainSettings *)ptr->data;
+
+ if (value == 1) {
+ settings->flags |= MOD_SMOKE_USE_VOLUME_CACHE;
+ }
+ else {
+ settings->flags &= ~MOD_SMOKE_USE_VOLUME_CACHE;
+ }
+}
+
static void rna_Smoke_cachetype_surface_set(struct PointerRNA *ptr, int value)
{
SmokeDomainSettings *settings = (SmokeDomainSettings *)ptr->data;
@@ -294,6 +318,8 @@ static void rna_Smoke_domaintype_set(struct PointerRNA *ptr, int value)
/* Set common values for liquid/smoke domain: cache type, border collision and viewport drawtype. */
if (value == MOD_SMOKE_DOMAIN_TYPE_GAS)
{
+ rna_Smoke_use_surface_format_set(ptr, 0);
+ rna_Smoke_use_volume_format_set(ptr, 1);
rna_Smoke_cachetype_surface_set(ptr, PTCACHE_FILE_OBJECT);
rna_Smoke_cachetype_volume_set(ptr, PTCACHE_FILE_PTCACHE);
rna_Smoke_collisionextents_set(ptr, MOD_SMOKE_BORDER_FRONT, 1);
@@ -306,6 +332,8 @@ static void rna_Smoke_domaintype_set(struct PointerRNA *ptr, int value)
}
else if (value == MOD_SMOKE_DOMAIN_TYPE_LIQUID)
{
+ rna_Smoke_use_surface_format_set(ptr, 1);
+ rna_Smoke_use_volume_format_set(ptr, 0);
rna_Smoke_cachetype_surface_set(ptr, PTCACHE_FILE_OBJECT);
rna_Smoke_cachetype_volume_set(ptr, PTCACHE_FILE_UNI);
rna_Smoke_collisionextents_set(ptr, MOD_SMOKE_BORDER_FRONT, 0);
@@ -1067,11 +1095,13 @@ static void rna_def_smoke_domain_settings(BlenderRNA *brna)
prop = RNA_def_property(srna, "use_surface_cache", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flags", MOD_SMOKE_USE_SURFACE_CACHE);
+ RNA_def_property_boolean_funcs(prop, NULL, "rna_Smoke_use_surface_format_set");
RNA_def_property_ui_text(prop, "Surface cache", "Enable surface cache");
RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_Smoke_reset");
prop = RNA_def_property(srna, "use_volume_cache", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flags", MOD_SMOKE_USE_VOLUME_CACHE);
+ RNA_def_property_boolean_funcs(prop, NULL, "rna_Smoke_use_volume_format_set");
RNA_def_property_ui_text(prop, "Volumetric cache", "Enable volume cache");
RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_Smoke_update_volume_format");
More information about the Bf-blender-cvs
mailing list