diff options
Diffstat (limited to 'thirdparty/bullet/Bullet3Common/shared')
-rw-r--r-- | thirdparty/bullet/Bullet3Common/shared/b3Float4.h | 90 | ||||
-rw-r--r-- | thirdparty/bullet/Bullet3Common/shared/b3Int2.h | 63 | ||||
-rw-r--r-- | thirdparty/bullet/Bullet3Common/shared/b3Int4.h | 71 | ||||
-rw-r--r-- | thirdparty/bullet/Bullet3Common/shared/b3Mat3x3.h | 157 | ||||
-rw-r--r-- | thirdparty/bullet/Bullet3Common/shared/b3PlatformDefinitions.h | 41 | ||||
-rw-r--r-- | thirdparty/bullet/Bullet3Common/shared/b3Quat.h | 100 |
6 files changed, 0 insertions, 522 deletions
diff --git a/thirdparty/bullet/Bullet3Common/shared/b3Float4.h b/thirdparty/bullet/Bullet3Common/shared/b3Float4.h deleted file mode 100644 index d8a9f47411..0000000000 --- a/thirdparty/bullet/Bullet3Common/shared/b3Float4.h +++ /dev/null @@ -1,90 +0,0 @@ -#ifndef B3_FLOAT4_H -#define B3_FLOAT4_H - -#include "Bullet3Common/shared/b3PlatformDefinitions.h" - -#ifdef __cplusplus -#include "Bullet3Common/b3Vector3.h" -#define b3Float4 b3Vector3 -#define b3Float4ConstArg const b3Vector3& -#define b3Dot3F4 b3Dot -#define b3Cross3 b3Cross -#define b3MakeFloat4 b3MakeVector3 -inline b3Vector3 b3Normalized(const b3Vector3& vec) -{ - return vec.normalized(); -} - -inline b3Float4 b3FastNormalized3(b3Float4ConstArg v) -{ - return v.normalized(); -} - -inline b3Float4 b3MaxFloat4(const b3Float4& a, const b3Float4& b) -{ - b3Float4 tmp = a; - tmp.setMax(b); - return tmp; -} -inline b3Float4 b3MinFloat4(const b3Float4& a, const b3Float4& b) -{ - b3Float4 tmp = a; - tmp.setMin(b); - return tmp; -} - -#else -typedef float4 b3Float4; -#define b3Float4ConstArg const b3Float4 -#define b3MakeFloat4 (float4) -float b3Dot3F4(b3Float4ConstArg v0, b3Float4ConstArg v1) -{ - float4 a1 = b3MakeFloat4(v0.xyz, 0.f); - float4 b1 = b3MakeFloat4(v1.xyz, 0.f); - return dot(a1, b1); -} -b3Float4 b3Cross3(b3Float4ConstArg v0, b3Float4ConstArg v1) -{ - float4 a1 = b3MakeFloat4(v0.xyz, 0.f); - float4 b1 = b3MakeFloat4(v1.xyz, 0.f); - return cross(a1, b1); -} -#define b3MinFloat4 min -#define b3MaxFloat4 max - -#define b3Normalized(a) normalize(a) - -#endif - -inline bool b3IsAlmostZero(b3Float4ConstArg v) -{ - if (b3Fabs(v.x) > 1e-6 || b3Fabs(v.y) > 1e-6 || b3Fabs(v.z) > 1e-6) - return false; - return true; -} - -inline int b3MaxDot(b3Float4ConstArg vec, __global const b3Float4* vecArray, int vecLen, float* dotOut) -{ - float maxDot = -B3_INFINITY; - int i = 0; - int ptIndex = -1; - for (i = 0; i < vecLen; i++) - { - float dot = b3Dot3F4(vecArray[i], vec); - - if (dot > maxDot) - { - maxDot = dot; - ptIndex = i; - } - } - b3Assert(ptIndex >= 0); - if (ptIndex < 0) - { - ptIndex = 0; - } - *dotOut = maxDot; - return ptIndex; -} - -#endif //B3_FLOAT4_H diff --git a/thirdparty/bullet/Bullet3Common/shared/b3Int2.h b/thirdparty/bullet/Bullet3Common/shared/b3Int2.h deleted file mode 100644 index 7b84de4436..0000000000 --- a/thirdparty/bullet/Bullet3Common/shared/b3Int2.h +++ /dev/null @@ -1,63 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library -Copyright (c) 2003-2013 Erwin Coumans http://bulletphysics.org - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. -*/ - -#ifndef B3_INT2_H -#define B3_INT2_H - -#ifdef __cplusplus - -struct b3UnsignedInt2 -{ - union { - struct - { - unsigned int x, y; - }; - struct - { - unsigned int s[2]; - }; - }; -}; - -struct b3Int2 -{ - union { - struct - { - int x, y; - }; - struct - { - int s[2]; - }; - }; -}; - -inline b3Int2 b3MakeInt2(int x, int y) -{ - b3Int2 v; - v.s[0] = x; - v.s[1] = y; - return v; -} -#else - -#define b3UnsignedInt2 uint2 -#define b3Int2 int2 -#define b3MakeInt2 (int2) - -#endif //__cplusplus -#endif
\ No newline at end of file diff --git a/thirdparty/bullet/Bullet3Common/shared/b3Int4.h b/thirdparty/bullet/Bullet3Common/shared/b3Int4.h deleted file mode 100644 index f6a1754245..0000000000 --- a/thirdparty/bullet/Bullet3Common/shared/b3Int4.h +++ /dev/null @@ -1,71 +0,0 @@ -#ifndef B3_INT4_H -#define B3_INT4_H - -#ifdef __cplusplus - -#include "Bullet3Common/b3Scalar.h" - -B3_ATTRIBUTE_ALIGNED16(struct) -b3UnsignedInt4 -{ - B3_DECLARE_ALIGNED_ALLOCATOR(); - - union { - struct - { - unsigned int x, y, z, w; - }; - struct - { - unsigned int s[4]; - }; - }; -}; - -B3_ATTRIBUTE_ALIGNED16(struct) -b3Int4 -{ - B3_DECLARE_ALIGNED_ALLOCATOR(); - - union { - struct - { - int x, y, z, w; - }; - struct - { - int s[4]; - }; - }; -}; - -B3_FORCE_INLINE b3Int4 b3MakeInt4(int x, int y, int z, int w = 0) -{ - b3Int4 v; - v.s[0] = x; - v.s[1] = y; - v.s[2] = z; - v.s[3] = w; - return v; -} - -B3_FORCE_INLINE b3UnsignedInt4 b3MakeUnsignedInt4(unsigned int x, unsigned int y, unsigned int z, unsigned int w = 0) -{ - b3UnsignedInt4 v; - v.s[0] = x; - v.s[1] = y; - v.s[2] = z; - v.s[3] = w; - return v; -} - -#else - -#define b3UnsignedInt4 uint4 -#define b3Int4 int4 -#define b3MakeInt4 (int4) -#define b3MakeUnsignedInt4 (uint4) - -#endif //__cplusplus - -#endif //B3_INT4_H 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 diff --git a/thirdparty/bullet/Bullet3Common/shared/b3PlatformDefinitions.h b/thirdparty/bullet/Bullet3Common/shared/b3PlatformDefinitions.h deleted file mode 100644 index b72bee9310..0000000000 --- a/thirdparty/bullet/Bullet3Common/shared/b3PlatformDefinitions.h +++ /dev/null @@ -1,41 +0,0 @@ -#ifndef B3_PLATFORM_DEFINITIONS_H -#define B3_PLATFORM_DEFINITIONS_H - -struct MyTest -{ - int bla; -}; - -#ifdef __cplusplus -//#define b3ConstArray(a) const b3AlignedObjectArray<a>& -#define b3ConstArray(a) const a * -#define b3AtomicInc(a) ((*a)++) - -inline int b3AtomicAdd(volatile int *p, int val) -{ - int oldValue = *p; - int newValue = oldValue + val; - *p = newValue; - return oldValue; -} - -#define __global - -#define B3_STATIC static -#else -//keep B3_LARGE_FLOAT*B3_LARGE_FLOAT < FLT_MAX -#define B3_LARGE_FLOAT 1e18f -#define B3_INFINITY 1e18f -#define b3Assert(a) -#define b3ConstArray(a) __global const a * -#define b3AtomicInc atomic_inc -#define b3AtomicAdd atomic_add -#define b3Fabs fabs -#define b3Sqrt native_sqrt -#define b3Sin native_sin -#define b3Cos native_cos - -#define B3_STATIC -#endif - -#endif diff --git a/thirdparty/bullet/Bullet3Common/shared/b3Quat.h b/thirdparty/bullet/Bullet3Common/shared/b3Quat.h deleted file mode 100644 index 940610c77b..0000000000 --- a/thirdparty/bullet/Bullet3Common/shared/b3Quat.h +++ /dev/null @@ -1,100 +0,0 @@ -#ifndef B3_QUAT_H -#define B3_QUAT_H - -#include "Bullet3Common/shared/b3PlatformDefinitions.h" -#include "Bullet3Common/shared/b3Float4.h" - -#ifdef __cplusplus -#include "Bullet3Common/b3Quaternion.h" -#include "Bullet3Common/b3Transform.h" - -#define b3Quat b3Quaternion -#define b3QuatConstArg const b3Quaternion& -inline b3Quat b3QuatInverse(b3QuatConstArg orn) -{ - return orn.inverse(); -} - -inline b3Float4 b3TransformPoint(b3Float4ConstArg point, b3Float4ConstArg translation, b3QuatConstArg orientation) -{ - b3Transform tr; - tr.setOrigin(translation); - tr.setRotation(orientation); - return tr(point); -} - -#else -typedef float4 b3Quat; -#define b3QuatConstArg const b3Quat - -inline float4 b3FastNormalize4(float4 v) -{ - v = (float4)(v.xyz, 0.f); - return fast_normalize(v); -} - -inline b3Quat b3QuatMul(b3Quat a, b3Quat b); -inline b3Quat b3QuatNormalized(b3QuatConstArg in); -inline b3Quat b3QuatRotate(b3QuatConstArg q, b3QuatConstArg vec); -inline b3Quat b3QuatInvert(b3QuatConstArg q); -inline b3Quat b3QuatInverse(b3QuatConstArg q); - -inline b3Quat b3QuatMul(b3QuatConstArg a, b3QuatConstArg b) -{ - b3Quat ans; - ans = b3Cross3(a, b); - ans += a.w * b + b.w * a; - // ans.w = a.w*b.w - (a.x*b.x+a.y*b.y+a.z*b.z); - ans.w = a.w * b.w - b3Dot3F4(a, b); - return ans; -} - -inline b3Quat b3QuatNormalized(b3QuatConstArg in) -{ - b3Quat q; - q = in; - //return b3FastNormalize4(in); - float len = native_sqrt(dot(q, q)); - if (len > 0.f) - { - q *= 1.f / len; - } - else - { - q.x = q.y = q.z = 0.f; - q.w = 1.f; - } - return q; -} -inline float4 b3QuatRotate(b3QuatConstArg q, b3QuatConstArg vec) -{ - b3Quat qInv = b3QuatInvert(q); - float4 vcpy = vec; - vcpy.w = 0.f; - float4 out = b3QuatMul(b3QuatMul(q, vcpy), qInv); - return out; -} - -inline b3Quat b3QuatInverse(b3QuatConstArg q) -{ - return (b3Quat)(-q.xyz, q.w); -} - -inline b3Quat b3QuatInvert(b3QuatConstArg q) -{ - return (b3Quat)(-q.xyz, q.w); -} - -inline float4 b3QuatInvRotate(b3QuatConstArg q, b3QuatConstArg vec) -{ - return b3QuatRotate(b3QuatInvert(q), vec); -} - -inline b3Float4 b3TransformPoint(b3Float4ConstArg point, b3Float4ConstArg translation, b3QuatConstArg orientation) -{ - return b3QuatRotate(orientation, point) + (translation); -} - -#endif - -#endif //B3_QUAT_H |