Commit: 90bd44f2a6f60a6b4963f7755d9c0741e91d6f71
Author: Lukas Tönne
Date:   Fri Jan 9 09:12:00 2015 +0100
Branches: temp_constraint_volume
https://developer.blender.org/rB90bd44f2a6f60a6b4963f7755d9c0741e91d6f71

Allow disabling the volume exponent internally.

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

M       release/scripts/startup/bl_ui/properties_constraint.py
M       source/blender/blenkernel/intern/constraint.c

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

diff --git a/release/scripts/startup/bl_ui/properties_constraint.py 
b/release/scripts/startup/bl_ui/properties_constraint.py
index 6f8f321..50fdc40 100644
--- a/release/scripts/startup/bl_ui/properties_constraint.py
+++ b/release/scripts/startup/bl_ui/properties_constraint.py
@@ -89,8 +89,10 @@ class ConstraintButtonsPanel():
         col = split.column()
         col.prop(con, "chain_count")
 
-    def volume_settings_template(self, layout, volume):
-        layout.prop(volume, "bulge", text="Volume Variation")
+    def volume_settings_template(self, layout, volume, use_exponent=True):
+        if use_exponent:
+            layout.prop(volume, "bulge", text="Volume Variation")
+
         split = layout.split()
         col = split.column(align=True)
         col.prop(volume, "use_bulge_min", text="Volume Min")
@@ -522,7 +524,7 @@ class ConstraintButtonsPanel():
         row.prop(con, "rest_length", text="Rest Length")
         row.operator("constraint.stretchto_reset", text="Reset")
 
-        self.volume_settings_template(layout, con.volume)
+        self.volume_settings_template(layout, con.volume, use_exponent=True)
 
         row.label(text="Plane:")
         row.prop(con, "keep_axis", expand=True)
diff --git a/source/blender/blenkernel/intern/constraint.c 
b/source/blender/blenkernel/intern/constraint.c
index 1c3c3c6..a7f3cc5 100644
--- a/source/blender/blenkernel/intern/constraint.c
+++ b/source/blender/blenkernel/intern/constraint.c
@@ -590,9 +590,10 @@ static void 
constraint_volume_init(bConstraintVolumeSettings *vol)
        vol->flag = 0;
 }
 
-static void constraint_volume_eval_scale(float result[3], 
bConstraintVolumeSettings *vol, float factor)
+static void constraint_volume_eval_scale(float result[3], 
bConstraintVolumeSettings *vol, float factor,
+                                         bool use_exponent)
 {
-       float bulge = powf(factor, vol->bulge);
+       float bulge = use_exponent ? powf(factor, vol->bulge) : factor;
        
        if (bulge > 1.0f) {
                if (vol->flag & CONSTRAINT_VOLUME_USE_MAX) {
@@ -2767,7 +2768,7 @@ static void stretchto_evaluate(bConstraint *con, 
bConstraintOb *cob, ListBase *t
                if (data->orglength == 0)
                        data->orglength = dist;
 
-               constraint_volume_eval_scale(scale, &data->volume, dist / 
data->orglength);
+               constraint_volume_eval_scale(scale, &data->volume, dist / 
data->orglength, true);
                
                /* Clear the object's rotation and scale */
                cob->matrix[0][0] = size[0] * scale[0];

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to