27 while (
i < descendants.
size()) {
30 callback(*descendant);
33 if (!child_pose_bone) {
38 descendants.
append(child_pose_bone);
47 if (!callback(pose_bone)) {
50 if (!pose_bone.
bone) {
57 if (!child_pose_bone) {
Functions to deal with Armatures.
Blender kernel action and pose functionality.
void BKE_pose_channels_hash_ensure(bPose *pose) ATTR_NONNULL(1)
bPoseChannel * BKE_pose_channel_find_name(const bPose *pose, const char *name)
#define BLI_assert_unreachable()
#define LISTBASE_FOREACH(type, var, list)
void append(const T &value)
void pose_bone_descendent_iterator(bPose &pose, bPoseChannel &pose_bone, FunctionRef< void(bPoseChannel &child_bone)> callback)
static bool pose_depth_iterator_recursive(bPose &pose, bPoseChannel &pose_bone, FunctionRef< bool(bPoseChannel &child_bone)> callback)
bool pose_bone_descendent_depth_iterator(bPose &pose, bPoseChannel &pose_bone, FunctionRef< bool(bPoseChannel &child_bone)> callback)