diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-10-13 05:09:23 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-10-13 05:09:23 +0400 |
commit | b00a8122e3e5fa88e3870ca20eedbd251d245237 (patch) | |
tree | bea9571ad64f7bd5fcc69a74ecb927d89f198240 /source/blender/editors/transform/transform_input.c | |
parent | eabf7ab3351ade8415cd38d6faf2cfba79ba7400 (diff) |
improve warp transform so it can be used as a general bending tool too.
Diffstat (limited to 'source/blender/editors/transform/transform_input.c')
-rw-r--r-- | source/blender/editors/transform/transform_input.c | 16 |
1 files changed, 16 insertions, 0 deletions
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; |