New feature for UV/Editmode - 'Sync Mesh Selection' a button in the UV header this mode is disabled by default.
This is implimented by defining macro's that take the mode into account when get/set/checking the selection and that a face can be drawn. When this is enabled, things work a bit differently * all faces are drawn in the UV view (except hidden faces). * selecting faces/verts in the UV window selects them on the mesh also and vice vercer. * when EditMode (Face only) is enabled, selecting faces in the UV view is not sticky. * hiding/(de)select all and invert selection simle call the editmesh functions. * there is no way to select 1 uv corner of 1 face (because a mesh cannot have this as a valid selection) either all UV's that use a vert (sticky), or the whole face.
This commit is contained in:
@@ -4815,14 +4815,41 @@ static void winqreadimagespace(ScrArea *sa, void *spacedata, BWinEvent *evt)
|
||||
borderselect_sima(UV_SELECT_ALL);
|
||||
break;
|
||||
case CKEY:
|
||||
if(G.qual==LR_CTRLKEY)
|
||||
toggle_uv_select('s');
|
||||
else if(G.qual==LR_SHIFTKEY)
|
||||
toggle_uv_select('l');
|
||||
else if(G.qual==LR_ALTKEY)
|
||||
toggle_uv_select('o');
|
||||
else
|
||||
toggle_uv_select('f');
|
||||
if (G.sima->flag & SI_SYNC_UVSEL) {
|
||||
/* operate on the editmesh */
|
||||
if (G.qual==0) {
|
||||
if (G.scene->selectmode != SCE_SELECT_FACE)
|
||||
toggle_uv_select('f');
|
||||
|
||||
/* we could do this too but better not to */
|
||||
/*if ((G.scene->selectmode & SCE_SELECT_FACE)==0) {
|
||||
G.scene->selectmode= SCE_SELECT_FACE;
|
||||
EM_selectmode_set();
|
||||
BIF_undo_push("Selectmode Set: Face");
|
||||
|
||||
} else {
|
||||
G.scene->selectmode= SCE_SELECT_VERTEX;
|
||||
EM_selectmode_set();
|
||||
BIF_undo_push("Selectmode Set: Vertex");
|
||||
}
|
||||
countall();
|
||||
allqueue(REDRAWVIEW3D, 1); */
|
||||
|
||||
} else {
|
||||
error("Sync selection to Edit Mesh disables UV select options");
|
||||
}
|
||||
|
||||
} else {
|
||||
/* normal operaton */
|
||||
if(G.qual==LR_CTRLKEY)
|
||||
toggle_uv_select('s');
|
||||
else if(G.qual==LR_SHIFTKEY)
|
||||
toggle_uv_select('l');
|
||||
else if(G.qual==LR_ALTKEY)
|
||||
toggle_uv_select('o');
|
||||
else
|
||||
toggle_uv_select('f');
|
||||
}
|
||||
break;
|
||||
case EKEY :
|
||||
if(okee("Unwrap"))
|
||||
@@ -4840,7 +4867,7 @@ static void winqreadimagespace(ScrArea *sa, void *spacedata, BWinEvent *evt)
|
||||
else if((G.qual==LR_SHIFTKEY))
|
||||
hide_tface_uv(1);
|
||||
else if((G.qual==0))
|
||||
hide_tface_uv(0);
|
||||
hide_tface_uv(0);
|
||||
break;
|
||||
case LKEY:
|
||||
if(G.qual==0)
|
||||
|
||||
Reference in New Issue
Block a user