diff options
author | Campbell Barton <ideasman42@gmail.com> | 2007-09-18 06:59:57 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2007-09-18 06:59:57 +0400 |
commit | a87b2ff22b8884449bf04a0773370a33a3a410a3 (patch) | |
tree | a58d34d099d0d1c5810e0ed02d45d25d789832bb /source/blender/src/unwrapper.c | |
parent | b32e5f7cb451b238d5ce62c97fa9431d4befd11b (diff) |
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.
Diffstat (limited to 'source/blender/src/unwrapper.c')
-rw-r--r-- | source/blender/src/unwrapper.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/source/blender/src/unwrapper.c b/source/blender/src/unwrapper.c index 05f128906ab..005119d448d 100644 --- a/source/blender/src/unwrapper.c +++ b/source/blender/src/unwrapper.c @@ -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); |