[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [37456] branches/soc-2011-radish/source/ blender/blenkernel/intern/DerivedMesh.c: Made a var that determines if the color can be black ( so it knows if it should use CLAMP or not)

Jason Hays jason_hays22 at mymail.eku.edu
Mon Jun 13 19:16:44 CEST 2011


Revision: 37456
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=37456
Author:   jason_hays22
Date:     2011-06-13 17:16:44 +0000 (Mon, 13 Jun 2011)
Log Message:
-----------
Made a var that determines if the color can be black (so it knows if it should use CLAMP or not)

Modified Paths:
--------------
    branches/soc-2011-radish/source/blender/blenkernel/intern/DerivedMesh.c

Modified: branches/soc-2011-radish/source/blender/blenkernel/intern/DerivedMesh.c
===================================================================
--- branches/soc-2011-radish/source/blender/blenkernel/intern/DerivedMesh.c	2011-06-13 17:08:33 UTC (rev 37455)
+++ branches/soc-2011-radish/source/blender/blenkernel/intern/DerivedMesh.c	2011-06-13 17:16:44 UTC (rev 37456)
@@ -1612,8 +1612,10 @@
 	Mesh *me = ob->data;
 	float colf[4], input = 0.0f, unsel_sum = 0.0f;// Jason
 	int i;
-	//Jason, a dw might be absent from dvert
+	//Jason, a dw might be absent from dvert, so count the dw's you find
+	// to see if it should be disabled in multipaint
 	int cnt = 0;
+	char make_black = FALSE;
 
 	if (me->dvert) {
 		for (i=0; i<me->dvert[vert].totweight; i++) {
@@ -1621,8 +1623,7 @@
 			if(multipaint && selected > 1) {
 				if(dg_flags[me->dvert[vert].dw[i].def_nr]) {
 					if(!me->dvert[vert].dw[i].weight) {
-						input = -1;
-						unsel_sum = 0;
+						make_black = TRUE;
 						break;
 					}
 					input+=me->dvert[vert].dw[i].weight;
@@ -1637,16 +1638,18 @@
 			}
 		}
 		// Jason was here
-		if(multipaint && selected > 1) {
+		if(multipaint && selected > 1 && !make_black) {
 			if(cnt!=selected || input == 1.0f && auto_normalize && !unsel_sum) {
-				input = -1;
+				make_black = TRUE;
 			} else {
 				input/=selected;
 			}
 		}
 	}
 	
-	if(!multipaint || selected <= 1) {
+	if(make_black) {
+		input = -1;
+	}else {
 		CLAMP(input, 0.0f, 1.0f);
 	}
 	




More information about the Bf-blender-cvs mailing list