From 971ffd8fad73554e166d26d2a698ab7974cac497 Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Tue, 3 Jul 2012 12:40:19 +0000 Subject: [PATCH] Fix [#31977] Export Animated Mesh, terminate baking in fluid-sim * Elbeem exporter code now overrides user settings to No Slip in case the object is animated; * UI of fluid obstacles now disables slip settings when export animated is enabled; * Added in this later option's tooltip a mention that it enforces No Slip! --- .../scripts/startup/bl_ui/properties_physics_fluid.py | 10 +++++++--- source/blender/editors/physics/physics_fluid.c | 9 ++++++--- source/blender/makesrna/intern/rna_fluidsim.c | 5 +++-- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/release/scripts/startup/bl_ui/properties_physics_fluid.py b/release/scripts/startup/bl_ui/properties_physics_fluid.py index 751f3e18acc..a53c1c97336 100644 --- a/release/scripts/startup/bl_ui/properties_physics_fluid.py +++ b/release/scripts/startup/bl_ui/properties_physics_fluid.py @@ -117,10 +117,14 @@ class PHYSICS_PT_fluid(PhysicButtonsPanel, Panel): col.prop(fluid, "use_animated_mesh") col = split.column() - col.label(text="Slip Type:") - col.prop(fluid, "slip_type", text="") + subsplit = col.split() + subcol = subsplit.column() + if fluid.use_animated_mesh: + subcol.enabled = False + subcol.label(text="Slip Type:") + subcol.prop(fluid, "slip_type", text="") if fluid.slip_type == 'PARTIALSLIP': - col.prop(fluid, "partial_slip_factor", slider=True, text="Amount") + subcol.prop(fluid, "partial_slip_factor", slider=True, text="Amount") col.label(text="Impact:") col.prop(fluid, "impact_factor", text="Factor") diff --git a/source/blender/editors/physics/physics_fluid.c b/source/blender/editors/physics/physics_fluid.c index b31e5c0aea3..2e58fa85a11 100644 --- a/source/blender/editors/physics/physics_fluid.c +++ b/source/blender/editors/physics/physics_fluid.c @@ -567,11 +567,14 @@ static void export_fluid_objects(ListBase *fobjects, Scene *scene, int length) if (deform) { fsmesh.channelSizeVertices = length; fsmesh.channelVertices = fobj->VertexCache; - - // remove channels + + /* remove channels */ fsmesh.channelTranslation = fsmesh.channelRotation = - fsmesh.channelScale = NULL; + fsmesh.channelScale = NULL; + + /* Override user settings, only noslip is supported here! */ + fsmesh.obstacleType = FLUIDSIM_OBSTACLE_NOSLIP; } elbeemAddMesh(&fsmesh); diff --git a/source/blender/makesrna/intern/rna_fluidsim.c b/source/blender/makesrna/intern/rna_fluidsim.c index 8dd1bc86ca1..f288b3ac3bb 100644 --- a/source/blender/makesrna/intern/rna_fluidsim.c +++ b/source/blender/makesrna/intern/rna_fluidsim.c @@ -461,8 +461,9 @@ static void rna_def_fluidsim_volume(StructRNA *srna) RNA_def_property_boolean_sdna(prop, NULL, "domainNovecgen", 0); RNA_def_property_clear_flag(prop, PROP_ANIMATABLE); RNA_def_property_ui_text(prop, "Export Animated Mesh", - "Export this mesh as an animated one (slower, only use if really necessary [e.g. " - "armatures or parented objects], animated pos/rot/scale F-Curves do not require it)"); + "Export this mesh as an animated one (slower and enforces No Splip, only use if really " + "necessary [e.g. armatures or parented objects], animated pos/rot/scale F-Curves " + "do not require it)"); } static void rna_def_fluidsim_active(StructRNA *srna)