Commit: 5e85c9878b6502fabc1ff93f9b1f6247650bb8b1
Author: Germano Cavalcante
Date:   Thu Aug 20 08:24:32 2020 -0300
Branches: master
https://developer.blender.org/rB5e85c9878b6502fabc1ff93f9b1f6247650bb8b1

Fix cloth collision clamp having no effect

And rename `cloth_selfcollision_impulse_vert` to `cloth_collision_impulse_vert`

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

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

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

diff --git a/source/blender/blenkernel/intern/collision.c 
b/source/blender/blenkernel/intern/collision.c
index 05c521e3b94..115980d577e 100644
--- a/source/blender/blenkernel/intern/collision.c
+++ b/source/blender/blenkernel/intern/collision.c
@@ -647,9 +647,9 @@ DO_INLINE void collision_interpolateOnTriangle(float to[3],
   VECADDMUL(to, v3, w3);
 }
 
-static void cloth_selfcollision_impulse_vert(const float clamp_sq,
-                                             const float impulse[3],
-                                             struct ClothVertex *vert)
+static void cloth_collision_impulse_vert(const float clamp_sq,
+                                         const float impulse[3],
+                                         struct ClothVertex *vert)
 {
   float impulse_len_sq = len_squared_v3(impulse);
 
@@ -681,7 +681,7 @@ static int 
cloth_collision_response_static(ClothModifierData *clmd,
 {
   int result = 0;
   Cloth *cloth = clmd->clothObject;
-  const float clamp_sq = square_f(clmd->coll_parms->self_clamp * dt);
+  const float clamp_sq = square_f(clmd->coll_parms->clamp * dt);
   const float time_multiplier = 1.0f / (clmd->sim_parms->dt * 
clmd->sim_parms->timescale);
   const float epsilon2 = BLI_bvhtree_get_epsilon(collmd->bvhtree);
   const float min_distance = (clmd->coll_parms->epsilon + epsilon2) * (8.0f / 
9.0f);
@@ -828,10 +828,10 @@ static int 
cloth_collision_response_static(ClothModifierData *clmd,
     }
 
     if (result) {
-      cloth_selfcollision_impulse_vert(clamp_sq, i1, 
&cloth->verts[collpair->ap1]);
-      cloth_selfcollision_impulse_vert(clamp_sq, i2, 
&cloth->verts[collpair->ap2]);
+      cloth_collision_impulse_vert(clamp_sq, i1, &cloth->verts[collpair->ap1]);
+      cloth_collision_impulse_vert(clamp_sq, i2, &cloth->verts[collpair->ap2]);
       if (!is_hair) {
-        cloth_selfcollision_impulse_vert(clamp_sq, i3, 
&cloth->verts[collpair->ap3]);
+        cloth_collision_impulse_vert(clamp_sq, i3, 
&cloth->verts[collpair->ap3]);
       }
     }
   }
@@ -987,13 +987,13 @@ static int 
cloth_selfcollision_response_static(ClothModifierData *clmd,
     }
 
     if (result) {
-      cloth_selfcollision_impulse_vert(clamp_sq, ia[0], 
&cloth->verts[collpair->ap1]);
-      cloth_selfcollision_impulse_vert(clamp_sq, ia[1], 
&cloth->verts[collpair->ap2]);
-      cloth_selfcollision_impulse_vert(clamp_sq, ia[2], 
&cloth->verts[collpair->ap3]);
+      cloth_collision_impulse_vert(clamp_sq, ia[0], 
&cloth->verts[collpair->ap1]);
+      cloth_collision_impulse_vert(clamp_sq, ia[1], 
&cloth->verts[collpair->ap2]);
+      cloth_collision_impulse_vert(clamp_sq, ia[2], 
&cloth->verts[collpair->ap3]);
 
-      cloth_selfcollision_impulse_vert(clamp_sq, ib[0], 
&cloth->verts[collpair->bp1]);
-      cloth_selfcollision_impulse_vert(clamp_sq, ib[1], 
&cloth->verts[collpair->bp2]);
-      cloth_selfcollision_impulse_vert(clamp_sq, ib[2], 
&cloth->verts[collpair->bp3]);
+      cloth_collision_impulse_vert(clamp_sq, ib[0], 
&cloth->verts[collpair->bp1]);
+      cloth_collision_impulse_vert(clamp_sq, ib[1], 
&cloth->verts[collpair->bp2]);
+      cloth_collision_impulse_vert(clamp_sq, ib[2], 
&cloth->verts[collpair->bp3]);
     }
   }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to