[Bf-blender-cvs] [748282b9e04] soc-2020-soft-body: fixed multiple obstacles

mattoverby noreply at git.blender.org
Fri Aug 14 22:07:34 CEST 2020


Commit: 748282b9e04e3b10d55a806441d09266cb874edf
Author: mattoverby
Date:   Fri Aug 14 15:07:30 2020 -0500
Branches: soc-2020-soft-body
https://developer.blender.org/rB748282b9e04e3b10d55a806441d09266cb874edf

fixed multiple obstacles

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

M	intern/softbody/admmpd_api.cpp
M	source/blender/blenkernel/intern/softbody.c

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

diff --git a/intern/softbody/admmpd_api.cpp b/intern/softbody/admmpd_api.cpp
index c265a7d0368..539d0981e2a 100644
--- a/intern/softbody/admmpd_api.cpp
+++ b/intern/softbody/admmpd_api.cpp
@@ -699,4 +699,4 @@ int admmpd_solve(ADMMPDInterfaceData *iface, Object *ob, float (*vertexCos)[3])
   }
 
   return 1;
-}
\ No newline at end of file
+}
diff --git a/source/blender/blenkernel/intern/softbody.c b/source/blender/blenkernel/intern/softbody.c
index 443c8fa00a4..4e0826981da 100644
--- a/source/blender/blenkernel/intern/softbody.c
+++ b/source/blender/blenkernel/intern/softbody.c
@@ -3565,9 +3565,8 @@ static void update_collider_admmpd(
   Object *vertexowner)
 {
   SoftBody *sb = vertexowner->soft;
-  if (!sb->admmpd) {
-    return;
-  }
+  if (!sb) { return; }
+  if (!sb->admmpd) { return; }
 
   unsigned int numobjects;
   Object **objects = BKE_collision_objects_create(
@@ -3611,7 +3610,7 @@ static void update_collider_admmpd(
           continue;
 
         for (int j=0; j<cmd->mvert_num; ++j) {
-          int v_idx = j*3 + curr_verts;
+          int v_idx = j*3 + curr_verts*3;
           for (int k=0; k<3; ++k) { 
             obs_v0[v_idx+k] = cmd->x[j].co[k];
             obs_v1[v_idx+k] = cmd->xnew[j].co[k];
@@ -3619,7 +3618,7 @@ static void update_collider_admmpd(
         }
 
         for (int j=0; j<cmd->tri_num; ++j) {
-          int f_idx = j*3 + curr_faces;
+          int f_idx = j*3 + curr_faces*3;
           for (int k=0; k<3; ++k) { 
             obs_faces[f_idx+k] = cmd->tri[j].tri[k] + curr_verts;
           }



More information about the Bf-blender-cvs mailing list