Use transpose
This commit is contained in:
parent
494fa0baa9
commit
5e044795df
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user