Blender
V3.3
|
#include "MEM_guardedalloc.h"
#include "DNA_armature_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "BLI_blenlib.h"
#include "BLI_math.h"
#include "BLI_rect.h"
#include "BLI_string_utils.h"
#include "BKE_action.h"
#include "BKE_armature.h"
#include "BKE_context.h"
#include "BKE_layer.h"
#include "BKE_object.h"
#include "BKE_report.h"
#include "RNA_access.h"
#include "RNA_define.h"
#include "WM_api.h"
#include "WM_types.h"
#include "ED_armature.h"
#include "ED_object.h"
#include "ED_outliner.h"
#include "ED_screen.h"
#include "ED_select_utils.h"
#include "ED_view3d.h"
#include "DEG_depsgraph.h"
#include "GPU_select.h"
#include "armature_intern.h"
Go to the source code of this file.
Macros | |
#define | EBONE_PREV_FLAG_GET(ebone) ((void)0, (ebone)->temp.i) |
#define | EBONE_PREV_FLAG_SET(ebone, val) ((ebone)->temp.i = val) |
#define | CHECK_PARENT(ebone) |
#define | STRUCT_SIZE_AND_OFFSET(_struct, _member) sizeof(((_struct *)NULL)->_member), offsetof(_struct, _member) |
API's and Operators for selecting armature bones in EditMode.
Definition in file armature_select.c.
#define CHECK_PARENT | ( | ebone | ) |
Definition at line 47 of file armature_select.c.
#define EBONE_PREV_FLAG_SET | ( | ebone, | |
val | |||
) | ((ebone)->temp.i = val) |
Definition at line 48 of file armature_select.c.
#define STRUCT_SIZE_AND_OFFSET | ( | _struct, | |
_member | |||
) | sizeof(((_struct *)NULL)->_member), offsetof(_struct, _member) |
anonymous enum |
Enumerator | |
---|---|
SIMEDBONE_CHILDREN | |
SIMEDBONE_CHILDREN_IMMEDIATE | |
SIMEDBONE_SIBLINGS | |
SIMEDBONE_LENGTH | |
SIMEDBONE_DIRECTION | |
SIMEDBONE_PREFIX | |
SIMEDBONE_SUFFIX | |
SIMEDBONE_LAYER | |
SIMEDBONE_GROUP | |
SIMEDBONE_SHAPE |
Definition at line 1573 of file armature_select.c.
|
static |
Definition at line 1321 of file armature_select.c.
References BONE_ROOTSEL, BONE_SELECTED, BONE_TIPSEL, BONE_UNSELECTABLE, C, CTX_DATA_BEGIN, CTX_data_edit_object(), CTX_DATA_END, DEG_id_tag_update(), ED_outliner_select_sync_from_edit_bone_tag(), Object::id, ID_RECALC_SELECT, NC_OBJECT, ND_BONE_SELECT, NULL, OPERATOR_FINISHED, wmOperator::ptr, RNA_enum_get(), SEL_DESELECT, SEL_INVERT, SEL_SELECT, SEL_TOGGLE, and WM_event_add_notifier().
Referenced by ARMATURE_OT_select_all().
|
static |
Definition at line 1534 of file armature_select.c.
References armature_select_more_less(), BKE_view_layer_array_from_objects_in_edit_mode_unique_data, C, CTX_data_view_layer(), CTX_wm_view3d(), DEG_id_tag_update(), ED_outliner_select_sync_from_edit_bone_tag(), Object::id, ID_RECALC_COPY_ON_WRITE, MEM_freeN, NC_OBJECT, ND_BONE_SELECT, OPERATOR_FINISHED, and WM_event_add_notifier().
Referenced by ARMATURE_OT_select_less().
|
static |
Definition at line 1495 of file armature_select.c.
References armature_select_more_less(), BKE_view_layer_array_from_objects_in_edit_mode_unique_data, C, CTX_data_view_layer(), CTX_wm_view3d(), DEG_id_tag_update(), ED_outliner_select_sync_from_edit_bone_tag(), Object::id, ID_RECALC_COPY_ON_WRITE, MEM_freeN, NC_OBJECT, ND_BONE_SELECT, OPERATOR_FINISHED, and WM_event_add_notifier().
Referenced by ARMATURE_OT_select_more().
|
static |
Definition at line 1151 of file armature_select.c.
References BLI_assert, BONE_DONE, BONE_ROOTSEL, BONE_SELECTED, BONE_TIPSEL, BONESEL_BONE, BONESEL_ROOT, BONESEL_TIP, EBONE_SELECTABLE, EBONE_VISIBLE, ED_select_op_action_deselected(), EditBone::flag, EditBone::i, is_inside(), SET_FLAG_FROM_TEST, and EditBone::temp.
Referenced by ED_armature_edit_select_op_from_tagged().
void ARMATURE_OT_select_all | ( | wmOperatorType * | ot | ) |
Definition at line 1381 of file armature_select.c.
References armature_de_select_all_exec(), wmOperatorType::description, ED_operator_editarmature(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, ot, wmOperatorType::poll, and WM_operator_properties_select_all().
Referenced by ED_operatortypes_armature().
void ARMATURE_OT_select_hierarchy | ( | wmOperatorType * | ot | ) |
Definition at line 2073 of file armature_select.c.
References armature_select_hierarchy_exec(), BONE_SELECT_CHILD, BONE_SELECT_PARENT, wmOperatorType::description, ED_operator_editarmature(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, NULL, OPTYPE_REGISTER, OPTYPE_UNDO, ot, wmOperatorType::poll, RNA_def_boolean(), RNA_def_enum(), and wmOperatorType::srna.
Referenced by ED_operatortypes_armature().
void ARMATURE_OT_select_less | ( | wmOperatorType * | ot | ) |
Definition at line 1552 of file armature_select.c.
References armature_de_select_less_exec(), wmOperatorType::description, ED_operator_editarmature(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, ot, and wmOperatorType::poll.
Referenced by ED_operatortypes_armature().
void ARMATURE_OT_select_linked | ( | wmOperatorType * | ot | ) |
Definition at line 536 of file armature_select.c.
References armature_select_linked_exec(), wmOperatorType::description, ED_operator_editarmature(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, ot, wmOperatorType::poll, RNA_def_boolean(), and wmOperatorType::srna.
Referenced by ED_operatortypes_armature().
void ARMATURE_OT_select_linked_pick | ( | wmOperatorType * | ot | ) |
Definition at line 598 of file armature_select.c.
References armature_select_linked_pick_invoke(), armature_select_linked_pick_poll(), wmOperatorType::description, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, ot, wmOperatorType::poll, RNA_def_boolean(), and wmOperatorType::srna.
Referenced by ED_operatortypes_armature().
void ARMATURE_OT_select_mirror | ( | wmOperatorType * | ot | ) |
Definition at line 2167 of file armature_select.c.
References armature_select_mirror_exec(), wmOperatorType::description, ED_operator_editarmature(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, ot, wmOperatorType::poll, RNA_def_boolean(), and wmOperatorType::srna.
Referenced by ED_operatortypes_armature().
void ARMATURE_OT_select_more | ( | wmOperatorType * | ot | ) |
Definition at line 1513 of file armature_select.c.
References armature_de_select_more_exec(), wmOperatorType::description, ED_operator_editarmature(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, ot, and wmOperatorType::poll.
Referenced by ED_operatortypes_armature().
void ARMATURE_OT_select_similar | ( | wmOperatorType * | ot | ) |
Definition at line 1968 of file armature_select.c.
References armature_select_similar_exec(), wmOperatorType::description, ED_operator_editarmature(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, ot, wmOperatorType::poll, wmOperatorType::prop, prop_similar_types, RNA_def_enum(), RNA_def_float(), SIMEDBONE_LENGTH, wmOperatorType::srna, and WM_menu_invoke().
Referenced by ED_operatortypes_armature().
void ARMATURE_OT_shortest_path_pick | ( | wmOperatorType * | ot | ) |
Definition at line 2302 of file armature_select.c.
References armature_shortest_path_pick_invoke(), wmOperatorType::description, ED_operator_editarmature(), wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, ot, and wmOperatorType::poll.
Referenced by ED_operatortypes_armature().
|
static |
Definition at line 1996 of file armature_select.c.
References bArmature::act_edbone, BONE_CONNECTED, BONE_SELECT_PARENT, C, CTX_data_edit_object(), Object::data, DEG_id_tag_update(), EBONE_SELECTABLE, ED_armature_ebone_select_set(), ED_armature_edit_sync_selection(), ED_outliner_select_sync_from_edit_bone_tag(), bArmature::edbo, ListBase::first, EditBone::flag, Object::id, ID_RECALC_COPY_ON_WRITE, if(), NC_OBJECT, ND_BONE_SELECT, EditBone::next, NULL, OPERATOR_CANCELLED, OPERATOR_FINISHED, EditBone::parent, wmOperator::ptr, RNA_boolean_get(), RNA_enum_get(), and WM_event_add_notifier().
Referenced by ARMATURE_OT_select_hierarchy().
Definition at line 1430 of file armature_select.c.
References BONE_CONNECTED, BONE_ROOTSEL, BONE_SELECTED, BONE_TIPSEL, EBONE_PREV_FLAG_GET, ED_armature_ebone_select_set(), ED_armature_ebone_selectflag_disable(), EditBone::flag, and EditBone::parent.
Referenced by armature_select_more_less().
|
static |
Definition at line 497 of file armature_select.c.
References armature_select_linked_impl(), BKE_view_layer_array_from_objects_in_edit_mode_unique_data, BONE_DONE, BONE_ROOTSEL, BONE_SELECTED, BONE_TIPSEL, C, CTX_data_view_layer(), CTX_wm_view3d(), Object::data, EBONE_VISIBLE, ED_outliner_select_sync_from_edit_bone_tag(), bArmature::edbo, LISTBASE_FOREACH, MEM_freeN, OPERATOR_FINISHED, wmOperator::ptr, and RNA_boolean_get().
Referenced by ARMATURE_OT_select_linked().
|
static |
all_forks | Control how chains are stepped over. true: select all connected bones traveling up & down forks. false: select all parents and all children, but not the children of the root bone. |
Definition at line 396 of file armature_select.c.
References BONE_DONE, CHECK_PARENT, Object::data, DEG_id_tag_update(), ED_armature_ebone_select_set(), ED_armature_edit_sync_selection(), bArmature::edbo, EditBone::i, bArmature::id, ID_RECALC_COPY_ON_WRITE, LISTBASE_FOREACH, NA_EDITED, NC_GPENCIL, ND_DATA, NULL, EditBone::parent, select(), EditBone::temp, and WM_main_add_notifier().
Referenced by armature_select_linked_exec(), and armature_select_linked_pick_invoke().
|
static |
Definition at line 560 of file armature_select.c.
References armature_select_linked_impl(), BKE_object_update_select_id(), BONE_DONE, C, CTX_data_main(), Object::data, EBONE_SELECTABLE, ED_armature_pick_ebone(), ED_outliner_select_sync_from_edit_bone_tag(), bArmature::edbo, EditBone::flag, LISTBASE_FOREACH, wmEvent::mval, NULL, Base::object, OPERATOR_CANCELLED, OPERATOR_FINISHED, wmOperator::ptr, RNA_boolean_get(), select(), and view3d_operator_needs_opengl().
Referenced by ARMATURE_OT_select_linked_pick().
Definition at line 593 of file armature_select.c.
References C, ED_operator_editarmature(), and ED_operator_view3d_active().
Referenced by ARMATURE_OT_select_linked_pick().
|
static |
Definition at line 2107 of file armature_select.c.
References bArmature::act_edbone, BKE_view_layer_array_from_objects_in_edit_mode_unique_data, C, CTX_data_view_layer(), CTX_wm_view3d(), Object::data, DEG_id_tag_update(), EBONE_PREV_FLAG_GET, EBONE_PREV_FLAG_SET, EBONE_SELECTABLE, EBONE_VISIBLE, ED_armature_ebone_get_mirrored(), ED_armature_ebone_selectflag_get(), ED_armature_ebone_selectflag_set(), ED_armature_edit_sync_selection(), ED_outliner_select_sync_from_edit_bone_tag(), bArmature::edbo, ELEM, ListBase::first, Object::id, ID_RECALC_COPY_ON_WRITE, MEM_freeN, NC_OBJECT, ND_BONE_SELECT, EditBone::next, NULL, OPERATOR_FINISHED, wmOperator::ptr, RNA_boolean_get(), and WM_event_add_notifier().
Referenced by ARMATURE_OT_select_mirror().
Definition at line 1404 of file armature_select.c.
References BONE_CONNECTED, BONE_ROOTSEL, BONE_SELECTED, BONE_TIPSEL, EBONE_PREV_FLAG_GET, EBONE_SELECTABLE, ED_armature_ebone_select_set(), ED_armature_ebone_selectflag_enable(), EditBone::flag, and EditBone::parent.
Referenced by armature_select_more_less().
Definition at line 1450 of file armature_select.c.
References armature_select_less(), armature_select_more(), BONE_SELECTED, Object::data, EBONE_PREV_FLAG_SET, EBONE_VISIBLE, ED_armature_ebone_select_set(), ED_armature_ebone_selectflag_get(), ED_armature_edit_sync_selection(), bArmature::edbo, ListBase::first, and NULL.
Referenced by armature_de_select_less_exec(), and armature_de_select_more_exec().
|
static |
Definition at line 1913 of file armature_select.c.
References BKE_report(), C, CTX_data_active_bone(), ED_outliner_select_sync_from_edit_bone_tag(), NULL, OPERATOR_CANCELLED, OPERATOR_FINISHED, wmOperator::ptr, wmOperator::reports, RNA_enum_get(), RNA_float_get(), RPT_ERROR, select_similar_children(), select_similar_children_immediate(), select_similar_data_pchan(), select_similar_direction(), select_similar_layer(), select_similar_length(), select_similar_prefix(), select_similar_siblings(), select_similar_suffix(), SIMEDBONE_CHILDREN, SIMEDBONE_CHILDREN_IMMEDIATE, SIMEDBONE_DIRECTION, SIMEDBONE_GROUP, SIMEDBONE_LAYER, SIMEDBONE_LENGTH, SIMEDBONE_PREFIX, SIMEDBONE_SHAPE, SIMEDBONE_SIBLINGS, SIMEDBONE_SUFFIX, STRUCT_SIZE_AND_OFFSET, and type.
Referenced by ARMATURE_OT_select_similar().
|
static |
Definition at line 2221 of file armature_select.c.
References bArmature::act_edbone, armature_shortest_path_select(), BKE_object_update_select_id(), BKE_report(), C, CTX_data_edit_object(), CTX_data_main(), Object::data, DEG_id_tag_update(), ED_armature_ebone_find_shared_parent(), ED_armature_ebone_is_child_recursive(), ED_armature_edit_sync_selection(), ED_armature_pick_ebone(), ED_outliner_select_sync_from_edit_bone_tag(), bArmature::edbo, ELEM, Object::id, ID_RECALC_COPY_ON_WRITE, wmEvent::mval, NC_OBJECT, ND_BONE_SELECT, NULL, Base::object, OPERATOR_CANCELLED, OPERATOR_FINISHED, OPERATOR_PASS_THROUGH, wmOperator::reports, RPT_WARNING, SWAP, view3d_operator_needs_opengl(), and WM_event_add_notifier().
Referenced by ARMATURE_OT_shortest_path_pick().
|
static |
Definition at line 2193 of file armature_select.c.
References BONE_ROOTSEL, BONE_SELECTED, BONE_TIPSEL, EBONE_SELECTABLE, ED_armature_ebone_selectflag_set(), and EditBone::parent.
Referenced by armature_shortest_path_pick_invoke().
Definition at line 1645 of file armature_select.c.
References copy_v3_v3(), EditBone::head, mul_m4_v3(), normalize_v3(), Object::obmat, sub_v3_v3v3(), EditBone::tail, v1, and v2.
Referenced by select_similar_direction().
Definition at line 1600 of file armature_select.c.
References EditBone::head, len_squared_v3v3(), mul_v3_mat3_m4v3(), Object::obmat, EditBone::tail, v1, and v2.
Referenced by select_similar_length().
Base* ED_armature_base_and_bone_from_select_buffer | ( | struct Base ** | bases, |
uint | bases_len, | ||
unsigned int | select_id, | ||
struct Bone ** | r_bone | ||
) |
For callers that don't need the pose channel.
Definition at line 128 of file armature_select.c.
References bPoseChannel::bone, ED_armature_base_and_pchan_from_select_buffer(), and NULL.
Referenced by do_pose_box_select().
Base* ED_armature_base_and_ebone_from_select_buffer | ( | Base ** | bases, |
uint | bases_len, | ||
const uint | select_id, | ||
EditBone ** | r_ebone | ||
) |
Definition at line 54 of file armature_select.c.
References BLI_findlink(), BONESEL_ANY, Object::data, bArmature::edbo, NULL, and Base::object.
Referenced by do_armature_box_select(), ed_armature_pick_bone_from_selectbuffer_impl(), and get_nearest_editbonepoint().
Base* ED_armature_base_and_pchan_from_select_buffer | ( | Base ** | bases, |
uint | bases_len, | ||
const uint | select_id, | ||
bPoseChannel ** | r_pchan | ||
) |
Definition at line 102 of file armature_select.c.
References BLI_findlink(), BONESEL_ANY, bPose::chanbase, NULL, Base::object, and Object::pose.
Referenced by do_object_box_select(), ED_armature_base_and_bone_from_select_buffer(), and ed_armature_pick_bone_from_selectbuffer_impl().
Definition at line 878 of file armature_select.c.
References BONE_ROOTSEL, BONE_SELECTED, BONE_TIPSEL, Object::data, bArmature::edbo, and LISTBASE_FOREACH.
Referenced by armature_bone_primitive_add_exec(), armature_click_extrude_exec(), armature_fill_bones_exec(), ED_armature_ebone_add_primitive(), ED_armature_edit_deselect_all_multi_ex(), ED_object_jump_to_bone(), separate_armature_bones(), and separate_armature_exec().
Definition at line 911 of file armature_select.c.
References ED_armature_edit_deselect_all(), and Base::object.
Referenced by ED_armature_edit_deselect_all_visible_multi(), ED_armature_edit_select_pick_bone(), and tree_element_ebone_activate().
Definition at line 891 of file armature_select.c.
References BONE_ROOTSEL, BONE_SELECTED, BONE_TIPSEL, Object::data, EBONE_VISIBLE, ED_armature_edit_sync_selection(), bArmature::edbo, and LISTBASE_FOREACH.
Referenced by armature_circle_select(), do_lasso_select_armature(), and ED_armature_edit_deselect_all_visible_multi_ex().
Definition at line 931 of file armature_select.c.
References BKE_view_layer_array_from_bases_in_edit_mode_unique_data, C, CTX_data_ensure_evaluated_depsgraph(), depsgraph, ED_armature_edit_deselect_all_multi_ex(), ED_view3d_viewcontext_init(), MEM_freeN, ViewContext::v3d, and ViewContext::view_layer.
Definition at line 921 of file armature_select.c.
References ED_armature_edit_deselect_all_visible(), and Base::object.
Referenced by do_armature_box_select().
Perform a selection operation on elements which have been 'touched', use for lasso & border select but can be used elsewhere too.
Tagging is done via #EditBone.temp.i using: BONESEL_ROOT, BONESEL_TIP, BONESEL_BONE And optionally ignoring end-points using the BONESEL_ROOT, BONESEL_TIP right shifted 16 bits. (used when the values are clipped outside the view).
sel_op | eSelectOp type. |
Definition at line 1220 of file armature_select.c.
References armature_edit_select_op_apply(), BONE_CONNECTED, BONE_DONE, BONE_ROOTSEL, BONE_SELECTED, BONE_TIPSEL, BONESEL_BONE, BONESEL_ROOT, BONESEL_TIP, ED_armature_edit_sync_selection(), ED_armature_edit_validate_active(), bArmature::edbo, ELEM, LISTBASE_FOREACH, and SWAP.
Referenced by do_armature_box_select(), and do_lasso_select_armature().
bool ED_armature_edit_select_pick | ( | struct bContext * | C, |
const int | mval[2], | ||
const struct SelectPick_Params * | params | ||
) |
Bone selection picking for armature edit-mode in the view3d.
Definition at line 1124 of file armature_select.c.
References C, CTX_data_ensure_evaluated_depsgraph(), depsgraph, ED_armature_edit_select_pick_bone(), ED_view3d_viewcontext_init(), get_nearest_editbonepoint(), ViewContext::mval, NULL, and params.
Referenced by view3d_select_exec().
bool ED_armature_edit_select_pick_bone | ( | struct bContext * | C, |
struct Base * | basact, | ||
struct EditBone * | ebone, | ||
int | selmask, | ||
const struct SelectPick_Params * | params | ||
) |
Definition at line 950 of file armature_select.c.
References bArmature::act_edbone, ViewLayer::basact, BKE_object_is_in_editmode(), BKE_view_layer_array_from_bases_in_edit_mode_unique_data, BLI_assert, BLI_assert_unreachable, BONE_CONNECTED, BONE_ROOTSEL, BONE_SELECTED, BONE_TIPSEL, C, CTX_data_view_layer(), CTX_wm_view3d(), Object::data, DEG_id_tag_update(), EBONE_SELECTABLE, ED_armature_ebone_selectflag_get(), ED_armature_edit_deselect_all_multi_ex(), ED_armature_edit_sync_selection(), ED_object_base_activate(), ED_outliner_select_sync_from_edit_bone_tag(), bArmature::edbo, EditBone::flag, bArmature::id, ID_RECALC_COPY_ON_WRITE, MEM_freeN, NC_OBJECT, ND_BONE_SELECT, Base::object, params, EditBone::parent, SEL_OP_ADD, SEL_OP_AND, SEL_OP_SET, SEL_OP_SUB, SEL_OP_XOR, and WM_event_add_notifier().
Referenced by bone_select_menu_exec(), and ED_armature_edit_select_pick().
Object* ED_armature_object_and_ebone_from_select_buffer | ( | Object ** | objects, |
uint | objects_len, | ||
const uint | select_id, | ||
EditBone ** | r_ebone | ||
) |
Definition at line 78 of file armature_select.c.
References BLI_findlink(), BONESEL_ANY, Object::data, bArmature::edbo, and NULL.
Definition at line 375 of file armature_select.c.
References bPoseChannel::bone, C, ED_armature_pick_pchan(), NULL, and xy.
Referenced by pose_select_connected_invoke().
Bone* ED_armature_pick_bone_from_selectbuffer | ( | Base ** | bases, |
uint | bases_len, | ||
const GPUSelectResult * | buffer, | ||
const short | hits, | ||
bool | findunsel, | ||
bool | do_nearest, | ||
Base ** | r_base | ||
) |
Definition at line 281 of file armature_select.c.
References bPoseChannel::bone, buffer, ED_armature_pick_pchan_from_selectbuffer(), and NULL.
|
static |
Definition at line 152 of file armature_select.c.
References bPoseChannel::bone, BONE_SELECTED, BONESEL_ANY, buffer, data, ED_armature_base_and_ebone_from_select_buffer(), ED_armature_base_and_pchan_from_select_buffer(), EditBone::flag, Bone::flag, and NULL.
Referenced by ed_armature_pick_bone_impl(), ED_armature_pick_ebone_from_selectbuffer(), and ED_armature_pick_pchan_from_selectbuffer().
|
static |
xy | Cursor coordinates (area space). |
Definition at line 310 of file armature_select.c.
References ARRAY_SIZE, BKE_object_pose_base_array_get(), BKE_view_layer_array_from_bases_in_mode, BLI_assert, BLI_rcti_init_pt_radius(), buffer, C, CTX_data_ensure_evaluated_depsgraph(), depsgraph, ed_armature_pick_bone_from_selectbuffer_impl(), ED_view3d_viewcontext_init(), MAXPICKELEMS, MEM_freeN, NULL, ViewContext::obedit, ViewContext::v3d, view3d_opengl_select_with_id_filter(), VIEW3D_SELECT_FILTER_NOP, VIEW3D_SELECT_PICK_NEAREST, ViewContext::view_layer, and xy.
Referenced by ED_armature_pick_ebone(), and ED_armature_pick_pchan().
Definition at line 363 of file armature_select.c.
References C, ed_armature_pick_bone_impl(), and xy.
Referenced by armature_select_linked_pick_invoke(), and armature_shortest_path_pick_invoke().
EditBone* ED_armature_pick_ebone_from_selectbuffer | ( | Base ** | bases, |
uint | bases_len, | ||
const GPUSelectResult * | buffer, | ||
const short | hits, | ||
bool | findunsel, | ||
bool | do_nearest, | ||
Base ** | r_base | ||
) |
Definition at line 255 of file armature_select.c.
References buffer, and ed_armature_pick_bone_from_selectbuffer_impl().
bPoseChannel* ED_armature_pick_pchan | ( | bContext * | C, |
const int | xy[2], | ||
bool | findunsel, | ||
Base ** | r_base | ||
) |
Definition at line 369 of file armature_select.c.
References C, ed_armature_pick_bone_impl(), and xy.
Referenced by ED_armature_pick_bone().
bPoseChannel* ED_armature_pick_pchan_from_selectbuffer | ( | Base ** | bases, |
uint | bases_len, | ||
const GPUSelectResult * | buffer, | ||
const short | hits, | ||
bool | findunsel, | ||
bool | do_nearest, | ||
Base ** | r_base | ||
) |
Definition at line 268 of file armature_select.c.
References buffer, and ed_armature_pick_bone_from_selectbuffer_impl().
Referenced by ED_armature_pick_bone_from_selectbuffer().
|
static |
Definition at line 639 of file armature_select.c.
References ARRAY_SIZE, BKE_view_layer_array_from_bases_in_edit_mode_unique_data, BLI_assert, BLI_findindex(), BLI_rcti_init_pt_radius(), EditBone::bone, BONE_ROOTSEL, BONE_SELECTED, BONE_TIPSEL, BONESEL_ANY, BONESEL_BONE, BONESEL_ROOT, BONESEL_TIP, buffer, Object::data, ED_armature_base_and_ebone_from_select_buffer(), bArmature::edbo, EditBone::flag, MAXPICKELEMS, MEM_freeN, ViewContext::mval, NULL, ViewContext::obedit, offset, result, Object::runtime, Object_Runtime::select_id, selectbuffer_ret_hits_12(), selectbuffer_ret_hits_5(), ViewContext::v3d, view3d_opengl_select_cache_begin(), view3d_opengl_select_cache_end(), view3d_opengl_select_with_id_filter(), VIEW3D_SELECT_FILTER_NOP, VIEW3D_SELECT_PICK_ALL, VIEW3D_SELECT_PICK_NEAREST, ViewContext::view_layer, WM_cursor_test_motion_and_update(), and XRAY_ACTIVE.
Referenced by ED_armature_edit_select_pick().
Definition at line 1842 of file armature_select.c.
References EditBone::ebone, ELEM, NULL, and EditBone::temp.
Referenced by select_similar_children().
Definition at line 1855 of file armature_select.c.
References C, CTX_data_active_bone(), CTX_data_edit_object(), Object::data, DEG_id_tag_update(), EBONE_SELECTABLE, ED_armature_ebone_select_set(), bArmature::edbo, Object::id, ID_RECALC_COPY_ON_WRITE, is_ancestor(), LISTBASE_FOREACH, NC_OBJECT, ND_BONE_SELECT, and WM_event_add_notifier().
Referenced by armature_select_similar_exec().
Definition at line 1877 of file armature_select.c.
References C, CTX_data_active_bone(), CTX_data_edit_object(), Object::data, DEG_id_tag_update(), EBONE_SELECTABLE, ED_armature_ebone_select_set(), bArmature::edbo, Object::id, ID_RECALC_COPY_ON_WRITE, LISTBASE_FOREACH, NC_OBJECT, ND_BONE_SELECT, and WM_event_add_notifier().
Referenced by armature_select_similar_exec().
|
static |
Use for matching any pose channel data.
Definition at line 1811 of file armature_select.c.
References BKE_pose_channel_find_name(), C, CTX_data_active_bone(), CTX_data_edit_object(), Object::data, DEG_id_tag_update(), EBONE_SELECTABLE, ED_armature_ebone_select_set(), bArmature::edbo, Object::id, ID_RECALC_COPY_ON_WRITE, LISTBASE_FOREACH, EditBone::name, NC_OBJECT, ND_BONE_SELECT, NULL, offset, POINTER_OFFSET, Object::pose, and WM_event_add_notifier().
Referenced by armature_select_similar_exec().
Definition at line 1658 of file armature_select.c.
References angle_v3v3(), BKE_view_layer_array_from_objects_in_edit_mode_unique_data, bone_direction_worldspace_get(), C, CTX_data_active_bone(), CTX_data_edit_object(), CTX_data_view_layer(), CTX_wm_view3d(), Object::data, DEG_id_tag_update(), EBONE_SELECTABLE, ED_armature_ebone_select_set(), bArmature::edbo, Object::id, ID_RECALC_COPY_ON_WRITE, LISTBASE_FOREACH, M_PI, MEM_freeN, NC_OBJECT, ND_BONE_SELECT, and WM_event_add_notifier().
Referenced by armature_select_similar_exec().
Definition at line 1696 of file armature_select.c.
References BKE_view_layer_array_from_objects_in_edit_mode_unique_data, C, CTX_data_active_bone(), CTX_data_view_layer(), CTX_wm_view3d(), Object::data, DEG_id_tag_update(), EBONE_SELECTABLE, ED_armature_ebone_select_set(), bArmature::edbo, Object::id, ID_RECALC_COPY_ON_WRITE, EditBone::layer, LISTBASE_FOREACH, MEM_freeN, NC_OBJECT, ND_BONE_SELECT, and WM_event_add_notifier().
Referenced by armature_select_similar_exec().
Definition at line 1608 of file armature_select.c.
References BKE_view_layer_array_from_objects_in_edit_mode_unique_data, bone_length_squared_worldspace_get(), C, CTX_data_active_bone(), CTX_data_edit_object(), CTX_data_view_layer(), CTX_wm_view3d(), Object::data, DEG_id_tag_update(), EBONE_SELECTABLE, ED_armature_ebone_select_set(), bArmature::edbo, Object::id, ID_RECALC_COPY_ON_WRITE, len, LISTBASE_FOREACH, MEM_freeN, NC_OBJECT, ND_BONE_SELECT, and WM_event_add_notifier().
Referenced by armature_select_similar_exec().
Definition at line 1726 of file armature_select.c.
References BKE_view_layer_array_from_objects_in_edit_mode_unique_data, BLI_string_split_prefix(), C, CTX_data_active_bone(), CTX_data_view_layer(), CTX_wm_view3d(), Object::data, DEG_id_tag_update(), EBONE_SELECTABLE, ED_armature_ebone_select_set(), bArmature::edbo, Object::id, ID_RECALC_COPY_ON_WRITE, LISTBASE_FOREACH, MAXBONENAME, MEM_freeN, EditBone::name, NC_OBJECT, ND_BONE_SELECT, STREQ, and WM_event_add_notifier().
Referenced by armature_select_similar_exec().
Definition at line 1893 of file armature_select.c.
References C, CTX_data_active_bone(), CTX_data_edit_object(), Object::data, DEG_id_tag_update(), EBONE_SELECTABLE, ED_armature_ebone_select_set(), bArmature::edbo, Object::id, ID_RECALC_COPY_ON_WRITE, LISTBASE_FOREACH, NC_OBJECT, ND_BONE_SELECT, NULL, EditBone::parent, and WM_event_add_notifier().
Referenced by armature_select_similar_exec().
Definition at line 1768 of file armature_select.c.
References BKE_view_layer_array_from_objects_in_edit_mode_unique_data, BLI_string_split_suffix(), C, CTX_data_active_bone(), CTX_data_view_layer(), CTX_wm_view3d(), Object::data, DEG_id_tag_update(), EBONE_SELECTABLE, ED_armature_ebone_select_set(), bArmature::edbo, Object::id, ID_RECALC_COPY_ON_WRITE, LISTBASE_FOREACH, MAXBONENAME, MEM_freeN, EditBone::name, NC_OBJECT, ND_BONE_SELECT, STREQ, and WM_event_add_notifier().
Referenced by armature_select_similar_exec().
|
static |
Definition at line 625 of file armature_select.c.
Referenced by get_nearest_editbonepoint().
|
static |
Definition at line 630 of file armature_select.c.
References buffer.
Referenced by get_nearest_editbonepoint().
|
static |
Definition at line 1586 of file armature_select.c.
Referenced by ARMATURE_OT_select_similar().