curve transform: scale handles around their knot when using individual centers.
authorCampbell Barton <ideasman42@gmail.com>
Tue, 1 Oct 2013 05:17:57 +0000 (05:17 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Tue, 1 Oct 2013 05:17:57 +0000 (05:17 +0000)
source/blender/editors/transform/transform_conversions.c

index a4299fe688c6dcc1f534a017ec39f8b0bb3e1d63..ad31287fa939d0034f8a01595b62f4cde70f63cf 100644 (file)
@@ -1443,7 +1443,9 @@ static void createTransCurveVerts(TransInfo *t)
                                        {
                                                copy_v3_v3(td->iloc, bezt->vec[0]);
                                                td->loc = bezt->vec[0];
-                                               copy_v3_v3(td->center, bezt->vec[(hide_handles || bezt->f2 & SELECT) ? 1 : 0]);
+                                               copy_v3_v3(td->center, bezt->vec[(hide_handles ||
+                                                                                 (t->around == V3D_LOCAL) ||
+                                                                                 (bezt->f2 & SELECT)) ? 1 : 0]);
                                                if (hide_handles) {
                                                        if (bezt->f2 & SELECT) td->flag = TD_SELECTED;
                                                        else td->flag = 0;
@@ -1511,7 +1513,9 @@ static void createTransCurveVerts(TransInfo *t)
                                        {
                                                copy_v3_v3(td->iloc, bezt->vec[2]);
                                                td->loc = bezt->vec[2];
-                                               copy_v3_v3(td->center, bezt->vec[(hide_handles || bezt->f2 & SELECT) ? 1 : 2]);
+                                               copy_v3_v3(td->center, bezt->vec[(hide_handles ||
+                                                                                 (t->around == V3D_LOCAL) ||
+                                                                                 (bezt->f2 & SELECT)) ? 1 : 2]);
                                                if (hide_handles) {
                                                        if (bezt->f2 & SELECT) td->flag = TD_SELECTED;
                                                        else td->flag = 0;