[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [53692] trunk/blender/source/blender/ editors/transform/transform_conversions.c: transforming verts was getting the bevel weight for each vertex even if bevel-weight wasnt being transformed .
Campbell Barton
ideasman42 at gmail.com
Thu Jan 10 06:35:16 CET 2013
Revision: 53692
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=53692
Author: campbellbarton
Date: 2013-01-10 05:35:10 +0000 (Thu, 10 Jan 2013)
Log Message:
-----------
transforming verts was getting the bevel weight for each vertex even if bevel-weight wasnt being transformed.
Modified Paths:
--------------
trunk/blender/source/blender/editors/transform/transform_conversions.c
Modified: trunk/blender/source/blender/editors/transform/transform_conversions.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform_conversions.c 2013-01-10 04:46:51 UTC (rev 53691)
+++ trunk/blender/source/blender/editors/transform/transform_conversions.c 2013-01-10 05:35:10 UTC (rev 53692)
@@ -1915,8 +1915,8 @@
td->val = NULL;
td->extra = NULL;
if (t->mode == TFM_BWEIGHT) {
- td->val = bweight;
- td->ival = bweight ? *(bweight) : 1.0f;
+ td->val = bweight;
+ td->ival = *bweight;
}
else if (t->mode == TFM_SKIN_RESIZE) {
MVertSkin *vs = CustomData_bmesh_get(&em->bm->vdata,
@@ -1952,6 +1952,7 @@
int mirror = 0;
char *selstate = NULL;
short selectmode = ts->selectmode;
+ int cd_vert_bweight_offset = -1;
if (t->flag & T_MIRROR) {
EDBM_verts_mirror_cache_begin(em, TRUE);
@@ -2033,6 +2034,10 @@
}
}
+ if (t->mode == TFM_BWEIGHT) {
+ BM_mesh_cd_flag_ensure(bm, BKE_mesh_from_object(t->obedit), ME_CDFLAG_VERT_BWEIGHT);
+ cd_vert_bweight_offset = CustomData_get_offset(&bm->vdata, CD_BWEIGHT);
+ }
if (propmode) {
t->total = count;
@@ -2099,11 +2104,10 @@
}
}
- eve = BM_iter_new(&iter, bm, BM_VERTS_OF_MESH, NULL);
- for (a = 0; eve; eve = BM_iter_step(&iter), a++) {
+ BM_ITER_MESH_INDEX (eve, &iter, bm, BM_VERTS_OF_MESH, a) {
if (!BM_elem_flag_test(eve, BM_ELEM_HIDDEN)) {
if (propmode || selstate[a]) {
- float *bweight = CustomData_bmesh_get(&bm->vdata, eve->head.data, CD_BWEIGHT);
+ float *bweight = (cd_vert_bweight_offset != -1) ? BM_ELEM_CD_GET_VOID_P(eve, cd_vert_bweight_offset) : NULL;
VertsToTransData(t, tob, tx, em, eve, bweight);
if (tx)
More information about the Bf-blender-cvs
mailing list