Changeset View
Changeset View
Standalone View
Standalone View
source/blender/ikplugin/intern/iksolver_plugin.c
| Show First 20 Lines • Show All 648 Lines • ▼ Show 20 Lines | |||||
| void iksolver_release_tree(struct Scene *UNUSED(scene), struct Object *ob, float UNUSED(ctime)) | void iksolver_release_tree(struct Scene *UNUSED(scene), struct Object *ob, float UNUSED(ctime)) | ||||
| { | { | ||||
| iksolver_clear_data(ob->pose); | iksolver_clear_data(ob->pose); | ||||
| } | } | ||||
| void iksolver_clear_data(bPose *pose) | void iksolver_clear_data(bPose *pose) | ||||
| { | { | ||||
| for (bPoseChannel *pchan = pose->chanbase.first; pchan; pchan = pchan->next) { | LISTBASE_FOREACH (bPoseChannel *, pchan, &pose->chanbase) { | ||||
| if ((pchan->flag & POSE_IKTREE) == 0) { | if ((pchan->flag & POSE_IKTREE) == 0) { | ||||
| continue; | continue; | ||||
| } | } | ||||
| while (pchan->iktree.first) { | while (pchan->iktree.first) { | ||||
| PoseTree *tree = pchan->iktree.first; | PoseTree *tree = pchan->iktree.first; | ||||
| /* stop on the first tree that isn't a standard IK chain */ | /* stop on the first tree that isn't a standard IK chain */ | ||||
| Show All 9 Lines | |||||