[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [57409] trunk/blender/source/blender/ editors/space_view3d/view3d_buttons.c: Vertex weight panel now uses same sort order as Vertex Group list
Gaia Clary
gaia.clary at machinimatrix.org
Wed Jun 12 12:39:28 CEST 2013
Revision: 57409
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=57409
Author: gaiaclary
Date: 2013-06-12 10:39:27 +0000 (Wed, 12 Jun 2013)
Log Message:
-----------
Vertex weight panel now uses same sort order as Vertex Group list
Modified Paths:
--------------
trunk/blender/source/blender/editors/space_view3d/view3d_buttons.c
Modified: trunk/blender/source/blender/editors/space_view3d/view3d_buttons.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_buttons.c 2013-06-12 10:03:13 UTC (rev 57408)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_buttons.c 2013-06-12 10:39:27 UTC (rev 57409)
@@ -70,6 +70,7 @@
#include "ED_armature.h"
#include "ED_gpencil.h"
+#include "ED_object.h"
#include "ED_mesh.h"
#include "ED_screen.h"
#include "ED_transform.h"
@@ -1005,8 +1006,10 @@
if (dv && dv->totweight) {
uiLayout *col;
bDeformGroup *dg;
- MDeformWeight *dw = dv->dw;
unsigned int i;
+ int subset_count, vgroup_tot;
+ bool *vgroup_validmap;
+ eVGroupSelect subset_type = WT_VGROUP_ALL;
int yco = 0;
uiBlockSetHandleFunc(block, do_view3d_vgroup_buttons, NULL);
@@ -1016,16 +1019,21 @@
uiBlockBeginAlign(block);
- for (i = dv->totweight; i != 0; i--, dw++) {
- dg = BLI_findlink(&ob->defbase, dw->def_nr);
- if (dg) {
- uiDefButF(block, NUM, B_VGRP_PNL_EDIT_SINGLE + dw->def_nr, dg->name, 0, yco, 180, 20,
- &dw->weight, 0.0, 1.0, 1, 3, "");
- uiDefBut(block, BUT, B_VGRP_PNL_COPY_SINGLE + dw->def_nr, "C", 180, yco, 20, 20,
- NULL, 0, 0, 0, 0, TIP_("Copy this group's weight to other selected verts"));
- yco -= 20;
+ vgroup_validmap = ED_vgroup_subset_from_select_type(ob, subset_type, &vgroup_tot, &subset_count);
+ for (i = 0, dg = ob->defbase.first; dg; i++, dg = dg->next) {
+ if (vgroup_validmap[i]) {
+ MDeformWeight *dw = defvert_find_index(dv, i);
+ if (dw) {
+ uiDefButF(block, NUM, B_VGRP_PNL_EDIT_SINGLE + i, dg->name, 0, yco, 180, 20,
+ &dw->weight, 0.0, 1.0, 1, 3, "");
+ uiDefBut(block, BUT, B_VGRP_PNL_COPY_SINGLE + i, "C", 180, yco, 20, 20,
+ NULL, 0, 0, 0, 0, TIP_("Copy this group's weight to other selected verts"));
+ yco -= 20;
+ }
}
}
+ MEM_freeN(vgroup_validmap);
+
yco -= 2;
uiBlockEndAlign(block);
More information about the Bf-blender-cvs
mailing list