[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [51226] trunk/blender/source/blender/ blenkernel/intern/cloth.c: Bugfix [#32677] Cloth Pinning Does Not Obey Weight Map
Daniel Genrich
daniel.genrich at gmx.net
Tue Oct 9 14:59:20 CEST 2012
Revision: 51226
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=51226
Author: genscher
Date: 2012-10-09 12:59:20 +0000 (Tue, 09 Oct 2012)
Log Message:
-----------
Bugfix [#32677] Cloth Pinning Does Not Obey Weight Map
Problem occured when having more than one weight map available.
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/cloth.c
Modified: trunk/blender/source/blender/blenkernel/intern/cloth.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/cloth.c 2012-10-09 12:41:37 UTC (rev 51225)
+++ trunk/blender/source/blender/blenkernel/intern/cloth.c 2012-10-09 12:59:20 UTC (rev 51226)
@@ -773,11 +773,13 @@
else
verts->goal= 0.0f;
+ /* Reset vertex flags */
+ verts->flags &= ~CLOTH_VERT_FLAG_PINNED;
+ verts->flags &= ~CLOTH_VERT_FLAG_NOSELFCOLL;
+
dvert = dm->getVertData ( dm, i, CD_MDEFORMVERT );
if ( dvert ) {
-
for ( j = 0; j < dvert->totweight; j++ ) {
- verts->flags &= ~CLOTH_VERT_FLAG_PINNED;
if (( dvert->dw[j].def_nr == (clmd->sim_parms->vgroup_mass-1)) && (clmd->sim_parms->flags & CLOTH_SIMSETTINGS_FLAG_GOAL )) {
verts->goal = dvert->dw [j].weight;
@@ -789,7 +791,7 @@
*/
verts->goal = powf(verts->goal, 4.0f);
- if ( verts->goal >=SOFTGOALSNAP )
+ if ( verts->goal >= SOFTGOALSNAP )
verts->flags |= CLOTH_VERT_FLAG_PINNED;
}
@@ -804,7 +806,6 @@
}
}
- verts->flags &= ~CLOTH_VERT_FLAG_NOSELFCOLL;
if (clmd->coll_parms->flags & CLOTH_COLLSETTINGS_FLAG_SELF ) {
if ( dvert->dw[j].def_nr == (clmd->coll_parms->vgroup_selfcol-1)) {
if (dvert->dw [j].weight > 0.0f) {
More information about the Bf-blender-cvs
mailing list