diff options
author | Campbell Barton <ideasman42@gmail.com> | 2008-05-11 23:58:46 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2008-05-11 23:58:46 +0400 |
commit | e459d5518ec2ac19e22e480e685ca8c1fbd318f8 (patch) | |
tree | da06bdb518a368fed8440314162a09be310ced99 /source/blender/src/transform_manipulator.c | |
parent | 96486b356f7d035a7abc835adbef850c3f314264 (diff) |
transform manipulator didnt follow the active face in some cases, also rotate about active mixed with normal did not work as it did in 2.45, where the active edge could be used
as a rotation
axis (this is quite useful)
Diffstat (limited to 'source/blender/src/transform_manipulator.c')
-rw-r--r-- | source/blender/src/transform_manipulator.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/source/blender/src/transform_manipulator.c b/source/blender/src/transform_manipulator.c index 601d516f26f..5c06aaea890 100644 --- a/source/blender/src/transform_manipulator.c +++ b/source/blender/src/transform_manipulator.c @@ -230,11 +230,12 @@ int calc_manipulator_stats(ScrArea *sa) if(G.obedit->type==OB_MESH) { EditMesh *em = G.editMesh; EditVert *eve; + EditSelection ese; float vec[3]= {0,0,0}; /* USE LAST SELECTE WITH ACTIVE */ - if (G.vd->around==V3D_ACTIVE && em->selected.last) { - EM_editselection_center(vec, em->selected.last); + if (G.vd->around==V3D_ACTIVE && EM_get_actSelection(&ese)) { + EM_editselection_center(vec, &ese); calc_tw_center(vec); totsel= 1; } else { @@ -435,10 +436,10 @@ int calc_manipulator_stats(ScrArea *sa) if(G.obedit) { float mat[3][3]; int type; - + strcpy(t->spacename, "normal"); - - type = getTransformOrientation(normal, plane, 0); + + type = getTransformOrientation(normal, plane, (G.vd->around == V3D_ACTIVE)); switch (type) { |