diff --git a/Engine/source/T3D/physics/physx3/px3Cast.h b/Engine/source/T3D/physics/physx3/px3Cast.h deleted file mode 100644 index 971e830c8..000000000 --- a/Engine/source/T3D/physics/physx3/px3Cast.h +++ /dev/null @@ -1,137 +0,0 @@ -//----------------------------------------------------------------------------- -// Copyright (c) 2012 GarageGames, LLC -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to -// deal in the Software without restriction, including without limitation the -// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -// sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -// IN THE SOFTWARE. -//----------------------------------------------------------------------------- - -#ifndef _PHYSX3_CASTS_H_ -#define _PHYSX3_CASTS_H_ - -#ifndef _MPOINT3_H_ -#include "math/mPoint3.h" -#endif -#ifndef _MMATRIX_H_ -#include "math/mMatrix.h" -#endif -#ifndef _MBOX_H_ -#include "math/mBox.h" -#endif -#ifndef _MQUAT_H_ -#include "math/mQuat.h" -#endif -#ifndef _MTRANSFORM_H_ -#include "math/mTransform.h" -#endif - - -template inline T px3Cast( const F &from ); - -//------------------------------------------------------------------------- - -template<> -inline Point3F px3Cast( const physx::PxVec3 &vec ) -{ - return Point3F( vec.x, vec.y, vec.z ); -} - -template<> -inline physx::PxVec3 px3Cast( const Point3F &point ) -{ - return physx::PxVec3( point.x, point.y, point.z ); -} -//------------------------------------------------------------------------- -template<> -inline QuatF px3Cast( const physx::PxQuat &quat ) -{ - /// The Torque quat has the opposite winding order. - return QuatF( -quat.x, -quat.y, -quat.z, quat.w ); -} - -template<> -inline physx::PxQuat px3Cast( const QuatF &quat ) -{ - /// The Torque quat has the opposite winding order. - physx::PxQuat result( -quat.x, -quat.y, -quat.z, quat.w ); - return result; -} -//------------------------------------------------------------------------- - -template<> -inline physx::PxExtendedVec3 px3Cast( const Point3F &point ) -{ - return physx::PxExtendedVec3( point.x, point.y, point.z ); -} - -template<> -inline Point3F px3Cast( const physx::PxExtendedVec3 &xvec ) -{ - return Point3F( xvec.x, xvec.y, xvec.z ); -} - -//------------------------------------------------------------------------- - -template<> -inline physx::PxBounds3 px3Cast( const Box3F &box ) -{ - physx::PxBounds3 bounds(px3Cast(box.minExtents), - px3Cast(box.maxExtents)); - return bounds; -} - -template<> -inline Box3F px3Cast( const physx::PxBounds3 &bounds ) -{ - return Box3F( bounds.minimum.x, - bounds.minimum.y, - bounds.minimum.z, - bounds.maximum.x, - bounds.maximum.y, - bounds.maximum.z ); -} - -//------------------------------------------------------------------------- - -template<> -inline physx::PxTransform px3Cast( const MatrixF &xfm ) -{ - physx::PxTransform out; - QuatF q; - q.set(xfm); - out.q = px3Cast(q); - out.p = px3Cast(xfm.getPosition()); - return out; -} - -template<> -inline TransformF px3Cast(const physx::PxTransform &xfm) -{ - TransformF out(px3Cast(xfm.p),AngAxisF(px3Cast(xfm.q))); - return out; -} - -template<> -inline MatrixF px3Cast( const physx::PxTransform &xfm ) -{ - MatrixF out; - TransformF t = px3Cast(xfm); - out = t.getMatrix(); - return out; -} - -#endif