diff options
author | Joshua Leung <aligorith@gmail.com> | 2009-07-21 08:21:07 +0400 |
---|---|---|
committer | Joshua Leung <aligorith@gmail.com> | 2009-07-21 08:21:07 +0400 |
commit | 93f2743b0f569f0e7b6d9d8c9cc5f0b5cd1bedfa (patch) | |
tree | 7a5e6911bc44386c7a24bcfc238a5efddda2c165 /source/blender/editors/armature/poseobject.c | |
parent | 74fce51841dab8ef81a7eab58ef14a946dfc0043 (diff) |
2.5 - IK Constraint Tools + Constraint Editing Tweaks
* Add/Remove IK now works again using Shift-I and Ctrl-Alt-I as before. The code for this is now located in editconstraint.c for now...
* Adding constraints with automatically added targets works again. It's a relief that the old code still works (with a minor tweak)
Diffstat (limited to 'source/blender/editors/armature/poseobject.c')
-rw-r--r-- | source/blender/editors/armature/poseobject.c | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/source/blender/editors/armature/poseobject.c b/source/blender/editors/armature/poseobject.c index ccf82fbc7ac..16a9efc9023 100644 --- a/source/blender/editors/armature/poseobject.c +++ b/source/blender/editors/armature/poseobject.c @@ -85,13 +85,11 @@ /* ************* XXX *************** */ static int movetolayer_short_buts() {return 1;} -static int okee() {return 0;} static int pupmenu() {return 0;} static void waitcursor() {}; static void error() {}; static void BIF_undo_push() {} static void countall() {} -static void add_constraint() {} static void autokeyframe_pose_cb_func() {} /* ************* XXX *************** */ @@ -587,60 +585,6 @@ void POSE_OT_select_hierarchy(wmOperatorType *ot) } -void pose_add_IK(Scene *scene) -{ - Object *obedit= scene->obedit; // XXX context - Object *ob= OBACT; - - /* paranoia checks */ - if(!ob && !ob->pose) return; - if(ob==obedit || (ob->flag & OB_POSEMODE)==0) return; - - add_constraint(1); /* 1 means only IK */ -} - -/* context: all selected channels */ -void pose_clear_IK(Scene *scene) -{ - Object *obedit= scene->obedit; // XXX context - Object *ob= OBACT; - bArmature *arm= ob->data; - bPoseChannel *pchan; - bConstraint *con; - bConstraint *next; - - /* paranoia checks */ - if(!ob && !ob->pose) return; - if(ob==obedit || (ob->flag & OB_POSEMODE)==0) return; - - if(pose_has_protected_selected(ob, 0, 1)) - return; - - if(okee("Remove IK constraint(s)")==0) return; - - for(pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next) { - if(arm->layer & pchan->bone->layer) { - if(pchan->bone->flag & (BONE_ACTIVE|BONE_SELECTED)) { - - for(con= pchan->constraints.first; con; con= next) { - next= con->next; - if(con->type==CONSTRAINT_TYPE_KINEMATIC) { - BLI_remlink(&pchan->constraints, con); - free_constraint_data(con); - MEM_freeN(con); - } - } - pchan->constflag &= ~(PCHAN_HAS_IK|PCHAN_HAS_TARGET); - } - } - } - - DAG_object_flush_update(scene, ob, OB_RECALC_DATA); // and all its relations - - BIF_undo_push("Remove IK constraint(s)"); -} - - void pose_copy_menu(Scene *scene) { Object *obedit= scene->obedit; // XXX context |