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) {
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs