forked from bartvdbraak/blender
unwrapper wasnt working properly when UVSyncSelection was NOT enabled.
unwrapper and UV mapping menu items were not selecting UV's when initializing a new UV layer selecting with the brush (BB) in the UV window did not update in the 3D view realtime, use the lock settings to make this work.
This commit is contained in:
parent
b32e5f7cb4
commit
a87b2ff22b
@ -365,6 +365,14 @@ void calculate_uv_map(unsigned short mapmode)
|
||||
|
||||
if (!EM_texFaceCheck())
|
||||
return;
|
||||
|
||||
/* select new UV's */
|
||||
if ((G.sima->flag & SI_SYNC_UVSEL)==0) {
|
||||
for(efa=em->faces.first; efa; efa=efa->next) {
|
||||
MTFace *tf= (MTFace *)CustomData_em_get(&em->fdata, efa->data, CD_MTFACE);
|
||||
SIMA_FACESEL_SET(efa, tf);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ob=OBACT;
|
||||
|
@ -964,7 +964,6 @@ void uvedit_selectionCB(short selecting, Object *editobj, short *mval, float rad
|
||||
EditFace *efa;
|
||||
float offset[2];
|
||||
MTFace *tface;
|
||||
|
||||
float ellipse[2]; // we need to deal with ellipses, as
|
||||
// non square textures require for circle
|
||||
// selection. this ellipse is normalized; r = 1.0
|
||||
@ -995,11 +994,14 @@ void uvedit_selectionCB(short selecting, Object *editobj, short *mval, float rad
|
||||
bglFlush();
|
||||
glDrawBuffer(GL_BACK);
|
||||
}
|
||||
|
||||
|
||||
if (selecting == LEFTMOUSE) EM_select_flush();
|
||||
else EM_deselect_flush();
|
||||
|
||||
if (G.sima->lock && (G.sima->flag & SI_SYNC_UVSEL))
|
||||
force_draw_plus(SPACE_VIEW3D, 0);
|
||||
}
|
||||
|
||||
if (selecting == LEFTMOUSE) EM_select_flush();
|
||||
else EM_deselect_flush();
|
||||
allqueue(REDRAWVIEW3D, 0);
|
||||
}
|
||||
|
||||
|
||||
|
@ -215,14 +215,11 @@ ParamHandle *construct_param_handle(EditMesh *em, short implicit, short fill, sh
|
||||
float *uv[4];
|
||||
int nverts;
|
||||
|
||||
if (efa->h)
|
||||
if ((efa->h) || (sel && (efa->f & SELECT)==0))
|
||||
continue;
|
||||
|
||||
tf= (MTFace *)CustomData_em_get(&em->fdata, efa->data, CD_MTFACE);
|
||||
|
||||
if (sel && !SIMA_FACESEL_CHECK(efa, tf))
|
||||
continue;
|
||||
|
||||
if (implicit &&
|
||||
!( SIMA_UVSEL_CHECK(efa, tf, 0) ||
|
||||
SIMA_UVSEL_CHECK(efa, tf, 1) ||
|
||||
@ -284,7 +281,7 @@ ParamHandle *construct_param_handle(EditMesh *em, short implicit, short fill, sh
|
||||
}
|
||||
|
||||
|
||||
extern int EM_texFaceCheck();
|
||||
extern int EM_texFaceCheck(void);
|
||||
|
||||
void unwrap_lscm(short seamcut)
|
||||
{
|
||||
@ -300,6 +297,16 @@ void unwrap_lscm(short seamcut)
|
||||
|
||||
if (!EM_texFaceCheck())
|
||||
return;
|
||||
|
||||
/* select new UV's */
|
||||
if ((G.sima->flag & SI_SYNC_UVSEL)==0) {
|
||||
EditFace *efa;
|
||||
MTFace *tf;
|
||||
for(efa=em->faces.first; efa; efa=efa->next) {
|
||||
tf= (MTFace *)CustomData_em_get(&em->fdata, efa->data, CD_MTFACE);
|
||||
SIMA_FACESEL_SET(efa, tf);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
handle = construct_param_handle(em, 0, fillholes, seamcut == 0);
|
||||
|
Loading…
Reference in New Issue
Block a user