[Bf-blender-cvs] [570eb7f] hair_immediate_fixes: Cleanup: removed the unused olddV vectors from implicit solver data.

Lukas Tönne noreply at git.blender.org
Wed Sep 3 23:55:00 CEST 2014


Commit: 570eb7f69b9c27ef36e103f786805aa0d75444ec
Author: Lukas Tönne
Date:   Wed Sep 3 11:34:40 2014 +0200
Branches: hair_immediate_fixes
https://developer.blender.org/rB570eb7f69b9c27ef36e103f786805aa0d75444ec

Cleanup: removed the unused olddV vectors from implicit solver data.

===================================================================

M	source/blender/blenkernel/intern/implicit.c

===================================================================

diff --git a/source/blender/blenkernel/intern/implicit.c b/source/blender/blenkernel/intern/implicit.c
index aa09d39..d862445 100644
--- a/source/blender/blenkernel/intern/implicit.c
+++ b/source/blender/blenkernel/intern/implicit.c
@@ -736,7 +736,7 @@ DO_INLINE void subadd_bfmatrixS_bfmatrixS( fmatrix3x3 *to, fmatrix3x3 *from, flo
 // simulator start
 ///////////////////////////////////////////////////////////////////
 typedef struct Implicit_Data  {
-	lfVector *X, *V, *Xnew, *Vnew, *olddV, *F, *B, *dV, *z;
+	lfVector *X, *V, *Xnew, *Vnew, *F, *B, *dV, *z;
 	fmatrix3x3 *A, *dFdV, *dFdX, *S, *P, *Pinv, *bigI, *M; 
 } Implicit_Data;
 
@@ -798,8 +798,6 @@ int implicit_init(Object *UNUSED(ob), ClothModifierData *clmd)
 	id->Xnew = create_lfvector(cloth->numverts);
 	id->V = create_lfvector(cloth->numverts);
 	id->Vnew = create_lfvector(cloth->numverts);
-	id->olddV = create_lfvector(cloth->numverts);
-	zero_lfvector(id->olddV, cloth->numverts);
 	id->F = create_lfvector(cloth->numverts);
 	id->B = create_lfvector(cloth->numverts);
 	id->dV = create_lfvector(cloth->numverts);
@@ -864,7 +862,6 @@ int	implicit_free(ClothModifierData *clmd)
 			del_lfvector(id->Xnew);
 			del_lfvector(id->V);
 			del_lfvector(id->Vnew);
-			del_lfvector(id->olddV);
 			del_lfvector(id->F);
 			del_lfvector(id->B);
 			del_lfvector(id->dV);
@@ -2030,7 +2027,7 @@ static void cloth_calc_force(ClothModifierData *clmd, float UNUSED(frame), lfVec
 	// printf("\n");
 }
 
-static void simulate_implicit_euler(lfVector *Vnew, lfVector *UNUSED(lX), lfVector *lV, lfVector *lF, fmatrix3x3 *dFdV, fmatrix3x3 *dFdX, float dt, fmatrix3x3 *A, lfVector *B, lfVector *dV, fmatrix3x3 *S, lfVector *z, lfVector *olddV, fmatrix3x3 *UNUSED(P), fmatrix3x3 *UNUSED(Pinv), fmatrix3x3 *M, fmatrix3x3 *UNUSED(bigI))
+static void simulate_implicit_euler(lfVector *Vnew, lfVector *UNUSED(lX), lfVector *lV, lfVector *lF, fmatrix3x3 *dFdV, fmatrix3x3 *dFdX, float dt, fmatrix3x3 *A, lfVector *B, lfVector *dV, fmatrix3x3 *S, lfVector *z, fmatrix3x3 *UNUSED(P), fmatrix3x3 *UNUSED(Pinv), fmatrix3x3 *M, fmatrix3x3 *UNUSED(bigI))
 {
 	unsigned int numverts = dFdV[0].vcount;
 
@@ -2052,8 +2049,6 @@ static void simulate_implicit_euler(lfVector *Vnew, lfVector *UNUSED(lX), lfVect
 
 	// itend();
 	// printf("cg_filtered calc time: %f\n", (float)itval());
-	
-	cp_lfvector(olddV, dV, numverts);
 
 	// advance velocities
 	add_lfvector_lfvector(Vnew, lV, dV, numverts);
@@ -2183,7 +2178,7 @@ int implicit_solver(Object *ob, float frame, ClothModifierData *clmd, ListBase *
 		cloth_calc_force(clmd, frame, id->F, id->X, id->V, id->dFdV, id->dFdX, effectors, step, id->M);
 		
 		// calculate new velocity
-		simulate_implicit_euler(id->Vnew, id->X, id->V, id->F, id->dFdV, id->dFdX, dt, id->A, id->B, id->dV, id->S, id->z, id->olddV, id->P, id->Pinv, id->M, id->bigI);
+		simulate_implicit_euler(id->Vnew, id->X, id->V, id->F, id->dFdV, id->dFdX, dt, id->A, id->B, id->dV, id->S, id->z, id->P, id->Pinv, id->M, id->bigI);
 		
 		// advance positions
 		add_lfvector_lfvectorS(id->Xnew, id->X, id->Vnew, dt, numverts);
@@ -2264,7 +2259,7 @@ int implicit_solver(Object *ob, float frame, ClothModifierData *clmd, ListBase *
 				// calculate 
 				cloth_calc_force(clmd, frame, id->F, id->X, id->V, id->dFdV, id->dFdX, effectors, step+dt, id->M);
 				
-				simulate_implicit_euler(id->Vnew, id->X, id->V, id->F, id->dFdV, id->dFdX, dt / 2.0f, id->A, id->B, id->dV, id->S, id->z, id->olddV, id->P, id->Pinv, id->M, id->bigI);
+				simulate_implicit_euler(id->Vnew, id->X, id->V, id->F, id->dFdV, id->dFdX, dt / 2.0f, id->A, id->B, id->dV, id->S, id->z, id->P, id->Pinv, id->M, id->bigI);
 			}
 		}
 		else {




More information about the Bf-blender-cvs mailing list