Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTon Roosendaal <ton@blender.org>2005-12-19 19:56:28 +0300
committerTon Roosendaal <ton@blender.org>2005-12-19 19:56:28 +0300
commitf9b2a189fa4312f3d2c7306232a406f445329a73 (patch)
tree8be5cb746b41a594199b35060322d2cdaf3978be
parent2d6e7d58d09335cdb8ddd263c7ea6fe9bc5f09f0 (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.c23
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++;
}