[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [13870] trunk/blender/source/blender/ blenkernel/intern/cloth.c: Cloth: Little (bug) fix to let springs appear as an upper tridiagonal matrix
Daniel Genrich
daniel.genrich at gmx.net
Tue Feb 26 10:55:08 CET 2008
Revision: 13870
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=13870
Author: genscher
Date: 2008-02-26 10:55:07 +0100 (Tue, 26 Feb 2008)
Log Message:
-----------
Cloth: Little (bug)fix to let springs appear as an upper tridiagonal matrix
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 2008-02-26 06:33:06 UTC (rev 13869)
+++ trunk/blender/source/blender/blenkernel/intern/cloth.c 2008-02-26 09:55:07 UTC (rev 13870)
@@ -23,10 +23,8 @@
* The Original Code is Copyright (C) Blender Foundation
* All rights reserved.
*
-* The Original Code is: all of this file.
+* Contributor(s): Daniel Genrich
*
-* Contributor(s): none yet.
-*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
@@ -501,8 +499,6 @@
fclose(fp);
}
-
-
/************************************************
* clothModifier_do - main simulation function
************************************************/
@@ -1232,8 +1228,8 @@
if ( spring )
{
- spring->ij = medge[i].v1;
- spring->kl = medge[i].v2;
+ spring->ij = MIN2(medge[i].v1, medge[i].v2);
+ spring->kl = MAX2(medge[i].v2, medge[i].v1);
VECSUB ( temp, cloth->verts[spring->kl].x, cloth->verts[spring->ij].x );
spring->restlen = sqrt ( INPR ( temp, temp ) );
clmd->sim_parms->avg_spring_len += spring->restlen;
@@ -1262,8 +1258,8 @@
{
spring = ( ClothSpring *) MEM_callocN ( sizeof ( ClothSpring ), "cloth spring" );
- spring->ij = mface[i].v1;
- spring->kl = mface[i].v3;
+ spring->ij = MIN2(mface[i].v1, mface[i].v3);
+ spring->kl = MAX2(mface[i].v3, mface[i].v1);
VECSUB ( temp, cloth->verts[spring->kl].x, cloth->verts[spring->ij].x );
spring->restlen = sqrt ( INPR ( temp, temp ) );
spring->type = CLOTH_SPRING_TYPE_SHEAR;
@@ -1279,8 +1275,8 @@
{
spring = ( ClothSpring * ) MEM_callocN ( sizeof ( ClothSpring ), "cloth spring" );
- spring->ij = mface[i].v2;
- spring->kl = mface[i].v4;
+ spring->ij = MIN2(mface[i].v2, mface[i].v4);
+ spring->kl = MAX2(mface[i].v4, mface[i].v2);
VECSUB ( temp, cloth->verts[spring->kl].x, cloth->verts[spring->ij].x );
spring->restlen = sqrt ( INPR ( temp, temp ) );
spring->type = CLOTH_SPRING_TYPE_SHEAR;
@@ -1316,8 +1312,8 @@
{
spring = ( ClothSpring * ) MEM_callocN ( sizeof ( ClothSpring ), "cloth spring" );
- spring->ij = tspring2->ij;
- spring->kl = index2;
+ spring->ij = MIN2(tspring2->ij, index2);
+ spring->kl = MAX2(tspring2->ij, index2);
VECSUB ( temp, cloth->verts[index2].x, cloth->verts[tspring2->ij].x );
spring->restlen = sqrt ( INPR ( temp, temp ) );
spring->type = CLOTH_SPRING_TYPE_BENDING;
More information about the Bf-blender-cvs
mailing list