From d07b7ef3fa66631c81513d2415b61aa4b24c6e8d Mon Sep 17 00:00:00 2001 From: "erwin.coumans" Date: Tue, 20 Oct 2009 20:36:58 +0000 Subject: [PATCH] added a few methods for better vector_math compatibility with PS3 SDK version --- .../vectormath/scalar/cpp/quat_aos.h | 11 ++++++++++ .../vectormath/scalar/cpp/vec_aos.h | 20 +++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/src/BulletMultiThreaded/vectormath/scalar/cpp/quat_aos.h b/src/BulletMultiThreaded/vectormath/scalar/cpp/quat_aos.h index 7f1e8822b..43ecc1fe9 100644 --- a/src/BulletMultiThreaded/vectormath/scalar/cpp/quat_aos.h +++ b/src/BulletMultiThreaded/vectormath/scalar/cpp/quat_aos.h @@ -40,6 +40,17 @@ namespace Vectormath { namespace Aos { + +inline void loadXYZW( Quat & quat, const float* quad ) +{ + quat = Quat( *quad ); +} + +inline void storeXYZW( Quat vec, float * fptr ) +{ + vec = Quat(fptr[0],fptr[1],fptr[2],fptr[3]); +} + inline Quat::Quat( const Quat & quat ) { mX = quat.mX; diff --git a/src/BulletMultiThreaded/vectormath/scalar/cpp/vec_aos.h b/src/BulletMultiThreaded/vectormath/scalar/cpp/vec_aos.h index a1a75333a..93521e077 100644 --- a/src/BulletMultiThreaded/vectormath/scalar/cpp/vec_aos.h +++ b/src/BulletMultiThreaded/vectormath/scalar/cpp/vec_aos.h @@ -109,6 +109,26 @@ inline const Vector3 slerp( float t, const Vector3 & unitVec0, const Vector3 & u return ( ( unitVec0 * scale0 ) + ( unitVec1 * scale1 ) ); } +inline void loadXYZ( Vector3 & vec, const float * quad ) +{ + vec = Vector3( *quad ); +} + +inline void loadXYZW( Vector4 & vec, const float * quad ) +{ + vec = Vector4( *quad ); +} + + +inline void storeXYZ( Vector3 vec, float * fptr ) +{ + vec = Vector3(fptr[0],fptr[1],fptr[2]); +} + + + + + inline Vector3 & Vector3::operator =( const Vector3 & vec ) { mX = vec.mX;