diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-12-17 15:13:15 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-12-17 16:04:36 +0400 |
commit | f5076d54cb3a95ab583cddb7de07ed746d2e2be6 (patch) | |
tree | 421505d1a20dcb53fd8bfeb97e67e9a97a30566a /source/blender/editors/object | |
parent | db795b66fa865ad99bc52fb3c9b053b9bb332f9b (diff) |
'Transform' Python Function for armature, curve and lattice.
patch by Paolo Acampora with some edits.
Diffstat (limited to 'source/blender/editors/object')
-rw-r--r-- | source/blender/editors/object/object_edit.c | 8 | ||||
-rw-r--r-- | source/blender/editors/object/object_lattice.c | 15 | ||||
-rw-r--r-- | source/blender/editors/object/object_modifier.c | 4 | ||||
-rw-r--r-- | source/blender/editors/object/object_transform.c | 2 |
4 files changed, 22 insertions, 7 deletions
diff --git a/source/blender/editors/object/object_edit.c b/source/blender/editors/object/object_edit.c index 465eb07f993..dc641dbe765 100644 --- a/source/blender/editors/object/object_edit.c +++ b/source/blender/editors/object/object_edit.c @@ -343,9 +343,9 @@ static bool ED_object_editmode_load_ex(Object *obedit, const bool freedata) } } else if (obedit->type == OB_ARMATURE) { - ED_armature_from_edit(obedit); + ED_armature_from_edit(obedit->data); if (freedata) - ED_armature_edit_free(obedit); + ED_armature_edit_free(obedit->data); } else if (ELEM(obedit->type, OB_CURVE, OB_SURF)) { load_editNurb(obedit); @@ -493,7 +493,7 @@ void ED_object_editmode_enter(bContext *C, int flag) WM_event_add_notifier(C, NC_SCENE | ND_MODE | NS_EDITMODE_MESH, scene); } else if (ob->type == OB_ARMATURE) { - bArmature *arm = base->object->data; + bArmature *arm = ob->data; if (!arm) return; /* * The function BKE_object_obdata_is_libdata make a problem here, the @@ -509,7 +509,7 @@ void ED_object_editmode_enter(bContext *C, int flag) } ok = 1; scene->obedit = ob; - ED_armature_to_edit(ob); + ED_armature_to_edit(arm); /* to ensure all goes in restposition and without striding */ DAG_id_tag_update(&ob->id, OB_RECALC_OB | OB_RECALC_DATA | OB_RECALC_TIME); /* XXX: should this be OB_RECALC_DATA? */ diff --git a/source/blender/editors/object/object_lattice.c b/source/blender/editors/object/object_lattice.c index fdc9a604c07..c5e2aff0bc2 100644 --- a/source/blender/editors/object/object_lattice.c +++ b/source/blender/editors/object/object_lattice.c @@ -174,6 +174,21 @@ void load_editLatt(Object *obedit) } } +/*************************** Transform Operator ************************/ + +void ED_lattice_transform(Lattice *lt, float mat[4][4]) +{ + BPoint *bp = lt->def; + int a = lt->pntsu * lt->pntsv * lt->pntsw; + + while (a--) { + mul_m4_v3(mat, bp->vec); + bp++; + } + + DAG_id_tag_update(<->id, 0); +} + /************************** Select Random Operator **********************/ static int lattice_select_random_exec(bContext *C, wmOperator *op) diff --git a/source/blender/editors/object/object_modifier.c b/source/blender/editors/object/object_modifier.c index 16b54b4f4b4..c06164203b6 100644 --- a/source/blender/editors/object/object_modifier.c +++ b/source/blender/editors/object/object_modifier.c @@ -1787,8 +1787,8 @@ static Object *modifier_skin_armature_create(Main *bmain, Scene *scene, Object * MEM_freeN(emap); MEM_freeN(emap_mem); - ED_armature_from_edit(arm_ob); - ED_armature_edit_free(arm_ob); + ED_armature_from_edit(arm); + ED_armature_edit_free(arm); return arm_ob; } diff --git a/source/blender/editors/object/object_transform.c b/source/blender/editors/object/object_transform.c index 63388600398..d40d239319c 100644 --- a/source/blender/editors/object/object_transform.c +++ b/source/blender/editors/object/object_transform.c @@ -512,7 +512,7 @@ static int apply_objects_internal(bContext *C, ReportList *reports, int apply_lo } else if (ob->type == OB_MBALL) { MetaBall *mb = ob->data; - ED_mball_transform(mb, (float *)mat); + ED_mball_transform(mb, mat); } else if (ELEM(ob->type, OB_CURVE, OB_SURF)) { Curve *cu = ob->data; |