Correct error in non-uniform scale IK commit
Rename arg to avoid confusion
This commit is contained in:
parent
a62967787c
commit
c206b7cbb6
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue