[Bf-blender-cvs] [e3d1f6b984d] fluid-mantaflow: cleanup in particle UI

Sebastián Barschkis noreply at git.blender.org
Sun Jul 2 19:26:31 CEST 2017


Commit: e3d1f6b984d22de6041ce6bae10cf024c0fabda8
Author: Sebastián Barschkis
Date:   Sun Jul 2 19:16:03 2017 +0200
Branches: fluid-mantaflow
https://developer.blender.org/rBe3d1f6b984d22de6041ce6bae10cf024c0fabda8

cleanup in particle UI

particle UI for automatically generated systems was offering too many settings. now (similarly to elbeem) only restricted access

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

M	release/scripts/startup/bl_ui/properties_particle.py
M	source/blender/makesrna/intern/rna_particle.c

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

diff --git a/release/scripts/startup/bl_ui/properties_particle.py b/release/scripts/startup/bl_ui/properties_particle.py
index e86df975927..66f9820b016 100644
--- a/release/scripts/startup/bl_ui/properties_particle.py
+++ b/release/scripts/startup/bl_ui/properties_particle.py
@@ -53,7 +53,7 @@ def particle_panel_poll(cls, context):
     if not settings:
         return False
 
-    return settings.is_fluid is False and (engine in cls.COMPAT_ENGINES)
+    return (settings.is_fluid is False) and (settings.is_manta is False) and (engine in cls.COMPAT_ENGINES)
 
 
 def particle_get_settings(context):
@@ -170,7 +170,7 @@ class PARTICLE_PT_context_particles(ParticleButtonsPanel, Panel):
 
             layout.template_ID(context.space_data, "pin_id")
 
-            if part.is_fluid:
+            if part.is_fluid or part.is_manta:
                 layout.label(text="Settings used for fluid")
                 return
 
@@ -189,17 +189,17 @@ class PARTICLE_PT_context_particles(ParticleButtonsPanel, Panel):
 
             split = layout.split(percentage=0.32)
             col = split.column()
-            if part.is_fluid is False:
+            if (part.is_fluid is False) or (part.is_manta is False):
                 col.label(text="Settings:")
                 col.label(text="Type:")
 
             col = split.column()
-            if part.is_fluid is False:
+            if (part.is_fluid is False) or (part.is_manta is False):
                 row = col.row()
                 row.enabled = particle_panel_enabled(context, psys)
                 row.template_ID(psys, "settings", new="particle.new")
 
-            if part.is_fluid:
+            if part.is_fluid or part.is_manta:
                 layout.label(text=iface_("%d fluid particles for this frame") % part.count, translate=False)
                 return
 
@@ -247,7 +247,7 @@ class PARTICLE_PT_emission(ParticleButtonsPanel, Panel):
 
         if settings is None:
             return False
-        if settings.is_fluid:
+        if settings.is_fluid or settings.is_manta:
             return False
         if particle_panel_poll(PARTICLE_PT_emission, context):
             return psys is None or not context.particle_system.point_cache.use_external
@@ -422,7 +422,7 @@ class PARTICLE_PT_cache(ParticleButtonsPanel, Panel):
             return False
         if psys.settings is None:
             return False
-        if psys.settings.is_fluid:
+        if psys.settings.is_fluid or psys.settings.is_manta:
             return False
         phystype = psys.settings.physics_type
         if phystype == 'NO' or phystype == 'KEYED':
diff --git a/source/blender/makesrna/intern/rna_particle.c b/source/blender/makesrna/intern/rna_particle.c
index 3c3d88c858f..23855b3a447 100644
--- a/source/blender/makesrna/intern/rna_particle.c
+++ b/source/blender/makesrna/intern/rna_particle.c
@@ -881,6 +881,13 @@ static int rna_PartSettings_is_fluid_get(PointerRNA *ptr)
 	return part->type == PART_FLUID;
 }
 
+static int rna_PartSettings_is_manta_get(PointerRNA *ptr)
+{
+	ParticleSettings *part = (ParticleSettings *)ptr->data;
+
+	return (part->type == PART_MANTA_FLIP) || (part->type == PART_MANTA_SND);
+}
+
 static void rna_ParticleSettings_use_clump_curve_update(Main *bmain, Scene *scene, PointerRNA *ptr)
 {
 	ParticleSettings *part = ptr->data;
@@ -2055,6 +2062,11 @@ static void rna_def_particle_settings(BlenderRNA *brna)
 	RNA_def_property_boolean_funcs(prop, "rna_PartSettings_is_fluid_get", NULL);
 	RNA_def_property_ui_text(prop, "Fluid", "Particles were created by a fluid simulation");
 
+	prop = RNA_def_property(srna, "is_manta", PROP_BOOLEAN, PROP_NONE);
+	RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+	RNA_def_property_boolean_funcs(prop, "rna_PartSettings_is_manta_get", NULL);
+	RNA_def_property_ui_text(prop, "Fluid", "Particles were created by a fluid simulation");
+
 	/* flag */
 	prop = RNA_def_property(srna, "use_react_start_end", PROP_BOOLEAN, PROP_NONE);
 	RNA_def_property_boolean_sdna(prop, NULL, "flag", PART_REACT_STA_END);




More information about the Bf-blender-cvs mailing list