Commit: c206b7cbb6d32e0353d9f2b253151b4caafdefa0
Author: Campbell Barton
Date:   Fri Jul 8 21:06:38 2016 +1000
Branches: master
https://developer.blender.org/rBc206b7cbb6d32e0353d9f2b253151b4caafdefa0

Correct error in non-uniform scale IK commit

Rename arg to avoid confusion

===================================================================

M       source/blender/ikplugin/intern/iksolver_plugin.c
M       source/blender/ikplugin/intern/iksolver_plugin.h
M       source/blender/ikplugin/intern/itasc_plugin.cpp
M       source/blender/ikplugin/intern/itasc_plugin.h

===================================================================

diff --git a/source/blender/ikplugin/intern/iksolver_plugin.c 
b/source/blender/ikplugin/intern/iksolver_plugin.c
index 30dd5e4..6ea311b 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 c2ae4f9..0726428 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 d4814a4..b8ed780 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 0500125..bcd95bc 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);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to