[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [42541] trunk/blender/source/blender/ blenkernel/intern/mesh_validate.c: check for weights outside of 0-1 range when validating weights
Campbell Barton
ideasman42 at gmail.com
Fri Dec 9 21:29:27 CET 2011
Revision: 42541
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42541
Author: campbellbarton
Date: 2011-12-09 20:29:21 +0000 (Fri, 09 Dec 2011)
Log Message:
-----------
check for weights outside of 0-1 range when validating weights
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/mesh_validate.c
Modified: trunk/blender/source/blender/blenkernel/intern/mesh_validate.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/mesh_validate.c 2011-12-09 16:10:15 UTC (rev 42540)
+++ trunk/blender/source/blender/blenkernel/intern/mesh_validate.c 2011-12-09 20:29:21 UTC (rev 42541)
@@ -325,8 +325,8 @@
if (dverts) {
MDeformVert *dv;
for(i=0, dv= dverts; i<totvert; i++, dv++) {
- MDeformWeight *dw= dv->dw;
- unsigned int j= 0;
+ MDeformWeight *dw;
+ unsigned int j;
for(j=0, dw= dv->dw; j < dv->totweight; j++, dw++) {
/* note, greater then max defgroups is accounted for in our code, but not < 0 */
@@ -337,6 +337,13 @@
vert_weights_fixed= TRUE;
}
}
+ else if (dw->weight < 0.0f || dw->weight > 1.0f) {
+ PRINT(" vertex deform %u, group %d has weight: %f\n", i, dw->def_nr, dw->weight);
+ if (do_fixes) {
+ CLAMP(dw->weight, 0.0f, 1.0f);
+ vert_weights_fixed= TRUE;
+ }
+ }
if (dw->def_nr < 0) {
PRINT(" vertex deform %u, has invalid group %d\n", i, dw->def_nr);
More information about the Bf-blender-cvs
mailing list