From b00a8122e3e5fa88e3870ca20eedbd251d245237 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 13 Oct 2013 01:09:23 +0000 Subject: improve warp transform so it can be used as a general bending tool too. --- source/blender/editors/transform/transform_input.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'source/blender/editors/transform/transform_input.c') diff --git a/source/blender/editors/transform/transform_input.c b/source/blender/editors/transform/transform_input.c index db214e1f6db..ee993129303 100644 --- a/source/blender/editors/transform/transform_input.c +++ b/source/blender/editors/transform/transform_input.c @@ -279,6 +279,16 @@ static void InputAngle(TransInfo *UNUSED(t), MouseInput *mi, const int mval[2], output[0] = *angle; } +static void InputAngleSpring(TransInfo *t, MouseInput *mi, const int mval[2], float output[3]) +{ + float toutput[3]; + + InputAngle(t, mi, mval, output); + InputSpring(t, mi, mval, toutput); + + output[1] = toutput[0]; +} + void initMouseInput(TransInfo *UNUSED(t), MouseInput *mi, const float center[2], const int mval[2]) { mi->factor = 0; @@ -328,6 +338,12 @@ void initMouseInputMode(TransInfo *t, MouseInput *mi, MouseInputMode mode) mi->apply = InputAngle; t->helpline = HLP_ANGLE; break; + case INPUT_ANGLE_SPRING: + calcSpringFactor(mi); + mi->data = MEM_callocN(sizeof(double), "angle accumulator"); + mi->apply = InputAngleSpring; + t->helpline = HLP_ANGLE; + break; case INPUT_TRACKBALL: /* factor has to become setting or so */ mi->factor = 0.01f; -- cgit v1.2.3