diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2012-02-26 12:55:31 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2012-02-26 12:55:31 +0400 |
commit | f268918d504e6c25de6c85e3cfa0a6e8e06aaf8f (patch) | |
tree | b3602e68590662c08fbc9e16f781fc4d460e8733 /source/blender/editors/object/object_transform.c | |
parent | 8285fef0e88e1816bf57b6e14cb659584344c99d (diff) |
Fix #30337: missed Set Origin for Metaball
Implemented Set Origin operator for Meta Balls.
Diffstat (limited to 'source/blender/editors/object/object_transform.c')
-rw-r--r-- | source/blender/editors/object/object_transform.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/source/blender/editors/object/object_transform.c b/source/blender/editors/object/object_transform.c index aac8ef4c5e3..45db21749a5 100644 --- a/source/blender/editors/object/object_transform.c +++ b/source/blender/editors/object/object_transform.c @@ -36,6 +36,7 @@ #include "DNA_key_types.h" #include "DNA_mesh_types.h" #include "DNA_meshdata_types.h" +#include "DNA_meta_types.h" #include "DNA_object_types.h" #include "DNA_scene_types.h" #include "DNA_group_types.h" @@ -48,6 +49,7 @@ #include "BKE_curve.h" #include "BKE_depsgraph.h" #include "BKE_main.h" +#include "BKE_mball.h" #include "BKE_mesh.h" #include "BKE_object.h" #include "BKE_report.h" @@ -836,6 +838,27 @@ static int object_origin_set_exec(bContext *C, wmOperator *op) break; } } + else if (ob->type == OB_MBALL) { + MetaBall *mb = ob->data; + + if(centermode == ORIGIN_TO_CURSOR) { /* done */ } + else if(around==V3D_CENTROID) { BKE_metaball_center_median(mb, cent); } + else { BKE_metaball_center_bounds(mb, cent); } + + negate_v3_v3(cent_neg, cent); + BKE_metaball_translate(mb, cent_neg); + + tot_change++; + mb->id.flag |= LIB_DOIT; + do_inverse_offset= TRUE; + + if(obedit) { + if (centermode == GEOMETRY_TO_ORIGIN) { + DAG_id_tag_update(&obedit->id, OB_RECALC_DATA); + } + break; + } + } /* offset other selected objects */ if(do_inverse_offset && (centermode != GEOMETRY_TO_ORIGIN)) { |