diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-05-10 10:46:32 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-05-10 10:46:32 +0400 |
commit | 7a547e441b2a107148a9c0abb3b8badbb728abef (patch) | |
tree | 10b112c9faf70e286c70d4e5afd9cbe8192a2ab1 /source/blender/editors/transform/transform_conversions.c | |
parent | 3a309a8313518b19d9ca9a869432b075f82654fb (diff) |
avoid customdata lookups for selection test/enable disable.
also add uvedit_face_select_set, uvedit_edge_select_set, uvedit_uv_select_set - since quite a few areas where setting based on a boolean.
Diffstat (limited to 'source/blender/editors/transform/transform_conversions.c')
-rw-r--r-- | source/blender/editors/transform/transform_conversions.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c index e2249cd48d7..d6b12e05b44 100644 --- a/source/blender/editors/transform/transform_conversions.c +++ b/source/blender/editors/transform/transform_conversions.c @@ -2418,6 +2418,8 @@ static void createTransUVs(bContext *C, TransInfo *t) int propmode = t->flag & T_PROP_EDIT; int propconnected = t->flag & T_PROP_CONNECTED; + const int cd_loop_uv_offset = CustomData_get_offset(&em->bm->ldata, CD_MLOOPUV); + if (!ED_space_image_show_uvedit(sima, t->obedit)) return; /* count */ @@ -2442,7 +2444,7 @@ static void createTransUVs(bContext *C, TransInfo *t) BM_elem_flag_enable(efa, BM_ELEM_TAG); BM_ITER_ELEM (l, &liter, efa, BM_LOOPS_OF_FACE) { - if (uvedit_uv_select_test(em, scene, l)) { + if (uvedit_uv_select_test(scene, l, cd_loop_uv_offset)) { countsel++; if (propconnected) { @@ -2478,7 +2480,7 @@ static void createTransUVs(bContext *C, TransInfo *t) continue; BM_ITER_ELEM (l, &liter, efa, BM_LOOPS_OF_FACE) { - if (!propmode && !uvedit_uv_select_test(em, scene, l)) + if (!propmode && !uvedit_uv_select_test(scene, l, cd_loop_uv_offset)) continue; if (propconnected) { @@ -2489,8 +2491,8 @@ static void createTransUVs(bContext *C, TransInfo *t) } } - luv = CustomData_bmesh_get(&em->bm->ldata, l->head.data, CD_MLOOPUV); - UVsToTransData(sima, td++, td2d++, luv->uv, uvedit_uv_select_test(em, scene, l)); + luv = BM_ELEM_CD_GET_VOID_P(l, cd_loop_uv_offset); + UVsToTransData(sima, td++, td2d++, luv->uv, uvedit_uv_select_test(scene, l, cd_loop_uv_offset)); } } |