[Bf-blender-cvs] [a20f941] temp_merge_gooseberry_hair: Reenabled air drag force for cloth sim.

Lukas Tönne noreply at git.blender.org
Mon Jan 19 20:48:24 CET 2015


Commit: a20f941b7e43214d273df0db178e556cf11a0a47
Author: Lukas Tönne
Date:   Tue Sep 9 12:29:47 2014 +0200
Branches: temp_merge_gooseberry_hair
https://developer.blender.org/rBa20f941b7e43214d273df0db178e556cf11a0a47

Reenabled air drag force for cloth sim.

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

M	source/blender/blenkernel/intern/implicit_eigen.cpp

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

diff --git a/source/blender/blenkernel/intern/implicit_eigen.cpp b/source/blender/blenkernel/intern/implicit_eigen.cpp
index 139f4c7..7c28c0d 100644
--- a/source/blender/blenkernel/intern/implicit_eigen.cpp
+++ b/source/blender/blenkernel/intern/implicit_eigen.cpp
@@ -502,19 +502,19 @@ static void cloth_calc_force(ClothModifierData *clmd, lVector &F, lMatrix &dFdX,
 	Cloth *cloth = clmd->clothObject;
 	unsigned int numverts = cloth->numverts;
 	ClothVertex *verts = cloth->verts;
-	float spring_air 	= clmd->sim_parms->Cvi * 0.01f; /* viscosity of air scaled in percent */
+	float drag = clmd->sim_parms->Cvi * 0.01f; /* viscosity of air scaled in percent */
 	float gravity[3] = {0,0,0};
-//	lVector diagonal(3*numverts);
-//	diagonal.setZero
-	TripletList coeff_dFdX, coeff_dFdV;
 	
 	F.setZero();
 	dFdX.setZero();
 	dFdV.setZero();
 	
-	/* set dFdV jacobi matrix diagonal entries to -spring_air */
-//	dFdV.setIdentity();
-//	initdiag_bfmatrix(dFdV, tm2);
+	/* air drag */
+	lMatrix_reserve_elems(dFdV, 1);
+	for (int i = 0; i < numverts; ++i) {
+		madd_v3_v3fl(lVector_v3(F, i), lVector_v3(V, i), -drag);
+		lMatrix_madd_m3(dFdV, I, -drag, i, i);
+	}
 	
 	/* global acceleration (gravitation) */
 	if (clmd->scene->physics_settings.flag & PHYS_GLOBAL_GRAVITY) {




More information about the Bf-blender-cvs mailing list