diff --git a/src/bounce/softbody/softbody.cpp b/src/bounce/softbody/softbody.cpp index 140e85b..6a66a6f 100644 --- a/src/bounce/softbody/softbody.cpp +++ b/src/bounce/softbody/softbody.cpp @@ -239,17 +239,18 @@ static B3_FORCE_INLINE void b3SetK(b3Mat33 K[16], float32 Ke[144]) // a41 a42 a43 // a51 a52 a53 // a61 a62 a63 - k21.x.x = Ke[3 + 12 * 0]; - k21.x.y = Ke[4 + 12 * 0]; - k21.x.z = Ke[5 + 12 * 0]; + //k21.x.x = Ke[3 + 12 * 0]; + //k21.x.y = Ke[4 + 12 * 0]; + //k21.x.z = Ke[5 + 12 * 0]; - k21.y.x = Ke[3 + 12 * 1]; - k21.y.y = Ke[4 + 12 * 1]; - k21.y.z = Ke[5 + 12 * 1]; + //k21.y.x = Ke[3 + 12 * 1]; + //k21.y.y = Ke[4 + 12 * 1]; + //k21.y.z = Ke[5 + 12 * 1]; - k21.z.x = Ke[3 + 12 * 2]; - k21.z.y = Ke[4 + 12 * 2]; - k21.z.z = Ke[5 + 12 * 2]; + //k21.z.x = Ke[3 + 12 * 2]; + //k21.z.y = Ke[4 + 12 * 2]; + //k21.z.z = Ke[5 + 12 * 2]; + k21 = b3Transpose(k12); // k22 // a44 a45 a46 @@ -303,33 +304,35 @@ static B3_FORCE_INLINE void b3SetK(b3Mat33 K[16], float32 Ke[144]) // a71 a72 a73 // a81 a82 a83 // a91 a92 a93 - k31.x.x = Ke[6 + 12 * 0]; - k31.x.y = Ke[7 + 12 * 0]; - k31.x.z = Ke[8 + 12 * 0]; + //k31.x.x = Ke[6 + 12 * 0]; + //k31.x.y = Ke[7 + 12 * 0]; + //k31.x.z = Ke[8 + 12 * 0]; - k31.y.x = Ke[6 + 12 * 1]; - k31.y.y = Ke[7 + 12 * 1]; - k31.y.z = Ke[8 + 12 * 1]; + //k31.y.x = Ke[6 + 12 * 1]; + //k31.y.y = Ke[7 + 12 * 1]; + //k31.y.z = Ke[8 + 12 * 1]; - k31.z.x = Ke[6 + 12 * 2]; - k31.z.y = Ke[7 + 12 * 2]; - k31.z.z = Ke[8 + 12 * 2]; + //k31.z.x = Ke[6 + 12 * 2]; + //k31.z.y = Ke[7 + 12 * 2]; + //k31.z.z = Ke[8 + 12 * 2]; + k31 = b3Transpose(k13); // k32 // a74 a75 a76 // a84 a85 a86 // a94 a95 a96 - k32.x.x = Ke[6 + 12 * 3]; - k32.x.y = Ke[7 + 12 * 3]; - k32.x.z = Ke[8 + 12 * 3]; + //k32.x.x = Ke[6 + 12 * 3]; + //k32.x.y = Ke[7 + 12 * 3]; + //k32.x.z = Ke[8 + 12 * 3]; - k32.y.x = Ke[6 + 12 * 4]; - k32.y.y = Ke[7 + 12 * 4]; - k32.y.z = Ke[8 + 12 * 4]; + //k32.y.x = Ke[6 + 12 * 4]; + //k32.y.y = Ke[7 + 12 * 4]; + //k32.y.z = Ke[8 + 12 * 4]; - k32.z.x = Ke[6 + 12 * 5]; - k32.z.y = Ke[7 + 12 * 5]; - k32.z.z = Ke[8 + 12 * 5]; + //k32.z.x = Ke[6 + 12 * 5]; + //k32.z.y = Ke[7 + 12 * 5]; + //k32.z.z = Ke[8 + 12 * 5]; + k32 = b3Transpose(k23); // k33 // a77 a78 a79 @@ -367,49 +370,52 @@ static B3_FORCE_INLINE void b3SetK(b3Mat33 K[16], float32 Ke[144]) // a10_1 a10_2 a10_3 // a11_1 a11_2 a11_3 // a12_1 a12_2 a12_3 - k41.x.x = Ke[9 + 12 * 0]; - k41.x.y = Ke[10 + 12 * 0]; - k41.x.z = Ke[11 + 12 * 0]; + //k41.x.x = Ke[9 + 12 * 0]; + //k41.x.y = Ke[10 + 12 * 0]; + //k41.x.z = Ke[11 + 12 * 0]; - k41.y.x = Ke[9 + 12 * 1]; - k41.y.y = Ke[10 + 12 * 1]; - k41.y.z = Ke[11 + 12 * 1]; + //k41.y.x = Ke[9 + 12 * 1]; + //k41.y.y = Ke[10 + 12 * 1]; + //k41.y.z = Ke[11 + 12 * 1]; - k41.z.x = Ke[9 + 12 * 2]; - k41.z.y = Ke[10 + 12 * 2]; - k41.z.z = Ke[11 + 12 * 2]; + //k41.z.x = Ke[9 + 12 * 2]; + //k41.z.y = Ke[10 + 12 * 2]; + //k41.z.z = Ke[11 + 12 * 2]; + k41 = b3Transpose(k14); // k42 // a10_4 a10_5 a10_6 // a11_4 a11_5 a11_6 // a12_4 a12_5 a12_6 - k42.x.x = Ke[9 + 12 * 3]; - k42.x.y = Ke[10 + 12 * 3]; - k42.x.z = Ke[11 + 12 * 3]; + //k42.x.x = Ke[9 + 12 * 3]; + //k42.x.y = Ke[10 + 12 * 3]; + //k42.x.z = Ke[11 + 12 * 3]; - k42.y.x = Ke[9 + 12 * 4]; - k42.y.y = Ke[10 + 12 * 4]; - k42.y.z = Ke[11 + 12 * 4]; + //k42.y.x = Ke[9 + 12 * 4]; + //k42.y.y = Ke[10 + 12 * 4]; + //k42.y.z = Ke[11 + 12 * 4]; - k42.z.x = Ke[9 + 12 * 5]; - k42.z.y = Ke[10 + 12 * 5]; - k42.z.z = Ke[11 + 12 * 5]; + //k42.z.x = Ke[9 + 12 * 5]; + //k42.z.y = Ke[10 + 12 * 5]; + //k42.z.z = Ke[11 + 12 * 5]; + k42 = b3Transpose(k24); // k43 // a10_7 a10_8 a10_9 // a11_7 a11_8 a11_9 // a12_7 a12_8 a12_9 - k43.x.x = Ke[9 + 12 * 6]; - k43.x.y = Ke[10 + 12 * 6]; - k43.x.z = Ke[11 + 12 * 6]; + //k43.x.x = Ke[9 + 12 * 6]; + //k43.x.y = Ke[10 + 12 * 6]; + //k43.x.z = Ke[11 + 12 * 6]; - k43.y.x = Ke[9 + 12 * 7]; - k43.y.y = Ke[10 + 12 * 7]; - k43.y.z = Ke[11 + 12 * 7]; + //k43.y.x = Ke[9 + 12 * 7]; + //k43.y.y = Ke[10 + 12 * 7]; + //k43.y.z = Ke[11 + 12 * 7]; - k43.z.x = Ke[9 + 12 * 8]; - k43.z.y = Ke[10 + 12 * 8]; - k43.z.z = Ke[11 + 12 * 8]; + //k43.z.x = Ke[9 + 12 * 8]; + //k43.z.y = Ke[10 + 12 * 8]; + //k43.z.z = Ke[11 + 12 * 8]; + k43 = b3Transpose(k34); // k44 // a10_10 a10_11 a10_12 @@ -427,6 +433,7 @@ static B3_FORCE_INLINE void b3SetK(b3Mat33 K[16], float32 Ke[144]) k44.z.y = Ke[10 + 12 * 11]; k44.z.z = Ke[11 + 12 * 11]; } + b3SoftBody::b3SoftBody(const b3SoftBodyDef& def) { B3_ASSERT(def.mesh);