diff options
author | Ton Roosendaal <ton@blender.org> | 2005-12-19 19:56:28 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2005-12-19 19:56:28 +0300 |
commit | f9b2a189fa4312f3d2c7306232a406f445329a73 (patch) | |
tree | 8be5cb746b41a594199b35060322d2cdaf3978be | |
parent | 2d6e7d58d09335cdb8ddd263c7ea6fe9bc5f09f0 (diff) |
#3631
Manipulator now centers on middle point of Bezier handle, when 2 or more
points in handle are selected.
-rw-r--r-- | source/blender/src/transform_manipulator.c | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/source/blender/src/transform_manipulator.c b/source/blender/src/transform_manipulator.c index 7e41008700d..953ca53482d 100644 --- a/source/blender/src/transform_manipulator.c +++ b/source/blender/src/transform_manipulator.c @@ -266,17 +266,24 @@ int calc_manipulator_stats(ScrArea *sa) bezt= nu->bezt; a= nu->pntsu; while(a--) { - if(bezt->f1) { - calc_tw_center(bezt->vec[0]); - totsel++; - } - if(bezt->f2) { + /* exception */ + if( (bezt->f1 & SELECT) + (bezt->f2 & SELECT) + (bezt->f3 & SELECT) > SELECT ) { calc_tw_center(bezt->vec[1]); totsel++; } - if(bezt->f3) { - calc_tw_center(bezt->vec[2]); - totsel++; + else { + if(bezt->f1) { + calc_tw_center(bezt->vec[0]); + totsel++; + } + if(bezt->f2) { + calc_tw_center(bezt->vec[1]); + totsel++; + } + if(bezt->f3) { + calc_tw_center(bezt->vec[2]); + totsel++; + } } bezt++; } |