From c206b7cbb6d32e0353d9f2b253151b4caafdefa0 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 8 Jul 2016 21:06:38 +1000 Subject: Correct error in non-uniform scale IK commit Rename arg to avoid confusion --- source/blender/ikplugin/intern/iksolver_plugin.c | 12 ++++++------ source/blender/ikplugin/intern/iksolver_plugin.h | 2 +- source/blender/ikplugin/intern/itasc_plugin.cpp | 4 ++-- source/blender/ikplugin/intern/itasc_plugin.h | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) (limited to 'source/blender/ikplugin') diff --git a/source/blender/ikplugin/intern/iksolver_plugin.c b/source/blender/ikplugin/intern/iksolver_plugin.c index 30dd5e45a2b..6ea311b2c7b 100644 --- a/source/blender/ikplugin/intern/iksolver_plugin.c +++ b/source/blender/ikplugin/intern/iksolver_plugin.c @@ -527,10 +527,10 @@ void iksolver_initialize_tree(struct Scene *UNUSED(scene), struct Object *ob, fl ob->pose->flag &= ~POSE_WAS_REBUILT; } -void iksolver_execute_tree(struct Scene *scene, struct Object *ob, struct bPoseChannel *pchan, float ctime) +void iksolver_execute_tree(struct Scene *scene, Object *ob, bPoseChannel *pchan_root, float ctime) { - while (pchan->iktree.first) { - PoseTree *tree = pchan->iktree.first; + while (pchan_root->iktree.first) { + PoseTree *tree = pchan_root->iktree.first; int a; /* stop on the first tree that isn't a standard IK chain */ @@ -573,14 +573,14 @@ void iksolver_execute_tree(struct Scene *scene, struct Object *ob, struct bPose #ifdef USE_NONUNIFORM_SCALE for (a = 0; a < tree->totchannel; a++) { - normalize_v3_length(pchan->pose_mat[0], pchan_scale_data[a][0]); - normalize_v3_length(pchan->pose_mat[2], pchan_scale_data[a][2]); + normalize_v3_length(tree->pchan[a]->pose_mat[0], pchan_scale_data[a][0]); + normalize_v3_length(tree->pchan[a]->pose_mat[2], pchan_scale_data[a][2]); } MEM_freeN(pchan_scale_data); #endif /* 7. and free */ - BLI_remlink(&pchan->iktree, tree); + BLI_remlink(&pchan_root->iktree, tree); free_posetree(tree); } } diff --git a/source/blender/ikplugin/intern/iksolver_plugin.h b/source/blender/ikplugin/intern/iksolver_plugin.h index c2ae4f937e7..07264280a25 100644 --- a/source/blender/ikplugin/intern/iksolver_plugin.h +++ b/source/blender/ikplugin/intern/iksolver_plugin.h @@ -41,7 +41,7 @@ extern "C" { #endif void iksolver_initialize_tree(struct Scene *scene, struct Object *ob, float ctime); -void iksolver_execute_tree(struct Scene *scene, struct Object *ob, struct bPoseChannel *pchan, float ctime); +void iksolver_execute_tree(struct Scene *scene, struct Object *ob, struct bPoseChannel *pchan_root, float ctime); #ifdef __cplusplus } diff --git a/source/blender/ikplugin/intern/itasc_plugin.cpp b/source/blender/ikplugin/intern/itasc_plugin.cpp index d4814a4e3a2..b8ed780397f 100644 --- a/source/blender/ikplugin/intern/itasc_plugin.cpp +++ b/source/blender/ikplugin/intern/itasc_plugin.cpp @@ -1770,7 +1770,7 @@ void itasc_initialize_tree(struct Scene *scene, Object *ob, float ctime) ob->pose->flag &= ~POSE_WAS_REBUILT; } -void itasc_execute_tree(struct Scene *scene, struct Object *ob, struct bPoseChannel *pchan, float ctime) +void itasc_execute_tree(struct Scene *scene, Object *ob, bPoseChannel *pchan_root, float ctime) { if (!ob->pose->ikdata) { // IK tree not yet created, no it now @@ -1784,7 +1784,7 @@ void itasc_execute_tree(struct Scene *scene, struct Object *ob, struct bPoseCha if (!ikparam) ikparam = &DefIKParam; for (IK_Scene *ikscene = ikdata->first; ikscene; ikscene = ikscene->next) { - if (ikscene->channels[0].pchan == pchan) { + if (ikscene->channels[0].pchan == pchan_root) { float timestep = scene->r.frs_sec_base / scene->r.frs_sec; if (ob->pose->flag & POSE_GAME_ENGINE) { timestep = ob->pose->ctime; diff --git a/source/blender/ikplugin/intern/itasc_plugin.h b/source/blender/ikplugin/intern/itasc_plugin.h index 0500125b4c7..bcd95bc31ca 100644 --- a/source/blender/ikplugin/intern/itasc_plugin.h +++ b/source/blender/ikplugin/intern/itasc_plugin.h @@ -41,7 +41,7 @@ extern "C" { #endif void itasc_initialize_tree(struct Scene *scene, struct Object *ob, float ctime); -void itasc_execute_tree(struct Scene *scene, struct Object *ob, struct bPoseChannel *pchan, float ctime); +void itasc_execute_tree(struct Scene *scene, struct Object *ob, struct bPoseChannel *pchan_root, float ctime); void itasc_release_tree(struct Scene *scene, struct Object *ob, float ctime); void itasc_clear_data(struct bPose *pose); void itasc_clear_cache(struct bPose *pose); -- cgit v1.2.3