forked from bartvdbraak/blender
-> Keybindings for hiding objects
Small feature, added keybindings for setting the visibility restriction flags that were previously only accesible via the outliner HKEY Hides all selected SHIFT-HKEY Hides all unselected ALT-HKEY Shows all hidden
This commit is contained in:
parent
238ab04297
commit
f5a40315ca
@ -117,5 +117,8 @@ void add_hook(void);
|
||||
void hook_select(struct HookModifierData *hmd);
|
||||
int hook_getIndexArray(int *tot, int **indexar, char *name, float *cent_r);
|
||||
|
||||
void hide_objects(int select);
|
||||
void show_objects(void);
|
||||
|
||||
#endif /* BDR_EDITOBJECT_H */
|
||||
|
||||
|
@ -5455,3 +5455,35 @@ void hookmenu(void)
|
||||
}
|
||||
}
|
||||
|
||||
void hide_objects(int select)
|
||||
{
|
||||
Base *b;
|
||||
int swap;
|
||||
for(b = G.scene->base.first; b; b=b->next){
|
||||
if(TESTBASE(b)==select){
|
||||
b->flag &= ~SELECT;
|
||||
b->object->restrictflag |= OB_RESTRICT_VIEW;
|
||||
DAG_object_flush_update(G.scene, b->object, OB_RECALC_DATA);
|
||||
}
|
||||
}
|
||||
G.scene->basact = NULL;
|
||||
allqueue(REDRAWVIEW3D,0);
|
||||
allqueue(REDRAWOOPS,0);
|
||||
if(select) BIF_undo_push("Hide Selected Objects");
|
||||
else if(select) BIF_undo_push("Hide Unselected Objects");
|
||||
}
|
||||
|
||||
void show_objects(void)
|
||||
{
|
||||
Base *b;
|
||||
for(b = G.scene->base.first; b; b=b->next){
|
||||
if((b->lay & G.vd->lay) && b->object->restrictflag & OB_RESTRICT_VIEW){
|
||||
b->flag |= SELECT;
|
||||
b->object->restrictflag &= ~OB_RESTRICT_VIEW;
|
||||
DAG_object_flush_update(G.scene, b->object, OB_RECALC_DATA);
|
||||
}
|
||||
}
|
||||
BIF_undo_push("Unhide Objects");
|
||||
allqueue(REDRAWVIEW3D,0);
|
||||
allqueue(REDRAWOOPS,0);
|
||||
}
|
||||
|
@ -1924,8 +1924,13 @@ static void winqreadview3dspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
|
||||
hide_unselected_pose_bones();
|
||||
else if (G.qual==LR_ALTKEY)
|
||||
show_all_pose_bones();
|
||||
} else {
|
||||
hookmenu();
|
||||
}
|
||||
|
||||
else {
|
||||
if(G.qual==LR_CTRLKEY)hookmenu();
|
||||
else if(G.qual==LR_ALTKEY) show_objects();
|
||||
else if(G.qual==LR_SHIFTKEY) hide_objects(0);
|
||||
else hide_objects(1);
|
||||
}
|
||||
break;
|
||||
case IKEY:
|
||||
|
Loading…
Reference in New Issue
Block a user