public unsafe static void ConvexSweepTest(this GhostObject obj, ConvexShape castShape, ref OpenTK.Matrix4 convexFromWorld, ref OpenTK.Matrix4 convexToWorld, ConvexResultCallback resultCallback, float allowedCcdPenetration)
		{
			fixed (OpenTK.Matrix4* convexFromWorldPtr = &convexFromWorld)
			{
				fixed (OpenTK.Matrix4* convexToWorldPtr = &convexToWorld)
				{
					obj.ConvexSweepTest(castShape, ref *(BulletSharp.Math.Matrix*)convexFromWorldPtr, ref *(BulletSharp.Math.Matrix*)convexToWorldPtr, resultCallback, allowedCcdPenetration);
				}
			}
		}
		public static void ObjectQuerySingleInternal(ConvexShape castShape, Matrix convexFromTrans,
			Matrix convexToTrans, CollisionObjectWrapper colObjWrap, ConvexResultCallback resultCallback,
			float allowedPenetration)
		{
			btCollisionWorld_objectQuerySingleInternal(castShape._native, ref convexFromTrans,
				ref convexToTrans, colObjWrap._native, resultCallback._native, allowedPenetration);
		}
		public static void ObjectQuerySingle(ConvexShape castShape, Matrix rayFromTrans,
			Matrix rayToTrans, CollisionObject collisionObject, CollisionShape collisionShape,
			Matrix colObjWorldTransform, ConvexResultCallback resultCallback, float allowedPenetration)
		{
			btCollisionWorld_objectQuerySingle(castShape._native, ref rayFromTrans,
				ref rayToTrans, collisionObject._native, collisionShape._native, ref colObjWorldTransform,
				resultCallback._native, allowedPenetration);
		}
		public void ConvexSweepTest(ConvexShape castShape, Matrix from, Matrix to,
			ConvexResultCallback resultCallback, float allowedCcdPenetration)
		{
			btCollisionWorld_convexSweepTest2(_native, castShape._native, ref from,
				ref to, resultCallback._native, allowedCcdPenetration);
		}
		public void ConvexSweepTest(ConvexShape castShape, Matrix from, Matrix to,
			ConvexResultCallback resultCallback)
		{
			btCollisionWorld_convexSweepTest(_native, castShape._native, ref from,
				ref to, resultCallback._native);
		}
 public void ConvexSweepTestRef(ConvexShape castShape, ref Matrix convexFromWorld, ref Matrix convexToWorld, ConvexResultCallback resultCallback, float allowedCcdPenetration)
 {
     btGhostObject_convexSweepTest2(_native, castShape._native, ref convexFromWorld, ref convexToWorld, resultCallback._native, allowedCcdPenetration);
 }
 public void ConvexSweepTestRef(ConvexShape castShape, ref Matrix convexFromWorld, ref Matrix convexToWorld, ConvexResultCallback resultCallback)
 {
     btGhostObject_convexSweepTest(_native, castShape._native, ref convexFromWorld, ref convexToWorld, resultCallback._native);
 }
		public unsafe static void ConvexSweepTest(this CollisionWorld obj, ConvexShape castShape, ref OpenTK.Matrix4 from, ref OpenTK.Matrix4 to, ConvexResultCallback resultCallback)
		{
			fixed (OpenTK.Matrix4* fromPtr = &from)
			{
				fixed (OpenTK.Matrix4* toPtr = &to)
				{
					obj.ConvexSweepTest(castShape, ref *(BulletSharp.Math.Matrix*)fromPtr, ref *(BulletSharp.Math.Matrix*)toPtr, resultCallback);
				}
			}
		}