[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18443] branches/blender2.5/blender/source /blender: 2.5
Ton Roosendaal
ton at blender.org
Sat Jan 10 18:20:37 CET 2009
Revision: 18443
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18443
Author: ton
Date: 2009-01-10 18:20:34 +0100 (Sat, 10 Jan 2009)
Log Message:
-----------
2.5
Removed another bad global "editbutvweight", a value from buttons
used to paint weights with, or to set weights. Is now part of
weightpaint struct in scene.
Modified Paths:
--------------
branches/blender2.5/blender/source/blender/editors/mesh/editdeform.c
branches/blender2.5/blender/source/blender/editors/space_view3d/vpaint.c
branches/blender2.5/blender/source/blender/makesdna/DNA_scene_types.h
Modified: branches/blender2.5/blender/source/blender/editors/mesh/editdeform.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/mesh/editdeform.c 2009-01-10 16:49:22 UTC (rev 18442)
+++ branches/blender2.5/blender/source/blender/editors/mesh/editdeform.c 2009-01-10 17:20:34 UTC (rev 18443)
@@ -678,9 +678,8 @@
}
/* Only available in editmode */
-void assign_verts_defgroup (Object *obedit)
+void assign_verts_defgroup (Object *obedit, float weight)
{
- float editbutvweight; /* XXX */
Object *ob;
EditVert *eve;
bDeformGroup *dg, *eg;
@@ -722,7 +721,7 @@
eg = BLI_findlink (&ob->defbase, dvert->dw[i].def_nr);
/* Find the actual group */
if (eg==dg){
- dvert->dw[i].weight=editbutvweight;
+ dvert->dw[i].weight= weight;
done=1;
break;
}
@@ -736,7 +735,7 @@
}
dvert->dw=newdw;
- dvert->dw[dvert->totweight].weight= editbutvweight;
+ dvert->dw[dvert->totweight].weight= weight;
dvert->dw[dvert->totweight].def_nr= ob->actdef-1;
dvert->totweight++;
@@ -757,7 +756,7 @@
tot= editLatt->pntsu*editLatt->pntsv*editLatt->pntsw;
for(a=0, bp= editLatt->def; a<tot; a++, bp++) {
if(bp->f1 & SELECT)
- add_vert_defnr (ob, ob->actdef-1, a, editbutvweight, WEIGHT_REPLACE);
+ add_vert_defnr (ob, ob->actdef-1, a, weight, WEIGHT_REPLACE);
}
}
break;
@@ -969,13 +968,14 @@
* and Lattices. (currently only restricted to those two)
* It is only responsible for
*/
-void vgroup_assign_with_menu(Object *ob)
+void vgroup_assign_with_menu(Scene *scene, Object *ob)
{
+ VPaint *wp= scene->toolsettings->wpaint;
int defCount;
int mode;
/* prevent crashes */
- if (ob==NULL) return;
+ if (wp==NULL || ob==NULL) return;
defCount= BLI_countlist(&ob->defbase);
@@ -989,11 +989,11 @@
switch (mode) {
case 1: /* add to new group */
add_defgroup(ob);
- assign_verts_defgroup(ob);
+ assign_verts_defgroup(ob, wp->weight);
BIF_undo_push("Assign to vertex group");
break;
case 2: /* add to current group */
- assign_verts_defgroup(ob);
+ assign_verts_defgroup(ob, wp->weight);
BIF_undo_push("Assign to vertex group");
break;
case 3: /* remove from current group */
Modified: branches/blender2.5/blender/source/blender/editors/space_view3d/vpaint.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_view3d/vpaint.c 2009-01-10 16:49:22 UTC (rev 18442)
+++ branches/blender2.5/blender/source/blender/editors/space_view3d/vpaint.c 2009-01-10 17:20:34 UTC (rev 18443)
@@ -119,6 +119,7 @@
vp->flag= VP_AREA+VP_SOFT+VP_SPRAY;
if(wpaint) {
+ vp->weight= 1.0f;
vp->a= 1.0f;
vp->flag= VP_AREA+VP_SOFT;
}
@@ -358,8 +359,7 @@
void clear_wpaint_selectedfaces(Scene *scene)
{
VPaint *wp= scene->toolsettings->wpaint;
- float editbutvweight;
- float paintweight= editbutvweight;
+ float paintweight= wp->weight;
Mesh *me;
MFace *mface;
Object *ob;
@@ -426,7 +426,7 @@
dw= verify_defweight(me->dvert+faceverts[i], vgroup);
if(dw) {
uw= verify_defweight(wp->wpaint_prev+faceverts[i], vgroup);
- uw->weight= dw->weight; /* set the undio weight */
+ uw->weight= dw->weight; /* set the undo weight */
dw->weight= paintweight;
if(wp->flag & VP_MIRROR_X) { /* x mirror painting */
@@ -881,11 +881,12 @@
/* if mode==1: */
/* samples cursor location, and gives menu with vertex groups to activate */
/* else */
-/* sets editbutvweight to the closest weight value to vertex */
+/* sets wp->weight to the closest weight value to vertex */
/* note: we cant sample frontbuf, weight colors are interpolated too unpredictable */
void sample_wpaint(Scene *scene, ARegion *ar, View3D *v3d, int mode)
{
ViewContext vc;
+ VPaint *wp= scene->toolsettings->wpaint;
Object *ob= OBACT;
Mesh *me= get_mesh(ob);
int index;
@@ -965,7 +966,6 @@
else {
DerivedMesh *dm;
MDeformWeight *dw;
- float editbutvweight;
float w1, w2, w3, w4, co[3], fac;
dm = mesh_get_derived_final(scene, ob, CD_MASK_BAREMESH);
@@ -996,20 +996,20 @@
fac= MIN4(w1, w2, w3, w4);
if(w1==fac) {
dw= get_defweight(me->dvert+mface->v1, ob->actdef-1);
- if(dw) editbutvweight= dw->weight; else editbutvweight= 0.0f;
+ if(dw) wp->weight= dw->weight; else wp->weight= 0.0f;
}
else if(w2==fac) {
dw= get_defweight(me->dvert+mface->v2, ob->actdef-1);
- if(dw) editbutvweight= dw->weight; else editbutvweight= 0.0f;
+ if(dw) wp->weight= dw->weight; else wp->weight= 0.0f;
}
else if(w3==fac) {
dw= get_defweight(me->dvert+mface->v3, ob->actdef-1);
- if(dw) editbutvweight= dw->weight; else editbutvweight= 0.0f;
+ if(dw) wp->weight= dw->weight; else wp->weight= 0.0f;
}
else if(w4==fac) {
if(mface->v4) {
dw= get_defweight(me->dvert+mface->v4, ob->actdef-1);
- if(dw) editbutvweight= dw->weight; else editbutvweight= 0.0f;
+ if(dw) wp->weight= dw->weight; else wp->weight= 0.0f;
}
}
}
@@ -1209,7 +1209,6 @@
{
ToolSettings *ts= CTX_data_tool_settings(C);
VPaint *wp= ts->wpaint;
- float editbutvweight= 1.0f; // XXX
switch(event->type) {
case LEFTMOUSE:
@@ -1226,7 +1225,7 @@
Object *ob= vc->obact;
Mesh *me= ob->data;
float mat[4][4];
- float paintweight= editbutvweight; // XXX
+ float paintweight= wp->weight;
int *indexar= wpd->indexar;
int totindex, index, alpha, totw;
short mval[2];
@@ -1283,7 +1282,7 @@
if(wp->mode==VP_BLUR)
paintweight= 0.0f;
else
- paintweight= editbutvweight;
+ paintweight= wp->weight;
for(index=0; index<totindex; index++) {
if(indexar[index] && indexar[index]<=me->totface) {
Modified: branches/blender2.5/blender/source/blender/makesdna/DNA_scene_types.h
===================================================================
--- branches/blender2.5/blender/source/blender/makesdna/DNA_scene_types.h 2009-01-10 16:49:22 UTC (rev 18442)
+++ branches/blender2.5/blender/source/blender/makesdna/DNA_scene_types.h 2009-01-10 17:20:34 UTC (rev 18443)
@@ -375,7 +375,8 @@
} TransformOrientation;
typedef struct VPaint {
- float r, g, b, a;
+ float r, g, b, a; /* paint color */
+ float weight; /* weight paint */
float size; /* of brush */
float gamma, mul;
short mode, flag;
More information about the Bf-blender-cvs
mailing list