forked from bartvdbraak/blender
parent
5b92c5bc54
commit
db354073ba
@ -66,6 +66,8 @@ void ARMATURE_OT_select_linked(struct wmOperatorType *ot);
|
|||||||
void ARMATURE_OT_delete(struct wmOperatorType *ot);
|
void ARMATURE_OT_delete(struct wmOperatorType *ot);
|
||||||
void ARMATURE_OT_duplicate(struct wmOperatorType *ot);
|
void ARMATURE_OT_duplicate(struct wmOperatorType *ot);
|
||||||
void ARMATURE_OT_extrude(struct wmOperatorType *ot);
|
void ARMATURE_OT_extrude(struct wmOperatorType *ot);
|
||||||
|
void ARMATURE_OT_hide(struct wmOperatorType *ot);
|
||||||
|
void ARMATURE_OT_reveal(struct wmOperatorType *ot);
|
||||||
void ARMATURE_OT_click_extrude(struct wmOperatorType *ot);
|
void ARMATURE_OT_click_extrude(struct wmOperatorType *ot);
|
||||||
void ARMATURE_OT_fill(struct wmOperatorType *ot);
|
void ARMATURE_OT_fill(struct wmOperatorType *ot);
|
||||||
void ARMATURE_OT_merge(struct wmOperatorType *ot);
|
void ARMATURE_OT_merge(struct wmOperatorType *ot);
|
||||||
|
@ -72,6 +72,8 @@ void ED_operatortypes_armature(void)
|
|||||||
WM_operatortype_append(ARMATURE_OT_delete);
|
WM_operatortype_append(ARMATURE_OT_delete);
|
||||||
WM_operatortype_append(ARMATURE_OT_duplicate);
|
WM_operatortype_append(ARMATURE_OT_duplicate);
|
||||||
WM_operatortype_append(ARMATURE_OT_extrude);
|
WM_operatortype_append(ARMATURE_OT_extrude);
|
||||||
|
WM_operatortype_append(ARMATURE_OT_hide);
|
||||||
|
WM_operatortype_append(ARMATURE_OT_reveal);
|
||||||
WM_operatortype_append(ARMATURE_OT_click_extrude);
|
WM_operatortype_append(ARMATURE_OT_click_extrude);
|
||||||
WM_operatortype_append(ARMATURE_OT_fill);
|
WM_operatortype_append(ARMATURE_OT_fill);
|
||||||
WM_operatortype_append(ARMATURE_OT_merge);
|
WM_operatortype_append(ARMATURE_OT_merge);
|
||||||
@ -203,7 +205,8 @@ void ED_keymap_armature(wmKeyConfig *keyconf)
|
|||||||
RNA_boolean_set(kmi->ptr, "snap", 1);
|
RNA_boolean_set(kmi->ptr, "snap", 1);
|
||||||
|
|
||||||
/* only set in editmode armature, by space_view3d listener */
|
/* only set in editmode armature, by space_view3d listener */
|
||||||
// WM_keymap_add_item(keymap, "ARMATURE_OT_hide", HKEY, KM_PRESS, 0, 0);
|
WM_keymap_add_item(keymap, "ARMATURE_OT_hide", HKEY, KM_PRESS, 0, 0);
|
||||||
|
WM_keymap_add_item(keymap, "ARMATURE_OT_reveal", HKEY, KM_PRESS, KM_ALT, 0);
|
||||||
WM_keymap_add_item(keymap, "ARMATURE_OT_align", AKEY, KM_PRESS, KM_CTRL|KM_ALT, 0);
|
WM_keymap_add_item(keymap, "ARMATURE_OT_align", AKEY, KM_PRESS, KM_CTRL|KM_ALT, 0);
|
||||||
WM_keymap_add_item(keymap, "ARMATURE_OT_calculate_roll", NKEY, KM_PRESS, KM_CTRL, 0);
|
WM_keymap_add_item(keymap, "ARMATURE_OT_calculate_roll", NKEY, KM_PRESS, KM_CTRL, 0);
|
||||||
|
|
||||||
|
@ -3264,6 +3264,83 @@ void ARMATURE_OT_merge (wmOperatorType *ot)
|
|||||||
/* ************** END Add/Remove stuff in editmode ************ */
|
/* ************** END Add/Remove stuff in editmode ************ */
|
||||||
/* *************** Tools in editmode *********** */
|
/* *************** Tools in editmode *********** */
|
||||||
|
|
||||||
|
static int armature_hide_exec(bContext *C, wmOperator *op)
|
||||||
|
{
|
||||||
|
Object *obedit= CTX_data_edit_object(C);
|
||||||
|
bArmature *arm= obedit->data;
|
||||||
|
EditBone *ebone;
|
||||||
|
|
||||||
|
/* cancel if nothing selected */
|
||||||
|
if (CTX_DATA_COUNT(C, selected_bones) == 0)
|
||||||
|
return OPERATOR_CANCELLED;
|
||||||
|
|
||||||
|
for (ebone = arm->edbo->first; ebone; ebone=ebone->next) {
|
||||||
|
if (EBONE_VISIBLE(arm, ebone)) {
|
||||||
|
if (ebone->flag & BONE_SELECTED) {
|
||||||
|
ebone->flag &= ~(BONE_TIPSEL|BONE_SELECTED|BONE_ROOTSEL);
|
||||||
|
ebone->flag |= BONE_HIDDEN_A;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ED_armature_validate_active(arm);
|
||||||
|
ED_armature_sync_selection(arm->edbo);
|
||||||
|
BIF_undo_push("Hide Bones");
|
||||||
|
|
||||||
|
WM_event_add_notifier(C, NC_OBJECT|ND_DRAW, obedit);
|
||||||
|
|
||||||
|
return OPERATOR_FINISHED;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ARMATURE_OT_hide(wmOperatorType *ot)
|
||||||
|
{
|
||||||
|
/* identifiers */
|
||||||
|
ot->name= "Hide Selected Bones";
|
||||||
|
ot->idname= "ARMATURE_OT_hide";
|
||||||
|
|
||||||
|
/* api callbacks */
|
||||||
|
ot->exec= armature_hide_exec;
|
||||||
|
ot->poll= ED_operator_editarmature;
|
||||||
|
|
||||||
|
/* flags */
|
||||||
|
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int armature_reveal_exec(bContext *C, wmOperator *op)
|
||||||
|
{
|
||||||
|
Object *obedit= CTX_data_edit_object(C);
|
||||||
|
bArmature *arm= obedit->data;
|
||||||
|
EditBone *ebone;
|
||||||
|
|
||||||
|
for (ebone = arm->edbo->first; ebone; ebone=ebone->next) {
|
||||||
|
if(arm->layer & ebone->layer) {
|
||||||
|
if (ebone->flag & BONE_HIDDEN_A) {
|
||||||
|
ebone->flag |= (BONE_TIPSEL|BONE_SELECTED|BONE_ROOTSEL);
|
||||||
|
ebone->flag &= ~BONE_HIDDEN_A;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ED_armature_validate_active(arm);
|
||||||
|
ED_armature_sync_selection(arm->edbo);
|
||||||
|
BIF_undo_push("Reveal Bones");
|
||||||
|
|
||||||
|
WM_event_add_notifier(C, NC_OBJECT|ND_DRAW, obedit);
|
||||||
|
|
||||||
|
return OPERATOR_FINISHED;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ARMATURE_OT_reveal(wmOperatorType *ot)
|
||||||
|
{
|
||||||
|
/* identifiers */
|
||||||
|
ot->name= "Reveal Bones";
|
||||||
|
ot->idname= "ARMATURE_OT_reveal";
|
||||||
|
|
||||||
|
/* api callbacks */
|
||||||
|
ot->exec= armature_reveal_exec;
|
||||||
|
ot->poll= ED_operator_editarmature;
|
||||||
|
|
||||||
|
/* flags */
|
||||||
|
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
|
||||||
|
}
|
||||||
|
|
||||||
void hide_selected_armature_bones(Scene *scene)
|
void hide_selected_armature_bones(Scene *scene)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user