diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2011-11-15 10:37:47 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2011-11-15 10:37:47 +0400 |
commit | e8906f5254cdedb0dcbfab31a800ba1f9ed860f5 (patch) | |
tree | 495ef9912afeb4623681998cb153673d45102a95 /source/blender/editors/transform/transform_generics.c | |
parent | 4371db4b3340a193f99c35941243cc206ea7de95 (diff) |
Fix #29253: 3D Manipulator: "Active Element" not supported for curves
This funcitonality simply wasn't implemented for curves yet, implemented it now.
Diffstat (limited to 'source/blender/editors/transform/transform_generics.c')
-rw-r--r-- | source/blender/editors/transform/transform_generics.c | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c index 3a8c2e80351..72f10a532d7 100644 --- a/source/blender/editors/transform/transform_generics.c +++ b/source/blender/editors/transform/transform_generics.c @@ -1548,14 +1548,26 @@ void calculateCenter(TransInfo *t) /* EDIT MODE ACTIVE EDITMODE ELEMENT */ - if (t->obedit && t->obedit->type == OB_MESH) { - EditSelection ese; - EditMesh *em = BKE_mesh_get_editmesh(t->obedit->data); + if (t->obedit) { + if(t->obedit->type == OB_MESH) { + EditSelection ese; + EditMesh *em = BKE_mesh_get_editmesh(t->obedit->data); - if (EM_get_actSelection(em, &ese)) { - EM_editselection_center(t->center, &ese); - calculateCenter2D(t); - break; + if (EM_get_actSelection(em, &ese)) { + EM_editselection_center(t->center, &ese); + calculateCenter2D(t); + break; + } + } + else if (ELEM(t->obedit->type, OB_CURVE, OB_SURF)) { + float center[3]; + Curve *cu= (Curve *)t->obedit->data; + + if (ED_curve_actSelection(cu, center)) { + copy_v3_v3(t->center, center); + calculateCenter2D(t); + break; + } } } /* END EDIT MODE ACTIVE ELEMENT */ |