18 void find_selected_bones__visit_bone(
const bArmature *armature,
20 SelectedBonesResult &
result,
24 result.all_bones_selected &= is_selected;
25 result.no_bones_selected &= !is_selected;
32 find_selected_bones__visit_bone(armature,
callback,
result, child_bone);
42 find_selected_bones__visit_bone(armature,
callback,
result, root_bone);
53 auto callback = [&](
Bone *bone) { selected_bone_names.
add(bone->name); };
57 if (
result.all_bones_selected ||
result.no_bones_selected) {
61 return selected_bone_names;
#define PBONE_SELECTED(arm, bone)
#define LISTBASE_FOREACH(type, var, list)
DEGForeachIDComponentCallback callback
SelectedBonesResult BKE_armature_find_selected_bones(const bArmature *armature, SelectedBoneCallback callback)
blender::Set< std::string > BoneNameSet
BoneNameSet BKE_armature_find_selected_bone_names(const bArmature *armature)
blender::FunctionRef< void(Bone *bone)> SelectedBoneCallback