summaryrefslogtreecommitdiff
path: root/thirdparty/bullet/Bullet3Common/shared/b3Mat3x3.h
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparty/bullet/Bullet3Common/shared/b3Mat3x3.h')
-rw-r--r--thirdparty/bullet/Bullet3Common/shared/b3Mat3x3.h157
1 files changed, 0 insertions, 157 deletions
diff --git a/thirdparty/bullet/Bullet3Common/shared/b3Mat3x3.h b/thirdparty/bullet/Bullet3Common/shared/b3Mat3x3.h
deleted file mode 100644
index ce6482b5a6..0000000000
--- a/thirdparty/bullet/Bullet3Common/shared/b3Mat3x3.h
+++ /dev/null
@@ -1,157 +0,0 @@
-
-#ifndef B3_MAT3x3_H
-#define B3_MAT3x3_H
-
-#include "Bullet3Common/shared/b3Quat.h"
-
-#ifdef __cplusplus
-
-#include "Bullet3Common/b3Matrix3x3.h"
-
-#define b3Mat3x3 b3Matrix3x3
-#define b3Mat3x3ConstArg const b3Matrix3x3&
-
-inline b3Mat3x3 b3QuatGetRotationMatrix(b3QuatConstArg quat)
-{
- return b3Mat3x3(quat);
-}
-
-inline b3Mat3x3 b3AbsoluteMat3x3(b3Mat3x3ConstArg mat)
-{
- return mat.absolute();
-}
-
-#define b3GetRow(m, row) m.getRow(row)
-
-__inline b3Float4 mtMul3(b3Float4ConstArg a, b3Mat3x3ConstArg b)
-{
- return b * a;
-}
-
-#else
-
-typedef struct
-{
- b3Float4 m_row[3];
-} b3Mat3x3;
-
-#define b3Mat3x3ConstArg const b3Mat3x3
-#define b3GetRow(m, row) (m.m_row[row])
-
-inline b3Mat3x3 b3QuatGetRotationMatrix(b3Quat quat)
-{
- b3Float4 quat2 = (b3Float4)(quat.x * quat.x, quat.y * quat.y, quat.z * quat.z, 0.f);
- b3Mat3x3 out;
-
- out.m_row[0].x = 1 - 2 * quat2.y - 2 * quat2.z;
- out.m_row[0].y = 2 * quat.x * quat.y - 2 * quat.w * quat.z;
- out.m_row[0].z = 2 * quat.x * quat.z + 2 * quat.w * quat.y;
- out.m_row[0].w = 0.f;
-
- out.m_row[1].x = 2 * quat.x * quat.y + 2 * quat.w * quat.z;
- out.m_row[1].y = 1 - 2 * quat2.x - 2 * quat2.z;
- out.m_row[1].z = 2 * quat.y * quat.z - 2 * quat.w * quat.x;
- out.m_row[1].w = 0.f;
-
- out.m_row[2].x = 2 * quat.x * quat.z - 2 * quat.w * quat.y;
- out.m_row[2].y = 2 * quat.y * quat.z + 2 * quat.w * quat.x;
- out.m_row[2].z = 1 - 2 * quat2.x - 2 * quat2.y;
- out.m_row[2].w = 0.f;
-
- return out;
-}
-
-inline b3Mat3x3 b3AbsoluteMat3x3(b3Mat3x3ConstArg matIn)
-{
- b3Mat3x3 out;
- out.m_row[0] = fabs(matIn.m_row[0]);
- out.m_row[1] = fabs(matIn.m_row[1]);
- out.m_row[2] = fabs(matIn.m_row[2]);
- return out;
-}
-
-__inline b3Mat3x3 mtZero();
-
-__inline b3Mat3x3 mtIdentity();
-
-__inline b3Mat3x3 mtTranspose(b3Mat3x3 m);
-
-__inline b3Mat3x3 mtMul(b3Mat3x3 a, b3Mat3x3 b);
-
-__inline b3Float4 mtMul1(b3Mat3x3 a, b3Float4 b);
-
-__inline b3Float4 mtMul3(b3Float4 a, b3Mat3x3 b);
-
-__inline b3Mat3x3 mtZero()
-{
- b3Mat3x3 m;
- m.m_row[0] = (b3Float4)(0.f);
- m.m_row[1] = (b3Float4)(0.f);
- m.m_row[2] = (b3Float4)(0.f);
- return m;
-}
-
-__inline b3Mat3x3 mtIdentity()
-{
- b3Mat3x3 m;
- m.m_row[0] = (b3Float4)(1, 0, 0, 0);
- m.m_row[1] = (b3Float4)(0, 1, 0, 0);
- m.m_row[2] = (b3Float4)(0, 0, 1, 0);
- return m;
-}
-
-__inline b3Mat3x3 mtTranspose(b3Mat3x3 m)
-{
- b3Mat3x3 out;
- out.m_row[0] = (b3Float4)(m.m_row[0].x, m.m_row[1].x, m.m_row[2].x, 0.f);
- out.m_row[1] = (b3Float4)(m.m_row[0].y, m.m_row[1].y, m.m_row[2].y, 0.f);
- out.m_row[2] = (b3Float4)(m.m_row[0].z, m.m_row[1].z, m.m_row[2].z, 0.f);
- return out;
-}
-
-__inline b3Mat3x3 mtMul(b3Mat3x3 a, b3Mat3x3 b)
-{
- b3Mat3x3 transB;
- transB = mtTranspose(b);
- b3Mat3x3 ans;
- // why this doesn't run when 0ing in the for{}
- a.m_row[0].w = 0.f;
- a.m_row[1].w = 0.f;
- a.m_row[2].w = 0.f;
- for (int i = 0; i < 3; i++)
- {
- // a.m_row[i].w = 0.f;
- ans.m_row[i].x = b3Dot3F4(a.m_row[i], transB.m_row[0]);
- ans.m_row[i].y = b3Dot3F4(a.m_row[i], transB.m_row[1]);
- ans.m_row[i].z = b3Dot3F4(a.m_row[i], transB.m_row[2]);
- ans.m_row[i].w = 0.f;
- }
- return ans;
-}
-
-__inline b3Float4 mtMul1(b3Mat3x3 a, b3Float4 b)
-{
- b3Float4 ans;
- ans.x = b3Dot3F4(a.m_row[0], b);
- ans.y = b3Dot3F4(a.m_row[1], b);
- ans.z = b3Dot3F4(a.m_row[2], b);
- ans.w = 0.f;
- return ans;
-}
-
-__inline b3Float4 mtMul3(b3Float4 a, b3Mat3x3 b)
-{
- b3Float4 colx = b3MakeFloat4(b.m_row[0].x, b.m_row[1].x, b.m_row[2].x, 0);
- b3Float4 coly = b3MakeFloat4(b.m_row[0].y, b.m_row[1].y, b.m_row[2].y, 0);
- b3Float4 colz = b3MakeFloat4(b.m_row[0].z, b.m_row[1].z, b.m_row[2].z, 0);
-
- b3Float4 ans;
- ans.x = b3Dot3F4(a, colx);
- ans.y = b3Dot3F4(a, coly);
- ans.z = b3Dot3F4(a, colz);
- return ans;
-}
-
-#endif
-
-#endif //B3_MAT3x3_H