OSDN Git Service

The swig generated files
authorXoppa <contact@xoppa.nl>
Fri, 7 Dec 2012 20:55:04 +0000 (21:55 +0100)
committerXoppa <contact@xoppa.nl>
Fri, 7 Dec 2012 20:55:04 +0000 (21:55 +0100)
261 files changed:
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/AllHitsRayResultCallback.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/ClosestConvexResultCallback.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/ClosestNotMeConvexResultCallback.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/ClosestNotMeRayResultCallback.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/ClosestPointInput.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/ClosestRayResultCallback.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/ContactResultCallback.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/ConvexH.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/ConvexResultCallback.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/GrahamVector2.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/HullDesc.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/HullLibrary.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/HullResult.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/LocalConvexResult.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/LocalRayResult.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/LocalShapeInfo.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/PHullResult.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/RayResultCallback.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/Result.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/SphereTriangleDetector.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/bt32BitAxisSweep3.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btActionInterface.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btActivatingCollisionAlgorithm.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btAngleCompareFunc.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btAngularLimit.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btAxisSweep3.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btBU_Simplex1to4.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btBlock.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btBox2dBox2dCollisionAlgorithm.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btBox2dShape.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btBoxBoxCollisionAlgorithm.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btBoxBoxDetector.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btBoxShape.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btBroadphaseAabbCallback.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btBroadphaseInterface.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btBroadphasePair.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btBroadphasePairSortPredicate.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btBroadphaseProxy.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btBroadphaseRayCallback.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btBvhSubtreeInfo.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btBvhSubtreeInfoData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btBvhTriangleMeshShape.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btCapsuleShape.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btCapsuleShapeData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btCapsuleShapeX.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btCapsuleShapeZ.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btCharIndexTripletData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btCharacterControllerInterface.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btCollisionAlgorithm.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btCollisionAlgorithmConstructionInfo.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btCollisionAlgorithmCreateFunc.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btCollisionConfiguration.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btCollisionDispatcher.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btCollisionObject.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btCollisionObjectArray.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btCollisionObjectDoubleData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btCollisionObjectFloatData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btCollisionShape.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btCollisionShapeData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btCollisionWorld.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btCompoundCollisionAlgorithm.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btCompoundShape.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btCompoundShapeChild.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btCompoundShapeChildData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btCompoundShapeData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btConcaveShape.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btConeShape.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btConeShapeX.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btConeShapeZ.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btConeTwistConstraint.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btConeTwistConstraintData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btConstraintInfo2.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btConstraintRow.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btConstraintSetting.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btConstraintSolver.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btContactConstraint.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btContactSolverInfo.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btContactSolverInfoData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btContinuousConvexCollision.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btConvex2dConvex2dAlgorithm.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btConvex2dShape.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btConvexCast.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btConvexConcaveCollisionAlgorithm.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btConvexConvexAlgorithm.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btConvexHullComputer.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btConvexHullShape.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btConvexHullShapeData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btConvexInternalAabbCachingShape.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btConvexInternalShape.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btConvexInternalShapeData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btConvexPenetrationDepthSolver.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btConvexPlaneCollisionAlgorithm.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btConvexPointCloudShape.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btConvexPolyhedron.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btConvexSeparatingDistanceUtil.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btConvexShape.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btConvexTriangleCallback.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btConvexTriangleMeshShape.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btCylinderShape.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btCylinderShapeData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btCylinderShapeX.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btCylinderShapeZ.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btDbvt.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btDbvtAabbMm.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btDbvtBroadphase.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btDbvtNode.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btDbvtProxy.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btDefaultCollisionConfiguration.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btDefaultCollisionConstructionInfo.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btDefaultMotionState.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btDefaultVehicleRaycaster.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btDiscreteDynamicsWorld.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btDispatcher.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btDispatcherInfo.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btDynamicsWorld.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btElement.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btEmptyAlgorithm.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btEmptyShape.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btFace.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btGEN_Link.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btGEN_List.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btGeneric6DofConstraint.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btGeneric6DofConstraintData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btGeneric6DofSpringConstraint.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btGeneric6DofSpringConstraintData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btGeometryUtil.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btGhostObject.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btGhostPairCallback.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btGjkConvexCast.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btGjkEpaPenetrationDepthSolver.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btGjkEpaSolver2.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btGjkPairDetector.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btHashInt.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btHashPtr.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btHashString.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btHashedOverlappingPairCache.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btHeightfieldTerrainShape.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btHinge2Constraint.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btHingeConstraint.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btHingeConstraintDoubleData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btHingeConstraintFloatData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btIDebugDraw.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btIndexedMesh.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btIntIndexData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btInternalTriangleIndexCallback.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btJacobianEntry.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btKinematicCharacterController.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btManifoldPoint.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btManifoldResult.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btMaterial.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btMaterialProperties.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btMeshPartData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btMinkowskiPenetrationDepthSolver.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btMinkowskiSumShape.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btMotionState.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btMultiSapBroadphase.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btMultiSphereShape.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btMultiSphereShapeData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btMultimaterialTriangleMeshShape.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btNodeOverlapCallback.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btNullPairCache.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btOptimizedBvh.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btOptimizedBvhNode.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btOptimizedBvhNodeDoubleData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btOptimizedBvhNodeFloatData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btOverlapCallback.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btOverlapFilterCallback.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btOverlappingPairCache.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btOverlappingPairCallback.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btPairCachingGhostObject.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btPersistentManifold.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btPlane.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btPoint2PointConstraint.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btPoint2PointConstraintDoubleData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btPoint2PointConstraintFloatData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btPointCollector.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btPolyhedralContactClipping.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btPolyhedralConvexAabbCachingShape.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btPolyhedralConvexShape.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btPoolAllocator.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btPositionAndRadius.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btQuantizedBvh.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btQuantizedBvhDoubleData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btQuantizedBvhFloatData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btQuantizedBvhNode.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btQuantizedBvhNodeData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btQuaternion.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btRaycastVehicle.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btRigidBody.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btRigidBodyConstructionInfo.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btRigidBodyDoubleData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btRigidBodyFloatData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btRotationalLimitMotor.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btScaledBvhTriangleMeshShape.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btScaledTriangleMeshShapeData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btSequentialImpulseConstraintSolver.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btShapeHull.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btShortIntIndexData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btShortIntIndexTripletData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btSimpleBroadphase.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btSimpleBroadphaseProxy.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btSimpleDynamicsWorld.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btSimulationIslandManager.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btSliderConstraint.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btSliderConstraintData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btSolve2LinearConstraint.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btSolverBodyObsolete.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btSolverConstraint.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btSortedOverlappingPairCache.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btSphereBoxCollisionAlgorithm.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btSphereShape.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btSphereSphereCollisionAlgorithm.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btSphereTriangleCollisionAlgorithm.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btStackAlloc.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btStaticPlaneShape.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btStaticPlaneShapeData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btStridingMeshInterface.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btStridingMeshInterfaceData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btSubSimplexClosestResult.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btSubsimplexConvexCast.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btTransform.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btTransformDoubleData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btTransformFloatData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btTransformUtil.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btTranslationalLimitMotor.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btTriangle.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btTriangleBuffer.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btTriangleCallback.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btTriangleConvexcastCallback.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btTriangleIndexVertexArray.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btTriangleIndexVertexMaterialArray.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btTriangleInfo.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btTriangleInfoData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btTriangleInfoMap.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btTriangleInfoMapData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btTriangleMesh.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btTriangleMeshShape.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btTriangleMeshShapeData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btTriangleRaycastCallback.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btTriangleShape.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btTypedConstraint.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btTypedConstraintData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btTypedObject.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btUniformScalingShape.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btUnionFind.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btUniversalConstraint.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btUsageBitfield.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btVector3.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btVector3DoubleData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btVector3FloatData.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btVector4.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btVehicleRaycaster.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btVehicleTuning.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btVoronoiSimplexSolver.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btWheelInfo.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btWheelInfoConstructionInfo.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/gdxBullet.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/gdxBulletConstants.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/gdxBulletJNI.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/int4.java
extensions/gdx-bullet/jni/swig-src/gdxBullet_wrap.cpp

index 294f1c3..b7cdcdd 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class AllHitsRayResultCallback extends RayResultCallback {
   private long swigCPtr;
index 2a7096e..0cf45fa 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class ClosestConvexResultCallback extends ConvexResultCallback {
   private long swigCPtr;
index 5ec51e1..298e291 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class ClosestNotMeConvexResultCallback extends ClosestConvexResultCallback {
   private long swigCPtr;
index a6eaf9f..4bdb811 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class ClosestNotMeRayResultCallback extends ClosestRayResultCallback {
   private long swigCPtr;
index 2414a80..5c5be2c 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class ClosestPointInput {
   private long swigCPtr;
index 5f389a4..09c525d 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class ClosestRayResultCallback extends RayResultCallback {
   private long swigCPtr;
index cebfd4f..f41fc3e 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class ContactResultCallback {
   private long swigCPtr;
index 89630b3..d4640dd 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class ConvexH {
   private long swigCPtr;
index d686fad..47ec081 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class ConvexResultCallback {
   private long swigCPtr;
index 3bdadb5..d429e84 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class GrahamVector2 extends btVector3 {
   private long swigCPtr;
index 46fdd91..bd3b0ea 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class HullDesc {
   private long swigCPtr;
index e4f8f1f..1b49506 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class HullLibrary {
   private long swigCPtr;
index de2be10..532ebdb 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class HullResult {
   private long swigCPtr;
index 52db919..44f83ef 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class LocalConvexResult {
   private long swigCPtr;
index 5ed95eb..f23ec08 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class LocalRayResult {
   private long swigCPtr;
index 89be0ac..e6adfd5 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class LocalShapeInfo {
   private long swigCPtr;
index 91f3f7f..72de499 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class PHullResult {
   private long swigCPtr;
index abf3a25..97ea191 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class RayResultCallback {
   private long swigCPtr;
index d53aea6..901966c 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class Result {
   private long swigCPtr;
index 0a38825..396482f 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class SphereTriangleDetector {
   private long swigCPtr;
index 8eaef8e..4b1a57b 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class bt32BitAxisSweep3 {
   private long swigCPtr;
index edf68c5..cb287a1 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btActionInterface {
   private long swigCPtr;
index c66695c..8284817 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btActivatingCollisionAlgorithm extends btCollisionAlgorithm {
   private long swigCPtr;
index 13a670e..5b62ec7 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btAngleCompareFunc {
   private long swigCPtr;
index 0868a96..64baec7 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btAngularLimit {
   private long swigCPtr;
index 57f91a8..380b26f 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btAxisSweep3 {
   private long swigCPtr;
index b24d2c3..5f92147 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btBU_Simplex1to4 extends btPolyhedralConvexAabbCachingShape {
   private long swigCPtr;
index 7b600a7..4bfd619 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btBlock {
   private long swigCPtr;
index fa46b20..5a8505e 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btBox2dBox2dCollisionAlgorithm extends btActivatingCollisionAlgorithm {
   private long swigCPtr;
index 7da392b..9415f10 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btBox2dShape extends btPolyhedralConvexShape {
   private long swigCPtr;
index bf7e040..4c980b6 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btBoxBoxCollisionAlgorithm extends btActivatingCollisionAlgorithm {
   private long swigCPtr;
index 9d4706e..6515db2 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btBoxBoxDetector {
   private long swigCPtr;
index 2a8361b..9bded63 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btBoxShape extends btPolyhedralConvexShape {
   private long swigCPtr;
index d44dd50..d03aa19 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btBroadphaseAabbCallback {
   private long swigCPtr;
index 0d8341e..95d1add 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btBroadphaseInterface {
   private long swigCPtr;
index 0db9dac..9fc0593 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btBroadphasePair {
   private long swigCPtr;
index 4a083e6..08f57aa 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btBroadphasePairSortPredicate {
   private long swigCPtr;
index 6b5cbe4..4644845 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btBroadphaseProxy {
   private long swigCPtr;
index e7db6e9..db65650 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btBroadphaseRayCallback extends btBroadphaseAabbCallback {
   private long swigCPtr;
index a7100c1..1385d46 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btBvhSubtreeInfo {
   private long swigCPtr;
index 067e452..3d2619e 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btBvhSubtreeInfoData {
   private long swigCPtr;
index 3e9b0a2..d5fe2c4 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btBvhTriangleMeshShape extends btTriangleMeshShape {
   private long swigCPtr;
index 58fd762..1a18b7a 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btCapsuleShape extends btConvexInternalShape {
   private long swigCPtr;
index df2be32..6a6b40e 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btCapsuleShapeData {
   private long swigCPtr;
index fc34da0..27cb363 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btCapsuleShapeX extends btCapsuleShape {
   private long swigCPtr;
index b3152e7..a8d74ad 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btCapsuleShapeZ extends btCapsuleShape {
   private long swigCPtr;
index 132aa52..c49309f 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btCharIndexTripletData {
   private long swigCPtr;
index 2d58618..4bc9cf7 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btCharacterControllerInterface extends btActionInterface {
   private long swigCPtr;
index 5973c81..805c6dc 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btCollisionAlgorithm {
   private long swigCPtr;
index cda077e..f793ac0 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btCollisionAlgorithmConstructionInfo {
   private long swigCPtr;
index 963696f..e61ee29 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btCollisionAlgorithmCreateFunc {
   private long swigCPtr;
index f45b6e9..da7deb4 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btCollisionConfiguration {
   private long swigCPtr;
index 49ca158..7f22cb8 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btCollisionDispatcher extends btDispatcher {
   private long swigCPtr;
index 2474bbc..daff720 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btCollisionObject {
   private long swigCPtr;
@@ -153,12 +154,12 @@ public class btCollisionObject {
     return gdxBulletJNI.btCollisionObject_getInternalType(swigCPtr, this);
   }
 
-  public btTransform getWorldTransform() {
-    return new btTransform(gdxBulletJNI.btCollisionObject_getWorldTransform__SWIG_0(swigCPtr, this), false);
-  }
+  public Matrix4 getWorldTransform() {
+       return gdxBulletJNI.btCollisionObject_getWorldTransform__SWIG_0(swigCPtr, this);
+}
 
-  public void setWorldTransform(btTransform worldTrans) {
-    gdxBulletJNI.btCollisionObject_setWorldTransform(swigCPtr, this, btTransform.getCPtr(worldTrans), worldTrans);
+  public void setWorldTransform(Matrix4 worldTrans) {
+    gdxBulletJNI.btCollisionObject_setWorldTransform(swigCPtr, this, worldTrans);
   }
 
   public btBroadphaseProxy getBroadphaseHandle() {
@@ -170,12 +171,12 @@ public class btCollisionObject {
     gdxBulletJNI.btCollisionObject_setBroadphaseHandle(swigCPtr, this, btBroadphaseProxy.getCPtr(handle), handle);
   }
 
-  public btTransform getInterpolationWorldTransform() {
-    return new btTransform(gdxBulletJNI.btCollisionObject_getInterpolationWorldTransform__SWIG_0(swigCPtr, this), false);
-  }
+  public Matrix4 getInterpolationWorldTransform() {
+       return gdxBulletJNI.btCollisionObject_getInterpolationWorldTransform__SWIG_0(swigCPtr, this);
+}
 
-  public void setInterpolationWorldTransform(btTransform trans) {
-    gdxBulletJNI.btCollisionObject_setInterpolationWorldTransform(swigCPtr, this, btTransform.getCPtr(trans), trans);
+  public void setInterpolationWorldTransform(Matrix4 trans) {
+    gdxBulletJNI.btCollisionObject_setInterpolationWorldTransform(swigCPtr, this, trans);
   }
 
   public void setInterpolationLinearVelocity(Vector3 linvel) {
@@ -275,12 +276,12 @@ public class btCollisionObject {
     gdxBulletJNI.btCollisionObject_getAnisotropicFriction__SWIG_1(swigCPtr, this, out);
   }
 
-  public void getWorldTransform(btTransform out) {
-    gdxBulletJNI.btCollisionObject_getWorldTransform__SWIG_2(swigCPtr, this, btTransform.getCPtr(out), out);
+  public void getWorldTransform(Matrix4 out) {
+    gdxBulletJNI.btCollisionObject_getWorldTransform__SWIG_2(swigCPtr, this, out);
   }
 
-  public void getInterpolationWorldTransform(btTransform out) {
-    gdxBulletJNI.btCollisionObject_getInterpolationWorldTransform__SWIG_2(swigCPtr, this, btTransform.getCPtr(out), out);
+  public void getInterpolationWorldTransform(Matrix4 out) {
+    gdxBulletJNI.btCollisionObject_getInterpolationWorldTransform__SWIG_2(swigCPtr, this, out);
   }
 
   public void getInterpolationLinearVelocity(Vector3 out) {
index 251a9c7..5ec5777 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btCollisionObjectArray {
   private long swigCPtr;
index edd647f..26878f9 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btCollisionObjectDoubleData {
   private long swigCPtr;
index dc874c2..fb6affb 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btCollisionObjectFloatData {
   private long swigCPtr;
index cc275d5..be1d8d2 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btCollisionShape {
   private long swigCPtr;
@@ -129,8 +130,8 @@ public class btCollisionShape {
     throw new RuntimeException("Unknown shape type " + Integer.toString(shapeType));
   }
 
-  public void getAabb(btTransform t, Vector3 aabbMin, Vector3 aabbMax) {
-    gdxBulletJNI.btCollisionShape_getAabb(swigCPtr, this, btTransform.getCPtr(t), t, aabbMin, aabbMax);
+  public void getAabb(Matrix4 t, Vector3 aabbMin, Vector3 aabbMax) {
+    gdxBulletJNI.btCollisionShape_getAabb(swigCPtr, this, t, aabbMin, aabbMax);
   }
 
   public void getBoundingSphere(Vector3 center, SWIGTYPE_p_float radius) {
@@ -145,8 +146,8 @@ public class btCollisionShape {
     return gdxBulletJNI.btCollisionShape_getContactBreakingThreshold(swigCPtr, this, defaultContactThresholdFactor);
   }
 
-  public void calculateTemporalAabb(btTransform curTrans, Vector3 linvel, Vector3 angvel, float timeStep, Vector3 temporalAabbMin, Vector3 temporalAabbMax) {
-    gdxBulletJNI.btCollisionShape_calculateTemporalAabb(swigCPtr, this, btTransform.getCPtr(curTrans), curTrans, linvel, angvel, timeStep, temporalAabbMin, temporalAabbMax);
+  public void calculateTemporalAabb(Matrix4 curTrans, Vector3 linvel, Vector3 angvel, float timeStep, Vector3 temporalAabbMin, Vector3 temporalAabbMax) {
+    gdxBulletJNI.btCollisionShape_calculateTemporalAabb(swigCPtr, this, curTrans, linvel, angvel, timeStep, temporalAabbMin, temporalAabbMax);
   }
 
   public boolean isPolyhedral() {
index 9fecbcc..4c6158c 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btCollisionShapeData {
   private long swigCPtr;
index 0e8689a..b98242a 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btCollisionWorld {
   private long swigCPtr;
@@ -83,8 +84,8 @@ public class btCollisionWorld {
     gdxBulletJNI.btCollisionWorld_debugDrawWorld(swigCPtr, this);
   }
 
-  public void debugDrawObject(btTransform worldTransform, btCollisionShape shape, Vector3 color) {
-    gdxBulletJNI.btCollisionWorld_debugDrawObject(swigCPtr, this, btTransform.getCPtr(worldTransform), worldTransform, btCollisionShape.getCPtr(shape), shape, color);
+  public void debugDrawObject(Matrix4 worldTransform, btCollisionShape shape, Vector3 color) {
+    gdxBulletJNI.btCollisionWorld_debugDrawObject(swigCPtr, this, worldTransform, btCollisionShape.getCPtr(shape), shape, color);
   }
 
   public int getNumCollisionObjects() {
@@ -95,12 +96,12 @@ public class btCollisionWorld {
     gdxBulletJNI.btCollisionWorld_rayTest(swigCPtr, this, rayFromWorld, rayToWorld, RayResultCallback.getCPtr(resultCallback), resultCallback);
   }
 
-  public void convexSweepTest(btConvexShape castShape, btTransform from, btTransform to, ConvexResultCallback resultCallback, float allowedCcdPenetration) {
-    gdxBulletJNI.btCollisionWorld_convexSweepTest__SWIG_0(swigCPtr, this, btConvexShape.getCPtr(castShape), castShape, btTransform.getCPtr(from), from, btTransform.getCPtr(to), to, ConvexResultCallback.getCPtr(resultCallback), resultCallback, allowedCcdPenetration);
+  public void convexSweepTest(btConvexShape castShape, Matrix4 from, Matrix4 to, ConvexResultCallback resultCallback, float allowedCcdPenetration) {
+    gdxBulletJNI.btCollisionWorld_convexSweepTest__SWIG_0(swigCPtr, this, btConvexShape.getCPtr(castShape), castShape, from, to, ConvexResultCallback.getCPtr(resultCallback), resultCallback, allowedCcdPenetration);
   }
 
-  public void convexSweepTest(btConvexShape castShape, btTransform from, btTransform to, ConvexResultCallback resultCallback) {
-    gdxBulletJNI.btCollisionWorld_convexSweepTest__SWIG_1(swigCPtr, this, btConvexShape.getCPtr(castShape), castShape, btTransform.getCPtr(from), from, btTransform.getCPtr(to), to, ConvexResultCallback.getCPtr(resultCallback), resultCallback);
+  public void convexSweepTest(btConvexShape castShape, Matrix4 from, Matrix4 to, ConvexResultCallback resultCallback) {
+    gdxBulletJNI.btCollisionWorld_convexSweepTest__SWIG_1(swigCPtr, this, btConvexShape.getCPtr(castShape), castShape, from, to, ConvexResultCallback.getCPtr(resultCallback), resultCallback);
   }
 
   public void contactTest(btCollisionObject colObj, ContactResultCallback resultCallback) {
@@ -111,20 +112,20 @@ public class btCollisionWorld {
     gdxBulletJNI.btCollisionWorld_contactPairTest(swigCPtr, this, btCollisionObject.getCPtr(colObjA), colObjA, btCollisionObject.getCPtr(colObjB), colObjB, ContactResultCallback.getCPtr(resultCallback), resultCallback);
   }
 
-  public static void rayTestSingle(btTransform rayFromTrans, btTransform rayToTrans, btCollisionObject collisionObject, btCollisionShape collisionShape, btTransform colObjWorldTransform, RayResultCallback resultCallback) {
-    gdxBulletJNI.btCollisionWorld_rayTestSingle(btTransform.getCPtr(rayFromTrans), rayFromTrans, btTransform.getCPtr(rayToTrans), rayToTrans, btCollisionObject.getCPtr(collisionObject), collisionObject, btCollisionShape.getCPtr(collisionShape), collisionShape, btTransform.getCPtr(colObjWorldTransform), colObjWorldTransform, RayResultCallback.getCPtr(resultCallback), resultCallback);
+  public static void rayTestSingle(Matrix4 rayFromTrans, Matrix4 rayToTrans, btCollisionObject collisionObject, btCollisionShape collisionShape, Matrix4 colObjWorldTransform, RayResultCallback resultCallback) {
+    gdxBulletJNI.btCollisionWorld_rayTestSingle(rayFromTrans, rayToTrans, btCollisionObject.getCPtr(collisionObject), collisionObject, btCollisionShape.getCPtr(collisionShape), collisionShape, colObjWorldTransform, RayResultCallback.getCPtr(resultCallback), resultCallback);
   }
 
-  public static void rayTestSingleInternal(btTransform rayFromTrans, btTransform rayToTrans, SWIGTYPE_p_btCollisionObjectWrapper collisionObjectWrap, RayResultCallback resultCallback) {
-    gdxBulletJNI.btCollisionWorld_rayTestSingleInternal(btTransform.getCPtr(rayFromTrans), rayFromTrans, btTransform.getCPtr(rayToTrans), rayToTrans, SWIGTYPE_p_btCollisionObjectWrapper.getCPtr(collisionObjectWrap), RayResultCallback.getCPtr(resultCallback), resultCallback);
+  public static void rayTestSingleInternal(Matrix4 rayFromTrans, Matrix4 rayToTrans, SWIGTYPE_p_btCollisionObjectWrapper collisionObjectWrap, RayResultCallback resultCallback) {
+    gdxBulletJNI.btCollisionWorld_rayTestSingleInternal(rayFromTrans, rayToTrans, SWIGTYPE_p_btCollisionObjectWrapper.getCPtr(collisionObjectWrap), RayResultCallback.getCPtr(resultCallback), resultCallback);
   }
 
-  public static void objectQuerySingle(btConvexShape castShape, btTransform rayFromTrans, btTransform rayToTrans, btCollisionObject collisionObject, btCollisionShape collisionShape, btTransform colObjWorldTransform, ConvexResultCallback resultCallback, float allowedPenetration) {
-    gdxBulletJNI.btCollisionWorld_objectQuerySingle(btConvexShape.getCPtr(castShape), castShape, btTransform.getCPtr(rayFromTrans), rayFromTrans, btTransform.getCPtr(rayToTrans), rayToTrans, btCollisionObject.getCPtr(collisionObject), collisionObject, btCollisionShape.getCPtr(collisionShape), collisionShape, btTransform.getCPtr(colObjWorldTransform), colObjWorldTransform, ConvexResultCallback.getCPtr(resultCallback), resultCallback, allowedPenetration);
+  public static void objectQuerySingle(btConvexShape castShape, Matrix4 rayFromTrans, Matrix4 rayToTrans, btCollisionObject collisionObject, btCollisionShape collisionShape, Matrix4 colObjWorldTransform, ConvexResultCallback resultCallback, float allowedPenetration) {
+    gdxBulletJNI.btCollisionWorld_objectQuerySingle(btConvexShape.getCPtr(castShape), castShape, rayFromTrans, rayToTrans, btCollisionObject.getCPtr(collisionObject), collisionObject, btCollisionShape.getCPtr(collisionShape), collisionShape, colObjWorldTransform, ConvexResultCallback.getCPtr(resultCallback), resultCallback, allowedPenetration);
   }
 
-  public static void objectQuerySingleInternal(btConvexShape castShape, btTransform convexFromTrans, btTransform convexToTrans, SWIGTYPE_p_btCollisionObjectWrapper colObjWrap, ConvexResultCallback resultCallback, float allowedPenetration) {
-    gdxBulletJNI.btCollisionWorld_objectQuerySingleInternal(btConvexShape.getCPtr(castShape), castShape, btTransform.getCPtr(convexFromTrans), convexFromTrans, btTransform.getCPtr(convexToTrans), convexToTrans, SWIGTYPE_p_btCollisionObjectWrapper.getCPtr(colObjWrap), ConvexResultCallback.getCPtr(resultCallback), resultCallback, allowedPenetration);
+  public static void objectQuerySingleInternal(btConvexShape castShape, Matrix4 convexFromTrans, Matrix4 convexToTrans, SWIGTYPE_p_btCollisionObjectWrapper colObjWrap, ConvexResultCallback resultCallback, float allowedPenetration) {
+    gdxBulletJNI.btCollisionWorld_objectQuerySingleInternal(btConvexShape.getCPtr(castShape), castShape, convexFromTrans, convexToTrans, SWIGTYPE_p_btCollisionObjectWrapper.getCPtr(colObjWrap), ConvexResultCallback.getCPtr(resultCallback), resultCallback, allowedPenetration);
   }
 
   public void addCollisionObject(btCollisionObject collisionObject, short collisionFilterGroup, short collisionFilterMask) {
index 140fe35..0c6a337 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btCompoundCollisionAlgorithm extends btActivatingCollisionAlgorithm {
   private long swigCPtr;
index 87e17f0..704abe9 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btCompoundShape extends btCollisionShape {
   private long swigCPtr;
@@ -47,8 +48,8 @@ public class btCompoundShape extends btCollisionShape {
     this(gdxBulletJNI.new_btCompoundShape__SWIG_1(), true);
   }
 
-  public void addChildShape(btTransform localTransform, btCollisionShape shape) {
-    gdxBulletJNI.btCompoundShape_addChildShape(swigCPtr, this, btTransform.getCPtr(localTransform), localTransform, btCollisionShape.getCPtr(shape), shape);
+  public void addChildShape(Matrix4 localTransform, btCollisionShape shape) {
+    gdxBulletJNI.btCompoundShape_addChildShape(swigCPtr, this, localTransform, btCollisionShape.getCPtr(shape), shape);
   }
 
   public void removeChildShape(btCollisionShape shape) {
@@ -68,16 +69,16 @@ public class btCompoundShape extends btCollisionShape {
     return (cPtr == 0) ? null : btCollisionShape.newDerivedObject(cPtr, false);
   }
 
-  public btTransform getChildTransform(int index) {
-    return new btTransform(gdxBulletJNI.btCompoundShape_getChildTransform__SWIG_0(swigCPtr, this, index), false);
-  }
+  public Matrix4 getChildTransform(int index) {
+       return gdxBulletJNI.btCompoundShape_getChildTransform__SWIG_0(swigCPtr, this, index);
+}
 
-  public void updateChildTransform(int childIndex, btTransform newChildTransform, boolean shouldRecalculateLocalAabb) {
-    gdxBulletJNI.btCompoundShape_updateChildTransform__SWIG_0(swigCPtr, this, childIndex, btTransform.getCPtr(newChildTransform), newChildTransform, shouldRecalculateLocalAabb);
+  public void updateChildTransform(int childIndex, Matrix4 newChildTransform, boolean shouldRecalculateLocalAabb) {
+    gdxBulletJNI.btCompoundShape_updateChildTransform__SWIG_0(swigCPtr, this, childIndex, newChildTransform, shouldRecalculateLocalAabb);
   }
 
-  public void updateChildTransform(int childIndex, btTransform newChildTransform) {
-    gdxBulletJNI.btCompoundShape_updateChildTransform__SWIG_1(swigCPtr, this, childIndex, btTransform.getCPtr(newChildTransform), newChildTransform);
+  public void updateChildTransform(int childIndex, Matrix4 newChildTransform) {
+    gdxBulletJNI.btCompoundShape_updateChildTransform__SWIG_1(swigCPtr, this, childIndex, newChildTransform);
   }
 
   public btCompoundShapeChild getChildList() {
@@ -98,8 +99,8 @@ public class btCompoundShape extends btCollisionShape {
     gdxBulletJNI.btCompoundShape_createAabbTreeFromChildren(swigCPtr, this);
   }
 
-  public void calculatePrincipalAxisTransform(float[] masses, btTransform principal, Vector3 inertia) {
-    gdxBulletJNI.btCompoundShape_calculatePrincipalAxisTransform(swigCPtr, this, masses, btTransform.getCPtr(principal), principal, inertia);
+  public void calculatePrincipalAxisTransform(float[] masses, Matrix4 principal, Vector3 inertia) {
+    gdxBulletJNI.btCompoundShape_calculatePrincipalAxisTransform(swigCPtr, this, masses, principal, inertia);
   }
 
   public int getUpdateRevision() {
index 2c2f45f..5b8c11f 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btCompoundShapeChild {
   private long swigCPtr;
index 374f683..2564ef9 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btCompoundShapeChildData {
   private long swigCPtr;
index 1f8a7a9..60f5972 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btCompoundShapeData {
   private long swigCPtr;
index 7c7c1ea..8e700b7 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btConcaveShape extends btCollisionShape {
   private long swigCPtr;
index fb9e16e..53c8f39 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btConeShape extends btConvexInternalShape {
   private long swigCPtr;
index a4a6842..6aca2b3 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btConeShapeX extends btConeShape {
   private long swigCPtr;
index 49870ee..765044a 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btConeShapeZ extends btConeShape {
   private long swigCPtr;
index 182d392..a78db27 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btConeTwistConstraint extends btTypedConstraint {
   private long swigCPtr;
@@ -39,20 +40,20 @@ public class btConeTwistConstraint extends btTypedConstraint {
     super.delete();
   }
 
-  public btConeTwistConstraint(btRigidBody rbA, btRigidBody rbB, btTransform rbAFrame, btTransform rbBFrame) {
-    this(gdxBulletJNI.new_btConeTwistConstraint__SWIG_0(btRigidBody.getCPtr(rbA), rbA, btRigidBody.getCPtr(rbB), rbB, btTransform.getCPtr(rbAFrame), rbAFrame, btTransform.getCPtr(rbBFrame), rbBFrame), true);
+  public btConeTwistConstraint(btRigidBody rbA, btRigidBody rbB, Matrix4 rbAFrame, Matrix4 rbBFrame) {
+    this(gdxBulletJNI.new_btConeTwistConstraint__SWIG_0(btRigidBody.getCPtr(rbA), rbA, btRigidBody.getCPtr(rbB), rbB, rbAFrame, rbBFrame), true);
   }
 
-  public btConeTwistConstraint(btRigidBody rbA, btTransform rbAFrame) {
-    this(gdxBulletJNI.new_btConeTwistConstraint__SWIG_1(btRigidBody.getCPtr(rbA), rbA, btTransform.getCPtr(rbAFrame), rbAFrame), true);
+  public btConeTwistConstraint(btRigidBody rbA, Matrix4 rbAFrame) {
+    this(gdxBulletJNI.new_btConeTwistConstraint__SWIG_1(btRigidBody.getCPtr(rbA), rbA, rbAFrame), true);
   }
 
   public void getInfo1NonVirtual(SWIGTYPE_p_btTypedConstraint__btConstraintInfo1 info) {
     gdxBulletJNI.btConeTwistConstraint_getInfo1NonVirtual(swigCPtr, this, SWIGTYPE_p_btTypedConstraint__btConstraintInfo1.getCPtr(info));
   }
 
-  public void getInfo2NonVirtual(btConstraintInfo2 info, btTransform transA, btTransform transB, Matrix3 invInertiaWorldA, Matrix3 invInertiaWorldB) {
-    gdxBulletJNI.btConeTwistConstraint_getInfo2NonVirtual(swigCPtr, this, btConstraintInfo2.getCPtr(info), info, btTransform.getCPtr(transA), transA, btTransform.getCPtr(transB), transB, invInertiaWorldA, invInertiaWorldB);
+  public void getInfo2NonVirtual(btConstraintInfo2 info, Matrix4 transA, Matrix4 transB, Matrix3 invInertiaWorldA, Matrix3 invInertiaWorldB) {
+    gdxBulletJNI.btConeTwistConstraint_getInfo2NonVirtual(swigCPtr, this, btConstraintInfo2.getCPtr(info), info, transA, transB, invInertiaWorldA, invInertiaWorldB);
   }
 
   public void updateRHS(float timeStep) {
@@ -91,13 +92,13 @@ public class btConeTwistConstraint extends btTypedConstraint {
     gdxBulletJNI.btConeTwistConstraint_setLimit__SWIG_4(swigCPtr, this, _swingSpan1, _swingSpan2, _twistSpan);
   }
 
-  public btTransform getAFrame() {
-    return new btTransform(gdxBulletJNI.btConeTwistConstraint_getAFrame(swigCPtr, this), false);
-  }
+  public Matrix4 getAFrame() {
+       return gdxBulletJNI.btConeTwistConstraint_getAFrame(swigCPtr, this);
+}
 
-  public btTransform getBFrame() {
-    return new btTransform(gdxBulletJNI.btConeTwistConstraint_getBFrame(swigCPtr, this), false);
-  }
+  public Matrix4 getBFrame() {
+       return gdxBulletJNI.btConeTwistConstraint_getBFrame(swigCPtr, this);
+}
 
   public int getSolveTwistLimit() {
     return gdxBulletJNI.btConeTwistConstraint_getSolveTwistLimit(swigCPtr, this);
@@ -115,8 +116,8 @@ public class btConeTwistConstraint extends btTypedConstraint {
     gdxBulletJNI.btConeTwistConstraint_calcAngleInfo(swigCPtr, this);
   }
 
-  public void calcAngleInfo2(btTransform transA, btTransform transB, Matrix3 invInertiaWorldA, Matrix3 invInertiaWorldB) {
-    gdxBulletJNI.btConeTwistConstraint_calcAngleInfo2(swigCPtr, this, btTransform.getCPtr(transA), transA, btTransform.getCPtr(transB), transB, invInertiaWorldA, invInertiaWorldB);
+  public void calcAngleInfo2(Matrix4 transA, Matrix4 transB, Matrix3 invInertiaWorldA, Matrix3 invInertiaWorldB) {
+    gdxBulletJNI.btConeTwistConstraint_calcAngleInfo2(swigCPtr, this, transA, transB, invInertiaWorldA, invInertiaWorldB);
   }
 
   public float getSwingSpan1() {
@@ -183,17 +184,17 @@ public class btConeTwistConstraint extends btTypedConstraint {
     gdxBulletJNI.btConeTwistConstraint_setParam__SWIG_1(swigCPtr, this, num, value);
   }
 
-  public void setFrames(btTransform frameA, btTransform frameB) {
-    gdxBulletJNI.btConeTwistConstraint_setFrames(swigCPtr, this, btTransform.getCPtr(frameA), frameA, btTransform.getCPtr(frameB), frameB);
+  public void setFrames(Matrix4 frameA, Matrix4 frameB) {
+    gdxBulletJNI.btConeTwistConstraint_setFrames(swigCPtr, this, frameA, frameB);
   }
 
-  public btTransform getFrameOffsetA() {
-    return new btTransform(gdxBulletJNI.btConeTwistConstraint_getFrameOffsetA(swigCPtr, this), false);
-  }
+  public Matrix4 getFrameOffsetA() {
+       return gdxBulletJNI.btConeTwistConstraint_getFrameOffsetA(swigCPtr, this);
+}
 
-  public btTransform getFrameOffsetB() {
-    return new btTransform(gdxBulletJNI.btConeTwistConstraint_getFrameOffsetB(swigCPtr, this), false);
-  }
+  public Matrix4 getFrameOffsetB() {
+       return gdxBulletJNI.btConeTwistConstraint_getFrameOffsetB(swigCPtr, this);
+}
 
   public float getParam(int num, int axis) {
     return gdxBulletJNI.btConeTwistConstraint_getParam__SWIG_0(swigCPtr, this, num, axis);
index 55608f2..2232a42 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btConeTwistConstraintData {
   private long swigCPtr;
index 2f2d730..40b10df 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btConstraintInfo2 {
   private long swigCPtr;
index c41be57..069fd9b 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btConstraintRow {
   private long swigCPtr;
index cfaeef6..48a35de 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btConstraintSetting {
   private long swigCPtr;
index a3e6d43..5434fe7 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btConstraintSolver {
   private long swigCPtr;
index 1e146bf..cb81ab0 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btContactConstraint extends btTypedConstraint {
   private long swigCPtr;
index 1d61336..7f83a7c 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btContactSolverInfo extends btContactSolverInfoData {
   private long swigCPtr;
index 86474bf..18d3400 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btContactSolverInfoData {
   private long swigCPtr;
index 6a3040a..bbd1f50 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btContinuousConvexCollision extends btConvexCast {
   private long swigCPtr;
index 9b6eb29..43d3169 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btConvex2dConvex2dAlgorithm extends btActivatingCollisionAlgorithm {
   private long swigCPtr;
index 212c8f7..4b31e30 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btConvex2dShape extends btConvexShape {
   private long swigCPtr;
index db5d2d7..5f083f4 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btConvexCast {
   private long swigCPtr;
@@ -39,8 +40,8 @@ public class btConvexCast {
     }
   }
 
-  public boolean calcTimeOfImpact(btTransform fromA, btTransform toA, btTransform fromB, btTransform toB, SWIGTYPE_p_btConvexCast__CastResult result) {
-    return gdxBulletJNI.btConvexCast_calcTimeOfImpact(swigCPtr, this, btTransform.getCPtr(fromA), fromA, btTransform.getCPtr(toA), toA, btTransform.getCPtr(fromB), fromB, btTransform.getCPtr(toB), toB, SWIGTYPE_p_btConvexCast__CastResult.getCPtr(result));
+  public boolean calcTimeOfImpact(Matrix4 fromA, Matrix4 toA, Matrix4 fromB, Matrix4 toB, SWIGTYPE_p_btConvexCast__CastResult result) {
+    return gdxBulletJNI.btConvexCast_calcTimeOfImpact(swigCPtr, this, fromA, toA, fromB, toB, SWIGTYPE_p_btConvexCast__CastResult.getCPtr(result));
   }
 
 }
index 8ddf49d..a3434bd 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btConvexConcaveCollisionAlgorithm extends btActivatingCollisionAlgorithm {
   private long swigCPtr;
index 0f4af12..757f26d 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btConvexConvexAlgorithm extends btActivatingCollisionAlgorithm {
   private long swigCPtr;
index 0fd6943..881a6a7 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btConvexHullComputer {
   private long swigCPtr;
index ad525b7..9d03739 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btConvexHullShape extends btPolyhedralConvexAabbCachingShape {
   private long swigCPtr;
index edca703..90df8b2 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btConvexHullShapeData {
   private long swigCPtr;
index 2ab100e..3755d3e 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btConvexInternalAabbCachingShape extends btConvexInternalShape {
   private long swigCPtr;
index 9d62947..31ead5d 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btConvexInternalShape extends btConvexShape {
   private long swigCPtr;
index 5bbac22..7dd5201 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btConvexInternalShapeData {
   private long swigCPtr;
index 9e53718..612f07a 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btConvexPenetrationDepthSolver {
   private long swigCPtr;
@@ -39,8 +40,8 @@ public class btConvexPenetrationDepthSolver {
     }
   }
 
-  public boolean calcPenDepth(SWIGTYPE_p_btSimplexSolverInterface simplexSolver, btConvexShape convexA, btConvexShape convexB, btTransform transA, btTransform transB, Vector3 v, Vector3 pa, Vector3 pb, btIDebugDraw debugDraw, btStackAlloc stackAlloc) {
-    return gdxBulletJNI.btConvexPenetrationDepthSolver_calcPenDepth(swigCPtr, this, SWIGTYPE_p_btSimplexSolverInterface.getCPtr(simplexSolver), btConvexShape.getCPtr(convexA), convexA, btConvexShape.getCPtr(convexB), convexB, btTransform.getCPtr(transA), transA, btTransform.getCPtr(transB), transB, v, pa, pb, btIDebugDraw.getCPtr(debugDraw), debugDraw, btStackAlloc.getCPtr(stackAlloc), stackAlloc);
+  public boolean calcPenDepth(SWIGTYPE_p_btSimplexSolverInterface simplexSolver, btConvexShape convexA, btConvexShape convexB, Matrix4 transA, Matrix4 transB, Vector3 v, Vector3 pa, Vector3 pb, btIDebugDraw debugDraw, btStackAlloc stackAlloc) {
+    return gdxBulletJNI.btConvexPenetrationDepthSolver_calcPenDepth(swigCPtr, this, SWIGTYPE_p_btSimplexSolverInterface.getCPtr(simplexSolver), btConvexShape.getCPtr(convexA), convexA, btConvexShape.getCPtr(convexB), convexB, transA, transB, v, pa, pb, btIDebugDraw.getCPtr(debugDraw), debugDraw, btStackAlloc.getCPtr(stackAlloc), stackAlloc);
   }
 
 }
index ac1af6b..b571839 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btConvexPlaneCollisionAlgorithm extends btCollisionAlgorithm {
   private long swigCPtr;
index 24c0248..5ff4f40 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btConvexPointCloudShape extends btPolyhedralConvexAabbCachingShape {
   private long swigCPtr;
index 211d1f1..befda6a 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btConvexPolyhedron {
   private long swigCPtr;
@@ -122,8 +123,8 @@ public class btConvexPolyhedron {
     return gdxBulletJNI.btConvexPolyhedron_testContainment(swigCPtr, this);
   }
 
-  public void project(btTransform trans, Vector3 dir, SWIGTYPE_p_float min, SWIGTYPE_p_float max) {
-    gdxBulletJNI.btConvexPolyhedron_project(swigCPtr, this, btTransform.getCPtr(trans), trans, dir, SWIGTYPE_p_float.getCPtr(min), SWIGTYPE_p_float.getCPtr(max));
+  public void project(Matrix4 trans, Vector3 dir, SWIGTYPE_p_float min, SWIGTYPE_p_float max) {
+    gdxBulletJNI.btConvexPolyhedron_project(swigCPtr, this, trans, dir, SWIGTYPE_p_float.getCPtr(min), SWIGTYPE_p_float.getCPtr(max));
   }
 
 }
index b116b27..ea97b7c 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btConvexSeparatingDistanceUtil {
   private long swigCPtr;
@@ -47,12 +48,12 @@ public class btConvexSeparatingDistanceUtil {
     return gdxBulletJNI.btConvexSeparatingDistanceUtil_getConservativeSeparatingDistance(swigCPtr, this);
   }
 
-  public void updateSeparatingDistance(btTransform transA, btTransform transB) {
-    gdxBulletJNI.btConvexSeparatingDistanceUtil_updateSeparatingDistance(swigCPtr, this, btTransform.getCPtr(transA), transA, btTransform.getCPtr(transB), transB);
+  public void updateSeparatingDistance(Matrix4 transA, Matrix4 transB) {
+    gdxBulletJNI.btConvexSeparatingDistanceUtil_updateSeparatingDistance(swigCPtr, this, transA, transB);
   }
 
-  public void initSeparatingDistance(Vector3 separatingVector, float separatingDistance, btTransform transA, btTransform transB) {
-    gdxBulletJNI.btConvexSeparatingDistanceUtil_initSeparatingDistance(swigCPtr, this, separatingVector, separatingDistance, btTransform.getCPtr(transA), transA, btTransform.getCPtr(transB), transB);
+  public void initSeparatingDistance(Vector3 separatingVector, float separatingDistance, Matrix4 transA, Matrix4 transB) {
+    gdxBulletJNI.btConvexSeparatingDistanceUtil_initSeparatingDistance(swigCPtr, this, separatingVector, separatingDistance, transA, transB);
   }
 
 }
index d3e3a24..8057b26 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btConvexShape extends btCollisionShape {
   private long swigCPtr;
@@ -59,20 +60,20 @@ public class btConvexShape extends btCollisionShape {
     return gdxBulletJNI.btConvexShape_getMarginNonVirtual(swigCPtr, this);
   }
 
-  public void getAabbNonVirtual(btTransform t, Vector3 aabbMin, Vector3 aabbMax) {
-    gdxBulletJNI.btConvexShape_getAabbNonVirtual(swigCPtr, this, btTransform.getCPtr(t), t, aabbMin, aabbMax);
+  public void getAabbNonVirtual(Matrix4 t, Vector3 aabbMin, Vector3 aabbMax) {
+    gdxBulletJNI.btConvexShape_getAabbNonVirtual(swigCPtr, this, t, aabbMin, aabbMax);
   }
 
-  public void project(btTransform trans, Vector3 dir, SWIGTYPE_p_float min, SWIGTYPE_p_float max) {
-    gdxBulletJNI.btConvexShape_project(swigCPtr, this, btTransform.getCPtr(trans), trans, dir, SWIGTYPE_p_float.getCPtr(min), SWIGTYPE_p_float.getCPtr(max));
+  public void project(Matrix4 trans, Vector3 dir, SWIGTYPE_p_float min, SWIGTYPE_p_float max) {
+    gdxBulletJNI.btConvexShape_project(swigCPtr, this, trans, dir, SWIGTYPE_p_float.getCPtr(min), SWIGTYPE_p_float.getCPtr(max));
   }
 
   public void batchedUnitVectorGetSupportingVertexWithoutMargin(btVector3 vectors, btVector3 supportVerticesOut, int numVectors) {
     gdxBulletJNI.btConvexShape_batchedUnitVectorGetSupportingVertexWithoutMargin(swigCPtr, this, btVector3.getCPtr(vectors), vectors, btVector3.getCPtr(supportVerticesOut), supportVerticesOut, numVectors);
   }
 
-  public void getAabbSlow(btTransform t, Vector3 aabbMin, Vector3 aabbMax) {
-    gdxBulletJNI.btConvexShape_getAabbSlow(swigCPtr, this, btTransform.getCPtr(t), t, aabbMin, aabbMax);
+  public void getAabbSlow(Matrix4 t, Vector3 aabbMin, Vector3 aabbMax) {
+    gdxBulletJNI.btConvexShape_getAabbSlow(swigCPtr, this, t, aabbMin, aabbMax);
   }
 
   public int getNumPreferredPenetrationDirections() {
index 304c09a..75f9c3e 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btConvexTriangleCallback extends btTriangleCallback {
   private long swigCPtr;
index 40efff5..ddce09f 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btConvexTriangleMeshShape extends btPolyhedralConvexAabbCachingShape {
   private long swigCPtr;
@@ -52,8 +53,8 @@ public class btConvexTriangleMeshShape extends btPolyhedralConvexAabbCachingShap
     return (cPtr == 0) ? null : new btStridingMeshInterface(cPtr, false);
   }
 
-  public void calculatePrincipalAxisTransform(btTransform principal, Vector3 inertia, SWIGTYPE_p_float volume) {
-    gdxBulletJNI.btConvexTriangleMeshShape_calculatePrincipalAxisTransform(swigCPtr, this, btTransform.getCPtr(principal), principal, inertia, SWIGTYPE_p_float.getCPtr(volume));
+  public void calculatePrincipalAxisTransform(Matrix4 principal, Vector3 inertia, SWIGTYPE_p_float volume) {
+    gdxBulletJNI.btConvexTriangleMeshShape_calculatePrincipalAxisTransform(swigCPtr, this, principal, inertia, SWIGTYPE_p_float.getCPtr(volume));
   }
 
 }
index cc91622..f1ec110 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btCylinderShape extends btConvexInternalShape {
   private long swigCPtr;
index 498de5c..8d6d034 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btCylinderShapeData {
   private long swigCPtr;
index 07fd25f..fa68892 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btCylinderShapeX extends btCylinderShape {
   private long swigCPtr;
index 41049a7..392d7c9 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btCylinderShapeZ extends btCylinderShape {
   private long swigCPtr;
index 70de1e0..1d05971 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btDbvt {
   private long swigCPtr;
index 0fb9672..d3965ac 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btDbvtAabbMm {
   private long swigCPtr;
index 0fe1b5c..b6baf62 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btDbvtBroadphase extends btBroadphaseInterface {
   private long swigCPtr;
index 4c790dd..12cbf4e 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btDbvtNode {
   private long swigCPtr;
index 48c4333..3053190 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btDbvtProxy extends btBroadphaseProxy {
   private long swigCPtr;
index 53f5c20..2ce32f7 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btDefaultCollisionConfiguration extends btCollisionConfiguration {
   private long swigCPtr;
index 3b4170f..c648dfb 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btDefaultCollisionConstructionInfo {
   private long swigCPtr;
index b72d7c2..075aac8 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btDefaultMotionState extends btMotionState {
   private long swigCPtr;
@@ -75,28 +76,28 @@ public class btDefaultMotionState extends btMotionState {
     return (cPtr == 0) ? null : new SWIGTYPE_p_void(cPtr, false);
   }
 
-  public btDefaultMotionState(btTransform startTrans, btTransform centerOfMassOffset) {
-    this(gdxBulletJNI.new_btDefaultMotionState__SWIG_0(btTransform.getCPtr(startTrans), startTrans, btTransform.getCPtr(centerOfMassOffset), centerOfMassOffset), true);
+  public btDefaultMotionState(Matrix4 startTrans, Matrix4 centerOfMassOffset) {
+    this(gdxBulletJNI.new_btDefaultMotionState__SWIG_0(startTrans, centerOfMassOffset), true);
   }
 
-  public btDefaultMotionState(btTransform startTrans) {
-    this(gdxBulletJNI.new_btDefaultMotionState__SWIG_1(btTransform.getCPtr(startTrans), startTrans), true);
+  public btDefaultMotionState(Matrix4 startTrans) {
+    this(gdxBulletJNI.new_btDefaultMotionState__SWIG_1(startTrans), true);
   }
 
   public btDefaultMotionState() {
     this(gdxBulletJNI.new_btDefaultMotionState__SWIG_2(), true);
   }
 
-  public void getGraphicsWorldTrans(btTransform out) {
-    gdxBulletJNI.btDefaultMotionState_getGraphicsWorldTrans(swigCPtr, this, btTransform.getCPtr(out), out);
+  public void getGraphicsWorldTrans(Matrix4 out) {
+    gdxBulletJNI.btDefaultMotionState_getGraphicsWorldTrans(swigCPtr, this, out);
   }
 
-  public void getCenterOfMassOffset(btTransform out) {
-    gdxBulletJNI.btDefaultMotionState_getCenterOfMassOffset(swigCPtr, this, btTransform.getCPtr(out), out);
+  public void getCenterOfMassOffset(Matrix4 out) {
+    gdxBulletJNI.btDefaultMotionState_getCenterOfMassOffset(swigCPtr, this, out);
   }
 
-  public void getStartWorldTrans(btTransform out) {
-    gdxBulletJNI.btDefaultMotionState_getStartWorldTrans(swigCPtr, this, btTransform.getCPtr(out), out);
+  public void getStartWorldTrans(Matrix4 out) {
+    gdxBulletJNI.btDefaultMotionState_getStartWorldTrans(swigCPtr, this, out);
   }
 
 }
index 043114e..5394a94 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btDefaultVehicleRaycaster extends btVehicleRaycaster {
   private long swigCPtr;
index 15ca59c..10fac6d 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btDiscreteDynamicsWorld extends btDynamicsWorld {
   private long swigCPtr;
index c6658f9..06c8566 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btDispatcher {
   private long swigCPtr;
index 98422bc..08debfe 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btDispatcherInfo {
   private long swigCPtr;
index 6a9af1c..c46e17b 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btDynamicsWorld extends btCollisionWorld {
   private long swigCPtr;
index 4e15fff..404d51f 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btElement {
   private long swigCPtr;
index 2ce1044..2020642 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btEmptyAlgorithm extends btCollisionAlgorithm {
   private long swigCPtr;
index 21768b6..5f3d0d0 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btEmptyShape extends btConcaveShape {
   private long swigCPtr;
index df29ae8..6fb086f 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btFace {
   private long swigCPtr;
index 5a6e0c7..669159c 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btGEN_Link {
   private long swigCPtr;
index 057a9b1..76358d2 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btGEN_List {
   private long swigCPtr;
index 3544e4f..39d1bd1 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btGeneric6DofConstraint extends btTypedConstraint {
   private long swigCPtr;
@@ -47,44 +48,44 @@ public class btGeneric6DofConstraint extends btTypedConstraint {
     return gdxBulletJNI.btGeneric6DofConstraint_m_useSolveConstraintObsolete_get(swigCPtr, this);
   }
 
-  public btGeneric6DofConstraint(btRigidBody rbA, btRigidBody rbB, btTransform frameInA, btTransform frameInB, boolean useLinearReferenceFrameA) {
-    this(gdxBulletJNI.new_btGeneric6DofConstraint__SWIG_0(btRigidBody.getCPtr(rbA), rbA, btRigidBody.getCPtr(rbB), rbB, btTransform.getCPtr(frameInA), frameInA, btTransform.getCPtr(frameInB), frameInB, useLinearReferenceFrameA), true);
+  public btGeneric6DofConstraint(btRigidBody rbA, btRigidBody rbB, Matrix4 frameInA, Matrix4 frameInB, boolean useLinearReferenceFrameA) {
+    this(gdxBulletJNI.new_btGeneric6DofConstraint__SWIG_0(btRigidBody.getCPtr(rbA), rbA, btRigidBody.getCPtr(rbB), rbB, frameInA, frameInB, useLinearReferenceFrameA), true);
   }
 
-  public btGeneric6DofConstraint(btRigidBody rbB, btTransform frameInB, boolean useLinearReferenceFrameB) {
-    this(gdxBulletJNI.new_btGeneric6DofConstraint__SWIG_1(btRigidBody.getCPtr(rbB), rbB, btTransform.getCPtr(frameInB), frameInB, useLinearReferenceFrameB), true);
+  public btGeneric6DofConstraint(btRigidBody rbB, Matrix4 frameInB, boolean useLinearReferenceFrameB) {
+    this(gdxBulletJNI.new_btGeneric6DofConstraint__SWIG_1(btRigidBody.getCPtr(rbB), rbB, frameInB, useLinearReferenceFrameB), true);
   }
 
-  public void calculateTransforms(btTransform transA, btTransform transB) {
-    gdxBulletJNI.btGeneric6DofConstraint_calculateTransforms__SWIG_0(swigCPtr, this, btTransform.getCPtr(transA), transA, btTransform.getCPtr(transB), transB);
+  public void calculateTransforms(Matrix4 transA, Matrix4 transB) {
+    gdxBulletJNI.btGeneric6DofConstraint_calculateTransforms__SWIG_0(swigCPtr, this, transA, transB);
   }
 
   public void calculateTransforms() {
     gdxBulletJNI.btGeneric6DofConstraint_calculateTransforms__SWIG_1(swigCPtr, this);
   }
 
-  public btTransform getCalculatedTransformA() {
-    return new btTransform(gdxBulletJNI.btGeneric6DofConstraint_getCalculatedTransformA(swigCPtr, this), false);
-  }
+  public Matrix4 getCalculatedTransformA() {
+       return gdxBulletJNI.btGeneric6DofConstraint_getCalculatedTransformA(swigCPtr, this);
+}
 
-  public btTransform getCalculatedTransformB() {
-    return new btTransform(gdxBulletJNI.btGeneric6DofConstraint_getCalculatedTransformB(swigCPtr, this), false);
-  }
+  public Matrix4 getCalculatedTransformB() {
+       return gdxBulletJNI.btGeneric6DofConstraint_getCalculatedTransformB(swigCPtr, this);
+}
 
-  public btTransform getFrameOffsetA() {
-    return new btTransform(gdxBulletJNI.btGeneric6DofConstraint_getFrameOffsetA__SWIG_0(swigCPtr, this), false);
-  }
+  public Matrix4 getFrameOffsetA() {
+       return gdxBulletJNI.btGeneric6DofConstraint_getFrameOffsetA__SWIG_0(swigCPtr, this);
+}
 
-  public btTransform getFrameOffsetB() {
-    return new btTransform(gdxBulletJNI.btGeneric6DofConstraint_getFrameOffsetB__SWIG_0(swigCPtr, this), false);
-  }
+  public Matrix4 getFrameOffsetB() {
+       return gdxBulletJNI.btGeneric6DofConstraint_getFrameOffsetB__SWIG_0(swigCPtr, this);
+}
 
   public void getInfo1NonVirtual(SWIGTYPE_p_btTypedConstraint__btConstraintInfo1 info) {
     gdxBulletJNI.btGeneric6DofConstraint_getInfo1NonVirtual(swigCPtr, this, SWIGTYPE_p_btTypedConstraint__btConstraintInfo1.getCPtr(info));
   }
 
-  public void getInfo2NonVirtual(btConstraintInfo2 info, btTransform transA, btTransform transB, Vector3 linVelA, Vector3 linVelB, Vector3 angVelA, Vector3 angVelB) {
-    gdxBulletJNI.btGeneric6DofConstraint_getInfo2NonVirtual(swigCPtr, this, btConstraintInfo2.getCPtr(info), info, btTransform.getCPtr(transA), transA, btTransform.getCPtr(transB), transB, linVelA, linVelB, angVelA, angVelB);
+  public void getInfo2NonVirtual(btConstraintInfo2 info, Matrix4 transA, Matrix4 transB, Vector3 linVelA, Vector3 linVelB, Vector3 angVelA, Vector3 angVelB) {
+    gdxBulletJNI.btGeneric6DofConstraint_getInfo2NonVirtual(swigCPtr, this, btConstraintInfo2.getCPtr(info), info, transA, transB, linVelA, linVelB, angVelA, angVelB);
   }
 
   public void updateRHS(float timeStep) {
@@ -103,8 +104,8 @@ public class btGeneric6DofConstraint extends btTypedConstraint {
     return gdxBulletJNI.btGeneric6DofConstraint_getRelativePivotPosition(swigCPtr, this, axis_index);
   }
 
-  public void setFrames(btTransform frameA, btTransform frameB) {
-    gdxBulletJNI.btGeneric6DofConstraint_setFrames(swigCPtr, this, btTransform.getCPtr(frameA), frameA, btTransform.getCPtr(frameB), frameB);
+  public void setFrames(Matrix4 frameA, Matrix4 frameB) {
+    gdxBulletJNI.btGeneric6DofConstraint_setFrames(swigCPtr, this, frameA, frameB);
   }
 
   public boolean testAngularLimitMotor(int axis_index) {
@@ -165,12 +166,12 @@ public class btGeneric6DofConstraint extends btTypedConstraint {
     gdxBulletJNI.btGeneric6DofConstraint_calcAnchorPos(swigCPtr, this);
   }
 
-  public int get_limit_motor_info2(btRotationalLimitMotor limot, btTransform transA, btTransform transB, Vector3 linVelA, Vector3 linVelB, Vector3 angVelA, Vector3 angVelB, btConstraintInfo2 info, int row, Vector3 ax1, int rotational, int rotAllowed) {
-    return gdxBulletJNI.btGeneric6DofConstraint_get_limit_motor_info2__SWIG_0(swigCPtr, this, btRotationalLimitMotor.getCPtr(limot), limot, btTransform.getCPtr(transA), transA, btTransform.getCPtr(transB), transB, linVelA, linVelB, angVelA, angVelB, btConstraintInfo2.getCPtr(info), info, row, ax1, rotational, rotAllowed);
+  public int get_limit_motor_info2(btRotationalLimitMotor limot, Matrix4 transA, Matrix4 transB, Vector3 linVelA, Vector3 linVelB, Vector3 angVelA, Vector3 angVelB, btConstraintInfo2 info, int row, Vector3 ax1, int rotational, int rotAllowed) {
+    return gdxBulletJNI.btGeneric6DofConstraint_get_limit_motor_info2__SWIG_0(swigCPtr, this, btRotationalLimitMotor.getCPtr(limot), limot, transA, transB, linVelA, linVelB, angVelA, angVelB, btConstraintInfo2.getCPtr(info), info, row, ax1, rotational, rotAllowed);
   }
 
-  public int get_limit_motor_info2(btRotationalLimitMotor limot, btTransform transA, btTransform transB, Vector3 linVelA, Vector3 linVelB, Vector3 angVelA, Vector3 angVelB, btConstraintInfo2 info, int row, Vector3 ax1, int rotational) {
-    return gdxBulletJNI.btGeneric6DofConstraint_get_limit_motor_info2__SWIG_1(swigCPtr, this, btRotationalLimitMotor.getCPtr(limot), limot, btTransform.getCPtr(transA), transA, btTransform.getCPtr(transB), transB, linVelA, linVelB, angVelA, angVelB, btConstraintInfo2.getCPtr(info), info, row, ax1, rotational);
+  public int get_limit_motor_info2(btRotationalLimitMotor limot, Matrix4 transA, Matrix4 transB, Vector3 linVelA, Vector3 linVelB, Vector3 angVelA, Vector3 angVelB, btConstraintInfo2 info, int row, Vector3 ax1, int rotational) {
+    return gdxBulletJNI.btGeneric6DofConstraint_get_limit_motor_info2__SWIG_1(swigCPtr, this, btRotationalLimitMotor.getCPtr(limot), limot, transA, transB, linVelA, linVelB, angVelA, angVelB, btConstraintInfo2.getCPtr(info), info, row, ax1, rotational);
   }
 
   public boolean getUseFrameOffset() {
index 8ad5095..d74f642 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btGeneric6DofConstraintData {
   private long swigCPtr;
index 7322dfb..70637f6 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btGeneric6DofSpringConstraint extends btGeneric6DofConstraint {
   private long swigCPtr;
@@ -39,12 +40,12 @@ public class btGeneric6DofSpringConstraint extends btGeneric6DofConstraint {
     super.delete();
   }
 
-  public btGeneric6DofSpringConstraint(btRigidBody rbA, btRigidBody rbB, btTransform frameInA, btTransform frameInB, boolean useLinearReferenceFrameA) {
-    this(gdxBulletJNI.new_btGeneric6DofSpringConstraint__SWIG_0(btRigidBody.getCPtr(rbA), rbA, btRigidBody.getCPtr(rbB), rbB, btTransform.getCPtr(frameInA), frameInA, btTransform.getCPtr(frameInB), frameInB, useLinearReferenceFrameA), true);
+  public btGeneric6DofSpringConstraint(btRigidBody rbA, btRigidBody rbB, Matrix4 frameInA, Matrix4 frameInB, boolean useLinearReferenceFrameA) {
+    this(gdxBulletJNI.new_btGeneric6DofSpringConstraint__SWIG_0(btRigidBody.getCPtr(rbA), rbA, btRigidBody.getCPtr(rbB), rbB, frameInA, frameInB, useLinearReferenceFrameA), true);
   }
 
-  public btGeneric6DofSpringConstraint(btRigidBody rbB, btTransform frameInB, boolean useLinearReferenceFrameB) {
-    this(gdxBulletJNI.new_btGeneric6DofSpringConstraint__SWIG_1(btRigidBody.getCPtr(rbB), rbB, btTransform.getCPtr(frameInB), frameInB, useLinearReferenceFrameB), true);
+  public btGeneric6DofSpringConstraint(btRigidBody rbB, Matrix4 frameInB, boolean useLinearReferenceFrameB) {
+    this(gdxBulletJNI.new_btGeneric6DofSpringConstraint__SWIG_1(btRigidBody.getCPtr(rbB), rbB, frameInB, useLinearReferenceFrameB), true);
   }
 
   public void enableSpring(int index, boolean onOff) {
index 3dfbab3..a026020 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btGeneric6DofSpringConstraintData {
   private long swigCPtr;
index f4d21df..1ace4b2 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btGeometryUtil {
   private long swigCPtr;
index e2a3c03..fbc2a6d 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btGhostObject extends btCollisionObject {
   private long swigCPtr;
@@ -43,12 +44,12 @@ public class btGhostObject extends btCollisionObject {
     this(gdxBulletJNI.new_btGhostObject(), true);
   }
 
-  public void convexSweepTest(btConvexShape castShape, btTransform convexFromWorld, btTransform convexToWorld, ConvexResultCallback resultCallback, float allowedCcdPenetration) {
-    gdxBulletJNI.btGhostObject_convexSweepTest__SWIG_0(swigCPtr, this, btConvexShape.getCPtr(castShape), castShape, btTransform.getCPtr(convexFromWorld), convexFromWorld, btTransform.getCPtr(convexToWorld), convexToWorld, ConvexResultCallback.getCPtr(resultCallback), resultCallback, allowedCcdPenetration);
+  public void convexSweepTest(btConvexShape castShape, Matrix4 convexFromWorld, Matrix4 convexToWorld, ConvexResultCallback resultCallback, float allowedCcdPenetration) {
+    gdxBulletJNI.btGhostObject_convexSweepTest__SWIG_0(swigCPtr, this, btConvexShape.getCPtr(castShape), castShape, convexFromWorld, convexToWorld, ConvexResultCallback.getCPtr(resultCallback), resultCallback, allowedCcdPenetration);
   }
 
-  public void convexSweepTest(btConvexShape castShape, btTransform convexFromWorld, btTransform convexToWorld, ConvexResultCallback resultCallback) {
-    gdxBulletJNI.btGhostObject_convexSweepTest__SWIG_1(swigCPtr, this, btConvexShape.getCPtr(castShape), castShape, btTransform.getCPtr(convexFromWorld), convexFromWorld, btTransform.getCPtr(convexToWorld), convexToWorld, ConvexResultCallback.getCPtr(resultCallback), resultCallback);
+  public void convexSweepTest(btConvexShape castShape, Matrix4 convexFromWorld, Matrix4 convexToWorld, ConvexResultCallback resultCallback) {
+    gdxBulletJNI.btGhostObject_convexSweepTest__SWIG_1(swigCPtr, this, btConvexShape.getCPtr(castShape), castShape, convexFromWorld, convexToWorld, ConvexResultCallback.getCPtr(resultCallback), resultCallback);
   }
 
   public void rayTest(Vector3 rayFromWorld, Vector3 rayToWorld, RayResultCallback resultCallback) {
index 856adfc..2fe7834 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btGhostPairCallback extends btOverlappingPairCallback {
   private long swigCPtr;
index 34d5a15..3b55a9f 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btGjkConvexCast extends btConvexCast {
   private long swigCPtr;
index b5a2f92..394d20b 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btGjkEpaPenetrationDepthSolver extends btConvexPenetrationDepthSolver {
   private long swigCPtr;
index d2d7b10..b44b4af 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btGjkEpaSolver2 {
   private long swigCPtr;
@@ -43,24 +44,24 @@ public class btGjkEpaSolver2 {
     return gdxBulletJNI.btGjkEpaSolver2_StackSizeRequirement();
   }
 
-  public static boolean Distance(btConvexShape shape0, btTransform wtrs0, btConvexShape shape1, btTransform wtrs1, Vector3 guess, SWIGTYPE_p_btGjkEpaSolver2__sResults results) {
-    return gdxBulletJNI.btGjkEpaSolver2_Distance(btConvexShape.getCPtr(shape0), shape0, btTransform.getCPtr(wtrs0), wtrs0, btConvexShape.getCPtr(shape1), shape1, btTransform.getCPtr(wtrs1), wtrs1, guess, SWIGTYPE_p_btGjkEpaSolver2__sResults.getCPtr(results));
+  public static boolean Distance(btConvexShape shape0, Matrix4 wtrs0, btConvexShape shape1, Matrix4 wtrs1, Vector3 guess, SWIGTYPE_p_btGjkEpaSolver2__sResults results) {
+    return gdxBulletJNI.btGjkEpaSolver2_Distance(btConvexShape.getCPtr(shape0), shape0, wtrs0, btConvexShape.getCPtr(shape1), shape1, wtrs1, guess, SWIGTYPE_p_btGjkEpaSolver2__sResults.getCPtr(results));
   }
 
-  public static boolean Penetration(btConvexShape shape0, btTransform wtrs0, btConvexShape shape1, btTransform wtrs1, Vector3 guess, SWIGTYPE_p_btGjkEpaSolver2__sResults results, boolean usemargins) {
-    return gdxBulletJNI.btGjkEpaSolver2_Penetration__SWIG_0(btConvexShape.getCPtr(shape0), shape0, btTransform.getCPtr(wtrs0), wtrs0, btConvexShape.getCPtr(shape1), shape1, btTransform.getCPtr(wtrs1), wtrs1, guess, SWIGTYPE_p_btGjkEpaSolver2__sResults.getCPtr(results), usemargins);
+  public static boolean Penetration(btConvexShape shape0, Matrix4 wtrs0, btConvexShape shape1, Matrix4 wtrs1, Vector3 guess, SWIGTYPE_p_btGjkEpaSolver2__sResults results, boolean usemargins) {
+    return gdxBulletJNI.btGjkEpaSolver2_Penetration__SWIG_0(btConvexShape.getCPtr(shape0), shape0, wtrs0, btConvexShape.getCPtr(shape1), shape1, wtrs1, guess, SWIGTYPE_p_btGjkEpaSolver2__sResults.getCPtr(results), usemargins);
   }
 
-  public static boolean Penetration(btConvexShape shape0, btTransform wtrs0, btConvexShape shape1, btTransform wtrs1, Vector3 guess, SWIGTYPE_p_btGjkEpaSolver2__sResults results) {
-    return gdxBulletJNI.btGjkEpaSolver2_Penetration__SWIG_1(btConvexShape.getCPtr(shape0), shape0, btTransform.getCPtr(wtrs0), wtrs0, btConvexShape.getCPtr(shape1), shape1, btTransform.getCPtr(wtrs1), wtrs1, guess, SWIGTYPE_p_btGjkEpaSolver2__sResults.getCPtr(results));
+  public static boolean Penetration(btConvexShape shape0, Matrix4 wtrs0, btConvexShape shape1, Matrix4 wtrs1, Vector3 guess, SWIGTYPE_p_btGjkEpaSolver2__sResults results) {
+    return gdxBulletJNI.btGjkEpaSolver2_Penetration__SWIG_1(btConvexShape.getCPtr(shape0), shape0, wtrs0, btConvexShape.getCPtr(shape1), shape1, wtrs1, guess, SWIGTYPE_p_btGjkEpaSolver2__sResults.getCPtr(results));
   }
 
-  public static float SignedDistance(Vector3 position, float margin, btConvexShape shape, btTransform wtrs, SWIGTYPE_p_btGjkEpaSolver2__sResults results) {
-    return gdxBulletJNI.btGjkEpaSolver2_SignedDistance__SWIG_0(position, margin, btConvexShape.getCPtr(shape), shape, btTransform.getCPtr(wtrs), wtrs, SWIGTYPE_p_btGjkEpaSolver2__sResults.getCPtr(results));
+  public static float SignedDistance(Vector3 position, float margin, btConvexShape shape, Matrix4 wtrs, SWIGTYPE_p_btGjkEpaSolver2__sResults results) {
+    return gdxBulletJNI.btGjkEpaSolver2_SignedDistance__SWIG_0(position, margin, btConvexShape.getCPtr(shape), shape, wtrs, SWIGTYPE_p_btGjkEpaSolver2__sResults.getCPtr(results));
   }
 
-  public static boolean SignedDistance(btConvexShape shape0, btTransform wtrs0, btConvexShape shape1, btTransform wtrs1, Vector3 guess, SWIGTYPE_p_btGjkEpaSolver2__sResults results) {
-    return gdxBulletJNI.btGjkEpaSolver2_SignedDistance__SWIG_1(btConvexShape.getCPtr(shape0), shape0, btTransform.getCPtr(wtrs0), wtrs0, btConvexShape.getCPtr(shape1), shape1, btTransform.getCPtr(wtrs1), wtrs1, guess, SWIGTYPE_p_btGjkEpaSolver2__sResults.getCPtr(results));
+  public static boolean SignedDistance(btConvexShape shape0, Matrix4 wtrs0, btConvexShape shape1, Matrix4 wtrs1, Vector3 guess, SWIGTYPE_p_btGjkEpaSolver2__sResults results) {
+    return gdxBulletJNI.btGjkEpaSolver2_SignedDistance__SWIG_1(btConvexShape.getCPtr(shape0), shape0, wtrs0, btConvexShape.getCPtr(shape1), shape1, wtrs1, guess, SWIGTYPE_p_btGjkEpaSolver2__sResults.getCPtr(results));
   }
 
   public btGjkEpaSolver2() {
index ac39925..342977c 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btGjkPairDetector {
   private long swigCPtr;
index 6735e8e..79a8490 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btHashInt {
   private long swigCPtr;
index 4252bf0..61ba12f 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btHashPtr {
   private long swigCPtr;
index a132083..3d7c6cd 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btHashString {
   private long swigCPtr;
index 593674a..13dfe75 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btHashedOverlappingPairCache extends btOverlappingPairCache {
   private long swigCPtr;
index 0579cab..d38d10f 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btHeightfieldTerrainShape extends btConcaveShape {
   private long swigCPtr;
index 0fa9697..6c45a9d 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btHinge2Constraint extends btGeneric6DofSpringConstraint {
   private long swigCPtr;
index 73a8bcb..19616c8 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btHingeConstraint extends btTypedConstraint {
   private long swigCPtr;
@@ -55,36 +56,36 @@ public class btHingeConstraint extends btTypedConstraint {
     this(gdxBulletJNI.new_btHingeConstraint__SWIG_3(btRigidBody.getCPtr(rbA), rbA, pivotInA, axisInA), true);
   }
 
-  public btHingeConstraint(btRigidBody rbA, btRigidBody rbB, btTransform rbAFrame, btTransform rbBFrame, boolean useReferenceFrameA) {
-    this(gdxBulletJNI.new_btHingeConstraint__SWIG_4(btRigidBody.getCPtr(rbA), rbA, btRigidBody.getCPtr(rbB), rbB, btTransform.getCPtr(rbAFrame), rbAFrame, btTransform.getCPtr(rbBFrame), rbBFrame, useReferenceFrameA), true);
+  public btHingeConstraint(btRigidBody rbA, btRigidBody rbB, Matrix4 rbAFrame, Matrix4 rbBFrame, boolean useReferenceFrameA) {
+    this(gdxBulletJNI.new_btHingeConstraint__SWIG_4(btRigidBody.getCPtr(rbA), rbA, btRigidBody.getCPtr(rbB), rbB, rbAFrame, rbBFrame, useReferenceFrameA), true);
   }
 
-  public btHingeConstraint(btRigidBody rbA, btRigidBody rbB, btTransform rbAFrame, btTransform rbBFrame) {
-    this(gdxBulletJNI.new_btHingeConstraint__SWIG_5(btRigidBody.getCPtr(rbA), rbA, btRigidBody.getCPtr(rbB), rbB, btTransform.getCPtr(rbAFrame), rbAFrame, btTransform.getCPtr(rbBFrame), rbBFrame), true);
+  public btHingeConstraint(btRigidBody rbA, btRigidBody rbB, Matrix4 rbAFrame, Matrix4 rbBFrame) {
+    this(gdxBulletJNI.new_btHingeConstraint__SWIG_5(btRigidBody.getCPtr(rbA), rbA, btRigidBody.getCPtr(rbB), rbB, rbAFrame, rbBFrame), true);
   }
 
-  public btHingeConstraint(btRigidBody rbA, btTransform rbAFrame, boolean useReferenceFrameA) {
-    this(gdxBulletJNI.new_btHingeConstraint__SWIG_6(btRigidBody.getCPtr(rbA), rbA, btTransform.getCPtr(rbAFrame), rbAFrame, useReferenceFrameA), true);
+  public btHingeConstraint(btRigidBody rbA, Matrix4 rbAFrame, boolean useReferenceFrameA) {
+    this(gdxBulletJNI.new_btHingeConstraint__SWIG_6(btRigidBody.getCPtr(rbA), rbA, rbAFrame, useReferenceFrameA), true);
   }
 
-  public btHingeConstraint(btRigidBody rbA, btTransform rbAFrame) {
-    this(gdxBulletJNI.new_btHingeConstraint__SWIG_7(btRigidBody.getCPtr(rbA), rbA, btTransform.getCPtr(rbAFrame), rbAFrame), true);
+  public btHingeConstraint(btRigidBody rbA, Matrix4 rbAFrame) {
+    this(gdxBulletJNI.new_btHingeConstraint__SWIG_7(btRigidBody.getCPtr(rbA), rbA, rbAFrame), true);
   }
 
   public void getInfo1NonVirtual(SWIGTYPE_p_btTypedConstraint__btConstraintInfo1 info) {
     gdxBulletJNI.btHingeConstraint_getInfo1NonVirtual(swigCPtr, this, SWIGTYPE_p_btTypedConstraint__btConstraintInfo1.getCPtr(info));
   }
 
-  public void getInfo2NonVirtual(btConstraintInfo2 info, btTransform transA, btTransform transB, Vector3 angVelA, Vector3 angVelB) {
-    gdxBulletJNI.btHingeConstraint_getInfo2NonVirtual(swigCPtr, this, btConstraintInfo2.getCPtr(info), info, btTransform.getCPtr(transA), transA, btTransform.getCPtr(transB), transB, angVelA, angVelB);
+  public void getInfo2NonVirtual(btConstraintInfo2 info, Matrix4 transA, Matrix4 transB, Vector3 angVelA, Vector3 angVelB) {
+    gdxBulletJNI.btHingeConstraint_getInfo2NonVirtual(swigCPtr, this, btConstraintInfo2.getCPtr(info), info, transA, transB, angVelA, angVelB);
   }
 
-  public void getInfo2Internal(btConstraintInfo2 info, btTransform transA, btTransform transB, Vector3 angVelA, Vector3 angVelB) {
-    gdxBulletJNI.btHingeConstraint_getInfo2Internal(swigCPtr, this, btConstraintInfo2.getCPtr(info), info, btTransform.getCPtr(transA), transA, btTransform.getCPtr(transB), transB, angVelA, angVelB);
+  public void getInfo2Internal(btConstraintInfo2 info, Matrix4 transA, Matrix4 transB, Vector3 angVelA, Vector3 angVelB) {
+    gdxBulletJNI.btHingeConstraint_getInfo2Internal(swigCPtr, this, btConstraintInfo2.getCPtr(info), info, transA, transB, angVelA, angVelB);
   }
 
-  public void getInfo2InternalUsingFrameOffset(btConstraintInfo2 info, btTransform transA, btTransform transB, Vector3 angVelA, Vector3 angVelB) {
-    gdxBulletJNI.btHingeConstraint_getInfo2InternalUsingFrameOffset(swigCPtr, this, btConstraintInfo2.getCPtr(info), info, btTransform.getCPtr(transA), transA, btTransform.getCPtr(transB), transB, angVelA, angVelB);
+  public void getInfo2InternalUsingFrameOffset(btConstraintInfo2 info, Matrix4 transA, Matrix4 transB, Vector3 angVelA, Vector3 angVelB) {
+    gdxBulletJNI.btHingeConstraint_getInfo2InternalUsingFrameOffset(swigCPtr, this, btConstraintInfo2.getCPtr(info), info, transA, transB, angVelA, angVelB);
   }
 
   public void updateRHS(float timeStep) {
@@ -99,16 +100,16 @@ public class btHingeConstraint extends btTypedConstraint {
     return new btRigidBody(gdxBulletJNI.btHingeConstraint_getRigidBodyB__SWIG_0(swigCPtr, this), false);
   }
 
-  public btTransform getFrameOffsetA() {
-    return new btTransform(gdxBulletJNI.btHingeConstraint_getFrameOffsetA(swigCPtr, this), false);
-  }
+  public Matrix4 getFrameOffsetA() {
+       return gdxBulletJNI.btHingeConstraint_getFrameOffsetA(swigCPtr, this);
+}
 
-  public btTransform getFrameOffsetB() {
-    return new btTransform(gdxBulletJNI.btHingeConstraint_getFrameOffsetB(swigCPtr, this), false);
-  }
+  public Matrix4 getFrameOffsetB() {
+       return gdxBulletJNI.btHingeConstraint_getFrameOffsetB(swigCPtr, this);
+}
 
-  public void setFrames(btTransform frameA, btTransform frameB) {
-    gdxBulletJNI.btHingeConstraint_setFrames(swigCPtr, this, btTransform.getCPtr(frameA), frameA, btTransform.getCPtr(frameB), frameB);
+  public void setFrames(Matrix4 frameA, Matrix4 frameB) {
+    gdxBulletJNI.btHingeConstraint_setFrames(swigCPtr, this, frameA, frameB);
   }
 
   public void setAngularOnly(boolean angularOnly) {
@@ -167,21 +168,21 @@ public class btHingeConstraint extends btTypedConstraint {
     return gdxBulletJNI.btHingeConstraint_getHingeAngle__SWIG_0(swigCPtr, this);
   }
 
-  public float getHingeAngle(btTransform transA, btTransform transB) {
-    return gdxBulletJNI.btHingeConstraint_getHingeAngle__SWIG_1(swigCPtr, this, btTransform.getCPtr(transA), transA, btTransform.getCPtr(transB), transB);
+  public float getHingeAngle(Matrix4 transA, Matrix4 transB) {
+    return gdxBulletJNI.btHingeConstraint_getHingeAngle__SWIG_1(swigCPtr, this, transA, transB);
   }
 
-  public void testLimit(btTransform transA, btTransform transB) {
-    gdxBulletJNI.btHingeConstraint_testLimit(swigCPtr, this, btTransform.getCPtr(transA), transA, btTransform.getCPtr(transB), transB);
+  public void testLimit(Matrix4 transA, Matrix4 transB) {
+    gdxBulletJNI.btHingeConstraint_testLimit(swigCPtr, this, transA, transB);
   }
 
-  public btTransform getAFrame() {
-    return new btTransform(gdxBulletJNI.btHingeConstraint_getAFrame__SWIG_0(swigCPtr, this), false);
-  }
+  public Matrix4 getAFrame() {
+       return gdxBulletJNI.btHingeConstraint_getAFrame__SWIG_0(swigCPtr, this);
+}
 
-  public btTransform getBFrame() {
-    return new btTransform(gdxBulletJNI.btHingeConstraint_getBFrame__SWIG_0(swigCPtr, this), false);
-  }
+  public Matrix4 getBFrame() {
+       return gdxBulletJNI.btHingeConstraint_getBFrame__SWIG_0(swigCPtr, this);
+}
 
   public int getSolveLimit() {
     return gdxBulletJNI.btHingeConstraint_getSolveLimit(swigCPtr, this);
index 389cd9a..cd82375 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btHingeConstraintDoubleData {
   private long swigCPtr;
index f3cc48d..4b582d0 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btHingeConstraintFloatData {
   private long swigCPtr;
index 9a0e9c7..afac97f 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btIDebugDraw {
   private long swigCPtr;
@@ -62,8 +63,8 @@ public class btIDebugDraw {
     if (getClass() == btIDebugDraw.class) gdxBulletJNI.btIDebugDraw_drawLine__SWIG_1(swigCPtr, this, from, to, fromColor, toColor); else gdxBulletJNI.btIDebugDraw_drawLineSwigExplicitbtIDebugDraw__SWIG_1(swigCPtr, this, from, to, fromColor, toColor);
   }
 
-  public void drawSphere(float radius, btTransform transform, Vector3 color) {
-    if (getClass() == btIDebugDraw.class) gdxBulletJNI.btIDebugDraw_drawSphere__SWIG_0(swigCPtr, this, radius, btTransform.getCPtr(transform), transform, color); else gdxBulletJNI.btIDebugDraw_drawSphereSwigExplicitbtIDebugDraw__SWIG_0(swigCPtr, this, radius, btTransform.getCPtr(transform), transform, color);
+  public void drawSphere(float radius, Matrix4 transform, Vector3 color) {
+    if (getClass() == btIDebugDraw.class) gdxBulletJNI.btIDebugDraw_drawSphere__SWIG_0(swigCPtr, this, radius, transform, color); else gdxBulletJNI.btIDebugDraw_drawSphereSwigExplicitbtIDebugDraw__SWIG_0(swigCPtr, this, radius, transform, color);
   }
 
   public void drawSphere(Vector3 p, float radius, Vector3 color) {
@@ -102,8 +103,8 @@ public class btIDebugDraw {
     if (getClass() == btIDebugDraw.class) gdxBulletJNI.btIDebugDraw_drawAabb(swigCPtr, this, from, to, color); else gdxBulletJNI.btIDebugDraw_drawAabbSwigExplicitbtIDebugDraw(swigCPtr, this, from, to, color);
   }
 
-  public void drawTransform(btTransform transform, float orthoLen) {
-    if (getClass() == btIDebugDraw.class) gdxBulletJNI.btIDebugDraw_drawTransform(swigCPtr, this, btTransform.getCPtr(transform), transform, orthoLen); else gdxBulletJNI.btIDebugDraw_drawTransformSwigExplicitbtIDebugDraw(swigCPtr, this, btTransform.getCPtr(transform), transform, orthoLen);
+  public void drawTransform(Matrix4 transform, float orthoLen) {
+    if (getClass() == btIDebugDraw.class) gdxBulletJNI.btIDebugDraw_drawTransform(swigCPtr, this, transform, orthoLen); else gdxBulletJNI.btIDebugDraw_drawTransformSwigExplicitbtIDebugDraw(swigCPtr, this, transform, orthoLen);
   }
 
   public void drawArc(Vector3 center, Vector3 normal, Vector3 axis, float radiusA, float radiusB, float minAngle, float maxAngle, Vector3 color, boolean drawSect, float stepDegrees) {
@@ -126,24 +127,24 @@ public class btIDebugDraw {
     if (getClass() == btIDebugDraw.class) gdxBulletJNI.btIDebugDraw_drawBox__SWIG_0(swigCPtr, this, bbMin, bbMax, color); else gdxBulletJNI.btIDebugDraw_drawBoxSwigExplicitbtIDebugDraw__SWIG_0(swigCPtr, this, bbMin, bbMax, color);
   }
 
-  public void drawBox(Vector3 bbMin, Vector3 bbMax, btTransform trans, Vector3 color) {
-    if (getClass() == btIDebugDraw.class) gdxBulletJNI.btIDebugDraw_drawBox__SWIG_1(swigCPtr, this, bbMin, bbMax, btTransform.getCPtr(trans), trans, color); else gdxBulletJNI.btIDebugDraw_drawBoxSwigExplicitbtIDebugDraw__SWIG_1(swigCPtr, this, bbMin, bbMax, btTransform.getCPtr(trans), trans, color);
+  public void drawBox(Vector3 bbMin, Vector3 bbMax, Matrix4 trans, Vector3 color) {
+    if (getClass() == btIDebugDraw.class) gdxBulletJNI.btIDebugDraw_drawBox__SWIG_1(swigCPtr, this, bbMin, bbMax, trans, color); else gdxBulletJNI.btIDebugDraw_drawBoxSwigExplicitbtIDebugDraw__SWIG_1(swigCPtr, this, bbMin, bbMax, trans, color);
   }
 
-  public void drawCapsule(float radius, float halfHeight, int upAxis, btTransform transform, Vector3 color) {
-    if (getClass() == btIDebugDraw.class) gdxBulletJNI.btIDebugDraw_drawCapsule(swigCPtr, this, radius, halfHeight, upAxis, btTransform.getCPtr(transform), transform, color); else gdxBulletJNI.btIDebugDraw_drawCapsuleSwigExplicitbtIDebugDraw(swigCPtr, this, radius, halfHeight, upAxis, btTransform.getCPtr(transform), transform, color);
+  public void drawCapsule(float radius, float halfHeight, int upAxis, Matrix4 transform, Vector3 color) {
+    if (getClass() == btIDebugDraw.class) gdxBulletJNI.btIDebugDraw_drawCapsule(swigCPtr, this, radius, halfHeight, upAxis, transform, color); else gdxBulletJNI.btIDebugDraw_drawCapsuleSwigExplicitbtIDebugDraw(swigCPtr, this, radius, halfHeight, upAxis, transform, color);
   }
 
-  public void drawCylinder(float radius, float halfHeight, int upAxis, btTransform transform, Vector3 color) {
-    if (getClass() == btIDebugDraw.class) gdxBulletJNI.btIDebugDraw_drawCylinder(swigCPtr, this, radius, halfHeight, upAxis, btTransform.getCPtr(transform), transform, color); else gdxBulletJNI.btIDebugDraw_drawCylinderSwigExplicitbtIDebugDraw(swigCPtr, this, radius, halfHeight, upAxis, btTransform.getCPtr(transform), transform, color);
+  public void drawCylinder(float radius, float halfHeight, int upAxis, Matrix4 transform, Vector3 color) {
+    if (getClass() == btIDebugDraw.class) gdxBulletJNI.btIDebugDraw_drawCylinder(swigCPtr, this, radius, halfHeight, upAxis, transform, color); else gdxBulletJNI.btIDebugDraw_drawCylinderSwigExplicitbtIDebugDraw(swigCPtr, this, radius, halfHeight, upAxis, transform, color);
   }
 
-  public void drawCone(float radius, float height, int upAxis, btTransform transform, Vector3 color) {
-    if (getClass() == btIDebugDraw.class) gdxBulletJNI.btIDebugDraw_drawCone(swigCPtr, this, radius, height, upAxis, btTransform.getCPtr(transform), transform, color); else gdxBulletJNI.btIDebugDraw_drawConeSwigExplicitbtIDebugDraw(swigCPtr, this, radius, height, upAxis, btTransform.getCPtr(transform), transform, color);
+  public void drawCone(float radius, float height, int upAxis, Matrix4 transform, Vector3 color) {
+    if (getClass() == btIDebugDraw.class) gdxBulletJNI.btIDebugDraw_drawCone(swigCPtr, this, radius, height, upAxis, transform, color); else gdxBulletJNI.btIDebugDraw_drawConeSwigExplicitbtIDebugDraw(swigCPtr, this, radius, height, upAxis, transform, color);
   }
 
-  public void drawPlane(Vector3 planeNormal, float planeConst, btTransform transform, Vector3 color) {
-    if (getClass() == btIDebugDraw.class) gdxBulletJNI.btIDebugDraw_drawPlane(swigCPtr, this, planeNormal, planeConst, btTransform.getCPtr(transform), transform, color); else gdxBulletJNI.btIDebugDraw_drawPlaneSwigExplicitbtIDebugDraw(swigCPtr, this, planeNormal, planeConst, btTransform.getCPtr(transform), transform, color);
+  public void drawPlane(Vector3 planeNormal, float planeConst, Matrix4 transform, Vector3 color) {
+    if (getClass() == btIDebugDraw.class) gdxBulletJNI.btIDebugDraw_drawPlane(swigCPtr, this, planeNormal, planeConst, transform, color); else gdxBulletJNI.btIDebugDraw_drawPlaneSwigExplicitbtIDebugDraw(swigCPtr, this, planeNormal, planeConst, transform, color);
   }
 
   public btIDebugDraw() {
index d09e0f3..1e9b1a6 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btIndexedMesh {
   private long swigCPtr;
@@ -117,8 +118,4 @@ public class btIndexedMesh {
     gdxBulletJNI.btIndexedMesh_setVertexBase(swigCPtr, this, data, size);
   }
 
-  public void dispose() {
-    gdxBulletJNI.btIndexedMesh_dispose(swigCPtr, this);
-  }
-
 }
index a2f5e71..0ea6750 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btIntIndexData {
   private long swigCPtr;
index 99fa219..81ccfbe 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btInternalTriangleIndexCallback {
   private long swigCPtr;
index 3ecb0f8..1a36d0e 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btJacobianEntry {
   private long swigCPtr;
index 457d4f2..26384bc 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btKinematicCharacterController extends btCharacterControllerInterface {
   private long swigCPtr;
index 2005f63..097af05 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btManifoldPoint {
   private long swigCPtr;
index 6513479..9d80ebc 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btManifoldResult {
   private long swigCPtr;
index 03060aa..710c014 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btMaterial {
   private long swigCPtr;
index 4c25a3c..efaa2ae 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btMaterialProperties {
   private long swigCPtr;
index 65a76ff..f2001d0 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btMeshPartData {
   private long swigCPtr;
index 95e8b34..957923c 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btMinkowskiPenetrationDepthSolver extends btConvexPenetrationDepthSolver {
   private long swigCPtr;
index 4834aca..fee3743 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btMinkowskiSumShape extends btConvexInternalShape {
   private long swigCPtr;
@@ -43,21 +44,21 @@ public class btMinkowskiSumShape extends btConvexInternalShape {
     this(gdxBulletJNI.new_btMinkowskiSumShape(btConvexShape.getCPtr(shapeA), shapeA, btConvexShape.getCPtr(shapeB), shapeB), true);
   }
 
-  public void setTransformA(btTransform transA) {
-    gdxBulletJNI.btMinkowskiSumShape_setTransformA(swigCPtr, this, btTransform.getCPtr(transA), transA);
+  public void setTransformA(Matrix4 transA) {
+    gdxBulletJNI.btMinkowskiSumShape_setTransformA(swigCPtr, this, transA);
   }
 
-  public void setTransformB(btTransform transB) {
-    gdxBulletJNI.btMinkowskiSumShape_setTransformB(swigCPtr, this, btTransform.getCPtr(transB), transB);
+  public void setTransformB(Matrix4 transB) {
+    gdxBulletJNI.btMinkowskiSumShape_setTransformB(swigCPtr, this, transB);
   }
 
-  public btTransform getTransformA() {
-    return new btTransform(gdxBulletJNI.btMinkowskiSumShape_getTransformA(swigCPtr, this), false);
-  }
+  public Matrix4 getTransformA() {
+       return gdxBulletJNI.btMinkowskiSumShape_getTransformA(swigCPtr, this);
+}
 
-  public btTransform GetTransformB() {
-    return new btTransform(gdxBulletJNI.btMinkowskiSumShape_GetTransformB(swigCPtr, this), false);
-  }
+  public Matrix4 GetTransformB() {
+       return gdxBulletJNI.btMinkowskiSumShape_GetTransformB(swigCPtr, this);
+}
 
   public btConvexShape getShapeA() {
     long cPtr = gdxBulletJNI.btMinkowskiSumShape_getShapeA(swigCPtr, this);
index 40059f3..fa3087b 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btMotionState {
   private long swigCPtr;
@@ -54,22 +55,12 @@ public class btMotionState {
     gdxBulletJNI.btMotionState_change_ownership(this, swigCPtr, true);
   }
 
-
-  public static btMotionState newDerivedObject(long swigCPtr, boolean owner) {
-    if (swigCPtr == 0) {
-      return null;
-    }
-    
-    // There's currently just one implementation.
-    return new btDefaultMotionState(swigCPtr, owner);
-  }
-
-  public void getWorldTransform(btTransform worldTrans) {
-    gdxBulletJNI.btMotionState_getWorldTransform(swigCPtr, this, btTransform.getCPtr(worldTrans), worldTrans);
+  public void getWorldTransform(Matrix4 worldTrans) {
+    gdxBulletJNI.btMotionState_getWorldTransform(swigCPtr, this, worldTrans);
   }
 
-  public void setWorldTransform(btTransform worldTrans) {
-    gdxBulletJNI.btMotionState_setWorldTransform(swigCPtr, this, btTransform.getCPtr(worldTrans), worldTrans);
+  public void setWorldTransform(Matrix4 worldTrans) {
+    gdxBulletJNI.btMotionState_setWorldTransform(swigCPtr, this, worldTrans);
   }
 
   public btMotionState() {
index 42d32c9..8c70e0b 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btMultiSapBroadphase extends btBroadphaseInterface {
   private long swigCPtr;
index ae3d05f..d89b951 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btMultiSphereShape extends btConvexInternalAabbCachingShape {
   private long swigCPtr;
index 219632f..9f27683 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btMultiSphereShapeData {
   private long swigCPtr;
index 8042423..cc12f9b 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btMultimaterialTriangleMeshShape extends btBvhTriangleMeshShape {
   private long swigCPtr;
index 4c7f0bf..da2887a 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btNodeOverlapCallback {
   private long swigCPtr;
index 926299d..8b87366 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btNullPairCache extends btOverlappingPairCache {
   private long swigCPtr;
index d9b109f..f5079aa 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btOptimizedBvh extends btQuantizedBvh {
   private long swigCPtr;
index ac9a1e9..8cb8ffb 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btOptimizedBvhNode {
   private long swigCPtr;
index ecbcd21..035b76f 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btOptimizedBvhNodeDoubleData {
   private long swigCPtr;
index 9907835..af198fa 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btOptimizedBvhNodeFloatData {
   private long swigCPtr;
index df18a0f..547b3ff 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btOverlapCallback {
   private long swigCPtr;
index 36664eb..c768d6a 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btOverlapFilterCallback {
   private long swigCPtr;
index 3aeba6b..f790171 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btOverlappingPairCache extends btOverlappingPairCallback {
   private long swigCPtr;
index 87849c9..8f4d7ed 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btOverlappingPairCallback {
   private long swigCPtr;
index c22161a..e1023f6 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btPairCachingGhostObject extends btGhostObject {
   private long swigCPtr;
index e8f4ef9..313d7bf 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btPersistentManifold extends btTypedObject {
   private long swigCPtr;
@@ -125,8 +126,8 @@ public class btPersistentManifold extends btTypedObject {
     return gdxBulletJNI.btPersistentManifold_validContactDistance(swigCPtr, this, btManifoldPoint.getCPtr(pt), pt);
   }
 
-  public void refreshContactPoints(btTransform trA, btTransform trB) {
-    gdxBulletJNI.btPersistentManifold_refreshContactPoints(swigCPtr, this, btTransform.getCPtr(trA), trA, btTransform.getCPtr(trB), trB);
+  public void refreshContactPoints(Matrix4 trA, Matrix4 trB) {
+    gdxBulletJNI.btPersistentManifold_refreshContactPoints(swigCPtr, this, trA, trB);
   }
 
   public void clearManifold() {
index 3a43d04..5760a8f 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btPlane {
   private long swigCPtr;
index 460c6ab..ddb630e 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btPoint2PointConstraint extends btTypedConstraint {
   private long swigCPtr;
@@ -68,8 +69,8 @@ public class btPoint2PointConstraint extends btTypedConstraint {
     gdxBulletJNI.btPoint2PointConstraint_getInfo1NonVirtual(swigCPtr, this, SWIGTYPE_p_btTypedConstraint__btConstraintInfo1.getCPtr(info));
   }
 
-  public void getInfo2NonVirtual(btConstraintInfo2 info, btTransform body0_trans, btTransform body1_trans) {
-    gdxBulletJNI.btPoint2PointConstraint_getInfo2NonVirtual(swigCPtr, this, btConstraintInfo2.getCPtr(info), info, btTransform.getCPtr(body0_trans), body0_trans, btTransform.getCPtr(body1_trans), body1_trans);
+  public void getInfo2NonVirtual(btConstraintInfo2 info, Matrix4 body0_trans, Matrix4 body1_trans) {
+    gdxBulletJNI.btPoint2PointConstraint_getInfo2NonVirtual(swigCPtr, this, btConstraintInfo2.getCPtr(info), info, body0_trans, body1_trans);
   }
 
   public void updateRHS(float timeStep) {
index d3a8b53..55fac3a 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btPoint2PointConstraintDoubleData {
   private long swigCPtr;
index 07bfe9e..678f06c 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btPoint2PointConstraintFloatData {
   private long swigCPtr;
index 2281305..30480be 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btPointCollector {
   private long swigCPtr;
index 9330e27..f2b617c 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btPolyhedralContactClipping {
   private long swigCPtr;
@@ -39,16 +40,16 @@ public class btPolyhedralContactClipping {
     }
   }
 
-  public static void clipHullAgainstHull(Vector3 separatingNormal, btConvexPolyhedron hullA, btConvexPolyhedron hullB, btTransform transA, btTransform transB, float minDist, float maxDist, SWIGTYPE_p_btDiscreteCollisionDetectorInterface__Result resultOut) {
-    gdxBulletJNI.btPolyhedralContactClipping_clipHullAgainstHull(separatingNormal, btConvexPolyhedron.getCPtr(hullA), hullA, btConvexPolyhedron.getCPtr(hullB), hullB, btTransform.getCPtr(transA), transA, btTransform.getCPtr(transB), transB, minDist, maxDist, SWIGTYPE_p_btDiscreteCollisionDetectorInterface__Result.getCPtr(resultOut));
+  public static void clipHullAgainstHull(Vector3 separatingNormal, btConvexPolyhedron hullA, btConvexPolyhedron hullB, Matrix4 transA, Matrix4 transB, float minDist, float maxDist, SWIGTYPE_p_btDiscreteCollisionDetectorInterface__Result resultOut) {
+    gdxBulletJNI.btPolyhedralContactClipping_clipHullAgainstHull(separatingNormal, btConvexPolyhedron.getCPtr(hullA), hullA, btConvexPolyhedron.getCPtr(hullB), hullB, transA, transB, minDist, maxDist, SWIGTYPE_p_btDiscreteCollisionDetectorInterface__Result.getCPtr(resultOut));
   }
 
-  public static void clipFaceAgainstHull(Vector3 separatingNormal, btConvexPolyhedron hullA, btTransform transA, SWIGTYPE_p_btAlignedObjectArrayT_btVector3_t worldVertsB1, float minDist, float maxDist, SWIGTYPE_p_btDiscreteCollisionDetectorInterface__Result resultOut) {
-    gdxBulletJNI.btPolyhedralContactClipping_clipFaceAgainstHull(separatingNormal, btConvexPolyhedron.getCPtr(hullA), hullA, btTransform.getCPtr(transA), transA, SWIGTYPE_p_btAlignedObjectArrayT_btVector3_t.getCPtr(worldVertsB1), minDist, maxDist, SWIGTYPE_p_btDiscreteCollisionDetectorInterface__Result.getCPtr(resultOut));
+  public static void clipFaceAgainstHull(Vector3 separatingNormal, btConvexPolyhedron hullA, Matrix4 transA, SWIGTYPE_p_btAlignedObjectArrayT_btVector3_t worldVertsB1, float minDist, float maxDist, SWIGTYPE_p_btDiscreteCollisionDetectorInterface__Result resultOut) {
+    gdxBulletJNI.btPolyhedralContactClipping_clipFaceAgainstHull(separatingNormal, btConvexPolyhedron.getCPtr(hullA), hullA, transA, SWIGTYPE_p_btAlignedObjectArrayT_btVector3_t.getCPtr(worldVertsB1), minDist, maxDist, SWIGTYPE_p_btDiscreteCollisionDetectorInterface__Result.getCPtr(resultOut));
   }
 
-  public static boolean findSeparatingAxis(btConvexPolyhedron hullA, btConvexPolyhedron hullB, btTransform transA, btTransform transB, Vector3 sep) {
-    return gdxBulletJNI.btPolyhedralContactClipping_findSeparatingAxis(btConvexPolyhedron.getCPtr(hullA), hullA, btConvexPolyhedron.getCPtr(hullB), hullB, btTransform.getCPtr(transA), transA, btTransform.getCPtr(transB), transB, sep);
+  public static boolean findSeparatingAxis(btConvexPolyhedron hullA, btConvexPolyhedron hullB, Matrix4 transA, Matrix4 transB, Vector3 sep) {
+    return gdxBulletJNI.btPolyhedralContactClipping_findSeparatingAxis(btConvexPolyhedron.getCPtr(hullA), hullA, btConvexPolyhedron.getCPtr(hullB), hullB, transA, transB, sep);
   }
 
   public static void clipFace(SWIGTYPE_p_btAlignedObjectArrayT_btVector3_t pVtxIn, SWIGTYPE_p_btAlignedObjectArrayT_btVector3_t ppVtxOut, Vector3 planeNormalWS, float planeEqWS) {
index 65e7079..a7a1f07 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btPolyhedralConvexAabbCachingShape extends btPolyhedralConvexShape {
   private long swigCPtr;
@@ -39,8 +40,8 @@ public class btPolyhedralConvexAabbCachingShape extends btPolyhedralConvexShape
     super.delete();
   }
 
-  public void getNonvirtualAabb(btTransform trans, Vector3 aabbMin, Vector3 aabbMax, float margin) {
-    gdxBulletJNI.btPolyhedralConvexAabbCachingShape_getNonvirtualAabb(swigCPtr, this, btTransform.getCPtr(trans), trans, aabbMin, aabbMax, margin);
+  public void getNonvirtualAabb(Matrix4 trans, Vector3 aabbMin, Vector3 aabbMax, float margin) {
+    gdxBulletJNI.btPolyhedralConvexAabbCachingShape_getNonvirtualAabb(swigCPtr, this, trans, aabbMin, aabbMax, margin);
   }
 
   public void recalcLocalAabb() {
index 1aec6ad..14186cb 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btPolyhedralConvexShape extends btConvexInternalShape {
   private long swigCPtr;
index 428f428..e96685a 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btPoolAllocator {
   private long swigCPtr;
index 676ca49..455aa28 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btPositionAndRadius {
   private long swigCPtr;
index 523549a..7c194e2 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btQuantizedBvh {
   private long swigCPtr;
index f1ea4a3..3bc97e2 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btQuantizedBvhDoubleData {
   private long swigCPtr;
index ea29418..22d8c97 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btQuantizedBvhFloatData {
   private long swigCPtr;
index bfc5b17..d0486b4 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btQuantizedBvhNode {
   private long swigCPtr;
index 421cad5..bab4cdb 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btQuantizedBvhNodeData {
   private long swigCPtr;
index a5336b4..7777c39 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btQuaternion {
   private long swigCPtr;
index a2716ab..414a6e0 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btRaycastVehicle extends btActionInterface {
   private long swigCPtr;
@@ -43,9 +44,9 @@ public class btRaycastVehicle extends btActionInterface {
     this(gdxBulletJNI.new_btRaycastVehicle(btVehicleTuning.getCPtr(tuning), tuning, btRigidBody.getCPtr(chassis), chassis, btVehicleRaycaster.getCPtr(raycaster), raycaster), true);
   }
 
-  public btTransform getChassisWorldTransform() {
-    return new btTransform(gdxBulletJNI.btRaycastVehicle_getChassisWorldTransform(swigCPtr, this), false);
-  }
+  public Matrix4 getChassisWorldTransform() {
+       return gdxBulletJNI.btRaycastVehicle_getChassisWorldTransform(swigCPtr, this);
+}
 
   public float rayCast(btWheelInfo wheel) {
     return gdxBulletJNI.btRaycastVehicle_rayCast(swigCPtr, this, btWheelInfo.getCPtr(wheel), wheel);
@@ -71,9 +72,9 @@ public class btRaycastVehicle extends btActionInterface {
     gdxBulletJNI.btRaycastVehicle_applyEngineForce(swigCPtr, this, force, wheel);
   }
 
-  public btTransform getWheelTransformWS(int wheelIndex) {
-    return new btTransform(gdxBulletJNI.btRaycastVehicle_getWheelTransformWS(swigCPtr, this, wheelIndex), false);
-  }
+  public Matrix4 getWheelTransformWS(int wheelIndex) {
+       return gdxBulletJNI.btRaycastVehicle_getWheelTransformWS(swigCPtr, this, wheelIndex);
+}
 
   public void updateWheelTransform(int wheelIndex, boolean interpolatedTransform) {
     gdxBulletJNI.btRaycastVehicle_updateWheelTransform__SWIG_0(swigCPtr, this, wheelIndex, interpolatedTransform);
index 7246e04..28caa5a 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btRigidBody extends btCollisionObject {
   private long swigCPtr;
@@ -51,8 +52,8 @@ public class btRigidBody extends btCollisionObject {
     this(gdxBulletJNI.new_btRigidBody__SWIG_2(mass, btMotionState.getCPtr(motionState), motionState, btCollisionShape.getCPtr(collisionShape), collisionShape), true);
   }
 
-  public void proceedToTransform(btTransform newTrans) {
-    gdxBulletJNI.btRigidBody_proceedToTransform(swigCPtr, this, btTransform.getCPtr(newTrans), newTrans);
+  public void proceedToTransform(Matrix4 newTrans) {
+    gdxBulletJNI.btRigidBody_proceedToTransform(swigCPtr, this, newTrans);
   }
 
   public static btRigidBody upcast(btCollisionObject colObj) {
@@ -60,8 +61,8 @@ public class btRigidBody extends btCollisionObject {
     return (cPtr == 0) ? null : new btRigidBody(cPtr, false);
   }
 
-  public void predictIntegratedTransform(float step, btTransform predictedTransform) {
-    gdxBulletJNI.btRigidBody_predictIntegratedTransform(swigCPtr, this, step, btTransform.getCPtr(predictedTransform), predictedTransform);
+  public void predictIntegratedTransform(float step, Matrix4 predictedTransform) {
+    gdxBulletJNI.btRigidBody_predictIntegratedTransform(swigCPtr, this, step, predictedTransform);
   }
 
   public void saveKinematicState(float step) {
@@ -133,8 +134,8 @@ public class btRigidBody extends btCollisionObject {
     gdxBulletJNI.btRigidBody_integrateVelocities(swigCPtr, this, step);
   }
 
-  public void setCenterOfMassTransform(btTransform xform) {
-    gdxBulletJNI.btRigidBody_setCenterOfMassTransform(swigCPtr, this, btTransform.getCPtr(xform), xform);
+  public void setCenterOfMassTransform(Matrix4 xform) {
+    gdxBulletJNI.btRigidBody_setCenterOfMassTransform(swigCPtr, this, xform);
   }
 
   public void applyCentralForce(Vector3 force) {
@@ -197,9 +198,9 @@ public class btRigidBody extends btCollisionObject {
        return gdxBulletJNI.btRigidBody_getOrientation(swigCPtr, this);
 }
 
-  public btTransform getCenterOfMassTransform() {
-    return new btTransform(gdxBulletJNI.btRigidBody_getCenterOfMassTransform(swigCPtr, this), false);
-  }
+  public Matrix4 getCenterOfMassTransform() {
+       return gdxBulletJNI.btRigidBody_getCenterOfMassTransform(swigCPtr, this);
+}
 
   public Vector3 getLinearVelocity() {
        return gdxBulletJNI.btRigidBody_getLinearVelocity(swigCPtr, this);
@@ -256,7 +257,7 @@ public class btRigidBody extends btCollisionObject {
 
   public btMotionState getMotionState() {
     long cPtr = gdxBulletJNI.btRigidBody_getMotionState__SWIG_0(swigCPtr, this);
-    return (cPtr == 0) ? null : btMotionState.newDerivedObject(cPtr, false);
+    return (cPtr == 0) ? null : new btMotionState(cPtr, false);
   }
 
   public void setMotionState(btMotionState motionState) {
index 2800a41..e47c000 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btRigidBodyConstructionInfo {
   private long swigCPtr;
@@ -53,7 +54,7 @@ public class btRigidBodyConstructionInfo {
 
   public btMotionState getM_motionState() {
     long cPtr = gdxBulletJNI.btRigidBodyConstructionInfo_m_motionState_get(swigCPtr, this);
-    return (cPtr == 0) ? null : btMotionState.newDerivedObject(cPtr, false);
+    return (cPtr == 0) ? null : new btMotionState(cPtr, false);
   }
 
   public void setM_startWorldTransform(btTransform value) {
index 1a64cf0..996de32 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btRigidBodyDoubleData {
   private long swigCPtr;
index fc0047c..bfa32c7 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btRigidBodyFloatData {
   private long swigCPtr;
index e0c8de1..93a95f7 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btRotationalLimitMotor {
   private long swigCPtr;
index 70632ab..0b24a54 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btScaledBvhTriangleMeshShape extends btConcaveShape {
   private long swigCPtr;
index 4cd5917..9e23152 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btScaledTriangleMeshShapeData {
   private long swigCPtr;
index 7839565..dbeb9b3 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btSequentialImpulseConstraintSolver extends btConstraintSolver {
   private long swigCPtr;
index 80fe01b..af9d579 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btShapeHull {
   private long swigCPtr;
index ab02ae9..74250b1 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btShortIntIndexData {
   private long swigCPtr;
index 6afd1f2..40292f3 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btShortIntIndexTripletData {
   private long swigCPtr;
index 9c1b2a9..74ace0b 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btSimpleBroadphase extends btBroadphaseInterface {
   private long swigCPtr;
index 45fe79b..b00571b 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btSimpleBroadphaseProxy extends btBroadphaseProxy {
   private long swigCPtr;
index 34059e9..6da14ef 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btSimpleDynamicsWorld extends btDynamicsWorld {
   private long swigCPtr;
index 1ad7095..3e9a66d 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btSimulationIslandManager {
   private long swigCPtr;
index 45fb5f8..79728f1 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btSliderConstraint extends btTypedConstraint {
   private long swigCPtr;
@@ -39,20 +40,20 @@ public class btSliderConstraint extends btTypedConstraint {
     super.delete();
   }
 
-  public btSliderConstraint(btRigidBody rbA, btRigidBody rbB, btTransform frameInA, btTransform frameInB, boolean useLinearReferenceFrameA) {
-    this(gdxBulletJNI.new_btSliderConstraint__SWIG_0(btRigidBody.getCPtr(rbA), rbA, btRigidBody.getCPtr(rbB), rbB, btTransform.getCPtr(frameInA), frameInA, btTransform.getCPtr(frameInB), frameInB, useLinearReferenceFrameA), true);
+  public btSliderConstraint(btRigidBody rbA, btRigidBody rbB, Matrix4 frameInA, Matrix4 frameInB, boolean useLinearReferenceFrameA) {
+    this(gdxBulletJNI.new_btSliderConstraint__SWIG_0(btRigidBody.getCPtr(rbA), rbA, btRigidBody.getCPtr(rbB), rbB, frameInA, frameInB, useLinearReferenceFrameA), true);
   }
 
-  public btSliderConstraint(btRigidBody rbB, btTransform frameInB, boolean useLinearReferenceFrameA) {
-    this(gdxBulletJNI.new_btSliderConstraint__SWIG_1(btRigidBody.getCPtr(rbB), rbB, btTransform.getCPtr(frameInB), frameInB, useLinearReferenceFrameA), true);
+  public btSliderConstraint(btRigidBody rbB, Matrix4 frameInB, boolean useLinearReferenceFrameA) {
+    this(gdxBulletJNI.new_btSliderConstraint__SWIG_1(btRigidBody.getCPtr(rbB), rbB, frameInB, useLinearReferenceFrameA), true);
   }
 
   public void getInfo1NonVirtual(SWIGTYPE_p_btTypedConstraint__btConstraintInfo1 info) {
     gdxBulletJNI.btSliderConstraint_getInfo1NonVirtual(swigCPtr, this, SWIGTYPE_p_btTypedConstraint__btConstraintInfo1.getCPtr(info));
   }
 
-  public void getInfo2NonVirtual(btConstraintInfo2 info, btTransform transA, btTransform transB, Vector3 linVelA, Vector3 linVelB, float rbAinvMass, float rbBinvMass) {
-    gdxBulletJNI.btSliderConstraint_getInfo2NonVirtual(swigCPtr, this, btConstraintInfo2.getCPtr(info), info, btTransform.getCPtr(transA), transA, btTransform.getCPtr(transB), transB, linVelA, linVelB, rbAinvMass, rbBinvMass);
+  public void getInfo2NonVirtual(btConstraintInfo2 info, Matrix4 transA, Matrix4 transB, Vector3 linVelA, Vector3 linVelB, float rbAinvMass, float rbBinvMass) {
+    gdxBulletJNI.btSliderConstraint_getInfo2NonVirtual(swigCPtr, this, btConstraintInfo2.getCPtr(info), info, transA, transB, linVelA, linVelB, rbAinvMass, rbBinvMass);
   }
 
   public btRigidBody getRigidBodyA() {
@@ -63,21 +64,21 @@ public class btSliderConstraint extends btTypedConstraint {
     return new btRigidBody(gdxBulletJNI.btSliderConstraint_getRigidBodyB(swigCPtr, this), false);
   }
 
-  public btTransform getCalculatedTransformA() {
-    return new btTransform(gdxBulletJNI.btSliderConstraint_getCalculatedTransformA(swigCPtr, this), false);
-  }
+  public Matrix4 getCalculatedTransformA() {
+       return gdxBulletJNI.btSliderConstraint_getCalculatedTransformA(swigCPtr, this);
+}
 
-  public btTransform getCalculatedTransformB() {
-    return new btTransform(gdxBulletJNI.btSliderConstraint_getCalculatedTransformB(swigCPtr, this), false);
-  }
+  public Matrix4 getCalculatedTransformB() {
+       return gdxBulletJNI.btSliderConstraint_getCalculatedTransformB(swigCPtr, this);
+}
 
-  public btTransform getFrameOffsetA() {
-    return new btTransform(gdxBulletJNI.btSliderConstraint_getFrameOffsetA__SWIG_0(swigCPtr, this), false);
-  }
+  public Matrix4 getFrameOffsetA() {
+       return gdxBulletJNI.btSliderConstraint_getFrameOffsetA__SWIG_0(swigCPtr, this);
+}
 
-  public btTransform getFrameOffsetB() {
-    return new btTransform(gdxBulletJNI.btSliderConstraint_getFrameOffsetB__SWIG_0(swigCPtr, this), false);
-  }
+  public Matrix4 getFrameOffsetB() {
+       return gdxBulletJNI.btSliderConstraint_getFrameOffsetB__SWIG_0(swigCPtr, this);
+}
 
   public float getLowerLinLimit() {
     return gdxBulletJNI.btSliderConstraint_getLowerLinLimit(swigCPtr, this);
@@ -331,8 +332,8 @@ public class btSliderConstraint extends btTypedConstraint {
     return gdxBulletJNI.btSliderConstraint_getAngDepth(swigCPtr, this);
   }
 
-  public void calculateTransforms(btTransform transA, btTransform transB) {
-    gdxBulletJNI.btSliderConstraint_calculateTransforms(swigCPtr, this, btTransform.getCPtr(transA), transA, btTransform.getCPtr(transB), transB);
+  public void calculateTransforms(Matrix4 transA, Matrix4 transB) {
+    gdxBulletJNI.btSliderConstraint_calculateTransforms(swigCPtr, this, transA, transB);
   }
 
   public void testLinLimits() {
@@ -359,8 +360,8 @@ public class btSliderConstraint extends btTypedConstraint {
     gdxBulletJNI.btSliderConstraint_setUseFrameOffset(swigCPtr, this, frameOffsetOnOff);
   }
 
-  public void setFrames(btTransform frameA, btTransform frameB) {
-    gdxBulletJNI.btSliderConstraint_setFrames(swigCPtr, this, btTransform.getCPtr(frameA), frameA, btTransform.getCPtr(frameB), frameB);
+  public void setFrames(Matrix4 frameA, Matrix4 frameB) {
+    gdxBulletJNI.btSliderConstraint_setFrames(swigCPtr, this, frameA, frameB);
   }
 
   public void setParam(int num, float value, int axis) {
index 7f4ea54..58c8e45 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btSliderConstraintData {
   private long swigCPtr;
index d8e6a15..48a976d 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btSolve2LinearConstraint {
   private long swigCPtr;
index 1a18ac8..2e45d9d 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btSolverBodyObsolete {
   private long swigCPtr;
index 47c623a..b18288a 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btSolverConstraint {
   private long swigCPtr;
index 54eeebd..084c006 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btSortedOverlappingPairCache extends btOverlappingPairCache {
   private long swigCPtr;
index 9a7c1ef..4df0381 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btSphereBoxCollisionAlgorithm extends btActivatingCollisionAlgorithm {
   private long swigCPtr;
index db4d906..f17c7d8 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btSphereShape extends btConvexInternalShape {
   private long swigCPtr;
index 3de08d4..41c56e3 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btSphereSphereCollisionAlgorithm extends btActivatingCollisionAlgorithm {
   private long swigCPtr;
index 6a0614b..bff4bda 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btSphereTriangleCollisionAlgorithm extends btActivatingCollisionAlgorithm {
   private long swigCPtr;
index 3085353..0d62c8a 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btStackAlloc {
   private long swigCPtr;
index 7d43bf4..de29e34 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btStaticPlaneShape extends btConcaveShape {
   private long swigCPtr;
index e564232..1f4f6b2 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btStaticPlaneShapeData {
   private long swigCPtr;
index 1470141..1e8b1ca 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btStridingMeshInterface {
   private long swigCPtr;
index c09ff0f..a4c902e 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btStridingMeshInterfaceData {
   private long swigCPtr;
index c0ea007..db55162 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btSubSimplexClosestResult {
   private long swigCPtr;
index 4f4d077..b6642e4 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btSubsimplexConvexCast extends btConvexCast {
   private long swigCPtr;
index a51868f..c5a6f6e 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btTransform {
   private long swigCPtr;
@@ -73,12 +74,12 @@ public class btTransform {
     this(gdxBulletJNI.new_btTransform__SWIG_4(b), true);
   }
 
-  public btTransform(btTransform other) {
-    this(gdxBulletJNI.new_btTransform__SWIG_5(btTransform.getCPtr(other), other), true);
+  public btTransform(Matrix4 other) {
+    this(gdxBulletJNI.new_btTransform__SWIG_5(other), true);
   }
 
-  public void mult(btTransform t1, btTransform t2) {
-    gdxBulletJNI.btTransform_mult(swigCPtr, this, btTransform.getCPtr(t1), t1, btTransform.getCPtr(t2), t2);
+  public void mult(Matrix4 t1, Matrix4 t2) {
+    gdxBulletJNI.btTransform_mult(swigCPtr, this, t1, t2);
   }
 
   public Matrix3 getBasis() {
@@ -121,17 +122,17 @@ public class btTransform {
     gdxBulletJNI.btTransform_setIdentity(swigCPtr, this);
   }
 
-  public btTransform inverse() {
-    return new btTransform(gdxBulletJNI.btTransform_inverse(swigCPtr, this), true);
-  }
+  public Matrix4 inverse() {
+       return gdxBulletJNI.btTransform_inverse(swigCPtr, this);
+}
 
-  public btTransform inverseTimes(btTransform t) {
-    return new btTransform(gdxBulletJNI.btTransform_inverseTimes(swigCPtr, this, btTransform.getCPtr(t), t), true);
-  }
+  public Matrix4 inverseTimes(Matrix4 t) {
+       return gdxBulletJNI.btTransform_inverseTimes(swigCPtr, this, t);
+}
 
-  public static btTransform getIdentity() {
-    return new btTransform(gdxBulletJNI.btTransform_getIdentity(), false);
-  }
+  public static Matrix4 getIdentity() {
+       return gdxBulletJNI.btTransform_getIdentity();
+}
 
   public void serialize(btTransformFloatData dataOut) {
     gdxBulletJNI.btTransform_serialize(swigCPtr, this, btTransformFloatData.getCPtr(dataOut), dataOut);
index f4ce858..ef2d1fc 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btTransformDoubleData {
   private long swigCPtr;
index 2d07266..1a96b81 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btTransformFloatData {
   private long swigCPtr;
index 2331131..5e7b0d8 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btTransformUtil {
   private long swigCPtr;
@@ -39,8 +40,8 @@ public class btTransformUtil {
     }
   }
 
-  public static void integrateTransform(btTransform curTrans, Vector3 linvel, Vector3 angvel, float timeStep, btTransform predictedTransform) {
-    gdxBulletJNI.btTransformUtil_integrateTransform(btTransform.getCPtr(curTrans), curTrans, linvel, angvel, timeStep, btTransform.getCPtr(predictedTransform), predictedTransform);
+  public static void integrateTransform(Matrix4 curTrans, Vector3 linvel, Vector3 angvel, float timeStep, Matrix4 predictedTransform) {
+    gdxBulletJNI.btTransformUtil_integrateTransform(curTrans, linvel, angvel, timeStep, predictedTransform);
   }
 
   public static void calculateVelocityQuaternion(Vector3 pos0, Vector3 pos1, Quaternion orn0, Quaternion orn1, float timeStep, Vector3 linVel, Vector3 angVel) {
@@ -51,12 +52,12 @@ public class btTransformUtil {
     gdxBulletJNI.btTransformUtil_calculateDiffAxisAngleQuaternion(orn0, orn1a, axis, SWIGTYPE_p_float.getCPtr(angle));
   }
 
-  public static void calculateVelocity(btTransform transform0, btTransform transform1, float timeStep, Vector3 linVel, Vector3 angVel) {
-    gdxBulletJNI.btTransformUtil_calculateVelocity(btTransform.getCPtr(transform0), transform0, btTransform.getCPtr(transform1), transform1, timeStep, linVel, angVel);
+  public static void calculateVelocity(Matrix4 transform0, Matrix4 transform1, float timeStep, Vector3 linVel, Vector3 angVel) {
+    gdxBulletJNI.btTransformUtil_calculateVelocity(transform0, transform1, timeStep, linVel, angVel);
   }
 
-  public static void calculateDiffAxisAngle(btTransform transform0, btTransform transform1, Vector3 axis, SWIGTYPE_p_float angle) {
-    gdxBulletJNI.btTransformUtil_calculateDiffAxisAngle(btTransform.getCPtr(transform0), transform0, btTransform.getCPtr(transform1), transform1, axis, SWIGTYPE_p_float.getCPtr(angle));
+  public static void calculateDiffAxisAngle(Matrix4 transform0, Matrix4 transform1, Vector3 axis, SWIGTYPE_p_float angle) {
+    gdxBulletJNI.btTransformUtil_calculateDiffAxisAngle(transform0, transform1, axis, SWIGTYPE_p_float.getCPtr(angle));
   }
 
   public btTransformUtil() {
index e974e10..3dc59f7 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btTranslationalLimitMotor {
   private long swigCPtr;
index c60622a..9afb476 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btTriangle {
   private long swigCPtr;
index c498185..0dfdc22 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btTriangleBuffer extends btTriangleCallback {
   private long swigCPtr;
index 089ae67..91bee87 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btTriangleCallback {
   private long swigCPtr;
index d839c16..2e69081 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btTriangleConvexcastCallback extends btTriangleCallback {
   private long swigCPtr;
index 1e462ab..05a4dc1 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btTriangleIndexVertexArray extends btStridingMeshInterface {
   private long swigCPtr;
index ba788fd..e2959a8 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btTriangleIndexVertexMaterialArray extends btTriangleIndexVertexArray {
   private long swigCPtr;
index e32f239..d6164ed 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btTriangleInfo {
   private long swigCPtr;
index daec141..a7204aa 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btTriangleInfoData {
   private long swigCPtr;
index 0ea017e..17c5329 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btTriangleInfoMap {
   private long swigCPtr;
index 1e42097..67c421e 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btTriangleInfoMapData {
   private long swigCPtr;
index cc8340e..b317c50 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btTriangleMesh extends btTriangleIndexVertexArray {
   private long swigCPtr;
index ddc710e..1e13453 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btTriangleMeshShape extends btConcaveShape {
   private long swigCPtr;
index f3748ac..2359fd1 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btTriangleMeshShapeData {
   private long swigCPtr;
index 75c098f..606d2aa 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btTriangleRaycastCallback extends btTriangleCallback {
   private long swigCPtr;
index fb1b2d0..3387ae7 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btTriangleShape extends btPolyhedralConvexShape {
   private long swigCPtr;
index c4352e8..a080afd 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btTypedConstraint extends btTypedObject {
   private long swigCPtr;
index 84869a5..aaebf1b 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btTypedConstraintData {
   private long swigCPtr;
index e95165e..5d73268 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btTypedObject {
   private long swigCPtr;
index 99b5843..20be59e 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btUniformScalingShape extends btConvexShape {
   private long swigCPtr;
index 47c22b5..83b49aa 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btUnionFind {
   private long swigCPtr;
index 51da58e..92d525a 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btUniversalConstraint extends btGeneric6DofConstraint {
   private long swigCPtr;
index 2782711..f09630e 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btUsageBitfield {
   private long swigCPtr;
index 026f55f..7b04023 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btVector3 {
   private long swigCPtr;
index 1cd68e6..b7f5bc9 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btVector3DoubleData {
   private long swigCPtr;
index c66d2ff..d7c2f3e 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btVector3FloatData {
   private long swigCPtr;
index 915623a..ea6f001 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btVector4 extends btVector3 {
   private long swigCPtr;
index e575663..6f16788 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btVehicleRaycaster {
   private long swigCPtr;
index 558b561..97ffae6 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btVehicleTuning {
   private long swigCPtr;
index 3b0c196..8e051c5 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btVoronoiSimplexSolver {
   private long swigCPtr;
index 7ba3414..35e98d8 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btWheelInfo {
   private long swigCPtr;
index 4a1fca6..f9b1ca4 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class btWheelInfoConstructionInfo {
   private long swigCPtr;
index cdd5960..b6f8b97 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class gdxBullet implements gdxBulletConstants {
   public static int btGetVersion() {
@@ -249,12 +250,12 @@ public class gdxBullet implements gdxBulletConstants {
     return gdxBulletJNI.btRayAabb(rayFrom, rayTo, aabbMin, aabbMax, SWIGTYPE_p_float.getCPtr(param), normal);
   }
 
-  public static void btTransformAabb(Vector3 halfExtents, float margin, btTransform t, Vector3 aabbMinOut, Vector3 aabbMaxOut) {
-    gdxBulletJNI.btTransformAabb__SWIG_0(halfExtents, margin, btTransform.getCPtr(t), t, aabbMinOut, aabbMaxOut);
+  public static void btTransformAabb(Vector3 halfExtents, float margin, Matrix4 t, Vector3 aabbMinOut, Vector3 aabbMaxOut) {
+    gdxBulletJNI.btTransformAabb__SWIG_0(halfExtents, margin, t, aabbMinOut, aabbMaxOut);
   }
 
-  public static void btTransformAabb(Vector3 localAabbMin, Vector3 localAabbMax, float margin, btTransform trans, Vector3 aabbMinOut, Vector3 aabbMaxOut) {
-    gdxBulletJNI.btTransformAabb__SWIG_1(localAabbMin, localAabbMax, margin, btTransform.getCPtr(trans), trans, aabbMinOut, aabbMaxOut);
+  public static void btTransformAabb(Vector3 localAabbMin, Vector3 localAabbMax, float margin, Matrix4 trans, Vector3 aabbMinOut, Vector3 aabbMaxOut) {
+    gdxBulletJNI.btTransformAabb__SWIG_1(localAabbMin, localAabbMax, margin, trans, aabbMinOut, aabbMaxOut);
   }
 
   public static long testQuantizedAabbAgainstQuantizedAabb(SWIGTYPE_p_unsigned_short aabbMin1, SWIGTYPE_p_unsigned_short aabbMax1, SWIGTYPE_p_unsigned_short aabbMin2, SWIGTYPE_p_unsigned_short aabbMax2) {
index 60f80d9..f9dd5be 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public interface gdxBulletConstants {
   public final static int BT_BULLET_VERSION = 280;
index e65477f..e4adefc 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 import com.badlogic.gdx.utils.Pool;
 
 public class gdxBulletJNI {
@@ -20,6 +21,7 @@ public class gdxBulletJNI {
   private final static Vector3 _RET_VECTOR3 = new Vector3(0, 0, 0);
   private final static Quaternion _RET_QUATERNION = new Quaternion(0, 0, 0, 0);
   private final static Matrix3 _RET_MATRIX3 = new Matrix3();
+  private final static Matrix4 _RET_MATRIX4 = new Matrix4();
   
   // Used to avoid allocation for parameters in director calls into Java
   public static final Pool<Vector3> _DIR_VECTOR3 = new Pool<Vector3>() {
@@ -40,6 +42,12 @@ public class gdxBulletJNI {
       return new Matrix3();
        }
   };
+  public static final Pool<Matrix4> _DIR_MATRIX4 = new Pool<Matrix4>() {
+    @Override
+       protected Matrix4 newObject() {
+      return new Matrix4();
+       }
+  };
 
   public final static native int btGetVersion();
   public final static native float btSqrt(float jarg1);
@@ -195,15 +203,15 @@ public class gdxBulletJNI {
   public final static native int btOutcode(Vector3 jarg1, Vector3 jarg2);
   public final static native boolean btRayAabb2(Vector3 jarg1, Vector3 jarg2, long[] jarg3, long jarg4, btVector3 jarg4_, long jarg5, float jarg6, float jarg7);
   public final static native boolean btRayAabb(Vector3 jarg1, Vector3 jarg2, Vector3 jarg3, Vector3 jarg4, long jarg5, Vector3 jarg6);
-  public final static native void btTransformAabb__SWIG_0(Vector3 jarg1, float jarg2, long jarg3, btTransform jarg3_, Vector3 jarg4, Vector3 jarg5);
-  public final static native void btTransformAabb__SWIG_1(Vector3 jarg1, Vector3 jarg2, float jarg3, long jarg4, btTransform jarg4_, Vector3 jarg5, Vector3 jarg6);
+  public final static native void btTransformAabb__SWIG_0(Vector3 jarg1, float jarg2, Matrix4 jarg3, Vector3 jarg4, Vector3 jarg5);
+  public final static native void btTransformAabb__SWIG_1(Vector3 jarg1, Vector3 jarg2, float jarg3, Matrix4 jarg4, Vector3 jarg5, Vector3 jarg6);
   public final static native long testQuantizedAabbAgainstQuantizedAabb(long jarg1, long jarg2, long jarg3, long jarg4);
   public final static native void delete_btIDebugDraw(long jarg1);
   public final static native void btIDebugDraw_drawLine__SWIG_0(long jarg1, btIDebugDraw jarg1_, Vector3 jarg2, Vector3 jarg3, Vector3 jarg4);
   public final static native void btIDebugDraw_drawLine__SWIG_1(long jarg1, btIDebugDraw jarg1_, Vector3 jarg2, Vector3 jarg3, Vector3 jarg4, Vector3 jarg5);
   public final static native void btIDebugDraw_drawLineSwigExplicitbtIDebugDraw__SWIG_1(long jarg1, btIDebugDraw jarg1_, Vector3 jarg2, Vector3 jarg3, Vector3 jarg4, Vector3 jarg5);
-  public final static native void btIDebugDraw_drawSphere__SWIG_0(long jarg1, btIDebugDraw jarg1_, float jarg2, long jarg3, btTransform jarg3_, Vector3 jarg4);
-  public final static native void btIDebugDraw_drawSphereSwigExplicitbtIDebugDraw__SWIG_0(long jarg1, btIDebugDraw jarg1_, float jarg2, long jarg3, btTransform jarg3_, Vector3 jarg4);
+  public final static native void btIDebugDraw_drawSphere__SWIG_0(long jarg1, btIDebugDraw jarg1_, float jarg2, Matrix4 jarg3, Vector3 jarg4);
+  public final static native void btIDebugDraw_drawSphereSwigExplicitbtIDebugDraw__SWIG_0(long jarg1, btIDebugDraw jarg1_, float jarg2, Matrix4 jarg3, Vector3 jarg4);
   public final static native void btIDebugDraw_drawSphere__SWIG_1(long jarg1, btIDebugDraw jarg1_, Vector3 jarg2, float jarg3, Vector3 jarg4);
   public final static native void btIDebugDraw_drawSphereSwigExplicitbtIDebugDraw__SWIG_1(long jarg1, btIDebugDraw jarg1_, Vector3 jarg2, float jarg3, Vector3 jarg4);
   public final static native void btIDebugDraw_drawTriangle__SWIG_0(long jarg1, btIDebugDraw jarg1_, Vector3 jarg2, Vector3 jarg3, Vector3 jarg4, Vector3 jarg5, Vector3 jarg6, Vector3 jarg7, Vector3 jarg8, float jarg9);
@@ -217,8 +225,8 @@ public class gdxBulletJNI {
   public final static native int btIDebugDraw_getDebugMode(long jarg1, btIDebugDraw jarg1_);
   public final static native void btIDebugDraw_drawAabb(long jarg1, btIDebugDraw jarg1_, Vector3 jarg2, Vector3 jarg3, Vector3 jarg4);
   public final static native void btIDebugDraw_drawAabbSwigExplicitbtIDebugDraw(long jarg1, btIDebugDraw jarg1_, Vector3 jarg2, Vector3 jarg3, Vector3 jarg4);
-  public final static native void btIDebugDraw_drawTransform(long jarg1, btIDebugDraw jarg1_, long jarg2, btTransform jarg2_, float jarg3);
-  public final static native void btIDebugDraw_drawTransformSwigExplicitbtIDebugDraw(long jarg1, btIDebugDraw jarg1_, long jarg2, btTransform jarg2_, float jarg3);
+  public final static native void btIDebugDraw_drawTransform(long jarg1, btIDebugDraw jarg1_, Matrix4 jarg2, float jarg3);
+  public final static native void btIDebugDraw_drawTransformSwigExplicitbtIDebugDraw(long jarg1, btIDebugDraw jarg1_, Matrix4 jarg2, float jarg3);
   public final static native void btIDebugDraw_drawArc__SWIG_0(long jarg1, btIDebugDraw jarg1_, Vector3 jarg2, Vector3 jarg3, Vector3 jarg4, float jarg5, float jarg6, float jarg7, float jarg8, Vector3 jarg9, boolean jarg10, float jarg11);
   public final static native void btIDebugDraw_drawArcSwigExplicitbtIDebugDraw__SWIG_0(long jarg1, btIDebugDraw jarg1_, Vector3 jarg2, Vector3 jarg3, Vector3 jarg4, float jarg5, float jarg6, float jarg7, float jarg8, Vector3 jarg9, boolean jarg10, float jarg11);
   public final static native void btIDebugDraw_drawArc__SWIG_1(long jarg1, btIDebugDraw jarg1_, Vector3 jarg2, Vector3 jarg3, Vector3 jarg4, float jarg5, float jarg6, float jarg7, float jarg8, Vector3 jarg9, boolean jarg10);
@@ -229,16 +237,16 @@ public class gdxBulletJNI {
   public final static native void btIDebugDraw_drawSpherePatchSwigExplicitbtIDebugDraw__SWIG_1(long jarg1, btIDebugDraw jarg1_, Vector3 jarg2, Vector3 jarg3, Vector3 jarg4, float jarg5, float jarg6, float jarg7, float jarg8, float jarg9, Vector3 jarg10);
   public final static native void btIDebugDraw_drawBox__SWIG_0(long jarg1, btIDebugDraw jarg1_, Vector3 jarg2, Vector3 jarg3, Vector3 jarg4);
   public final static native void btIDebugDraw_drawBoxSwigExplicitbtIDebugDraw__SWIG_0(long jarg1, btIDebugDraw jarg1_, Vector3 jarg2, Vector3 jarg3, Vector3 jarg4);
-  public final static native void btIDebugDraw_drawBox__SWIG_1(long jarg1, btIDebugDraw jarg1_, Vector3 jarg2, Vector3 jarg3, long jarg4, btTransform jarg4_, Vector3 jarg5);
-  public final static native void btIDebugDraw_drawBoxSwigExplicitbtIDebugDraw__SWIG_1(long jarg1, btIDebugDraw jarg1_, Vector3 jarg2, Vector3 jarg3, long jarg4, btTransform jarg4_, Vector3 jarg5);
-  public final static native void btIDebugDraw_drawCapsule(long jarg1, btIDebugDraw jarg1_, float jarg2, float jarg3, int jarg4, long jarg5, btTransform jarg5_, Vector3 jarg6);
-  public final static native void btIDebugDraw_drawCapsuleSwigExplicitbtIDebugDraw(long jarg1, btIDebugDraw jarg1_, float jarg2, float jarg3, int jarg4, long jarg5, btTransform jarg5_, Vector3 jarg6);
-  public final static native void btIDebugDraw_drawCylinder(long jarg1, btIDebugDraw jarg1_, float jarg2, float jarg3, int jarg4, long jarg5, btTransform jarg5_, Vector3 jarg6);
-  public final static native void btIDebugDraw_drawCylinderSwigExplicitbtIDebugDraw(long jarg1, btIDebugDraw jarg1_, float jarg2, float jarg3, int jarg4, long jarg5, btTransform jarg5_, Vector3 jarg6);
-  public final static native void btIDebugDraw_drawCone(long jarg1, btIDebugDraw jarg1_, float jarg2, float jarg3, int jarg4, long jarg5, btTransform jarg5_, Vector3 jarg6);
-  public final static native void btIDebugDraw_drawConeSwigExplicitbtIDebugDraw(long jarg1, btIDebugDraw jarg1_, float jarg2, float jarg3, int jarg4, long jarg5, btTransform jarg5_, Vector3 jarg6);
-  public final static native void btIDebugDraw_drawPlane(long jarg1, btIDebugDraw jarg1_, Vector3 jarg2, float jarg3, long jarg4, btTransform jarg4_, Vector3 jarg5);
-  public final static native void btIDebugDraw_drawPlaneSwigExplicitbtIDebugDraw(long jarg1, btIDebugDraw jarg1_, Vector3 jarg2, float jarg3, long jarg4, btTransform jarg4_, Vector3 jarg5);
+  public final static native void btIDebugDraw_drawBox__SWIG_1(long jarg1, btIDebugDraw jarg1_, Vector3 jarg2, Vector3 jarg3, Matrix4 jarg4, Vector3 jarg5);
+  public final static native void btIDebugDraw_drawBoxSwigExplicitbtIDebugDraw__SWIG_1(long jarg1, btIDebugDraw jarg1_, Vector3 jarg2, Vector3 jarg3, Matrix4 jarg4, Vector3 jarg5);
+  public final static native void btIDebugDraw_drawCapsule(long jarg1, btIDebugDraw jarg1_, float jarg2, float jarg3, int jarg4, Matrix4 jarg5, Vector3 jarg6);
+  public final static native void btIDebugDraw_drawCapsuleSwigExplicitbtIDebugDraw(long jarg1, btIDebugDraw jarg1_, float jarg2, float jarg3, int jarg4, Matrix4 jarg5, Vector3 jarg6);
+  public final static native void btIDebugDraw_drawCylinder(long jarg1, btIDebugDraw jarg1_, float jarg2, float jarg3, int jarg4, Matrix4 jarg5, Vector3 jarg6);
+  public final static native void btIDebugDraw_drawCylinderSwigExplicitbtIDebugDraw(long jarg1, btIDebugDraw jarg1_, float jarg2, float jarg3, int jarg4, Matrix4 jarg5, Vector3 jarg6);
+  public final static native void btIDebugDraw_drawCone(long jarg1, btIDebugDraw jarg1_, float jarg2, float jarg3, int jarg4, Matrix4 jarg5, Vector3 jarg6);
+  public final static native void btIDebugDraw_drawConeSwigExplicitbtIDebugDraw(long jarg1, btIDebugDraw jarg1_, float jarg2, float jarg3, int jarg4, Matrix4 jarg5, Vector3 jarg6);
+  public final static native void btIDebugDraw_drawPlane(long jarg1, btIDebugDraw jarg1_, Vector3 jarg2, float jarg3, Matrix4 jarg4, Vector3 jarg5);
+  public final static native void btIDebugDraw_drawPlaneSwigExplicitbtIDebugDraw(long jarg1, btIDebugDraw jarg1_, Vector3 jarg2, float jarg3, Matrix4 jarg4, Vector3 jarg5);
   public final static native long new_btIDebugDraw();
   public final static native void btIDebugDraw_director_connect(btIDebugDraw obj, long cptr, boolean mem_own, boolean weak_global);
   public final static native void btIDebugDraw_change_ownership(btIDebugDraw obj, long cptr, boolean take_or_release);
@@ -256,8 +264,8 @@ public class gdxBulletJNI {
   public final static native long new_btTransform__SWIG_2(Quaternion jarg1);
   public final static native long new_btTransform__SWIG_3(Matrix3 jarg1, Vector3 jarg2);
   public final static native long new_btTransform__SWIG_4(Matrix3 jarg1);
-  public final static native long new_btTransform__SWIG_5(long jarg1, btTransform jarg1_);
-  public final static native void btTransform_mult(long jarg1, btTransform jarg1_, long jarg2, btTransform jarg2_, long jarg3, btTransform jarg3_);
+  public final static native long new_btTransform__SWIG_5(Matrix4 jarg1);
+  public final static native void btTransform_mult(long jarg1, btTransform jarg1_, Matrix4 jarg2, Matrix4 jarg3);
   public final static native Matrix3 btTransform_getBasis__SWIG_0(long jarg1, btTransform jarg1_);
   public final static native Vector3 btTransform_getOrigin__SWIG_0(long jarg1, btTransform jarg1_);
   public final static native Quaternion btTransform_getRotation(long jarg1, btTransform jarg1_);
@@ -268,9 +276,9 @@ public class gdxBulletJNI {
   public final static native void btTransform_setBasis(long jarg1, btTransform jarg1_, Matrix3 jarg2);
   public final static native void btTransform_setRotation(long jarg1, btTransform jarg1_, Quaternion jarg2);
   public final static native void btTransform_setIdentity(long jarg1, btTransform jarg1_);
-  public final static native long btTransform_inverse(long jarg1, btTransform jarg1_);
-  public final static native long btTransform_inverseTimes(long jarg1, btTransform jarg1_, long jarg2, btTransform jarg2_);
-  public final static native long btTransform_getIdentity();
+  public final static native Matrix4 btTransform_inverse(long jarg1, btTransform jarg1_);
+  public final static native Matrix4 btTransform_inverseTimes(long jarg1, btTransform jarg1_, Matrix4 jarg2);
+  public final static native Matrix4 btTransform_getIdentity();
   public final static native void btTransform_serialize(long jarg1, btTransform jarg1_, long jarg2, btTransformFloatData jarg2_);
   public final static native void btTransform_serializeFloat(long jarg1, btTransform jarg1_, long jarg2, btTransformFloatData jarg2_);
   public final static native void btTransform_deSerialize(long jarg1, btTransform jarg1_, long jarg2, btTransformFloatData jarg2_);
@@ -290,21 +298,21 @@ public class gdxBulletJNI {
   public final static native long new_btTransformDoubleData();
   public final static native void delete_btTransformDoubleData(long jarg1);
   public final static native Vector3 btAabbSupport(Vector3 jarg1, Vector3 jarg2);
-  public final static native void btTransformUtil_integrateTransform(long jarg1, btTransform jarg1_, Vector3 jarg2, Vector3 jarg3, float jarg4, long jarg5, btTransform jarg5_);
+  public final static native void btTransformUtil_integrateTransform(Matrix4 jarg1, Vector3 jarg2, Vector3 jarg3, float jarg4, Matrix4 jarg5);
   public final static native void btTransformUtil_calculateVelocityQuaternion(Vector3 jarg1, Vector3 jarg2, Quaternion jarg3, Quaternion jarg4, float jarg5, Vector3 jarg6, Vector3 jarg7);
   public final static native void btTransformUtil_calculateDiffAxisAngleQuaternion(Quaternion jarg1, Quaternion jarg2, Vector3 jarg3, long jarg4);
-  public final static native void btTransformUtil_calculateVelocity(long jarg1, btTransform jarg1_, long jarg2, btTransform jarg2_, float jarg3, Vector3 jarg4, Vector3 jarg5);
-  public final static native void btTransformUtil_calculateDiffAxisAngle(long jarg1, btTransform jarg1_, long jarg2, btTransform jarg2_, Vector3 jarg3, long jarg4);
+  public final static native void btTransformUtil_calculateVelocity(Matrix4 jarg1, Matrix4 jarg2, float jarg3, Vector3 jarg4, Vector3 jarg5);
+  public final static native void btTransformUtil_calculateDiffAxisAngle(Matrix4 jarg1, Matrix4 jarg2, Vector3 jarg3, long jarg4);
   public final static native long new_btTransformUtil();
   public final static native void delete_btTransformUtil(long jarg1);
   public final static native long new_btConvexSeparatingDistanceUtil(float jarg1, float jarg2);
   public final static native float btConvexSeparatingDistanceUtil_getConservativeSeparatingDistance(long jarg1, btConvexSeparatingDistanceUtil jarg1_);
-  public final static native void btConvexSeparatingDistanceUtil_updateSeparatingDistance(long jarg1, btConvexSeparatingDistanceUtil jarg1_, long jarg2, btTransform jarg2_, long jarg3, btTransform jarg3_);
-  public final static native void btConvexSeparatingDistanceUtil_initSeparatingDistance(long jarg1, btConvexSeparatingDistanceUtil jarg1_, Vector3 jarg2, float jarg3, long jarg4, btTransform jarg4_, long jarg5, btTransform jarg5_);
+  public final static native void btConvexSeparatingDistanceUtil_updateSeparatingDistance(long jarg1, btConvexSeparatingDistanceUtil jarg1_, Matrix4 jarg2, Matrix4 jarg3);
+  public final static native void btConvexSeparatingDistanceUtil_initSeparatingDistance(long jarg1, btConvexSeparatingDistanceUtil jarg1_, Vector3 jarg2, float jarg3, Matrix4 jarg4, Matrix4 jarg5);
   public final static native void delete_btConvexSeparatingDistanceUtil(long jarg1);
   public final static native void delete_btMotionState(long jarg1);
-  public final static native void btMotionState_getWorldTransform(long jarg1, btMotionState jarg1_, long jarg2, btTransform jarg2_);
-  public final static native void btMotionState_setWorldTransform(long jarg1, btMotionState jarg1_, long jarg2, btTransform jarg2_);
+  public final static native void btMotionState_getWorldTransform(long jarg1, btMotionState jarg1_, Matrix4 jarg2);
+  public final static native void btMotionState_setWorldTransform(long jarg1, btMotionState jarg1_, Matrix4 jarg2);
   public final static native long new_btMotionState();
   public final static native void btMotionState_director_connect(btMotionState obj, long cptr, boolean mem_own, boolean weak_global);
   public final static native void btMotionState_change_ownership(btMotionState obj, long cptr, boolean take_or_release);
@@ -316,12 +324,12 @@ public class gdxBulletJNI {
   public final static native long btDefaultMotionState_m_startWorldTrans_get(long jarg1, btDefaultMotionState jarg1_);
   public final static native void btDefaultMotionState_m_userPointer_set(long jarg1, btDefaultMotionState jarg1_, long jarg2);
   public final static native long btDefaultMotionState_m_userPointer_get(long jarg1, btDefaultMotionState jarg1_);
-  public final static native long new_btDefaultMotionState__SWIG_0(long jarg1, btTransform jarg1_, long jarg2, btTransform jarg2_);
-  public final static native long new_btDefaultMotionState__SWIG_1(long jarg1, btTransform jarg1_);
+  public final static native long new_btDefaultMotionState__SWIG_0(Matrix4 jarg1, Matrix4 jarg2);
+  public final static native long new_btDefaultMotionState__SWIG_1(Matrix4 jarg1);
   public final static native long new_btDefaultMotionState__SWIG_2();
-  public final static native void btDefaultMotionState_getGraphicsWorldTrans(long jarg1, btDefaultMotionState jarg1_, long jarg2, btTransform jarg2_);
-  public final static native void btDefaultMotionState_getCenterOfMassOffset(long jarg1, btDefaultMotionState jarg1_, long jarg2, btTransform jarg2_);
-  public final static native void btDefaultMotionState_getStartWorldTrans(long jarg1, btDefaultMotionState jarg1_, long jarg2, btTransform jarg2_);
+  public final static native void btDefaultMotionState_getGraphicsWorldTrans(long jarg1, btDefaultMotionState jarg1_, Matrix4 jarg2);
+  public final static native void btDefaultMotionState_getCenterOfMassOffset(long jarg1, btDefaultMotionState jarg1_, Matrix4 jarg2);
+  public final static native void btDefaultMotionState_getStartWorldTrans(long jarg1, btDefaultMotionState jarg1_, Matrix4 jarg2);
   public final static native void delete_btDefaultMotionState(long jarg1);
   public final static native long new_HullResult();
   public final static native void HullResult_mPolygons_set(long jarg1, HullResult jarg1_, boolean jarg2);
@@ -1008,11 +1016,11 @@ public class gdxBulletJNI {
   public final static native long new_btNullPairCache();
   public final static native void delete_btNullPairCache(long jarg1);
   public final static native void delete_btCollisionShape(long jarg1);
-  public final static native void btCollisionShape_getAabb(long jarg1, btCollisionShape jarg1_, long jarg2, btTransform jarg2_, Vector3 jarg3, Vector3 jarg4);
+  public final static native void btCollisionShape_getAabb(long jarg1, btCollisionShape jarg1_, Matrix4 jarg2, Vector3 jarg3, Vector3 jarg4);
   public final static native void btCollisionShape_getBoundingSphere(long jarg1, btCollisionShape jarg1_, Vector3 jarg2, long jarg3);
   public final static native float btCollisionShape_getAngularMotionDisc(long jarg1, btCollisionShape jarg1_);
   public final static native float btCollisionShape_getContactBreakingThreshold(long jarg1, btCollisionShape jarg1_, float jarg2);
-  public final static native void btCollisionShape_calculateTemporalAabb(long jarg1, btCollisionShape jarg1_, long jarg2, btTransform jarg2_, Vector3 jarg3, Vector3 jarg4, float jarg5, Vector3 jarg6, Vector3 jarg7);
+  public final static native void btCollisionShape_calculateTemporalAabb(long jarg1, btCollisionShape jarg1_, Matrix4 jarg2, Vector3 jarg3, Vector3 jarg4, float jarg5, Vector3 jarg6, Vector3 jarg7);
   public final static native boolean btCollisionShape_isPolyhedral(long jarg1, btCollisionShape jarg1_);
   public final static native boolean btCollisionShape_isConvex2d(long jarg1, btCollisionShape jarg1_);
   public final static native boolean btCollisionShape_isConvex(long jarg1, btCollisionShape jarg1_);
@@ -1047,10 +1055,10 @@ public class gdxBulletJNI {
   public final static native Vector3 btConvexShape_localGetSupportVertexWithoutMarginNonVirtual(long jarg1, btConvexShape jarg1_, Vector3 jarg2);
   public final static native Vector3 btConvexShape_localGetSupportVertexNonVirtual(long jarg1, btConvexShape jarg1_, Vector3 jarg2);
   public final static native float btConvexShape_getMarginNonVirtual(long jarg1, btConvexShape jarg1_);
-  public final static native void btConvexShape_getAabbNonVirtual(long jarg1, btConvexShape jarg1_, long jarg2, btTransform jarg2_, Vector3 jarg3, Vector3 jarg4);
-  public final static native void btConvexShape_project(long jarg1, btConvexShape jarg1_, long jarg2, btTransform jarg2_, Vector3 jarg3, long jarg4, long jarg5);
+  public final static native void btConvexShape_getAabbNonVirtual(long jarg1, btConvexShape jarg1_, Matrix4 jarg2, Vector3 jarg3, Vector3 jarg4);
+  public final static native void btConvexShape_project(long jarg1, btConvexShape jarg1_, Matrix4 jarg2, Vector3 jarg3, long jarg4, long jarg5);
   public final static native void btConvexShape_batchedUnitVectorGetSupportingVertexWithoutMargin(long jarg1, btConvexShape jarg1_, long jarg2, btVector3 jarg2_, long jarg3, btVector3 jarg3_, int jarg4);
-  public final static native void btConvexShape_getAabbSlow(long jarg1, btConvexShape jarg1_, long jarg2, btTransform jarg2_, Vector3 jarg3, Vector3 jarg4);
+  public final static native void btConvexShape_getAabbSlow(long jarg1, btConvexShape jarg1_, Matrix4 jarg2, Vector3 jarg3, Vector3 jarg4);
   public final static native int btConvexShape_getNumPreferredPenetrationDirections(long jarg1, btConvexShape jarg1_);
   public final static native void btConvexShape_getPreferredPenetrationDirection(long jarg1, btConvexShape jarg1_, int jarg2, Vector3 jarg3);
   public final static native void delete_btConvexInternalShape(long jarg1);
@@ -1086,7 +1094,7 @@ public class gdxBulletJNI {
   public final static native int btPolyhedralConvexShape_getNumPlanes(long jarg1, btPolyhedralConvexShape jarg1_);
   public final static native void btPolyhedralConvexShape_getPlane(long jarg1, btPolyhedralConvexShape jarg1_, Vector3 jarg2, Vector3 jarg3, int jarg4);
   public final static native boolean btPolyhedralConvexShape_isInside(long jarg1, btPolyhedralConvexShape jarg1_, Vector3 jarg2, float jarg3);
-  public final static native void btPolyhedralConvexAabbCachingShape_getNonvirtualAabb(long jarg1, btPolyhedralConvexAabbCachingShape jarg1_, long jarg2, btTransform jarg2_, Vector3 jarg3, Vector3 jarg4, float jarg5);
+  public final static native void btPolyhedralConvexAabbCachingShape_getNonvirtualAabb(long jarg1, btPolyhedralConvexAabbCachingShape jarg1_, Matrix4 jarg2, Vector3 jarg3, Vector3 jarg4, float jarg5);
   public final static native void btPolyhedralConvexAabbCachingShape_recalcLocalAabb(long jarg1, btPolyhedralConvexAabbCachingShape jarg1_);
   public final static native void delete_btPolyhedralConvexAabbCachingShape(long jarg1);
   public final static native void delete_btConcaveShape(long jarg1);
@@ -1367,10 +1375,10 @@ public class gdxBulletJNI {
   public final static native long new_btStridingMeshInterfaceData();
   public final static native void delete_btStridingMeshInterfaceData(long jarg1);
   public final static native long new_btMinkowskiSumShape(long jarg1, btConvexShape jarg1_, long jarg2, btConvexShape jarg2_);
-  public final static native void btMinkowskiSumShape_setTransformA(long jarg1, btMinkowskiSumShape jarg1_, long jarg2, btTransform jarg2_);
-  public final static native void btMinkowskiSumShape_setTransformB(long jarg1, btMinkowskiSumShape jarg1_, long jarg2, btTransform jarg2_);
-  public final static native long btMinkowskiSumShape_getTransformA(long jarg1, btMinkowskiSumShape jarg1_);
-  public final static native long btMinkowskiSumShape_GetTransformB(long jarg1, btMinkowskiSumShape jarg1_);
+  public final static native void btMinkowskiSumShape_setTransformA(long jarg1, btMinkowskiSumShape jarg1_, Matrix4 jarg2);
+  public final static native void btMinkowskiSumShape_setTransformB(long jarg1, btMinkowskiSumShape jarg1_, Matrix4 jarg2);
+  public final static native Matrix4 btMinkowskiSumShape_getTransformA(long jarg1, btMinkowskiSumShape jarg1_);
+  public final static native Matrix4 btMinkowskiSumShape_GetTransformB(long jarg1, btMinkowskiSumShape jarg1_);
   public final static native long btMinkowskiSumShape_getShapeA(long jarg1, btMinkowskiSumShape jarg1_);
   public final static native long btMinkowskiSumShape_getShapeB(long jarg1, btMinkowskiSumShape jarg1_);
   public final static native void delete_btMinkowskiSumShape(long jarg1);
@@ -1400,7 +1408,7 @@ public class gdxBulletJNI {
   public final static native long btConvexPolyhedron_mE_get(long jarg1, btConvexPolyhedron jarg1_);
   public final static native void btConvexPolyhedron_initialize(long jarg1, btConvexPolyhedron jarg1_);
   public final static native boolean btConvexPolyhedron_testContainment(long jarg1, btConvexPolyhedron jarg1_);
-  public final static native void btConvexPolyhedron_project(long jarg1, btConvexPolyhedron jarg1_, long jarg2, btTransform jarg2_, Vector3 jarg3, long jarg4, long jarg5);
+  public final static native void btConvexPolyhedron_project(long jarg1, btConvexPolyhedron jarg1_, Matrix4 jarg2, Vector3 jarg3, long jarg4, long jarg5);
   public final static native long new_btOptimizedBvh();
   public final static native void delete_btOptimizedBvh(long jarg1);
   public final static native void btOptimizedBvh_build(long jarg1, btOptimizedBvh jarg1_, long jarg2, btStridingMeshInterface jarg2_, boolean jarg3, Vector3 jarg4, Vector3 jarg5);
@@ -1445,7 +1453,6 @@ public class gdxBulletJNI {
   public final static native long new_btIndexedMesh();
   public final static native void btIndexedMesh_setTriangleIndexBase(long jarg1, btIndexedMesh jarg1_, short[] jarg2, long jarg3);
   public final static native void btIndexedMesh_setVertexBase(long jarg1, btIndexedMesh jarg1_, float[] jarg2, long jarg3);
-  public final static native void btIndexedMesh_dispose(long jarg1, btIndexedMesh jarg1_);
   public final static native void delete_btIndexedMesh(long jarg1);
   public final static native long new_btTriangleIndexVertexArray__SWIG_0();
   public final static native void delete_btTriangleIndexVertexArray(long jarg1);
@@ -1568,7 +1575,7 @@ public class gdxBulletJNI {
   public final static native long new_btConvexTriangleMeshShape__SWIG_0(long jarg1, btStridingMeshInterface jarg1_, boolean jarg2);
   public final static native long new_btConvexTriangleMeshShape__SWIG_1(long jarg1, btStridingMeshInterface jarg1_);
   public final static native long btConvexTriangleMeshShape_getMeshInterface__SWIG_0(long jarg1, btConvexTriangleMeshShape jarg1_);
-  public final static native void btConvexTriangleMeshShape_calculatePrincipalAxisTransform(long jarg1, btConvexTriangleMeshShape jarg1_, long jarg2, btTransform jarg2_, Vector3 jarg3, long jarg4);
+  public final static native void btConvexTriangleMeshShape_calculatePrincipalAxisTransform(long jarg1, btConvexTriangleMeshShape jarg1_, Matrix4 jarg2, Vector3 jarg3, long jarg4);
   public final static native void delete_btConvexTriangleMeshShape(long jarg1);
   public final static native long new_btEmptyShape();
   public final static native void delete_btEmptyShape(long jarg1);
@@ -1606,19 +1613,19 @@ public class gdxBulletJNI {
   public final static native long new_btCompoundShape__SWIG_0(boolean jarg1);
   public final static native long new_btCompoundShape__SWIG_1();
   public final static native void delete_btCompoundShape(long jarg1);
-  public final static native void btCompoundShape_addChildShape(long jarg1, btCompoundShape jarg1_, long jarg2, btTransform jarg2_, long jarg3, btCollisionShape jarg3_);
+  public final static native void btCompoundShape_addChildShape(long jarg1, btCompoundShape jarg1_, Matrix4 jarg2, long jarg3, btCollisionShape jarg3_);
   public final static native void btCompoundShape_removeChildShape(long jarg1, btCompoundShape jarg1_, long jarg2, btCollisionShape jarg2_);
   public final static native void btCompoundShape_removeChildShapeByIndex(long jarg1, btCompoundShape jarg1_, int jarg2);
   public final static native int btCompoundShape_getNumChildShapes(long jarg1, btCompoundShape jarg1_);
   public final static native long btCompoundShape_getChildShape__SWIG_0(long jarg1, btCompoundShape jarg1_, int jarg2);
-  public final static native long btCompoundShape_getChildTransform__SWIG_0(long jarg1, btCompoundShape jarg1_, int jarg2);
-  public final static native void btCompoundShape_updateChildTransform__SWIG_0(long jarg1, btCompoundShape jarg1_, int jarg2, long jarg3, btTransform jarg3_, boolean jarg4);
-  public final static native void btCompoundShape_updateChildTransform__SWIG_1(long jarg1, btCompoundShape jarg1_, int jarg2, long jarg3, btTransform jarg3_);
+  public final static native Matrix4 btCompoundShape_getChildTransform__SWIG_0(long jarg1, btCompoundShape jarg1_, int jarg2);
+  public final static native void btCompoundShape_updateChildTransform__SWIG_0(long jarg1, btCompoundShape jarg1_, int jarg2, Matrix4 jarg3, boolean jarg4);
+  public final static native void btCompoundShape_updateChildTransform__SWIG_1(long jarg1, btCompoundShape jarg1_, int jarg2, Matrix4 jarg3);
   public final static native long btCompoundShape_getChildList(long jarg1, btCompoundShape jarg1_);
   public final static native void btCompoundShape_recalculateLocalAabb(long jarg1, btCompoundShape jarg1_);
   public final static native long btCompoundShape_getDynamicAabbTree__SWIG_0(long jarg1, btCompoundShape jarg1_);
   public final static native void btCompoundShape_createAabbTreeFromChildren(long jarg1, btCompoundShape jarg1_);
-  public final static native void btCompoundShape_calculatePrincipalAxisTransform(long jarg1, btCompoundShape jarg1_, float[] jarg2, long jarg3, btTransform jarg3_, Vector3 jarg4);
+  public final static native void btCompoundShape_calculatePrincipalAxisTransform(long jarg1, btCompoundShape jarg1_, float[] jarg2, Matrix4 jarg3, Vector3 jarg4);
   public final static native int btCompoundShape_getUpdateRevision(long jarg1, btCompoundShape jarg1_);
   public final static native void btCompoundShapeChildData_m_transform_set(long jarg1, btCompoundShapeChildData jarg1_, long jarg2, btTransformFloatData jarg2_);
   public final static native long btCompoundShapeChildData_m_transform_get(long jarg1, btCompoundShapeChildData jarg1_);
@@ -1682,12 +1689,12 @@ public class gdxBulletJNI {
   public final static native void btCollisionObject_setFriction(long jarg1, btCollisionObject jarg1_, float jarg2);
   public final static native float btCollisionObject_getFriction(long jarg1, btCollisionObject jarg1_);
   public final static native int btCollisionObject_getInternalType(long jarg1, btCollisionObject jarg1_);
-  public final static native long btCollisionObject_getWorldTransform__SWIG_0(long jarg1, btCollisionObject jarg1_);
-  public final static native void btCollisionObject_setWorldTransform(long jarg1, btCollisionObject jarg1_, long jarg2, btTransform jarg2_);
+  public final static native Matrix4 btCollisionObject_getWorldTransform__SWIG_0(long jarg1, btCollisionObject jarg1_);
+  public final static native void btCollisionObject_setWorldTransform(long jarg1, btCollisionObject jarg1_, Matrix4 jarg2);
   public final static native long btCollisionObject_getBroadphaseHandle__SWIG_0(long jarg1, btCollisionObject jarg1_);
   public final static native void btCollisionObject_setBroadphaseHandle(long jarg1, btCollisionObject jarg1_, long jarg2, btBroadphaseProxy jarg2_);
-  public final static native long btCollisionObject_getInterpolationWorldTransform__SWIG_0(long jarg1, btCollisionObject jarg1_);
-  public final static native void btCollisionObject_setInterpolationWorldTransform(long jarg1, btCollisionObject jarg1_, long jarg2, btTransform jarg2_);
+  public final static native Matrix4 btCollisionObject_getInterpolationWorldTransform__SWIG_0(long jarg1, btCollisionObject jarg1_);
+  public final static native void btCollisionObject_setInterpolationWorldTransform(long jarg1, btCollisionObject jarg1_, Matrix4 jarg2);
   public final static native void btCollisionObject_setInterpolationLinearVelocity(long jarg1, btCollisionObject jarg1_, Vector3 jarg2);
   public final static native void btCollisionObject_setInterpolationAngularVelocity(long jarg1, btCollisionObject jarg1_, Vector3 jarg2);
   public final static native Vector3 btCollisionObject_getInterpolationLinearVelocity__SWIG_0(long jarg1, btCollisionObject jarg1_);
@@ -1712,8 +1719,8 @@ public class gdxBulletJNI {
   public final static native String btCollisionObject_serialize(long jarg1, btCollisionObject jarg1_, long jarg2, long jarg3);
   public final static native void btCollisionObject_serializeSingleObject(long jarg1, btCollisionObject jarg1_, long jarg2);
   public final static native void btCollisionObject_getAnisotropicFriction__SWIG_1(long jarg1, btCollisionObject jarg1_, Vector3 jarg2);
-  public final static native void btCollisionObject_getWorldTransform__SWIG_2(long jarg1, btCollisionObject jarg1_, long jarg2, btTransform jarg2_);
-  public final static native void btCollisionObject_getInterpolationWorldTransform__SWIG_2(long jarg1, btCollisionObject jarg1_, long jarg2, btTransform jarg2_);
+  public final static native void btCollisionObject_getWorldTransform__SWIG_2(long jarg1, btCollisionObject jarg1_, Matrix4 jarg2);
+  public final static native void btCollisionObject_getInterpolationWorldTransform__SWIG_2(long jarg1, btCollisionObject jarg1_, Matrix4 jarg2);
   public final static native void btCollisionObject_getInterpolationLinearVelocity__SWIG_1(long jarg1, btCollisionObject jarg1_, Vector3 jarg2);
   public final static native void btCollisionObject_getInterpolationAngularVelocity__SWIG_1(long jarg1, btCollisionObject jarg1_, Vector3 jarg2);
   public final static native void btCollisionObjectDoubleData_m_broadphaseHandle_set(long jarg1, btCollisionObjectDoubleData jarg1_, long jarg2);
@@ -1857,9 +1864,9 @@ public class gdxBulletJNI {
   public final static native long new_btRigidBody__SWIG_1(float jarg1, long jarg2, btMotionState jarg2_, long jarg3, btCollisionShape jarg3_, Vector3 jarg4);
   public final static native long new_btRigidBody__SWIG_2(float jarg1, long jarg2, btMotionState jarg2_, long jarg3, btCollisionShape jarg3_);
   public final static native void delete_btRigidBody(long jarg1);
-  public final static native void btRigidBody_proceedToTransform(long jarg1, btRigidBody jarg1_, long jarg2, btTransform jarg2_);
+  public final static native void btRigidBody_proceedToTransform(long jarg1, btRigidBody jarg1_, Matrix4 jarg2);
   public final static native long btRigidBody_upcast__SWIG_0(long jarg1, btCollisionObject jarg1_);
-  public final static native void btRigidBody_predictIntegratedTransform(long jarg1, btRigidBody jarg1_, float jarg2, long jarg3, btTransform jarg3_);
+  public final static native void btRigidBody_predictIntegratedTransform(long jarg1, btRigidBody jarg1_, float jarg2, Matrix4 jarg3);
   public final static native void btRigidBody_saveKinematicState(long jarg1, btRigidBody jarg1_, float jarg2);
   public final static native void btRigidBody_applyGravity(long jarg1, btRigidBody jarg1_);
   public final static native void btRigidBody_setGravity(long jarg1, btRigidBody jarg1_, Vector3 jarg2);
@@ -1877,7 +1884,7 @@ public class gdxBulletJNI {
   public final static native float btRigidBody_getInvMass(long jarg1, btRigidBody jarg1_);
   public final static native Matrix3 btRigidBody_getInvInertiaTensorWorld(long jarg1, btRigidBody jarg1_);
   public final static native void btRigidBody_integrateVelocities(long jarg1, btRigidBody jarg1_, float jarg2);
-  public final static native void btRigidBody_setCenterOfMassTransform(long jarg1, btRigidBody jarg1_, long jarg2, btTransform jarg2_);
+  public final static native void btRigidBody_setCenterOfMassTransform(long jarg1, btRigidBody jarg1_, Matrix4 jarg2);
   public final static native void btRigidBody_applyCentralForce(long jarg1, btRigidBody jarg1_, Vector3 jarg2);
   public final static native Vector3 btRigidBody_getTotalForce(long jarg1, btRigidBody jarg1_);
   public final static native Vector3 btRigidBody_getTotalTorque(long jarg1, btRigidBody jarg1_);
@@ -1893,7 +1900,7 @@ public class gdxBulletJNI {
   public final static native void btRigidBody_updateInertiaTensor(long jarg1, btRigidBody jarg1_);
   public final static native Vector3 btRigidBody_getCenterOfMassPosition(long jarg1, btRigidBody jarg1_);
   public final static native Quaternion btRigidBody_getOrientation(long jarg1, btRigidBody jarg1_);
-  public final static native long btRigidBody_getCenterOfMassTransform(long jarg1, btRigidBody jarg1_);
+  public final static native Matrix4 btRigidBody_getCenterOfMassTransform(long jarg1, btRigidBody jarg1_);
   public final static native Vector3 btRigidBody_getLinearVelocity(long jarg1, btRigidBody jarg1_);
   public final static native Vector3 btRigidBody_getAngularVelocity(long jarg1, btRigidBody jarg1_);
   public final static native void btRigidBody_setLinearVelocity(long jarg1, btRigidBody jarg1_, Vector3 jarg2);
@@ -2148,8 +2155,8 @@ public class gdxBulletJNI {
   public final static native void btSimulationIslandManager_setSplitIslands(long jarg1, btSimulationIslandManager jarg1_, boolean jarg2);
   public final static native long new_btGhostObject();
   public final static native void delete_btGhostObject(long jarg1);
-  public final static native void btGhostObject_convexSweepTest__SWIG_0(long jarg1, btGhostObject jarg1_, long jarg2, btConvexShape jarg2_, long jarg3, btTransform jarg3_, long jarg4, btTransform jarg4_, long jarg5, ConvexResultCallback jarg5_, float jarg6);
-  public final static native void btGhostObject_convexSweepTest__SWIG_1(long jarg1, btGhostObject jarg1_, long jarg2, btConvexShape jarg2_, long jarg3, btTransform jarg3_, long jarg4, btTransform jarg4_, long jarg5, ConvexResultCallback jarg5_);
+  public final static native void btGhostObject_convexSweepTest__SWIG_0(long jarg1, btGhostObject jarg1_, long jarg2, btConvexShape jarg2_, Matrix4 jarg3, Matrix4 jarg4, long jarg5, ConvexResultCallback jarg5_, float jarg6);
+  public final static native void btGhostObject_convexSweepTest__SWIG_1(long jarg1, btGhostObject jarg1_, long jarg2, btConvexShape jarg2_, Matrix4 jarg3, Matrix4 jarg4, long jarg5, ConvexResultCallback jarg5_);
   public final static native void btGhostObject_rayTest(long jarg1, btGhostObject jarg1_, Vector3 jarg2, Vector3 jarg3, long jarg4, RayResultCallback jarg4_);
   public final static native void btGhostObject_addOverlappingObjectInternal__SWIG_0(long jarg1, btGhostObject jarg1_, long jarg2, btBroadphaseProxy jarg2_, long jarg3, btBroadphaseProxy jarg3_);
   public final static native void btGhostObject_addOverlappingObjectInternal__SWIG_1(long jarg1, btGhostObject jarg1_, long jarg2, btBroadphaseProxy jarg2_);
@@ -2274,17 +2281,17 @@ public class gdxBulletJNI {
   public final static native void btCollisionWorld_setDebugDrawer(long jarg1, btCollisionWorld jarg1_, long jarg2, btIDebugDraw jarg2_);
   public final static native long btCollisionWorld_getDebugDrawer(long jarg1, btCollisionWorld jarg1_);
   public final static native void btCollisionWorld_debugDrawWorld(long jarg1, btCollisionWorld jarg1_);
-  public final static native void btCollisionWorld_debugDrawObject(long jarg1, btCollisionWorld jarg1_, long jarg2, btTransform jarg2_, long jarg3, btCollisionShape jarg3_, Vector3 jarg4);
+  public final static native void btCollisionWorld_debugDrawObject(long jarg1, btCollisionWorld jarg1_, Matrix4 jarg2, long jarg3, btCollisionShape jarg3_, Vector3 jarg4);
   public final static native int btCollisionWorld_getNumCollisionObjects(long jarg1, btCollisionWorld jarg1_);
   public final static native void btCollisionWorld_rayTest(long jarg1, btCollisionWorld jarg1_, Vector3 jarg2, Vector3 jarg3, long jarg4, RayResultCallback jarg4_);
-  public final static native void btCollisionWorld_convexSweepTest__SWIG_0(long jarg1, btCollisionWorld jarg1_, long jarg2, btConvexShape jarg2_, long jarg3, btTransform jarg3_, long jarg4, btTransform jarg4_, long jarg5, ConvexResultCallback jarg5_, float jarg6);
-  public final static native void btCollisionWorld_convexSweepTest__SWIG_1(long jarg1, btCollisionWorld jarg1_, long jarg2, btConvexShape jarg2_, long jarg3, btTransform jarg3_, long jarg4, btTransform jarg4_, long jarg5, ConvexResultCallback jarg5_);
+  public final static native void btCollisionWorld_convexSweepTest__SWIG_0(long jarg1, btCollisionWorld jarg1_, long jarg2, btConvexShape jarg2_, Matrix4 jarg3, Matrix4 jarg4, long jarg5, ConvexResultCallback jarg5_, float jarg6);
+  public final static native void btCollisionWorld_convexSweepTest__SWIG_1(long jarg1, btCollisionWorld jarg1_, long jarg2, btConvexShape jarg2_, Matrix4 jarg3, Matrix4 jarg4, long jarg5, ConvexResultCallback jarg5_);
   public final static native void btCollisionWorld_contactTest(long jarg1, btCollisionWorld jarg1_, long jarg2, btCollisionObject jarg2_, long jarg3, ContactResultCallback jarg3_);
   public final static native void btCollisionWorld_contactPairTest(long jarg1, btCollisionWorld jarg1_, long jarg2, btCollisionObject jarg2_, long jarg3, btCollisionObject jarg3_, long jarg4, ContactResultCallback jarg4_);
-  public final static native void btCollisionWorld_rayTestSingle(long jarg1, btTransform jarg1_, long jarg2, btTransform jarg2_, long jarg3, btCollisionObject jarg3_, long jarg4, btCollisionShape jarg4_, long jarg5, btTransform jarg5_, long jarg6, RayResultCallback jarg6_);
-  public final static native void btCollisionWorld_rayTestSingleInternal(long jarg1, btTransform jarg1_, long jarg2, btTransform jarg2_, long jarg3, long jarg4, RayResultCallback jarg4_);
-  public final static native void btCollisionWorld_objectQuerySingle(long jarg1, btConvexShape jarg1_, long jarg2, btTransform jarg2_, long jarg3, btTransform jarg3_, long jarg4, btCollisionObject jarg4_, long jarg5, btCollisionShape jarg5_, long jarg6, btTransform jarg6_, long jarg7, ConvexResultCallback jarg7_, float jarg8);
-  public final static native void btCollisionWorld_objectQuerySingleInternal(long jarg1, btConvexShape jarg1_, long jarg2, btTransform jarg2_, long jarg3, btTransform jarg3_, long jarg4, long jarg5, ConvexResultCallback jarg5_, float jarg6);
+  public final static native void btCollisionWorld_rayTestSingle(Matrix4 jarg1, Matrix4 jarg2, long jarg3, btCollisionObject jarg3_, long jarg4, btCollisionShape jarg4_, Matrix4 jarg5, long jarg6, RayResultCallback jarg6_);
+  public final static native void btCollisionWorld_rayTestSingleInternal(Matrix4 jarg1, Matrix4 jarg2, long jarg3, long jarg4, RayResultCallback jarg4_);
+  public final static native void btCollisionWorld_objectQuerySingle(long jarg1, btConvexShape jarg1_, Matrix4 jarg2, Matrix4 jarg3, long jarg4, btCollisionObject jarg4_, long jarg5, btCollisionShape jarg5_, Matrix4 jarg6, long jarg7, ConvexResultCallback jarg7_, float jarg8);
+  public final static native void btCollisionWorld_objectQuerySingleInternal(long jarg1, btConvexShape jarg1_, Matrix4 jarg2, Matrix4 jarg3, long jarg4, long jarg5, ConvexResultCallback jarg5_, float jarg6);
   public final static native void btCollisionWorld_addCollisionObject__SWIG_0(long jarg1, btCollisionWorld jarg1_, long jarg2, btCollisionObject jarg2_, short jarg3, short jarg4);
   public final static native void btCollisionWorld_addCollisionObject__SWIG_1(long jarg1, btCollisionWorld jarg1_, long jarg2, btCollisionObject jarg2_, short jarg3);
   public final static native void btCollisionWorld_addCollisionObject__SWIG_2(long jarg1, btCollisionWorld jarg1_, long jarg2, btCollisionObject jarg2_);
@@ -2348,12 +2355,12 @@ public class gdxBulletJNI {
   public final static native long new_btCompoundCollisionAlgorithm(long jarg1, btCollisionAlgorithmConstructionInfo jarg1_, long jarg2, long jarg3, boolean jarg4);
   public final static native void delete_btCompoundCollisionAlgorithm(long jarg1);
   public final static native void delete_btConvexCast(long jarg1);
-  public final static native boolean btConvexCast_calcTimeOfImpact(long jarg1, btConvexCast jarg1_, long jarg2, btTransform jarg2_, long jarg3, btTransform jarg3_, long jarg4, btTransform jarg4_, long jarg5, btTransform jarg5_, long jarg6);
+  public final static native boolean btConvexCast_calcTimeOfImpact(long jarg1, btConvexCast jarg1_, Matrix4 jarg2, Matrix4 jarg3, Matrix4 jarg4, Matrix4 jarg5, long jarg6);
   public final static native long new_btSubsimplexConvexCast(long jarg1, btConvexShape jarg1_, long jarg2, btConvexShape jarg2_, long jarg3);
   public final static native void delete_btSubsimplexConvexCast(long jarg1);
-  public final static native void btPolyhedralContactClipping_clipHullAgainstHull(Vector3 jarg1, long jarg2, btConvexPolyhedron jarg2_, long jarg3, btConvexPolyhedron jarg3_, long jarg4, btTransform jarg4_, long jarg5, btTransform jarg5_, float jarg6, float jarg7, long jarg8);
-  public final static native void btPolyhedralContactClipping_clipFaceAgainstHull(Vector3 jarg1, long jarg2, btConvexPolyhedron jarg2_, long jarg3, btTransform jarg3_, long jarg4, float jarg5, float jarg6, long jarg7);
-  public final static native boolean btPolyhedralContactClipping_findSeparatingAxis(long jarg1, btConvexPolyhedron jarg1_, long jarg2, btConvexPolyhedron jarg2_, long jarg3, btTransform jarg3_, long jarg4, btTransform jarg4_, Vector3 jarg5);
+  public final static native void btPolyhedralContactClipping_clipHullAgainstHull(Vector3 jarg1, long jarg2, btConvexPolyhedron jarg2_, long jarg3, btConvexPolyhedron jarg3_, Matrix4 jarg4, Matrix4 jarg5, float jarg6, float jarg7, long jarg8);
+  public final static native void btPolyhedralContactClipping_clipFaceAgainstHull(Vector3 jarg1, long jarg2, btConvexPolyhedron jarg2_, Matrix4 jarg3, long jarg4, float jarg5, float jarg6, long jarg7);
+  public final static native boolean btPolyhedralContactClipping_findSeparatingAxis(long jarg1, btConvexPolyhedron jarg1_, long jarg2, btConvexPolyhedron jarg2_, Matrix4 jarg3, Matrix4 jarg4, Vector3 jarg5);
   public final static native void btPolyhedralContactClipping_clipFace(long jarg1, long jarg2, Vector3 jarg3, float jarg4);
   public final static native long new_btPolyhedralContactClipping();
   public final static native void delete_btPolyhedralContactClipping(long jarg1);
@@ -2384,7 +2391,7 @@ public class gdxBulletJNI {
   public final static native void btPersistentManifold_removeContactPoint(long jarg1, btPersistentManifold jarg1_, int jarg2);
   public final static native void btPersistentManifold_replaceContactPoint(long jarg1, btPersistentManifold jarg1_, long jarg2, btManifoldPoint jarg2_, int jarg3);
   public final static native boolean btPersistentManifold_validContactDistance(long jarg1, btPersistentManifold jarg1_, long jarg2, btManifoldPoint jarg2_);
-  public final static native void btPersistentManifold_refreshContactPoints(long jarg1, btPersistentManifold jarg1_, long jarg2, btTransform jarg2_, long jarg3, btTransform jarg3_);
+  public final static native void btPersistentManifold_refreshContactPoints(long jarg1, btPersistentManifold jarg1_, Matrix4 jarg2, Matrix4 jarg3);
   public final static native void btPersistentManifold_clearManifold(long jarg1, btPersistentManifold jarg1_);
   public final static native void delete_btPersistentManifold(long jarg1);
   public final static native void btGjkPairDetector_m_lastUsedMethod_set(long jarg1, btGjkPairDetector jarg1_, int jarg2);
@@ -2409,7 +2416,7 @@ public class gdxBulletJNI {
   public final static native void btGjkPairDetector_setPenetrationDepthSolver(long jarg1, btGjkPairDetector jarg1_, long jarg2, btConvexPenetrationDepthSolver jarg2_);
   public final static native void btGjkPairDetector_setIgnoreMargin(long jarg1, btGjkPairDetector jarg1_, boolean jarg2);
   public final static native void delete_btConvexPenetrationDepthSolver(long jarg1);
-  public final static native boolean btConvexPenetrationDepthSolver_calcPenDepth(long jarg1, btConvexPenetrationDepthSolver jarg1_, long jarg2, long jarg3, btConvexShape jarg3_, long jarg4, btConvexShape jarg4_, long jarg5, btTransform jarg5_, long jarg6, btTransform jarg6_, Vector3 jarg7, Vector3 jarg8, Vector3 jarg9, long jarg10, btIDebugDraw jarg10_, long jarg11, btStackAlloc jarg11_);
+  public final static native boolean btConvexPenetrationDepthSolver_calcPenDepth(long jarg1, btConvexPenetrationDepthSolver jarg1_, long jarg2, long jarg3, btConvexShape jarg3_, long jarg4, btConvexShape jarg4_, Matrix4 jarg5, Matrix4 jarg6, Vector3 jarg7, Vector3 jarg8, Vector3 jarg9, long jarg10, btIDebugDraw jarg10_, long jarg11, btStackAlloc jarg11_);
   public final static native long new_btMinkowskiPenetrationDepthSolver();
   public final static native void delete_btMinkowskiPenetrationDepthSolver(long jarg1);
   public final static native long new_btGjkConvexCast(long jarg1, btConvexShape jarg1_, long jarg2, btConvexShape jarg2_, long jarg3);
@@ -2517,11 +2524,11 @@ public class gdxBulletJNI {
   public final static native float btTriangleConvexcastCallback_reportHit(long jarg1, btTriangleConvexcastCallback jarg1_, Vector3 jarg2, Vector3 jarg3, float jarg4, int jarg5, int jarg6);
   public final static native void delete_btTriangleConvexcastCallback(long jarg1);
   public final static native int btGjkEpaSolver2_StackSizeRequirement();
-  public final static native boolean btGjkEpaSolver2_Distance(long jarg1, btConvexShape jarg1_, long jarg2, btTransform jarg2_, long jarg3, btConvexShape jarg3_, long jarg4, btTransform jarg4_, Vector3 jarg5, long jarg6);
-  public final static native boolean btGjkEpaSolver2_Penetration__SWIG_0(long jarg1, btConvexShape jarg1_, long jarg2, btTransform jarg2_, long jarg3, btConvexShape jarg3_, long jarg4, btTransform jarg4_, Vector3 jarg5, long jarg6, boolean jarg7);
-  public final static native boolean btGjkEpaSolver2_Penetration__SWIG_1(long jarg1, btConvexShape jarg1_, long jarg2, btTransform jarg2_, long jarg3, btConvexShape jarg3_, long jarg4, btTransform jarg4_, Vector3 jarg5, long jarg6);
-  public final static native float btGjkEpaSolver2_SignedDistance__SWIG_0(Vector3 jarg1, float jarg2, long jarg3, btConvexShape jarg3_, long jarg4, btTransform jarg4_, long jarg5);
-  public final static native boolean btGjkEpaSolver2_SignedDistance__SWIG_1(long jarg1, btConvexShape jarg1_, long jarg2, btTransform jarg2_, long jarg3, btConvexShape jarg3_, long jarg4, btTransform jarg4_, Vector3 jarg5, long jarg6);
+  public final static native boolean btGjkEpaSolver2_Distance(long jarg1, btConvexShape jarg1_, Matrix4 jarg2, long jarg3, btConvexShape jarg3_, Matrix4 jarg4, Vector3 jarg5, long jarg6);
+  public final static native boolean btGjkEpaSolver2_Penetration__SWIG_0(long jarg1, btConvexShape jarg1_, Matrix4 jarg2, long jarg3, btConvexShape jarg3_, Matrix4 jarg4, Vector3 jarg5, long jarg6, boolean jarg7);
+  public final static native boolean btGjkEpaSolver2_Penetration__SWIG_1(long jarg1, btConvexShape jarg1_, Matrix4 jarg2, long jarg3, btConvexShape jarg3_, Matrix4 jarg4, Vector3 jarg5, long jarg6);
+  public final static native float btGjkEpaSolver2_SignedDistance__SWIG_0(Vector3 jarg1, float jarg2, long jarg3, btConvexShape jarg3_, Matrix4 jarg4, long jarg5);
+  public final static native boolean btGjkEpaSolver2_SignedDistance__SWIG_1(long jarg1, btConvexShape jarg1_, Matrix4 jarg2, long jarg3, btConvexShape jarg3_, Matrix4 jarg4, Vector3 jarg5, long jarg6);
   public final static native long new_btGjkEpaSolver2();
   public final static native void delete_btGjkEpaSolver2(long jarg1);
   public final static native long new_btGjkEpaPenetrationDepthSolver();
@@ -2892,16 +2899,16 @@ public class gdxBulletJNI {
   public final static native void btSolverBodyObsolete_writebackVelocity__SWIG_1(long jarg1, btSolverBodyObsolete jarg1_, float jarg2);
   public final static native long new_btSolverBodyObsolete();
   public final static native void delete_btSolverBodyObsolete(long jarg1);
-  public final static native long new_btSliderConstraint__SWIG_0(long jarg1, btRigidBody jarg1_, long jarg2, btRigidBody jarg2_, long jarg3, btTransform jarg3_, long jarg4, btTransform jarg4_, boolean jarg5);
-  public final static native long new_btSliderConstraint__SWIG_1(long jarg1, btRigidBody jarg1_, long jarg2, btTransform jarg2_, boolean jarg3);
+  public final static native long new_btSliderConstraint__SWIG_0(long jarg1, btRigidBody jarg1_, long jarg2, btRigidBody jarg2_, Matrix4 jarg3, Matrix4 jarg4, boolean jarg5);
+  public final static native long new_btSliderConstraint__SWIG_1(long jarg1, btRigidBody jarg1_, Matrix4 jarg2, boolean jarg3);
   public final static native void btSliderConstraint_getInfo1NonVirtual(long jarg1, btSliderConstraint jarg1_, long jarg2);
-  public final static native void btSliderConstraint_getInfo2NonVirtual(long jarg1, btSliderConstraint jarg1_, long jarg2, btConstraintInfo2 jarg2_, long jarg3, btTransform jarg3_, long jarg4, btTransform jarg4_, Vector3 jarg5, Vector3 jarg6, float jarg7, float jarg8);
+  public final static native void btSliderConstraint_getInfo2NonVirtual(long jarg1, btSliderConstraint jarg1_, long jarg2, btConstraintInfo2 jarg2_, Matrix4 jarg3, Matrix4 jarg4, Vector3 jarg5, Vector3 jarg6, float jarg7, float jarg8);
   public final static native long btSliderConstraint_getRigidBodyA(long jarg1, btSliderConstraint jarg1_);
   public final static native long btSliderConstraint_getRigidBodyB(long jarg1, btSliderConstraint jarg1_);
-  public final static native long btSliderConstraint_getCalculatedTransformA(long jarg1, btSliderConstraint jarg1_);
-  public final static native long btSliderConstraint_getCalculatedTransformB(long jarg1, btSliderConstraint jarg1_);
-  public final static native long btSliderConstraint_getFrameOffsetA__SWIG_0(long jarg1, btSliderConstraint jarg1_);
-  public final static native long btSliderConstraint_getFrameOffsetB__SWIG_0(long jarg1, btSliderConstraint jarg1_);
+  public final static native Matrix4 btSliderConstraint_getCalculatedTransformA(long jarg1, btSliderConstraint jarg1_);
+  public final static native Matrix4 btSliderConstraint_getCalculatedTransformB(long jarg1, btSliderConstraint jarg1_);
+  public final static native Matrix4 btSliderConstraint_getFrameOffsetA__SWIG_0(long jarg1, btSliderConstraint jarg1_);
+  public final static native Matrix4 btSliderConstraint_getFrameOffsetB__SWIG_0(long jarg1, btSliderConstraint jarg1_);
   public final static native float btSliderConstraint_getLowerLinLimit(long jarg1, btSliderConstraint jarg1_);
   public final static native void btSliderConstraint_setLowerLinLimit(long jarg1, btSliderConstraint jarg1_, float jarg2);
   public final static native float btSliderConstraint_getUpperLinLimit(long jarg1, btSliderConstraint jarg1_);
@@ -2965,14 +2972,14 @@ public class gdxBulletJNI {
   public final static native float btSliderConstraint_getLinDepth(long jarg1, btSliderConstraint jarg1_);
   public final static native boolean btSliderConstraint_getSolveAngLimit(long jarg1, btSliderConstraint jarg1_);
   public final static native float btSliderConstraint_getAngDepth(long jarg1, btSliderConstraint jarg1_);
-  public final static native void btSliderConstraint_calculateTransforms(long jarg1, btSliderConstraint jarg1_, long jarg2, btTransform jarg2_, long jarg3, btTransform jarg3_);
+  public final static native void btSliderConstraint_calculateTransforms(long jarg1, btSliderConstraint jarg1_, Matrix4 jarg2, Matrix4 jarg3);
   public final static native void btSliderConstraint_testLinLimits(long jarg1, btSliderConstraint jarg1_);
   public final static native void btSliderConstraint_testAngLimits(long jarg1, btSliderConstraint jarg1_);
   public final static native Vector3 btSliderConstraint_getAncorInA(long jarg1, btSliderConstraint jarg1_);
   public final static native Vector3 btSliderConstraint_getAncorInB(long jarg1, btSliderConstraint jarg1_);
   public final static native boolean btSliderConstraint_getUseFrameOffset(long jarg1, btSliderConstraint jarg1_);
   public final static native void btSliderConstraint_setUseFrameOffset(long jarg1, btSliderConstraint jarg1_, boolean jarg2);
-  public final static native void btSliderConstraint_setFrames(long jarg1, btSliderConstraint jarg1_, long jarg2, btTransform jarg2_, long jarg3, btTransform jarg3_);
+  public final static native void btSliderConstraint_setFrames(long jarg1, btSliderConstraint jarg1_, Matrix4 jarg2, Matrix4 jarg3);
   public final static native void btSliderConstraint_setParam__SWIG_0(long jarg1, btSliderConstraint jarg1_, int jarg2, float jarg3, int jarg4);
   public final static native void btSliderConstraint_setParam__SWIG_1(long jarg1, btSliderConstraint jarg1_, int jarg2, float jarg3);
   public final static native float btSliderConstraint_getParam__SWIG_0(long jarg1, btSliderConstraint jarg1_, int jarg2, int jarg3);
@@ -3013,7 +3020,7 @@ public class gdxBulletJNI {
   public final static native long new_btPoint2PointConstraint__SWIG_0(long jarg1, btRigidBody jarg1_, long jarg2, btRigidBody jarg2_, Vector3 jarg3, Vector3 jarg4);
   public final static native long new_btPoint2PointConstraint__SWIG_1(long jarg1, btRigidBody jarg1_, Vector3 jarg2);
   public final static native void btPoint2PointConstraint_getInfo1NonVirtual(long jarg1, btPoint2PointConstraint jarg1_, long jarg2);
-  public final static native void btPoint2PointConstraint_getInfo2NonVirtual(long jarg1, btPoint2PointConstraint jarg1_, long jarg2, btConstraintInfo2 jarg2_, long jarg3, btTransform jarg3_, long jarg4, btTransform jarg4_);
+  public final static native void btPoint2PointConstraint_getInfo2NonVirtual(long jarg1, btPoint2PointConstraint jarg1_, long jarg2, btConstraintInfo2 jarg2_, Matrix4 jarg3, Matrix4 jarg4);
   public final static native void btPoint2PointConstraint_updateRHS(long jarg1, btPoint2PointConstraint jarg1_, float jarg2);
   public final static native void btPoint2PointConstraint_setPivotA(long jarg1, btPoint2PointConstraint jarg1_, Vector3 jarg2);
   public final static native void btPoint2PointConstraint_setPivotB(long jarg1, btPoint2PointConstraint jarg1_, Vector3 jarg2);
@@ -3144,21 +3151,21 @@ public class gdxBulletJNI {
   public final static native void delete_btTranslationalLimitMotor(long jarg1);
   public final static native void btGeneric6DofConstraint_m_useSolveConstraintObsolete_set(long jarg1, btGeneric6DofConstraint jarg1_, boolean jarg2);
   public final static native boolean btGeneric6DofConstraint_m_useSolveConstraintObsolete_get(long jarg1, btGeneric6DofConstraint jarg1_);
-  public final static native long new_btGeneric6DofConstraint__SWIG_0(long jarg1, btRigidBody jarg1_, long jarg2, btRigidBody jarg2_, long jarg3, btTransform jarg3_, long jarg4, btTransform jarg4_, boolean jarg5);
-  public final static native long new_btGeneric6DofConstraint__SWIG_1(long jarg1, btRigidBody jarg1_, long jarg2, btTransform jarg2_, boolean jarg3);
-  public final static native void btGeneric6DofConstraint_calculateTransforms__SWIG_0(long jarg1, btGeneric6DofConstraint jarg1_, long jarg2, btTransform jarg2_, long jarg3, btTransform jarg3_);
+  public final static native long new_btGeneric6DofConstraint__SWIG_0(long jarg1, btRigidBody jarg1_, long jarg2, btRigidBody jarg2_, Matrix4 jarg3, Matrix4 jarg4, boolean jarg5);
+  public final static native long new_btGeneric6DofConstraint__SWIG_1(long jarg1, btRigidBody jarg1_, Matrix4 jarg2, boolean jarg3);
+  public final static native void btGeneric6DofConstraint_calculateTransforms__SWIG_0(long jarg1, btGeneric6DofConstraint jarg1_, Matrix4 jarg2, Matrix4 jarg3);
   public final static native void btGeneric6DofConstraint_calculateTransforms__SWIG_1(long jarg1, btGeneric6DofConstraint jarg1_);
-  public final static native long btGeneric6DofConstraint_getCalculatedTransformA(long jarg1, btGeneric6DofConstraint jarg1_);
-  public final static native long btGeneric6DofConstraint_getCalculatedTransformB(long jarg1, btGeneric6DofConstraint jarg1_);
-  public final static native long btGeneric6DofConstraint_getFrameOffsetA__SWIG_0(long jarg1, btGeneric6DofConstraint jarg1_);
-  public final static native long btGeneric6DofConstraint_getFrameOffsetB__SWIG_0(long jarg1, btGeneric6DofConstraint jarg1_);
+  public final static native Matrix4 btGeneric6DofConstraint_getCalculatedTransformA(long jarg1, btGeneric6DofConstraint jarg1_);
+  public final static native Matrix4 btGeneric6DofConstraint_getCalculatedTransformB(long jarg1, btGeneric6DofConstraint jarg1_);
+  public final static native Matrix4 btGeneric6DofConstraint_getFrameOffsetA__SWIG_0(long jarg1, btGeneric6DofConstraint jarg1_);
+  public final static native Matrix4 btGeneric6DofConstraint_getFrameOffsetB__SWIG_0(long jarg1, btGeneric6DofConstraint jarg1_);
   public final static native void btGeneric6DofConstraint_getInfo1NonVirtual(long jarg1, btGeneric6DofConstraint jarg1_, long jarg2);
-  public final static native void btGeneric6DofConstraint_getInfo2NonVirtual(long jarg1, btGeneric6DofConstraint jarg1_, long jarg2, btConstraintInfo2 jarg2_, long jarg3, btTransform jarg3_, long jarg4, btTransform jarg4_, Vector3 jarg5, Vector3 jarg6, Vector3 jarg7, Vector3 jarg8);
+  public final static native void btGeneric6DofConstraint_getInfo2NonVirtual(long jarg1, btGeneric6DofConstraint jarg1_, long jarg2, btConstraintInfo2 jarg2_, Matrix4 jarg3, Matrix4 jarg4, Vector3 jarg5, Vector3 jarg6, Vector3 jarg7, Vector3 jarg8);
   public final static native void btGeneric6DofConstraint_updateRHS(long jarg1, btGeneric6DofConstraint jarg1_, float jarg2);
   public final static native Vector3 btGeneric6DofConstraint_getAxis(long jarg1, btGeneric6DofConstraint jarg1_, int jarg2);
   public final static native float btGeneric6DofConstraint_getAngle(long jarg1, btGeneric6DofConstraint jarg1_, int jarg2);
   public final static native float btGeneric6DofConstraint_getRelativePivotPosition(long jarg1, btGeneric6DofConstraint jarg1_, int jarg2);
-  public final static native void btGeneric6DofConstraint_setFrames(long jarg1, btGeneric6DofConstraint jarg1_, long jarg2, btTransform jarg2_, long jarg3, btTransform jarg3_);
+  public final static native void btGeneric6DofConstraint_setFrames(long jarg1, btGeneric6DofConstraint jarg1_, Matrix4 jarg2, Matrix4 jarg3);
   public final static native boolean btGeneric6DofConstraint_testAngularLimitMotor(long jarg1, btGeneric6DofConstraint jarg1_, int jarg2);
   public final static native void btGeneric6DofConstraint_setLinearLowerLimit(long jarg1, btGeneric6DofConstraint jarg1_, Vector3 jarg2);
   public final static native void btGeneric6DofConstraint_getLinearLowerLimit(long jarg1, btGeneric6DofConstraint jarg1_, Vector3 jarg2);
@@ -3173,8 +3180,8 @@ public class gdxBulletJNI {
   public final static native void btGeneric6DofConstraint_setLimit(long jarg1, btGeneric6DofConstraint jarg1_, int jarg2, float jarg3, float jarg4);
   public final static native boolean btGeneric6DofConstraint_isLimited(long jarg1, btGeneric6DofConstraint jarg1_, int jarg2);
   public final static native void btGeneric6DofConstraint_calcAnchorPos(long jarg1, btGeneric6DofConstraint jarg1_);
-  public final static native int btGeneric6DofConstraint_get_limit_motor_info2__SWIG_0(long jarg1, btGeneric6DofConstraint jarg1_, long jarg2, btRotationalLimitMotor jarg2_, long jarg3, btTransform jarg3_, long jarg4, btTransform jarg4_, Vector3 jarg5, Vector3 jarg6, Vector3 jarg7, Vector3 jarg8, long jarg9, btConstraintInfo2 jarg9_, int jarg10, Vector3 jarg11, int jarg12, int jarg13);
-  public final static native int btGeneric6DofConstraint_get_limit_motor_info2__SWIG_1(long jarg1, btGeneric6DofConstraint jarg1_, long jarg2, btRotationalLimitMotor jarg2_, long jarg3, btTransform jarg3_, long jarg4, btTransform jarg4_, Vector3 jarg5, Vector3 jarg6, Vector3 jarg7, Vector3 jarg8, long jarg9, btConstraintInfo2 jarg9_, int jarg10, Vector3 jarg11, int jarg12);
+  public final static native int btGeneric6DofConstraint_get_limit_motor_info2__SWIG_0(long jarg1, btGeneric6DofConstraint jarg1_, long jarg2, btRotationalLimitMotor jarg2_, Matrix4 jarg3, Matrix4 jarg4, Vector3 jarg5, Vector3 jarg6, Vector3 jarg7, Vector3 jarg8, long jarg9, btConstraintInfo2 jarg9_, int jarg10, Vector3 jarg11, int jarg12, int jarg13);
+  public final static native int btGeneric6DofConstraint_get_limit_motor_info2__SWIG_1(long jarg1, btGeneric6DofConstraint jarg1_, long jarg2, btRotationalLimitMotor jarg2_, Matrix4 jarg3, Matrix4 jarg4, Vector3 jarg5, Vector3 jarg6, Vector3 jarg7, Vector3 jarg8, long jarg9, btConstraintInfo2 jarg9_, int jarg10, Vector3 jarg11, int jarg12);
   public final static native boolean btGeneric6DofConstraint_getUseFrameOffset(long jarg1, btGeneric6DofConstraint jarg1_);
   public final static native void btGeneric6DofConstraint_setUseFrameOffset(long jarg1, btGeneric6DofConstraint jarg1_, boolean jarg2);
   public final static native void btGeneric6DofConstraint_setParam__SWIG_0(long jarg1, btGeneric6DofConstraint jarg1_, int jarg2, float jarg3, int jarg4);
@@ -3219,10 +3226,10 @@ public class gdxBulletJNI {
   public final static native void delete_btContactConstraint(long jarg1);
   public final static native float resolveSingleCollision(long jarg1, btRigidBody jarg1_, long jarg2, btCollisionObject jarg2_, Vector3 jarg3, Vector3 jarg4, long jarg5, btContactSolverInfo jarg5_, float jarg6);
   public final static native void resolveSingleBilateral(long jarg1, btRigidBody jarg1_, Vector3 jarg2, long jarg3, btRigidBody jarg3_, Vector3 jarg4, float jarg5, Vector3 jarg6, long jarg7, float jarg8);
-  public final static native long new_btConeTwistConstraint__SWIG_0(long jarg1, btRigidBody jarg1_, long jarg2, btRigidBody jarg2_, long jarg3, btTransform jarg3_, long jarg4, btTransform jarg4_);
-  public final static native long new_btConeTwistConstraint__SWIG_1(long jarg1, btRigidBody jarg1_, long jarg2, btTransform jarg2_);
+  public final static native long new_btConeTwistConstraint__SWIG_0(long jarg1, btRigidBody jarg1_, long jarg2, btRigidBody jarg2_, Matrix4 jarg3, Matrix4 jarg4);
+  public final static native long new_btConeTwistConstraint__SWIG_1(long jarg1, btRigidBody jarg1_, Matrix4 jarg2);
   public final static native void btConeTwistConstraint_getInfo1NonVirtual(long jarg1, btConeTwistConstraint jarg1_, long jarg2);
-  public final static native void btConeTwistConstraint_getInfo2NonVirtual(long jarg1, btConeTwistConstraint jarg1_, long jarg2, btConstraintInfo2 jarg2_, long jarg3, btTransform jarg3_, long jarg4, btTransform jarg4_, Matrix3 jarg5, Matrix3 jarg6);
+  public final static native void btConeTwistConstraint_getInfo2NonVirtual(long jarg1, btConeTwistConstraint jarg1_, long jarg2, btConstraintInfo2 jarg2_, Matrix4 jarg3, Matrix4 jarg4, Matrix3 jarg5, Matrix3 jarg6);
   public final static native void btConeTwistConstraint_updateRHS(long jarg1, btConeTwistConstraint jarg1_, float jarg2);
   public final static native long btConeTwistConstraint_getRigidBodyA(long jarg1, btConeTwistConstraint jarg1_);
   public final static native long btConeTwistConstraint_getRigidBodyB(long jarg1, btConeTwistConstraint jarg1_);
@@ -3232,13 +3239,13 @@ public class gdxBulletJNI {
   public final static native void btConeTwistConstraint_setLimit__SWIG_2(long jarg1, btConeTwistConstraint jarg1_, float jarg2, float jarg3, float jarg4, float jarg5, float jarg6);
   public final static native void btConeTwistConstraint_setLimit__SWIG_3(long jarg1, btConeTwistConstraint jarg1_, float jarg2, float jarg3, float jarg4, float jarg5);
   public final static native void btConeTwistConstraint_setLimit__SWIG_4(long jarg1, btConeTwistConstraint jarg1_, float jarg2, float jarg3, float jarg4);
-  public final static native long btConeTwistConstraint_getAFrame(long jarg1, btConeTwistConstraint jarg1_);
-  public final static native long btConeTwistConstraint_getBFrame(long jarg1, btConeTwistConstraint jarg1_);
+  public final static native Matrix4 btConeTwistConstraint_getAFrame(long jarg1, btConeTwistConstraint jarg1_);
+  public final static native Matrix4 btConeTwistConstraint_getBFrame(long jarg1, btConeTwistConstraint jarg1_);
   public final static native int btConeTwistConstraint_getSolveTwistLimit(long jarg1, btConeTwistConstraint jarg1_);
   public final static native int btConeTwistConstraint_getSolveSwingLimit(long jarg1, btConeTwistConstraint jarg1_);
   public final static native float btConeTwistConstraint_getTwistLimitSign(long jarg1, btConeTwistConstraint jarg1_);
   public final static native void btConeTwistConstraint_calcAngleInfo(long jarg1, btConeTwistConstraint jarg1_);
-  public final static native void btConeTwistConstraint_calcAngleInfo2(long jarg1, btConeTwistConstraint jarg1_, long jarg2, btTransform jarg2_, long jarg3, btTransform jarg3_, Matrix3 jarg4, Matrix3 jarg5);
+  public final static native void btConeTwistConstraint_calcAngleInfo2(long jarg1, btConeTwistConstraint jarg1_, Matrix4 jarg2, Matrix4 jarg3, Matrix3 jarg4, Matrix3 jarg5);
   public final static native float btConeTwistConstraint_getSwingSpan1(long jarg1, btConeTwistConstraint jarg1_);
   public final static native float btConeTwistConstraint_getSwingSpan2(long jarg1, btConeTwistConstraint jarg1_);
   public final static native float btConeTwistConstraint_getTwistSpan(long jarg1, btConeTwistConstraint jarg1_);
@@ -3255,9 +3262,9 @@ public class gdxBulletJNI {
   public final static native Vector3 btConeTwistConstraint_GetPointForAngle(long jarg1, btConeTwistConstraint jarg1_, float jarg2, float jarg3);
   public final static native void btConeTwistConstraint_setParam__SWIG_0(long jarg1, btConeTwistConstraint jarg1_, int jarg2, float jarg3, int jarg4);
   public final static native void btConeTwistConstraint_setParam__SWIG_1(long jarg1, btConeTwistConstraint jarg1_, int jarg2, float jarg3);
-  public final static native void btConeTwistConstraint_setFrames(long jarg1, btConeTwistConstraint jarg1_, long jarg2, btTransform jarg2_, long jarg3, btTransform jarg3_);
-  public final static native long btConeTwistConstraint_getFrameOffsetA(long jarg1, btConeTwistConstraint jarg1_);
-  public final static native long btConeTwistConstraint_getFrameOffsetB(long jarg1, btConeTwistConstraint jarg1_);
+  public final static native void btConeTwistConstraint_setFrames(long jarg1, btConeTwistConstraint jarg1_, Matrix4 jarg2, Matrix4 jarg3);
+  public final static native Matrix4 btConeTwistConstraint_getFrameOffsetA(long jarg1, btConeTwistConstraint jarg1_);
+  public final static native Matrix4 btConeTwistConstraint_getFrameOffsetB(long jarg1, btConeTwistConstraint jarg1_);
   public final static native float btConeTwistConstraint_getParam__SWIG_0(long jarg1, btConeTwistConstraint jarg1_, int jarg2, int jarg3);
   public final static native float btConeTwistConstraint_getParam__SWIG_1(long jarg1, btConeTwistConstraint jarg1_, int jarg2);
   public final static native void delete_btConeTwistConstraint(long jarg1);
@@ -3285,8 +3292,8 @@ public class gdxBulletJNI {
   public final static native String btConeTwistConstraintData_m_pad_get(long jarg1, btConeTwistConstraintData jarg1_);
   public final static native long new_btConeTwistConstraintData();
   public final static native void delete_btConeTwistConstraintData(long jarg1);
-  public final static native long new_btGeneric6DofSpringConstraint__SWIG_0(long jarg1, btRigidBody jarg1_, long jarg2, btRigidBody jarg2_, long jarg3, btTransform jarg3_, long jarg4, btTransform jarg4_, boolean jarg5);
-  public final static native long new_btGeneric6DofSpringConstraint__SWIG_1(long jarg1, btRigidBody jarg1_, long jarg2, btTransform jarg2_, boolean jarg3);
+  public final static native long new_btGeneric6DofSpringConstraint__SWIG_0(long jarg1, btRigidBody jarg1_, long jarg2, btRigidBody jarg2_, Matrix4 jarg3, Matrix4 jarg4, boolean jarg5);
+  public final static native long new_btGeneric6DofSpringConstraint__SWIG_1(long jarg1, btRigidBody jarg1_, Matrix4 jarg2, boolean jarg3);
   public final static native void btGeneric6DofSpringConstraint_enableSpring(long jarg1, btGeneric6DofSpringConstraint jarg1_, int jarg2, boolean jarg3);
   public final static native void btGeneric6DofSpringConstraint_setStiffness(long jarg1, btGeneric6DofSpringConstraint jarg1_, int jarg2, float jarg3);
   public final static native void btGeneric6DofSpringConstraint_setDamping(long jarg1, btGeneric6DofSpringConstraint jarg1_, int jarg2, float jarg3);
@@ -3311,20 +3318,20 @@ public class gdxBulletJNI {
   public final static native long new_btHingeConstraint__SWIG_1(long jarg1, btRigidBody jarg1_, long jarg2, btRigidBody jarg2_, Vector3 jarg3, Vector3 jarg4, Vector3 jarg5, Vector3 jarg6);
   public final static native long new_btHingeConstraint__SWIG_2(long jarg1, btRigidBody jarg1_, Vector3 jarg2, Vector3 jarg3, boolean jarg4);
   public final static native long new_btHingeConstraint__SWIG_3(long jarg1, btRigidBody jarg1_, Vector3 jarg2, Vector3 jarg3);
-  public final static native long new_btHingeConstraint__SWIG_4(long jarg1, btRigidBody jarg1_, long jarg2, btRigidBody jarg2_, long jarg3, btTransform jarg3_, long jarg4, btTransform jarg4_, boolean jarg5);
-  public final static native long new_btHingeConstraint__SWIG_5(long jarg1, btRigidBody jarg1_, long jarg2, btRigidBody jarg2_, long jarg3, btTransform jarg3_, long jarg4, btTransform jarg4_);
-  public final static native long new_btHingeConstraint__SWIG_6(long jarg1, btRigidBody jarg1_, long jarg2, btTransform jarg2_, boolean jarg3);
-  public final static native long new_btHingeConstraint__SWIG_7(long jarg1, btRigidBody jarg1_, long jarg2, btTransform jarg2_);
+  public final static native long new_btHingeConstraint__SWIG_4(long jarg1, btRigidBody jarg1_, long jarg2, btRigidBody jarg2_, Matrix4 jarg3, Matrix4 jarg4, boolean jarg5);
+  public final static native long new_btHingeConstraint__SWIG_5(long jarg1, btRigidBody jarg1_, long jarg2, btRigidBody jarg2_, Matrix4 jarg3, Matrix4 jarg4);
+  public final static native long new_btHingeConstraint__SWIG_6(long jarg1, btRigidBody jarg1_, Matrix4 jarg2, boolean jarg3);
+  public final static native long new_btHingeConstraint__SWIG_7(long jarg1, btRigidBody jarg1_, Matrix4 jarg2);
   public final static native void btHingeConstraint_getInfo1NonVirtual(long jarg1, btHingeConstraint jarg1_, long jarg2);
-  public final static native void btHingeConstraint_getInfo2NonVirtual(long jarg1, btHingeConstraint jarg1_, long jarg2, btConstraintInfo2 jarg2_, long jarg3, btTransform jarg3_, long jarg4, btTransform jarg4_, Vector3 jarg5, Vector3 jarg6);
-  public final static native void btHingeConstraint_getInfo2Internal(long jarg1, btHingeConstraint jarg1_, long jarg2, btConstraintInfo2 jarg2_, long jarg3, btTransform jarg3_, long jarg4, btTransform jarg4_, Vector3 jarg5, Vector3 jarg6);
-  public final static native void btHingeConstraint_getInfo2InternalUsingFrameOffset(long jarg1, btHingeConstraint jarg1_, long jarg2, btConstraintInfo2 jarg2_, long jarg3, btTransform jarg3_, long jarg4, btTransform jarg4_, Vector3 jarg5, Vector3 jarg6);
+  public final static native void btHingeConstraint_getInfo2NonVirtual(long jarg1, btHingeConstraint jarg1_, long jarg2, btConstraintInfo2 jarg2_, Matrix4 jarg3, Matrix4 jarg4, Vector3 jarg5, Vector3 jarg6);
+  public final static native void btHingeConstraint_getInfo2Internal(long jarg1, btHingeConstraint jarg1_, long jarg2, btConstraintInfo2 jarg2_, Matrix4 jarg3, Matrix4 jarg4, Vector3 jarg5, Vector3 jarg6);
+  public final static native void btHingeConstraint_getInfo2InternalUsingFrameOffset(long jarg1, btHingeConstraint jarg1_, long jarg2, btConstraintInfo2 jarg2_, Matrix4 jarg3, Matrix4 jarg4, Vector3 jarg5, Vector3 jarg6);
   public final static native void btHingeConstraint_updateRHS(long jarg1, btHingeConstraint jarg1_, float jarg2);
   public final static native long btHingeConstraint_getRigidBodyA__SWIG_0(long jarg1, btHingeConstraint jarg1_);
   public final static native long btHingeConstraint_getRigidBodyB__SWIG_0(long jarg1, btHingeConstraint jarg1_);
-  public final static native long btHingeConstraint_getFrameOffsetA(long jarg1, btHingeConstraint jarg1_);
-  public final static native long btHingeConstraint_getFrameOffsetB(long jarg1, btHingeConstraint jarg1_);
-  public final static native void btHingeConstraint_setFrames(long jarg1, btHingeConstraint jarg1_, long jarg2, btTransform jarg2_, long jarg3, btTransform jarg3_);
+  public final static native Matrix4 btHingeConstraint_getFrameOffsetA(long jarg1, btHingeConstraint jarg1_);
+  public final static native Matrix4 btHingeConstraint_getFrameOffsetB(long jarg1, btHingeConstraint jarg1_);
+  public final static native void btHingeConstraint_setFrames(long jarg1, btHingeConstraint jarg1_, Matrix4 jarg2, Matrix4 jarg3);
   public final static native void btHingeConstraint_setAngularOnly(long jarg1, btHingeConstraint jarg1_, boolean jarg2);
   public final static native void btHingeConstraint_enableAngularMotor(long jarg1, btHingeConstraint jarg1_, boolean jarg2, float jarg3, float jarg4);
   public final static native void btHingeConstraint_enableMotor(long jarg1, btHingeConstraint jarg1_, boolean jarg2);
@@ -3339,10 +3346,10 @@ public class gdxBulletJNI {
   public final static native float btHingeConstraint_getLowerLimit(long jarg1, btHingeConstraint jarg1_);
   public final static native float btHingeConstraint_getUpperLimit(long jarg1, btHingeConstraint jarg1_);
   public final static native float btHingeConstraint_getHingeAngle__SWIG_0(long jarg1, btHingeConstraint jarg1_);
-  public final static native float btHingeConstraint_getHingeAngle__SWIG_1(long jarg1, btHingeConstraint jarg1_, long jarg2, btTransform jarg2_, long jarg3, btTransform jarg3_);
-  public final static native void btHingeConstraint_testLimit(long jarg1, btHingeConstraint jarg1_, long jarg2, btTransform jarg2_, long jarg3, btTransform jarg3_);
-  public final static native long btHingeConstraint_getAFrame__SWIG_0(long jarg1, btHingeConstraint jarg1_);
-  public final static native long btHingeConstraint_getBFrame__SWIG_0(long jarg1, btHingeConstraint jarg1_);
+  public final static native float btHingeConstraint_getHingeAngle__SWIG_1(long jarg1, btHingeConstraint jarg1_, Matrix4 jarg2, Matrix4 jarg3);
+  public final static native void btHingeConstraint_testLimit(long jarg1, btHingeConstraint jarg1_, Matrix4 jarg2, Matrix4 jarg3);
+  public final static native Matrix4 btHingeConstraint_getAFrame__SWIG_0(long jarg1, btHingeConstraint jarg1_);
+  public final static native Matrix4 btHingeConstraint_getBFrame__SWIG_0(long jarg1, btHingeConstraint jarg1_);
   public final static native int btHingeConstraint_getSolveLimit(long jarg1, btHingeConstraint jarg1_);
   public final static native float btHingeConstraint_getLimitSign(long jarg1, btHingeConstraint jarg1_);
   public final static native boolean btHingeConstraint_getAngularOnly(long jarg1, btHingeConstraint jarg1_);
@@ -3553,14 +3560,14 @@ public class gdxBulletJNI {
   public final static native void delete_btVehicleTuning(long jarg1);
   public final static native long new_btRaycastVehicle(long jarg1, btVehicleTuning jarg1_, long jarg2, btRigidBody jarg2_, long jarg3, btVehicleRaycaster jarg3_);
   public final static native void delete_btRaycastVehicle(long jarg1);
-  public final static native long btRaycastVehicle_getChassisWorldTransform(long jarg1, btRaycastVehicle jarg1_);
+  public final static native Matrix4 btRaycastVehicle_getChassisWorldTransform(long jarg1, btRaycastVehicle jarg1_);
   public final static native float btRaycastVehicle_rayCast(long jarg1, btRaycastVehicle jarg1_, long jarg2, btWheelInfo jarg2_);
   public final static native void btRaycastVehicle_updateVehicle(long jarg1, btRaycastVehicle jarg1_, float jarg2);
   public final static native void btRaycastVehicle_resetSuspension(long jarg1, btRaycastVehicle jarg1_);
   public final static native float btRaycastVehicle_getSteeringValue(long jarg1, btRaycastVehicle jarg1_, int jarg2);
   public final static native void btRaycastVehicle_setSteeringValue(long jarg1, btRaycastVehicle jarg1_, float jarg2, int jarg3);
   public final static native void btRaycastVehicle_applyEngineForce(long jarg1, btRaycastVehicle jarg1_, float jarg2, int jarg3);
-  public final static native long btRaycastVehicle_getWheelTransformWS(long jarg1, btRaycastVehicle jarg1_, int jarg2);
+  public final static native Matrix4 btRaycastVehicle_getWheelTransformWS(long jarg1, btRaycastVehicle jarg1_, int jarg2);
   public final static native void btRaycastVehicle_updateWheelTransform__SWIG_0(long jarg1, btRaycastVehicle jarg1_, int jarg2, boolean jarg3);
   public final static native void btRaycastVehicle_updateWheelTransform__SWIG_1(long jarg1, btRaycastVehicle jarg1_, int jarg2);
   public final static native long btRaycastVehicle_addWheel(long jarg1, btRaycastVehicle jarg1_, Vector3 jarg2, Vector3 jarg3, Vector3 jarg4, float jarg5, float jarg6, long jarg7, btVehicleTuning jarg7_, boolean jarg8);
@@ -3720,8 +3727,8 @@ public class gdxBulletJNI {
   public static void SwigDirector_btIDebugDraw_drawLine__SWIG_1(btIDebugDraw self, Vector3 from, Vector3 to, Vector3 fromColor, Vector3 toColor) {
     self.drawLine(from, to, fromColor, toColor);
   }
-  public static void SwigDirector_btIDebugDraw_drawSphere__SWIG_0(btIDebugDraw self, float radius, long transform, Vector3 color) {
-    self.drawSphere(radius, new btTransform(transform, false), color);
+  public static void SwigDirector_btIDebugDraw_drawSphere__SWIG_0(btIDebugDraw self, float radius, Matrix4 transform, Vector3 color) {
+    self.drawSphere(radius, transform, color);
   }
   public static void SwigDirector_btIDebugDraw_drawSphere__SWIG_1(btIDebugDraw self, Vector3 p, float radius, Vector3 color) {
     self.drawSphere(p, radius, color);
@@ -3750,8 +3757,8 @@ public class gdxBulletJNI {
   public static void SwigDirector_btIDebugDraw_drawAabb(btIDebugDraw self, Vector3 from, Vector3 to, Vector3 color) {
     self.drawAabb(from, to, color);
   }
-  public static void SwigDirector_btIDebugDraw_drawTransform(btIDebugDraw self, long transform, float orthoLen) {
-    self.drawTransform(new btTransform(transform, false), orthoLen);
+  public static void SwigDirector_btIDebugDraw_drawTransform(btIDebugDraw self, Matrix4 transform, float orthoLen) {
+    self.drawTransform(transform, orthoLen);
   }
   public static void SwigDirector_btIDebugDraw_drawArc__SWIG_0(btIDebugDraw self, Vector3 center, Vector3 normal, Vector3 axis, float radiusA, float radiusB, float minAngle, float maxAngle, Vector3 color, boolean drawSect, float stepDegrees) {
     self.drawArc(center, normal, axis, radiusA, radiusB, minAngle, maxAngle, color, drawSect, stepDegrees);
@@ -3768,26 +3775,26 @@ public class gdxBulletJNI {
   public static void SwigDirector_btIDebugDraw_drawBox__SWIG_0(btIDebugDraw self, Vector3 bbMin, Vector3 bbMax, Vector3 color) {
     self.drawBox(bbMin, bbMax, color);
   }
-  public static void SwigDirector_btIDebugDraw_drawBox__SWIG_1(btIDebugDraw self, Vector3 bbMin, Vector3 bbMax, long trans, Vector3 color) {
-    self.drawBox(bbMin, bbMax, new btTransform(trans, false), color);
+  public static void SwigDirector_btIDebugDraw_drawBox__SWIG_1(btIDebugDraw self, Vector3 bbMin, Vector3 bbMax, Matrix4 trans, Vector3 color) {
+    self.drawBox(bbMin, bbMax, trans, color);
   }
-  public static void SwigDirector_btIDebugDraw_drawCapsule(btIDebugDraw self, float radius, float halfHeight, int upAxis, long transform, Vector3 color) {
-    self.drawCapsule(radius, halfHeight, upAxis, new btTransform(transform, false), color);
+  public static void SwigDirector_btIDebugDraw_drawCapsule(btIDebugDraw self, float radius, float halfHeight, int upAxis, Matrix4 transform, Vector3 color) {
+    self.drawCapsule(radius, halfHeight, upAxis, transform, color);
   }
-  public static void SwigDirector_btIDebugDraw_drawCylinder(btIDebugDraw self, float radius, float halfHeight, int upAxis, long transform, Vector3 color) {
-    self.drawCylinder(radius, halfHeight, upAxis, new btTransform(transform, false), color);
+  public static void SwigDirector_btIDebugDraw_drawCylinder(btIDebugDraw self, float radius, float halfHeight, int upAxis, Matrix4 transform, Vector3 color) {
+    self.drawCylinder(radius, halfHeight, upAxis, transform, color);
   }
-  public static void SwigDirector_btIDebugDraw_drawCone(btIDebugDraw self, float radius, float height, int upAxis, long transform, Vector3 color) {
-    self.drawCone(radius, height, upAxis, new btTransform(transform, false), color);
+  public static void SwigDirector_btIDebugDraw_drawCone(btIDebugDraw self, float radius, float height, int upAxis, Matrix4 transform, Vector3 color) {
+    self.drawCone(radius, height, upAxis, transform, color);
   }
-  public static void SwigDirector_btIDebugDraw_drawPlane(btIDebugDraw self, Vector3 planeNormal, float planeConst, long transform, Vector3 color) {
-    self.drawPlane(planeNormal, planeConst, new btTransform(transform, false), color);
+  public static void SwigDirector_btIDebugDraw_drawPlane(btIDebugDraw self, Vector3 planeNormal, float planeConst, Matrix4 transform, Vector3 color) {
+    self.drawPlane(planeNormal, planeConst, transform, color);
   }
-  public static void SwigDirector_btMotionState_getWorldTransform(btMotionState self, long worldTrans) {
-    self.getWorldTransform(new btTransform(worldTrans, false));
+  public static void SwigDirector_btMotionState_getWorldTransform(btMotionState self, Matrix4 worldTrans) {
+    self.getWorldTransform(worldTrans);
   }
-  public static void SwigDirector_btMotionState_setWorldTransform(btMotionState self, long worldTrans) {
-    self.setWorldTransform(new btTransform(worldTrans, false));
+  public static void SwigDirector_btMotionState_setWorldTransform(btMotionState self, Matrix4 worldTrans) {
+    self.setWorldTransform(worldTrans);
   }
 
   private final static native void swig_module_init();
index 8d1ae36..3569517 100644 (file)
@@ -11,6 +11,7 @@ package com.badlogic.gdx.physics.bullet;
 import com.badlogic.gdx.math.Vector3;
 import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
+import com.badlogic.gdx.math.Matrix4;
 
 public class int4 {
   private long swigCPtr;
index 511b966..3201fb5 100644 (file)
@@ -1038,6 +1038,7 @@ static jdoubleArray SWIG_JavaArrayOutDouble (JNIEnv *jenv, double *result, jsize
 #include <LinearMath/btVector3.h>
 #include <LinearMath/btQuaternion.h>
 #include <LinearMath/btMatrix3x3.h>
+#include <LinearMath/btTransform.h>
 
 
 #include <LinearMath/btVector3.h>
@@ -1086,6 +1087,18 @@ SWIGINTERN inline jobject gdx_getReturnMatrix3(JNIEnv * jenv) {
   return ret;
 }
 
+/* Gets a global reference to the temp class's Return Matrix4.  Do not release this. */
+SWIGINTERN inline jobject gdx_getReturnMatrix4(JNIEnv * jenv) {
+  static jobject ret = NULL;
+  if (ret == NULL) {
+    jclass tempClass = gdx_getTempClass(jenv);
+    jfieldID field = jenv->GetStaticFieldID(tempClass, "_RET_MATRIX4", "Lcom/badlogic/gdx/math/Matrix4;");
+    ret = jenv->NewGlobalRef(jenv->GetStaticObjectField(tempClass, field));
+  }
+  return ret;
+}
+
+
 SWIGINTERN inline jobject gdx_takePoolObject(JNIEnv * jenv, const char * poolName) {
   jclass tempClass = gdx_getTempClass(jenv);
   
@@ -1286,6 +1299,52 @@ SWIGINTERN inline void gdx_setGdxMatrix3FromBtMatrix3x3(JNIEnv * jenv, jobject t
   gdx_setGdxMatrix3FromBtMatrix3x3(jenv, target, *source);
 }
 
+/* Sets the data in the Bullet type from the Gdx type. */
+SWIGINTERN inline void gdx_setBtTransformFromGdxMatrix4(JNIEnv * jenv, btTransform & target, jobject source) {
+  jclass sourceClass = jenv->GetObjectClass(source); 
+  
+  static jfieldID valField = NULL;
+  if (valField == NULL) {
+    valField = jenv->GetFieldID(sourceClass, "val", "[F");
+  }
+  
+  jfloatArray valArray = (jfloatArray) jenv->GetObjectField(source, valField);
+  jfloat * elements = jenv->GetFloatArrayElements(valArray, NULL);
+  
+  target.setFromOpenGLMatrix(elements);
+  
+  jenv->ReleaseFloatArrayElements(valArray, elements, JNI_ABORT);
+  jenv->DeleteLocalRef(valArray);
+  jenv->DeleteLocalRef(sourceClass);
+}
+
+SWIGINTERN inline void gdx_setBtTransformFromGdxMatrix4(JNIEnv * jenv, btTransform * target, jobject source) {
+  gdx_setBtTransformFromGdxMatrix4(jenv, *target, source);
+}
+
+/* Sets the data in the Gdx type from the Bullet type. */
+SWIGINTERN inline void gdx_setGdxMatrix4FromBtTransform(JNIEnv * jenv, jobject target, const btTransform & source) {
+  jclass targetClass = jenv->GetObjectClass(target);
+  
+  static jfieldID valField = NULL;
+  if (valField == NULL) {
+    valField = jenv->GetFieldID(targetClass, "val", "[F");
+  }
+  
+  jfloatArray valArray = (jfloatArray) jenv->GetObjectField(target, valField);
+  jfloat * elements = jenv->GetFloatArrayElements(valArray, NULL);
+
+  source.getOpenGLMatrix(elements);
+
+  jenv->ReleaseFloatArrayElements(valArray, elements, 0);  
+  jenv->DeleteLocalRef(valArray);
+  jenv->DeleteLocalRef(targetClass);
+}
+
+SWIGINTERN inline void gdx_setGdxMatrix4FromBtTransform(JNIEnv * jenv, jobject target, const btTransform * source) {
+  gdx_setGdxMatrix4FromBtTransform(jenv, target, *source);
+}
+
 /*
  * A simple RAII wrapper to release jobjects we obtain from pools in 
  * directorin typemaps.  SWIG doesn't have hooks to release them after
@@ -1324,6 +1383,25 @@ public:
 };
 
 /*
+ * RAII wrapper to commit changes made to a local Gdx Vector3 back to 
+ * the btVector3.
+ */
+class gdxAutoCommitBtVector3 {
+private:
+  JNIEnv * jenv;
+  jobject gdxV3;
+  btVector3 & btV3;
+public:
+  gdxAutoCommitBtVector3(JNIEnv * jenv, jobject gdxV3, btVector3 & btV3) : 
+    jenv(jenv), gdxV3(gdxV3), btV3(btV3) { };
+  gdxAutoCommitBtVector3(JNIEnv * jenv, jobject gdxV3, btVector3 * btV3) : 
+    jenv(jenv), gdxV3(gdxV3), btV3(*btV3) { };
+  virtual ~gdxAutoCommitBtVector3() {
+    gdx_setBtVector3FromGdxVector3(this->jenv, this->btV3, this->gdxV3);
+  };
+};
+
+/*
  * RAII wrapper to commit changes made to a local btQuaternion back to 
  * the Gdx Quaternion.
  */
@@ -1343,6 +1421,25 @@ public:
 };
 
 /*
+ * RAII wrapper to commit changes made to a local Gdx Quaternion back to 
+ * the btQuaternion.
+ */
+class gdxAutoCommitBtQuaternion {
+private:
+  JNIEnv * jenv;
+  jobject gdxQ;
+  btQuaternion & btQ;
+public:
+  gdxAutoCommitBtQuaternion(JNIEnv * jenv, jobject gdxQ, btQuaternion & btQ) : 
+    jenv(jenv), gdxQ(gdxQ), btQ(btQ) { };
+  gdxAutoCommitBtQuaternion(JNIEnv * jenv, jobject gdxQ, btQuaternion * btQ) : 
+    jenv(jenv), gdxQ(gdxQ), btQ(*btQ) { };
+  virtual ~gdxAutoCommitBtQuaternion() {
+    gdx_setBtQuaternionFromGdxQuaternion(this->jenv, this->btQ, this->gdxQ);
+  };
+};
+
+/*
  * RAII wrapper to commit changes made to a local btMatrix3 back to 
  * the Gdx Matrix3.
  */
@@ -1361,6 +1458,63 @@ public:
   };
 };
 
+/*
+ * RAII wrapper to commit changes made to a local Gdx Matrix3 back to 
+ * the btMatrix3x3.
+ */
+class gdxAutoCommitBtMatrix3x3 {
+private:
+  JNIEnv * jenv;
+  jobject gdxM;
+  btMatrix3x3 & btM;
+public:
+  gdxAutoCommitBtMatrix3x3(JNIEnv * jenv, jobject gdxM, btMatrix3x3 & btM) : 
+    jenv(jenv), gdxM(gdxM), btM(btM) { };
+  gdxAutoCommitBtMatrix3x3(JNIEnv * jenv, jobject gdxM, btMatrix3x3 * btM) : 
+    jenv(jenv), gdxM(gdxM), btM(*btM) { };
+  virtual ~gdxAutoCommitBtMatrix3x3() {
+    gdx_setBtMatrix3x3FromGdxMatrix3(this->jenv, this->btM, this->gdxM);
+  };
+};
+
+/*
+ * RAII wrapper to commit changes made to a local btTransform back to 
+ * the Gdx Matrix4.
+ */
+class gdxAutoCommitMatrix4 {
+private:
+  JNIEnv * jenv;
+  jobject gdxM;
+  btTransform & btM;
+public:
+  gdxAutoCommitMatrix4(JNIEnv * jenv, jobject gdxM, btTransform & btM) : 
+    jenv(jenv), gdxM(gdxM), btM(btM) { };
+  gdxAutoCommitMatrix4(JNIEnv * jenv, jobject gdxM, btTransform * btM) : 
+    jenv(jenv), gdxM(gdxM), btM(*btM) { };
+  virtual ~gdxAutoCommitMatrix4() {
+    gdx_setGdxMatrix4FromBtTransform(this->jenv, this->gdxM, this->btM);
+  };
+};
+
+/*
+ * RAII wrapper to commit changes made to a local Gdx Matrix4 back to 
+ * the btTransform.
+ */
+class gdxAutoCommitBtTransform {
+private:
+  JNIEnv * jenv;
+  jobject gdxM;
+  btTransform & btM;
+public:
+  gdxAutoCommitBtTransform(JNIEnv * jenv, jobject gdxM, btTransform & btM) : 
+    jenv(jenv), gdxM(gdxM), btM(btM) { };
+  gdxAutoCommitBtTransform(JNIEnv * jenv, jobject gdxM, btTransform * btM) : 
+    jenv(jenv), gdxM(gdxM), btM(*btM) { };
+  virtual ~gdxAutoCommitBtTransform() {
+    gdx_setBtTransformFromGdxMatrix4(this->jenv, this->btM, this->gdxM);
+  };
+};
+
 
 
 #include <LinearMath/btQuadWord.h>
@@ -1565,11 +1719,18 @@ SWIGINTERN void btIndexedMesh_setVertexBase(btIndexedMesh *self,float data[],uns
                memcpy(vertices, (float*)data, size*sizeof(float));
                self->m_vertexBase = (unsigned char*)vertices;
        }
-SWIGINTERN void btIndexedMesh_dispose(btIndexedMesh *self){
-               short *indices = (short*)self->m_triangleIndexBase;
-               delete[] indices;
-               float *vertices = (float*)self->m_vertexBase;
-               delete[] vertices;
+SWIGINTERN void delete_btIndexedMesh(btIndexedMesh *self){
+               if (self->m_triangleIndexBase != NULL) {
+                       short *indices = (short*)self->m_triangleIndexBase;
+                       delete[] indices;                       
+                       self->m_triangleIndexBase = NULL;
+               }
+               if (self->m_vertexBase != NULL) {
+                       float *vertices = (float*)self->m_vertexBase;
+                       delete[] vertices;
+                       self->m_vertexBase = NULL;
+               }
+               delete self;
        }
 
 #include <BulletCollision/CollisionShapes/btMaterial.h>
@@ -1970,7 +2131,7 @@ void SwigDirector_btIDebugDraw::drawSphere(btScalar radius, btTransform const &t
   JNIEnv * jenv = swigjnienv.getJNIEnv() ;
   jobject swigjobj = (jobject) NULL ;
   jfloat jradius  ;
-  jlong jtransform = 0 ;
+  jobject jtransform = 0 ;
   jobject jcolor = 0 ;
   
   if (!swig_override[2]) {
@@ -1980,7 +2141,9 @@ void SwigDirector_btIDebugDraw::drawSphere(btScalar radius, btTransform const &t
   swigjobj = swig_get_self(jenv);
   if (swigjobj && jenv->IsSameObject(swigjobj, NULL) == JNI_FALSE) {
     jradius = (jfloat) radius;
-    *(btTransform **)&jtransform = (btTransform *) &transform; 
+    jtransform = gdx_takePoolObject(jenv, "_DIR_MATRIX4"); 
+    gdxPoolAutoRelease autoRelease_jtransform(jenv, "_DIR_MATRIX4", jtransform);
+    gdx_setGdxMatrix4FromBtTransform(jenv, jtransform, transform);
     jcolor = gdx_takePoolObject(jenv, "_DIR_VECTOR3");
     gdxPoolAutoRelease autoRelease_jcolor(jenv, "_DIR_VECTOR3", jcolor);
     gdx_setGdxVector3FromBtVector3(jenv, jcolor, color);
@@ -2275,7 +2438,7 @@ void SwigDirector_btIDebugDraw::drawTransform(btTransform const &transform, btSc
   JNIEnvWrapper swigjnienv(this) ;
   JNIEnv * jenv = swigjnienv.getJNIEnv() ;
   jobject swigjobj = (jobject) NULL ;
-  jlong jtransform = 0 ;
+  jobject jtransform = 0 ;
   jfloat jorthoLen  ;
   
   if (!swig_override[12]) {
@@ -2284,7 +2447,9 @@ void SwigDirector_btIDebugDraw::drawTransform(btTransform const &transform, btSc
   }
   swigjobj = swig_get_self(jenv);
   if (swigjobj && jenv->IsSameObject(swigjobj, NULL) == JNI_FALSE) {
-    *(btTransform **)&jtransform = (btTransform *) &transform; 
+    jtransform = gdx_takePoolObject(jenv, "_DIR_MATRIX4"); 
+    gdxPoolAutoRelease autoRelease_jtransform(jenv, "_DIR_MATRIX4", jtransform);
+    gdx_setGdxMatrix4FromBtTransform(jenv, jtransform, transform);
     jorthoLen = (jfloat) orthoLen;
     jenv->CallStaticVoidMethod(Swig::jclass_gdxBulletJNI, Swig::director_methids[12], swigjobj, jtransform, jorthoLen);
     if (jenv->ExceptionCheck() == JNI_TRUE) return ;
@@ -2425,7 +2590,7 @@ void SwigDirector_btIDebugDraw::drawBox(btVector3 const &bbMin, btVector3 const
   jobject swigjobj = (jobject) NULL ;
   jobject jbbMin = 0 ;
   jobject jbbMax = 0 ;
-  jlong jtrans = 0 ;
+  jobject jtrans = 0 ;
   jobject jcolor = 0 ;
   
   if (!swig_override[18]) {
@@ -2440,7 +2605,9 @@ void SwigDirector_btIDebugDraw::drawBox(btVector3 const &bbMin, btVector3 const
     jbbMax = gdx_takePoolObject(jenv, "_DIR_VECTOR3");
     gdxPoolAutoRelease autoRelease_jbbMax(jenv, "_DIR_VECTOR3", jbbMax);
     gdx_setGdxVector3FromBtVector3(jenv, jbbMax, bbMax);
-    *(btTransform **)&jtrans = (btTransform *) &trans; 
+    jtrans = gdx_takePoolObject(jenv, "_DIR_MATRIX4"); 
+    gdxPoolAutoRelease autoRelease_jtrans(jenv, "_DIR_MATRIX4", jtrans);
+    gdx_setGdxMatrix4FromBtTransform(jenv, jtrans, trans);
     jcolor = gdx_takePoolObject(jenv, "_DIR_VECTOR3");
     gdxPoolAutoRelease autoRelease_jcolor(jenv, "_DIR_VECTOR3", jcolor);
     gdx_setGdxVector3FromBtVector3(jenv, jcolor, color);
@@ -2459,7 +2626,7 @@ void SwigDirector_btIDebugDraw::drawCapsule(btScalar radius, btScalar halfHeight
   jfloat jradius  ;
   jfloat jhalfHeight  ;
   jint jupAxis  ;
-  jlong jtransform = 0 ;
+  jobject jtransform = 0 ;
   jobject jcolor = 0 ;
   
   if (!swig_override[19]) {
@@ -2471,7 +2638,9 @@ void SwigDirector_btIDebugDraw::drawCapsule(btScalar radius, btScalar halfHeight
     jradius = (jfloat) radius;
     jhalfHeight = (jfloat) halfHeight;
     jupAxis = (jint) upAxis;
-    *(btTransform **)&jtransform = (btTransform *) &transform; 
+    jtransform = gdx_takePoolObject(jenv, "_DIR_MATRIX4"); 
+    gdxPoolAutoRelease autoRelease_jtransform(jenv, "_DIR_MATRIX4", jtransform);
+    gdx_setGdxMatrix4FromBtTransform(jenv, jtransform, transform);
     jcolor = gdx_takePoolObject(jenv, "_DIR_VECTOR3");
     gdxPoolAutoRelease autoRelease_jcolor(jenv, "_DIR_VECTOR3", jcolor);
     gdx_setGdxVector3FromBtVector3(jenv, jcolor, color);
@@ -2490,7 +2659,7 @@ void SwigDirector_btIDebugDraw::drawCylinder(btScalar radius, btScalar halfHeigh
   jfloat jradius  ;
   jfloat jhalfHeight  ;
   jint jupAxis  ;
-  jlong jtransform = 0 ;
+  jobject jtransform = 0 ;
   jobject jcolor = 0 ;
   
   if (!swig_override[20]) {
@@ -2502,7 +2671,9 @@ void SwigDirector_btIDebugDraw::drawCylinder(btScalar radius, btScalar halfHeigh
     jradius = (jfloat) radius;
     jhalfHeight = (jfloat) halfHeight;
     jupAxis = (jint) upAxis;
-    *(btTransform **)&jtransform = (btTransform *) &transform; 
+    jtransform = gdx_takePoolObject(jenv, "_DIR_MATRIX4"); 
+    gdxPoolAutoRelease autoRelease_jtransform(jenv, "_DIR_MATRIX4", jtransform);
+    gdx_setGdxMatrix4FromBtTransform(jenv, jtransform, transform);
     jcolor = gdx_takePoolObject(jenv, "_DIR_VECTOR3");
     gdxPoolAutoRelease autoRelease_jcolor(jenv, "_DIR_VECTOR3", jcolor);
     gdx_setGdxVector3FromBtVector3(jenv, jcolor, color);
@@ -2521,7 +2692,7 @@ void SwigDirector_btIDebugDraw::drawCone(btScalar radius, btScalar height, int u
   jfloat jradius  ;
   jfloat jheight  ;
   jint jupAxis  ;
-  jlong jtransform = 0 ;
+  jobject jtransform = 0 ;
   jobject jcolor = 0 ;
   
   if (!swig_override[21]) {
@@ -2533,7 +2704,9 @@ void SwigDirector_btIDebugDraw::drawCone(btScalar radius, btScalar height, int u
     jradius = (jfloat) radius;
     jheight = (jfloat) height;
     jupAxis = (jint) upAxis;
-    *(btTransform **)&jtransform = (btTransform *) &transform; 
+    jtransform = gdx_takePoolObject(jenv, "_DIR_MATRIX4"); 
+    gdxPoolAutoRelease autoRelease_jtransform(jenv, "_DIR_MATRIX4", jtransform);
+    gdx_setGdxMatrix4FromBtTransform(jenv, jtransform, transform);
     jcolor = gdx_takePoolObject(jenv, "_DIR_VECTOR3");
     gdxPoolAutoRelease autoRelease_jcolor(jenv, "_DIR_VECTOR3", jcolor);
     gdx_setGdxVector3FromBtVector3(jenv, jcolor, color);
@@ -2551,7 +2724,7 @@ void SwigDirector_btIDebugDraw::drawPlane(btVector3 const &planeNormal, btScalar
   jobject swigjobj = (jobject) NULL ;
   jobject jplaneNormal = 0 ;
   jfloat jplaneConst  ;
-  jlong jtransform = 0 ;
+  jobject jtransform = 0 ;
   jobject jcolor = 0 ;
   
   if (!swig_override[22]) {
@@ -2564,7 +2737,9 @@ void SwigDirector_btIDebugDraw::drawPlane(btVector3 const &planeNormal, btScalar
     gdxPoolAutoRelease autoRelease_jplaneNormal(jenv, "_DIR_VECTOR3", jplaneNormal);
     gdx_setGdxVector3FromBtVector3(jenv, jplaneNormal, planeNormal);
     jplaneConst = (jfloat) planeConst;
-    *(btTransform **)&jtransform = (btTransform *) &transform; 
+    jtransform = gdx_takePoolObject(jenv, "_DIR_MATRIX4"); 
+    gdxPoolAutoRelease autoRelease_jtransform(jenv, "_DIR_MATRIX4", jtransform);
+    gdx_setGdxMatrix4FromBtTransform(jenv, jtransform, transform);
     jcolor = gdx_takePoolObject(jenv, "_DIR_VECTOR3");
     gdxPoolAutoRelease autoRelease_jcolor(jenv, "_DIR_VECTOR3", jcolor);
     gdx_setGdxVector3FromBtVector3(jenv, jcolor, color);
@@ -2589,7 +2764,7 @@ void SwigDirector_btIDebugDraw::swig_connect_director(JNIEnv *jenv, jobject jsel
       "drawLine", "(Lcom/badlogic/gdx/math/Vector3;Lcom/badlogic/gdx/math/Vector3;Lcom/badlogic/gdx/math/Vector3;Lcom/badlogic/gdx/math/Vector3;)V", NULL 
     },
     {
-      "drawSphere", "(FLcom/badlogic/gdx/physics/bullet/btTransform;Lcom/badlogic/gdx/math/Vector3;)V", NULL 
+      "drawSphere", "(FLcom/badlogic/gdx/math/Matrix4;Lcom/badlogic/gdx/math/Vector3;)V", NULL 
     },
     {
       "drawSphere", "(Lcom/badlogic/gdx/math/Vector3;FLcom/badlogic/gdx/math/Vector3;)V", NULL 
@@ -2619,7 +2794,7 @@ void SwigDirector_btIDebugDraw::swig_connect_director(JNIEnv *jenv, jobject jsel
       "drawAabb", "(Lcom/badlogic/gdx/math/Vector3;Lcom/badlogic/gdx/math/Vector3;Lcom/badlogic/gdx/math/Vector3;)V", NULL 
     },
     {
-      "drawTransform", "(Lcom/badlogic/gdx/physics/bullet/btTransform;F)V", NULL 
+      "drawTransform", "(Lcom/badlogic/gdx/math/Matrix4;F)V", NULL 
     },
     {
       "drawArc", "(Lcom/badlogic/gdx/math/Vector3;Lcom/badlogic/gdx/math/Vector3;Lcom/badlogic/gdx/math/Vector3;FFFFLcom/badlogic/gdx/math/Vector3;ZF)V", NULL 
@@ -2637,19 +2812,19 @@ void SwigDirector_btIDebugDraw::swig_connect_director(JNIEnv *jenv, jobject jsel
       "drawBox", "(Lcom/badlogic/gdx/math/Vector3;Lcom/badlogic/gdx/math/Vector3;Lcom/badlogic/gdx/math/Vector3;)V", NULL 
     },
     {
-      "drawBox", "(Lcom/badlogic/gdx/math/Vector3;Lcom/badlogic/gdx/math/Vector3;Lcom/badlogic/gdx/physics/bullet/btTransform;Lcom/badlogic/gdx/math/Vector3;)V", NULL 
+      "drawBox", "(Lcom/badlogic/gdx/math/Vector3;Lcom/badlogic/gdx/math/Vector3;Lcom/badlogic/gdx/math/Matrix4;Lcom/badlogic/gdx/math/Vector3;)V", NULL 
     },
     {
-      "drawCapsule", "(FFILcom/badlogic/gdx/physics/bullet/btTransform;Lcom/badlogic/gdx/math/Vector3;)V", NULL 
+      "drawCapsule", "(FFILcom/badlogic/gdx/math/Matrix4;Lcom/badlogic/gdx/math/Vector3;)V", NULL 
     },
     {
-      "drawCylinder", "(FFILcom/badlogic/gdx/physics/bullet/btTransform;Lcom/badlogic/gdx/math/Vector3;)V", NULL 
+      "drawCylinder", "(FFILcom/badlogic/gdx/math/Matrix4;Lcom/badlogic/gdx/math/Vector3;)V", NULL 
     },
     {
-      "drawCone", "(FFILcom/badlogic/gdx/physics/bullet/btTransform;Lcom/badlogic/gdx/math/Vector3;)V", NULL 
+      "drawCone", "(FFILcom/badlogic/gdx/math/Matrix4;Lcom/badlogic/gdx/math/Vector3;)V", NULL 
     },
     {
-      "drawPlane", "(Lcom/badlogic/gdx/math/Vector3;FLcom/badlogic/gdx/physics/bullet/btTransform;Lcom/badlogic/gdx/math/Vector3;)V", NULL 
+      "drawPlane", "(Lcom/badlogic/gdx/math/Vector3;FLcom/badlogic/gdx/math/Matrix4;Lcom/badlogic/gdx/math/Vector3;)V", NULL 
     }
   };
   
@@ -2690,7 +2865,7 @@ void SwigDirector_btMotionState::getWorldTransform(btTransform &worldTrans) cons
   JNIEnvWrapper swigjnienv(this) ;
   JNIEnv * jenv = swigjnienv.getJNIEnv() ;
   jobject swigjobj = (jobject) NULL ;
-  jlong jworldTrans = 0 ;
+  jobject jworldTrans = 0 ;
   
   if (!swig_override[0]) {
     SWIG_JavaThrowException(JNIEnvWrapper(this).getJNIEnv(), SWIG_JavaDirectorPureVirtual, "Attempted to invoke pure virtual method btMotionState::getWorldTransform.");
@@ -2698,7 +2873,10 @@ void SwigDirector_btMotionState::getWorldTransform(btTransform &worldTrans) cons
   }
   swigjobj = swig_get_self(jenv);
   if (swigjobj && jenv->IsSameObject(swigjobj, NULL) == JNI_FALSE) {
-    *(btTransform **)&jworldTrans = (btTransform *) &worldTrans; 
+    jworldTrans = gdx_takePoolObject(jenv, "_DIR_MATRIX4"); 
+    gdxPoolAutoRelease autoRelease_jworldTrans(jenv, "_DIR_MATRIX4", jworldTrans);
+    gdx_setGdxMatrix4FromBtTransform(jenv, jworldTrans, worldTrans);
+    gdxAutoCommitBtTransform auto_commit_worldTrans(jenv, jworldTrans, &worldTrans);
     jenv->CallStaticVoidMethod(Swig::jclass_gdxBulletJNI, Swig::director_methids[23], swigjobj, jworldTrans);
     if (jenv->ExceptionCheck() == JNI_TRUE) return ;
   } else {
@@ -2711,7 +2889,7 @@ void SwigDirector_btMotionState::setWorldTransform(btTransform const &worldTrans
   JNIEnvWrapper swigjnienv(this) ;
   JNIEnv * jenv = swigjnienv.getJNIEnv() ;
   jobject swigjobj = (jobject) NULL ;
-  jlong jworldTrans = 0 ;
+  jobject jworldTrans = 0 ;
   
   if (!swig_override[1]) {
     SWIG_JavaThrowException(JNIEnvWrapper(this).getJNIEnv(), SWIG_JavaDirectorPureVirtual, "Attempted to invoke pure virtual method btMotionState::setWorldTransform.");
@@ -2719,7 +2897,9 @@ void SwigDirector_btMotionState::setWorldTransform(btTransform const &worldTrans
   }
   swigjobj = swig_get_self(jenv);
   if (swigjobj && jenv->IsSameObject(swigjobj, NULL) == JNI_FALSE) {
-    *(btTransform **)&jworldTrans = (btTransform *) &worldTrans; 
+    jworldTrans = gdx_takePoolObject(jenv, "_DIR_MATRIX4"); 
+    gdxPoolAutoRelease autoRelease_jworldTrans(jenv, "_DIR_MATRIX4", jworldTrans);
+    gdx_setGdxMatrix4FromBtTransform(jenv, jworldTrans, worldTrans);
     jenv->CallStaticVoidMethod(Swig::jclass_gdxBulletJNI, Swig::director_methids[24], swigjobj, jworldTrans);
     if (jenv->ExceptionCheck() == JNI_TRUE) return ;
   } else {
@@ -2735,10 +2915,10 @@ void SwigDirector_btMotionState::swig_connect_director(JNIEnv *jenv, jobject jse
     jmethodID base_methid;
   } methods[] = {
     {
-      "getWorldTransform", "(Lcom/badlogic/gdx/physics/bullet/btTransform;)V", NULL 
+      "getWorldTransform", "(Lcom/badlogic/gdx/math/Matrix4;)V", NULL 
     },
     {
-      "setWorldTransform", "(Lcom/badlogic/gdx/physics/bullet/btTransform;)V", NULL 
+      "setWorldTransform", "(Lcom/badlogic/gdx/math/Matrix4;)V", NULL 
     }
   };
   
@@ -5527,7 +5707,7 @@ SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_bt
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btTransformAabb_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jobject jarg1, jfloat jarg2, jlong jarg3, jobject jarg3_, jobject jarg4, jobject jarg5) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btTransformAabb_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jobject jarg1, jfloat jarg2, jobject jarg3, jobject jarg4, jobject jarg5) {
   btVector3 *arg1 = 0 ;
   btScalar arg2 ;
   btTransform *arg3 = 0 ;
@@ -5536,17 +5716,15 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btTran
   
   (void)jenv;
   (void)jcls;
-  (void)jarg3_;
   btVector3 local_arg1;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg1, jarg1);
   arg1 = &local_arg1;
   gdxAutoCommitVector3 auto_commit_arg1(jenv, jarg1, &local_arg1);
   arg2 = (btScalar)jarg2; 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
   btVector3 local_arg4;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg4, jarg4);
   arg4 = &local_arg4;
@@ -5559,7 +5737,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btTran
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btTransformAabb_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jobject jarg1, jobject jarg2, jfloat jarg3, jlong jarg4, jobject jarg4_, jobject jarg5, jobject jarg6) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btTransformAabb_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jobject jarg1, jobject jarg2, jfloat jarg3, jobject jarg4, jobject jarg5, jobject jarg6) {
   btVector3 *arg1 = 0 ;
   btVector3 *arg2 = 0 ;
   btScalar arg3 ;
@@ -5569,7 +5747,6 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btTran
   
   (void)jenv;
   (void)jcls;
-  (void)jarg4_;
   btVector3 local_arg1;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg1, jarg1);
   arg1 = &local_arg1;
@@ -5579,11 +5756,10 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btTran
   arg2 = &local_arg2;
   gdxAutoCommitVector3 auto_commit_arg2(jenv, jarg2, &local_arg2);
   arg3 = (btScalar)jarg3; 
-  arg4 = *(btTransform **)&jarg4;
-  if (!arg4) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg4;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg4, jarg4);
+  arg4 = &local_arg4;
+  gdxAutoCommitMatrix4 auto_commit_arg4(jenv, jarg4, &local_arg4);
   btVector3 local_arg5;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg5, jarg5);
   arg5 = &local_arg5;
@@ -5714,7 +5890,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDeb
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDebugDraw_1drawSphere_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jfloat jarg2, jlong jarg3, jobject jarg3_, jobject jarg4) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDebugDraw_1drawSphere_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jfloat jarg2, jobject jarg3, jobject jarg4) {
   btIDebugDraw *arg1 = (btIDebugDraw *) 0 ;
   btScalar arg2 ;
   btTransform *arg3 = 0 ;
@@ -5723,14 +5899,12 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDeb
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg3_;
   arg1 = *(btIDebugDraw **)&jarg1; 
   arg2 = (btScalar)jarg2; 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
   btVector3 local_arg4;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg4, jarg4);
   arg4 = &local_arg4;
@@ -5739,7 +5913,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDeb
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDebugDraw_1drawSphereSwigExplicitbtIDebugDraw_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jfloat jarg2, jlong jarg3, jobject jarg3_, jobject jarg4) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDebugDraw_1drawSphereSwigExplicitbtIDebugDraw_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jfloat jarg2, jobject jarg3, jobject jarg4) {
   btIDebugDraw *arg1 = (btIDebugDraw *) 0 ;
   btScalar arg2 ;
   btTransform *arg3 = 0 ;
@@ -5748,14 +5922,12 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDeb
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg3_;
   arg1 = *(btIDebugDraw **)&jarg1; 
   arg2 = (btScalar)jarg2; 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
   btVector3 local_arg4;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg4, jarg4);
   arg4 = &local_arg4;
@@ -6123,7 +6295,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDeb
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDebugDraw_1drawTransform(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jfloat jarg3) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDebugDraw_1drawTransform(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jfloat jarg3) {
   btIDebugDraw *arg1 = (btIDebugDraw *) 0 ;
   btTransform *arg2 = 0 ;
   btScalar arg3 ;
@@ -6131,19 +6303,17 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDeb
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
   arg1 = *(btIDebugDraw **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   arg3 = (btScalar)jarg3; 
   (arg1)->drawTransform((btTransform const &)*arg2,arg3);
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDebugDraw_1drawTransformSwigExplicitbtIDebugDraw(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jfloat jarg3) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDebugDraw_1drawTransformSwigExplicitbtIDebugDraw(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jfloat jarg3) {
   btIDebugDraw *arg1 = (btIDebugDraw *) 0 ;
   btTransform *arg2 = 0 ;
   btScalar arg3 ;
@@ -6151,13 +6321,11 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDeb
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
   arg1 = *(btIDebugDraw **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   arg3 = (btScalar)jarg3; 
   (arg1)->btIDebugDraw::drawTransform((btTransform const &)*arg2,arg3);
 }
@@ -6551,7 +6719,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDeb
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDebugDraw_1drawBox_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jobject jarg3, jlong jarg4, jobject jarg4_, jobject jarg5) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDebugDraw_1drawBox_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jobject jarg3, jobject jarg4, jobject jarg5) {
   btIDebugDraw *arg1 = (btIDebugDraw *) 0 ;
   btVector3 *arg2 = 0 ;
   btVector3 *arg3 = 0 ;
@@ -6561,7 +6729,6 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDeb
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg4_;
   arg1 = *(btIDebugDraw **)&jarg1; 
   btVector3 local_arg2;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg2, jarg2);
@@ -6571,11 +6738,10 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDeb
   gdx_setBtVector3FromGdxVector3(jenv, local_arg3, jarg3);
   arg3 = &local_arg3;
   gdxAutoCommitVector3 auto_commit_arg3(jenv, jarg3, &local_arg3);
-  arg4 = *(btTransform **)&jarg4;
-  if (!arg4) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg4;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg4, jarg4);
+  arg4 = &local_arg4;
+  gdxAutoCommitMatrix4 auto_commit_arg4(jenv, jarg4, &local_arg4);
   btVector3 local_arg5;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg5, jarg5);
   arg5 = &local_arg5;
@@ -6584,7 +6750,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDeb
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDebugDraw_1drawBoxSwigExplicitbtIDebugDraw_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jobject jarg3, jlong jarg4, jobject jarg4_, jobject jarg5) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDebugDraw_1drawBoxSwigExplicitbtIDebugDraw_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jobject jarg3, jobject jarg4, jobject jarg5) {
   btIDebugDraw *arg1 = (btIDebugDraw *) 0 ;
   btVector3 *arg2 = 0 ;
   btVector3 *arg3 = 0 ;
@@ -6594,7 +6760,6 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDeb
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg4_;
   arg1 = *(btIDebugDraw **)&jarg1; 
   btVector3 local_arg2;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg2, jarg2);
@@ -6604,11 +6769,10 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDeb
   gdx_setBtVector3FromGdxVector3(jenv, local_arg3, jarg3);
   arg3 = &local_arg3;
   gdxAutoCommitVector3 auto_commit_arg3(jenv, jarg3, &local_arg3);
-  arg4 = *(btTransform **)&jarg4;
-  if (!arg4) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg4;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg4, jarg4);
+  arg4 = &local_arg4;
+  gdxAutoCommitMatrix4 auto_commit_arg4(jenv, jarg4, &local_arg4);
   btVector3 local_arg5;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg5, jarg5);
   arg5 = &local_arg5;
@@ -6617,7 +6781,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDeb
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDebugDraw_1drawCapsule(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jfloat jarg2, jfloat jarg3, jint jarg4, jlong jarg5, jobject jarg5_, jobject jarg6) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDebugDraw_1drawCapsule(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jfloat jarg2, jfloat jarg3, jint jarg4, jobject jarg5, jobject jarg6) {
   btIDebugDraw *arg1 = (btIDebugDraw *) 0 ;
   btScalar arg2 ;
   btScalar arg3 ;
@@ -6628,16 +6792,14 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDeb
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg5_;
   arg1 = *(btIDebugDraw **)&jarg1; 
   arg2 = (btScalar)jarg2; 
   arg3 = (btScalar)jarg3; 
   arg4 = (int)jarg4; 
-  arg5 = *(btTransform **)&jarg5;
-  if (!arg5) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg5;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg5, jarg5);
+  arg5 = &local_arg5;
+  gdxAutoCommitMatrix4 auto_commit_arg5(jenv, jarg5, &local_arg5);
   btVector3 local_arg6;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg6, jarg6);
   arg6 = &local_arg6;
@@ -6646,7 +6808,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDeb
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDebugDraw_1drawCapsuleSwigExplicitbtIDebugDraw(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jfloat jarg2, jfloat jarg3, jint jarg4, jlong jarg5, jobject jarg5_, jobject jarg6) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDebugDraw_1drawCapsuleSwigExplicitbtIDebugDraw(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jfloat jarg2, jfloat jarg3, jint jarg4, jobject jarg5, jobject jarg6) {
   btIDebugDraw *arg1 = (btIDebugDraw *) 0 ;
   btScalar arg2 ;
   btScalar arg3 ;
@@ -6657,16 +6819,14 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDeb
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg5_;
   arg1 = *(btIDebugDraw **)&jarg1; 
   arg2 = (btScalar)jarg2; 
   arg3 = (btScalar)jarg3; 
   arg4 = (int)jarg4; 
-  arg5 = *(btTransform **)&jarg5;
-  if (!arg5) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg5;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg5, jarg5);
+  arg5 = &local_arg5;
+  gdxAutoCommitMatrix4 auto_commit_arg5(jenv, jarg5, &local_arg5);
   btVector3 local_arg6;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg6, jarg6);
   arg6 = &local_arg6;
@@ -6675,7 +6835,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDeb
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDebugDraw_1drawCylinder(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jfloat jarg2, jfloat jarg3, jint jarg4, jlong jarg5, jobject jarg5_, jobject jarg6) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDebugDraw_1drawCylinder(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jfloat jarg2, jfloat jarg3, jint jarg4, jobject jarg5, jobject jarg6) {
   btIDebugDraw *arg1 = (btIDebugDraw *) 0 ;
   btScalar arg2 ;
   btScalar arg3 ;
@@ -6686,16 +6846,14 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDeb
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg5_;
   arg1 = *(btIDebugDraw **)&jarg1; 
   arg2 = (btScalar)jarg2; 
   arg3 = (btScalar)jarg3; 
   arg4 = (int)jarg4; 
-  arg5 = *(btTransform **)&jarg5;
-  if (!arg5) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg5;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg5, jarg5);
+  arg5 = &local_arg5;
+  gdxAutoCommitMatrix4 auto_commit_arg5(jenv, jarg5, &local_arg5);
   btVector3 local_arg6;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg6, jarg6);
   arg6 = &local_arg6;
@@ -6704,7 +6862,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDeb
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDebugDraw_1drawCylinderSwigExplicitbtIDebugDraw(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jfloat jarg2, jfloat jarg3, jint jarg4, jlong jarg5, jobject jarg5_, jobject jarg6) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDebugDraw_1drawCylinderSwigExplicitbtIDebugDraw(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jfloat jarg2, jfloat jarg3, jint jarg4, jobject jarg5, jobject jarg6) {
   btIDebugDraw *arg1 = (btIDebugDraw *) 0 ;
   btScalar arg2 ;
   btScalar arg3 ;
@@ -6715,16 +6873,14 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDeb
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg5_;
   arg1 = *(btIDebugDraw **)&jarg1; 
   arg2 = (btScalar)jarg2; 
   arg3 = (btScalar)jarg3; 
   arg4 = (int)jarg4; 
-  arg5 = *(btTransform **)&jarg5;
-  if (!arg5) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg5;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg5, jarg5);
+  arg5 = &local_arg5;
+  gdxAutoCommitMatrix4 auto_commit_arg5(jenv, jarg5, &local_arg5);
   btVector3 local_arg6;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg6, jarg6);
   arg6 = &local_arg6;
@@ -6733,7 +6889,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDeb
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDebugDraw_1drawCone(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jfloat jarg2, jfloat jarg3, jint jarg4, jlong jarg5, jobject jarg5_, jobject jarg6) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDebugDraw_1drawCone(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jfloat jarg2, jfloat jarg3, jint jarg4, jobject jarg5, jobject jarg6) {
   btIDebugDraw *arg1 = (btIDebugDraw *) 0 ;
   btScalar arg2 ;
   btScalar arg3 ;
@@ -6744,16 +6900,14 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDeb
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg5_;
   arg1 = *(btIDebugDraw **)&jarg1; 
   arg2 = (btScalar)jarg2; 
   arg3 = (btScalar)jarg3; 
   arg4 = (int)jarg4; 
-  arg5 = *(btTransform **)&jarg5;
-  if (!arg5) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg5;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg5, jarg5);
+  arg5 = &local_arg5;
+  gdxAutoCommitMatrix4 auto_commit_arg5(jenv, jarg5, &local_arg5);
   btVector3 local_arg6;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg6, jarg6);
   arg6 = &local_arg6;
@@ -6762,7 +6916,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDeb
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDebugDraw_1drawConeSwigExplicitbtIDebugDraw(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jfloat jarg2, jfloat jarg3, jint jarg4, jlong jarg5, jobject jarg5_, jobject jarg6) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDebugDraw_1drawConeSwigExplicitbtIDebugDraw(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jfloat jarg2, jfloat jarg3, jint jarg4, jobject jarg5, jobject jarg6) {
   btIDebugDraw *arg1 = (btIDebugDraw *) 0 ;
   btScalar arg2 ;
   btScalar arg3 ;
@@ -6773,16 +6927,14 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDeb
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg5_;
   arg1 = *(btIDebugDraw **)&jarg1; 
   arg2 = (btScalar)jarg2; 
   arg3 = (btScalar)jarg3; 
   arg4 = (int)jarg4; 
-  arg5 = *(btTransform **)&jarg5;
-  if (!arg5) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg5;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg5, jarg5);
+  arg5 = &local_arg5;
+  gdxAutoCommitMatrix4 auto_commit_arg5(jenv, jarg5, &local_arg5);
   btVector3 local_arg6;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg6, jarg6);
   arg6 = &local_arg6;
@@ -6791,7 +6943,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDeb
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDebugDraw_1drawPlane(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jfloat jarg3, jlong jarg4, jobject jarg4_, jobject jarg5) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDebugDraw_1drawPlane(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jfloat jarg3, jobject jarg4, jobject jarg5) {
   btIDebugDraw *arg1 = (btIDebugDraw *) 0 ;
   btVector3 *arg2 = 0 ;
   btScalar arg3 ;
@@ -6801,18 +6953,16 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDeb
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg4_;
   arg1 = *(btIDebugDraw **)&jarg1; 
   btVector3 local_arg2;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg2, jarg2);
   arg2 = &local_arg2;
   gdxAutoCommitVector3 auto_commit_arg2(jenv, jarg2, &local_arg2);
   arg3 = (btScalar)jarg3; 
-  arg4 = *(btTransform **)&jarg4;
-  if (!arg4) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg4;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg4, jarg4);
+  arg4 = &local_arg4;
+  gdxAutoCommitMatrix4 auto_commit_arg4(jenv, jarg4, &local_arg4);
   btVector3 local_arg5;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg5, jarg5);
   arg5 = &local_arg5;
@@ -6821,7 +6971,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDeb
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDebugDraw_1drawPlaneSwigExplicitbtIDebugDraw(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jfloat jarg3, jlong jarg4, jobject jarg4_, jobject jarg5) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDebugDraw_1drawPlaneSwigExplicitbtIDebugDraw(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jfloat jarg3, jobject jarg4, jobject jarg5) {
   btIDebugDraw *arg1 = (btIDebugDraw *) 0 ;
   btVector3 *arg2 = 0 ;
   btScalar arg3 ;
@@ -6831,18 +6981,16 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIDeb
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg4_;
   arg1 = *(btIDebugDraw **)&jarg1; 
   btVector3 local_arg2;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg2, jarg2);
   arg2 = &local_arg2;
   gdxAutoCommitVector3 auto_commit_arg2(jenv, jarg2, &local_arg2);
   arg3 = (btScalar)jarg3; 
-  arg4 = *(btTransform **)&jarg4;
-  if (!arg4) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg4;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg4, jarg4);
+  arg4 = &local_arg4;
+  gdxAutoCommitMatrix4 auto_commit_arg4(jenv, jarg4, &local_arg4);
   btVector3 local_arg5;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg5, jarg5);
   arg5 = &local_arg5;
@@ -7132,26 +7280,24 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1btTransform_1_1SWIG_15(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
+SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1btTransform_1_1SWIG_15(JNIEnv *jenv, jclass jcls, jobject jarg1) {
   jlong jresult = 0 ;
   btTransform *arg1 = 0 ;
   btTransform *result = 0 ;
   
   (void)jenv;
   (void)jcls;
-  (void)jarg1_;
-  arg1 = *(btTransform **)&jarg1;
-  if (!arg1) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
+  btTransform local_arg1;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg1, jarg1);
+  arg1 = &local_arg1;
+  gdxAutoCommitMatrix4 auto_commit_arg1(jenv, jarg1, &local_arg1);
   result = (btTransform *)new btTransform((btTransform const &)*arg1);
   *(btTransform **)&jresult = result; 
   return jresult;
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btTransform_1mult(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btTransform_1mult(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jobject jarg3) {
   btTransform *arg1 = (btTransform *) 0 ;
   btTransform *arg2 = 0 ;
   btTransform *arg3 = 0 ;
@@ -7159,19 +7305,15 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btTran
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
-  (void)jarg3_;
   arg1 = *(btTransform **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
   (arg1)->mult((btTransform const &)*arg2,(btTransform const &)*arg3);
 }
 
@@ -7336,8 +7478,8 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btTran
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btTransform_1inverse(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
-  jlong jresult = 0 ;
+SWIGEXPORT jobject JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btTransform_1inverse(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
+  jobject jresult = 0 ;
   btTransform *arg1 = (btTransform *) 0 ;
   btTransform result;
   
@@ -7346,13 +7488,14 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btTra
   (void)jarg1_;
   arg1 = *(btTransform **)&jarg1; 
   result = ((btTransform const *)arg1)->inverse();
-  *(btTransform **)&jresult = new btTransform((const btTransform &)result); 
+  jresult = gdx_getReturnMatrix4(jenv);
+  gdx_setGdxMatrix4FromBtTransform(jenv, jresult, result);
   return jresult;
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btTransform_1inverseTimes(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) {
-  jlong jresult = 0 ;
+SWIGEXPORT jobject JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btTransform_1inverseTimes(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
+  jobject jresult = 0 ;
   btTransform *arg1 = (btTransform *) 0 ;
   btTransform *arg2 = 0 ;
   btTransform result;
@@ -7360,27 +7503,27 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btTra
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
   arg1 = *(btTransform **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   result = ((btTransform const *)arg1)->inverseTimes((btTransform const &)*arg2);
-  *(btTransform **)&jresult = new btTransform((const btTransform &)result); 
+  jresult = gdx_getReturnMatrix4(jenv);
+  gdx_setGdxMatrix4FromBtTransform(jenv, jresult, result);
   return jresult;
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btTransform_1getIdentity(JNIEnv *jenv, jclass jcls) {
-  jlong jresult = 0 ;
+SWIGEXPORT jobject JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btTransform_1getIdentity(JNIEnv *jenv, jclass jcls) {
+  jobject jresult = 0 ;
   btTransform *result = 0 ;
   
   (void)jenv;
   (void)jcls;
   result = (btTransform *) &btTransform::getIdentity();
-  *(btTransform **)&jresult = result; 
+  jresult = gdx_getReturnMatrix4(jenv);
+  gdx_setGdxMatrix4FromBtTransform(jenv, jresult, result);
   return jresult;
 }
 
@@ -7678,7 +7821,7 @@ SWIGEXPORT jobject JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btA
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btTransformUtil_1integrateTransform(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jobject jarg3, jfloat jarg4, jlong jarg5, jobject jarg5_) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btTransformUtil_1integrateTransform(JNIEnv *jenv, jclass jcls, jobject jarg1, jobject jarg2, jobject jarg3, jfloat jarg4, jobject jarg5) {
   btTransform *arg1 = 0 ;
   btVector3 *arg2 = 0 ;
   btVector3 *arg3 = 0 ;
@@ -7687,13 +7830,10 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btTran
   
   (void)jenv;
   (void)jcls;
-  (void)jarg1_;
-  (void)jarg5_;
-  arg1 = *(btTransform **)&jarg1;
-  if (!arg1) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg1;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg1, jarg1);
+  arg1 = &local_arg1;
+  gdxAutoCommitMatrix4 auto_commit_arg1(jenv, jarg1, &local_arg1);
   btVector3 local_arg2;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg2, jarg2);
   arg2 = &local_arg2;
@@ -7703,11 +7843,10 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btTran
   arg3 = &local_arg3;
   gdxAutoCommitVector3 auto_commit_arg3(jenv, jarg3, &local_arg3);
   arg4 = (btScalar)jarg4; 
-  arg5 = *(btTransform **)&jarg5;
-  if (!arg5) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform & reference is null");
-    return ;
-  } 
+  btTransform local_arg5;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg5, jarg5);
+  arg5 = &local_arg5;
+  gdxAutoCommitMatrix4 auto_commit_arg5(jenv, jarg5, &local_arg5);
   btTransformUtil::integrateTransform((btTransform const &)*arg1,(btVector3 const &)*arg2,(btVector3 const &)*arg3,arg4,*arg5);
 }
 
@@ -7781,7 +7920,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btTran
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btTransformUtil_1calculateVelocity(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jfloat jarg3, jobject jarg4, jobject jarg5) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btTransformUtil_1calculateVelocity(JNIEnv *jenv, jclass jcls, jobject jarg1, jobject jarg2, jfloat jarg3, jobject jarg4, jobject jarg5) {
   btTransform *arg1 = 0 ;
   btTransform *arg2 = 0 ;
   btScalar arg3 ;
@@ -7790,18 +7929,14 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btTran
   
   (void)jenv;
   (void)jcls;
-  (void)jarg1_;
-  (void)jarg2_;
-  arg1 = *(btTransform **)&jarg1;
-  if (!arg1) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg1;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg1, jarg1);
+  arg1 = &local_arg1;
+  gdxAutoCommitMatrix4 auto_commit_arg1(jenv, jarg1, &local_arg1);
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   arg3 = (btScalar)jarg3; 
   btVector3 local_arg4;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg4, jarg4);
@@ -7815,7 +7950,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btTran
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btTransformUtil_1calculateDiffAxisAngle(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jobject jarg3, jlong jarg4) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btTransformUtil_1calculateDiffAxisAngle(JNIEnv *jenv, jclass jcls, jobject jarg1, jobject jarg2, jobject jarg3, jlong jarg4) {
   btTransform *arg1 = 0 ;
   btTransform *arg2 = 0 ;
   btVector3 *arg3 = 0 ;
@@ -7823,18 +7958,14 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btTran
   
   (void)jenv;
   (void)jcls;
-  (void)jarg1_;
-  (void)jarg2_;
-  arg1 = *(btTransform **)&jarg1;
-  if (!arg1) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg1;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg1, jarg1);
+  arg1 = &local_arg1;
+  gdxAutoCommitMatrix4 auto_commit_arg1(jenv, jarg1, &local_arg1);
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   btVector3 local_arg3;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg3, jarg3);
   arg3 = &local_arg3;
@@ -7901,7 +8032,7 @@ SWIGEXPORT jfloat JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCo
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConvexSeparatingDistanceUtil_1updateSeparatingDistance(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConvexSeparatingDistanceUtil_1updateSeparatingDistance(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jobject jarg3) {
   btConvexSeparatingDistanceUtil *arg1 = (btConvexSeparatingDistanceUtil *) 0 ;
   btTransform *arg2 = 0 ;
   btTransform *arg3 = 0 ;
@@ -7909,24 +8040,20 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConv
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
-  (void)jarg3_;
   arg1 = *(btConvexSeparatingDistanceUtil **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
   (arg1)->updateSeparatingDistance((btTransform const &)*arg2,(btTransform const &)*arg3);
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConvexSeparatingDistanceUtil_1initSeparatingDistance(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jfloat jarg3, jlong jarg4, jobject jarg4_, jlong jarg5, jobject jarg5_) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConvexSeparatingDistanceUtil_1initSeparatingDistance(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jfloat jarg3, jobject jarg4, jobject jarg5) {
   btConvexSeparatingDistanceUtil *arg1 = (btConvexSeparatingDistanceUtil *) 0 ;
   btVector3 *arg2 = 0 ;
   btScalar arg3 ;
@@ -7936,24 +8063,20 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConv
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg4_;
-  (void)jarg5_;
   arg1 = *(btConvexSeparatingDistanceUtil **)&jarg1; 
   btVector3 local_arg2;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg2, jarg2);
   arg2 = &local_arg2;
   gdxAutoCommitVector3 auto_commit_arg2(jenv, jarg2, &local_arg2);
   arg3 = (btScalar)jarg3; 
-  arg4 = *(btTransform **)&jarg4;
-  if (!arg4) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
-  arg5 = *(btTransform **)&jarg5;
-  if (!arg5) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg4;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg4, jarg4);
+  arg4 = &local_arg4;
+  gdxAutoCommitMatrix4 auto_commit_arg4(jenv, jarg4, &local_arg4);
+  btTransform local_arg5;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg5, jarg5);
+  arg5 = &local_arg5;
+  gdxAutoCommitMatrix4 auto_commit_arg5(jenv, jarg5, &local_arg5);
   (arg1)->initSeparatingDistance((btVector3 const &)*arg2,arg3,(btTransform const &)*arg4,(btTransform const &)*arg5);
 }
 
@@ -7978,38 +8101,34 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_delete
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btMotionState_1getWorldTransform(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btMotionState_1getWorldTransform(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
   btMotionState *arg1 = (btMotionState *) 0 ;
   btTransform *arg2 = 0 ;
   
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
   arg1 = *(btMotionState **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform & reference is null");
-    return ;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   ((btMotionState const *)arg1)->getWorldTransform(*arg2);
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btMotionState_1setWorldTransform(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btMotionState_1setWorldTransform(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
   btMotionState *arg1 = (btMotionState *) 0 ;
   btTransform *arg2 = 0 ;
   
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
   arg1 = *(btMotionState **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   (arg1)->setWorldTransform((btTransform const &)*arg2);
 }
 
@@ -8161,7 +8280,7 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btDef
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1btDefaultMotionState_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) {
+SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1btDefaultMotionState_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jobject jarg1, jobject jarg2) {
   jlong jresult = 0 ;
   btTransform *arg1 = 0 ;
   btTransform *arg2 = 0 ;
@@ -8169,37 +8288,31 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1
   
   (void)jenv;
   (void)jcls;
-  (void)jarg1_;
-  (void)jarg2_;
-  arg1 = *(btTransform **)&jarg1;
-  if (!arg1) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
+  btTransform local_arg1;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg1, jarg1);
+  arg1 = &local_arg1;
+  gdxAutoCommitMatrix4 auto_commit_arg1(jenv, jarg1, &local_arg1);
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   result = (btDefaultMotionState *)new btDefaultMotionState((btTransform const &)*arg1,(btTransform const &)*arg2);
   *(btDefaultMotionState **)&jresult = result; 
   return jresult;
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1btDefaultMotionState_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
+SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1btDefaultMotionState_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jobject jarg1) {
   jlong jresult = 0 ;
   btTransform *arg1 = 0 ;
   btDefaultMotionState *result = 0 ;
   
   (void)jenv;
   (void)jcls;
-  (void)jarg1_;
-  arg1 = *(btTransform **)&jarg1;
-  if (!arg1) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
+  btTransform local_arg1;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg1, jarg1);
+  arg1 = &local_arg1;
+  gdxAutoCommitMatrix4 auto_commit_arg1(jenv, jarg1, &local_arg1);
   result = (btDefaultMotionState *)new btDefaultMotionState((btTransform const &)*arg1);
   *(btDefaultMotionState **)&jresult = result; 
   return jresult;
@@ -8218,56 +8331,50 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btDefaultMotionState_1getGraphicsWorldTrans(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btDefaultMotionState_1getGraphicsWorldTrans(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
   btDefaultMotionState *arg1 = (btDefaultMotionState *) 0 ;
   btTransform *arg2 = 0 ;
   
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
   arg1 = *(btDefaultMotionState **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform & reference is null");
-    return ;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   btDefaultMotionState_getGraphicsWorldTrans(arg1,*arg2);
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btDefaultMotionState_1getCenterOfMassOffset(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btDefaultMotionState_1getCenterOfMassOffset(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
   btDefaultMotionState *arg1 = (btDefaultMotionState *) 0 ;
   btTransform *arg2 = 0 ;
   
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
   arg1 = *(btDefaultMotionState **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform & reference is null");
-    return ;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   btDefaultMotionState_getCenterOfMassOffset(arg1,*arg2);
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btDefaultMotionState_1getStartWorldTrans(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btDefaultMotionState_1getStartWorldTrans(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
   btDefaultMotionState *arg1 = (btDefaultMotionState *) 0 ;
   btTransform *arg2 = 0 ;
   
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
   arg1 = *(btDefaultMotionState **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform & reference is null");
-    return ;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   btDefaultMotionState_getStartWorldTrans(arg1,*arg2);
 }
 
@@ -19097,7 +19204,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_delete
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCollisionShape_1getAabb(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jobject jarg3, jobject jarg4) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCollisionShape_1getAabb(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jobject jarg3, jobject jarg4) {
   btCollisionShape *arg1 = (btCollisionShape *) 0 ;
   btTransform *arg2 = 0 ;
   btVector3 *arg3 = 0 ;
@@ -19106,13 +19213,11 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btColl
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
   arg1 = *(btCollisionShape **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   btVector3 local_arg3;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg3, jarg3);
   arg3 = &local_arg3;
@@ -19179,7 +19284,7 @@ SWIGEXPORT jfloat JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCo
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCollisionShape_1calculateTemporalAabb(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jobject jarg3, jobject jarg4, jfloat jarg5, jobject jarg6, jobject jarg7) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCollisionShape_1calculateTemporalAabb(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jobject jarg3, jobject jarg4, jfloat jarg5, jobject jarg6, jobject jarg7) {
   btCollisionShape *arg1 = (btCollisionShape *) 0 ;
   btTransform *arg2 = 0 ;
   btVector3 *arg3 = 0 ;
@@ -19191,13 +19296,11 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btColl
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
   arg1 = *(btCollisionShape **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   btVector3 local_arg3;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg3, jarg3);
   arg3 = &local_arg3;
@@ -19763,7 +19866,7 @@ SWIGEXPORT jfloat JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCo
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConvexShape_1getAabbNonVirtual(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jobject jarg3, jobject jarg4) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConvexShape_1getAabbNonVirtual(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jobject jarg3, jobject jarg4) {
   btConvexShape *arg1 = (btConvexShape *) 0 ;
   btTransform *arg2 = 0 ;
   btVector3 *arg3 = 0 ;
@@ -19772,13 +19875,11 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConv
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
   arg1 = *(btConvexShape **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   btVector3 local_arg3;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg3, jarg3);
   arg3 = &local_arg3;
@@ -19791,7 +19892,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConv
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConvexShape_1project(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jobject jarg3, jlong jarg4, jlong jarg5) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConvexShape_1project(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jobject jarg3, jlong jarg4, jlong jarg5) {
   btConvexShape *arg1 = (btConvexShape *) 0 ;
   btTransform *arg2 = 0 ;
   btVector3 *arg3 = 0 ;
@@ -19801,13 +19902,11 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConv
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
   arg1 = *(btConvexShape **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   btVector3 local_arg3;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg3, jarg3);
   arg3 = &local_arg3;
@@ -19845,7 +19944,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConv
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConvexShape_1getAabbSlow(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jobject jarg3, jobject jarg4) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConvexShape_1getAabbSlow(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jobject jarg3, jobject jarg4) {
   btConvexShape *arg1 = (btConvexShape *) 0 ;
   btTransform *arg2 = 0 ;
   btVector3 *arg3 = 0 ;
@@ -19854,13 +19953,11 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConv
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
   arg1 = *(btConvexShape **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   btVector3 local_arg3;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg3, jarg3);
   arg3 = &local_arg3;
@@ -20398,7 +20495,7 @@ SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_bt
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btPolyhedralConvexAabbCachingShape_1getNonvirtualAabb(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jobject jarg3, jobject jarg4, jfloat jarg5) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btPolyhedralConvexAabbCachingShape_1getNonvirtualAabb(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jobject jarg3, jobject jarg4, jfloat jarg5) {
   btPolyhedralConvexAabbCachingShape *arg1 = (btPolyhedralConvexAabbCachingShape *) 0 ;
   btTransform *arg2 = 0 ;
   btVector3 *arg3 = 0 ;
@@ -20408,13 +20505,11 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btPoly
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
   arg1 = *(btPolyhedralConvexAabbCachingShape **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   btVector3 local_arg3;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg3, jarg3);
   arg3 = &local_arg3;
@@ -24778,44 +24873,40 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btMinkowskiSumShape_1setTransformA(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btMinkowskiSumShape_1setTransformA(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
   btMinkowskiSumShape *arg1 = (btMinkowskiSumShape *) 0 ;
   btTransform *arg2 = 0 ;
   
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
   arg1 = *(btMinkowskiSumShape **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   (arg1)->setTransformA((btTransform const &)*arg2);
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btMinkowskiSumShape_1setTransformB(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btMinkowskiSumShape_1setTransformB(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
   btMinkowskiSumShape *arg1 = (btMinkowskiSumShape *) 0 ;
   btTransform *arg2 = 0 ;
   
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
   arg1 = *(btMinkowskiSumShape **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   (arg1)->setTransformB((btTransform const &)*arg2);
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btMinkowskiSumShape_1getTransformA(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
-  jlong jresult = 0 ;
+SWIGEXPORT jobject JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btMinkowskiSumShape_1getTransformA(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
+  jobject jresult = 0 ;
   btMinkowskiSumShape *arg1 = (btMinkowskiSumShape *) 0 ;
   btTransform *result = 0 ;
   
@@ -24824,13 +24915,14 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btMin
   (void)jarg1_;
   arg1 = *(btMinkowskiSumShape **)&jarg1; 
   result = (btTransform *) &((btMinkowskiSumShape const *)arg1)->getTransformA();
-  *(btTransform **)&jresult = result; 
+  jresult = gdx_getReturnMatrix4(jenv);
+  gdx_setGdxMatrix4FromBtTransform(jenv, jresult, result);
   return jresult;
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btMinkowskiSumShape_1GetTransformB(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
-  jlong jresult = 0 ;
+SWIGEXPORT jobject JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btMinkowskiSumShape_1GetTransformB(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
+  jobject jresult = 0 ;
   btMinkowskiSumShape *arg1 = (btMinkowskiSumShape *) 0 ;
   btTransform *result = 0 ;
   
@@ -24839,7 +24931,8 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btMin
   (void)jarg1_;
   arg1 = *(btMinkowskiSumShape **)&jarg1; 
   result = (btTransform *) &((btMinkowskiSumShape const *)arg1)->GetTransformB();
-  *(btTransform **)&jresult = result; 
+  jresult = gdx_getReturnMatrix4(jenv);
+  gdx_setGdxMatrix4FromBtTransform(jenv, jresult, result);
   return jresult;
 }
 
@@ -25249,7 +25342,7 @@ SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_bt
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConvexPolyhedron_1project(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jobject jarg3, jlong jarg4, jlong jarg5) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConvexPolyhedron_1project(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jobject jarg3, jlong jarg4, jlong jarg5) {
   btConvexPolyhedron *arg1 = (btConvexPolyhedron *) 0 ;
   btTransform *arg2 = 0 ;
   btVector3 *arg3 = 0 ;
@@ -25259,13 +25352,11 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConv
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
   arg1 = *(btConvexPolyhedron **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   btVector3 local_arg3;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg3, jarg3);
   arg3 = &local_arg3;
@@ -25941,24 +26032,13 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btInde
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btIndexedMesh_1dispose(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
-  btIndexedMesh *arg1 = (btIndexedMesh *) 0 ;
-  
-  (void)jenv;
-  (void)jcls;
-  (void)jarg1_;
-  arg1 = *(btIndexedMesh **)&jarg1; 
-  btIndexedMesh_dispose(arg1);
-}
-
-
 SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_delete_1btIndexedMesh(JNIEnv *jenv, jclass jcls, jlong jarg1) {
   btIndexedMesh *arg1 = (btIndexedMesh *) 0 ;
   
   (void)jenv;
   (void)jcls;
   arg1 = *(btIndexedMesh **)&jarg1; 
-  delete arg1;
+  delete_btIndexedMesh(arg1);
 }
 
 
@@ -28077,7 +28157,7 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCon
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConvexTriangleMeshShape_1calculatePrincipalAxisTransform(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jobject jarg3, jlong jarg4) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConvexTriangleMeshShape_1calculatePrincipalAxisTransform(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jobject jarg3, jlong jarg4) {
   btConvexTriangleMeshShape *arg1 = (btConvexTriangleMeshShape *) 0 ;
   btTransform *arg2 = 0 ;
   btVector3 *arg3 = 0 ;
@@ -28086,13 +28166,11 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConv
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
   arg1 = *(btConvexTriangleMeshShape **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform & reference is null");
-    return ;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   btVector3 local_arg3;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg3, jarg3);
   arg3 = &local_arg3;
@@ -28681,7 +28759,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_delete
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCompoundShape_1addChildShape(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCompoundShape_1addChildShape(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jlong jarg3, jobject jarg3_) {
   btCompoundShape *arg1 = (btCompoundShape *) 0 ;
   btTransform *arg2 = 0 ;
   btCollisionShape *arg3 = (btCollisionShape *) 0 ;
@@ -28689,14 +28767,12 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btComp
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
   (void)jarg3_;
   arg1 = *(btCompoundShape **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   arg3 = *(btCollisionShape **)&jarg3; 
   (arg1)->addChildShape((btTransform const &)*arg2,arg3);
 }
@@ -28761,8 +28837,8 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCom
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCompoundShape_1getChildTransform_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
-  jlong jresult = 0 ;
+SWIGEXPORT jobject JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCompoundShape_1getChildTransform_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
+  jobject jresult = 0 ;
   btCompoundShape *arg1 = (btCompoundShape *) 0 ;
   int arg2 ;
   btTransform *result = 0 ;
@@ -28773,12 +28849,13 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCom
   arg1 = *(btCompoundShape **)&jarg1; 
   arg2 = (int)jarg2; 
   result = (btTransform *) &(arg1)->getChildTransform(arg2);
-  *(btTransform **)&jresult = result; 
+  jresult = gdx_getReturnMatrix4(jenv);
+  gdx_setGdxMatrix4FromBtTransform(jenv, jresult, result);
   return jresult;
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCompoundShape_1updateChildTransform_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2, jlong jarg3, jobject jarg3_, jboolean jarg4) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCompoundShape_1updateChildTransform_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2, jobject jarg3, jboolean jarg4) {
   btCompoundShape *arg1 = (btCompoundShape *) 0 ;
   int arg2 ;
   btTransform *arg3 = 0 ;
@@ -28787,20 +28864,18 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btComp
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg3_;
   arg1 = *(btCompoundShape **)&jarg1; 
   arg2 = (int)jarg2; 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
   arg4 = jarg4 ? true : false; 
   (arg1)->updateChildTransform(arg2,(btTransform const &)*arg3,arg4);
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCompoundShape_1updateChildTransform_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2, jlong jarg3, jobject jarg3_) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCompoundShape_1updateChildTransform_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2, jobject jarg3) {
   btCompoundShape *arg1 = (btCompoundShape *) 0 ;
   int arg2 ;
   btTransform *arg3 = 0 ;
@@ -28808,14 +28883,12 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btComp
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg3_;
   arg1 = *(btCompoundShape **)&jarg1; 
   arg2 = (int)jarg2; 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
   (arg1)->updateChildTransform(arg2,(btTransform const &)*arg3);
 }
 
@@ -28872,7 +28945,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btComp
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCompoundShape_1calculatePrincipalAxisTransform(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jfloatArray jarg2, jlong jarg3, jobject jarg3_, jobject jarg4) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCompoundShape_1calculatePrincipalAxisTransform(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jfloatArray jarg2, jobject jarg3, jobject jarg4) {
   btCompoundShape *arg1 = (btCompoundShape *) 0 ;
   btScalar *arg2 = (btScalar *) 0 ;
   btTransform *arg3 = 0 ;
@@ -28882,14 +28955,12 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btComp
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg3_;
   arg1 = *(btCompoundShape **)&jarg1; 
   if (!SWIG_JavaArrayInFloat(jenv, &jarr2, (float **)&arg2, jarg2)) return ; 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform & reference is null");
-    return ;
-  } 
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
   btVector3 local_arg4;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg4, jarg4);
   arg4 = &local_arg4;
@@ -29808,8 +29879,8 @@ SWIGEXPORT jint JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btColl
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCollisionObject_1getWorldTransform_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
-  jlong jresult = 0 ;
+SWIGEXPORT jobject JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCollisionObject_1getWorldTransform_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
+  jobject jresult = 0 ;
   btCollisionObject *arg1 = (btCollisionObject *) 0 ;
   btTransform *result = 0 ;
   
@@ -29818,25 +29889,24 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCol
   (void)jarg1_;
   arg1 = *(btCollisionObject **)&jarg1; 
   result = (btTransform *) &(arg1)->getWorldTransform();
-  *(btTransform **)&jresult = result; 
+  jresult = gdx_getReturnMatrix4(jenv);
+  gdx_setGdxMatrix4FromBtTransform(jenv, jresult, result);
   return jresult;
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCollisionObject_1setWorldTransform(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCollisionObject_1setWorldTransform(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
   btCollisionObject *arg1 = (btCollisionObject *) 0 ;
   btTransform *arg2 = 0 ;
   
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
   arg1 = *(btCollisionObject **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   (arg1)->setWorldTransform((btTransform const &)*arg2);
 }
 
@@ -29870,8 +29940,8 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btColl
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCollisionObject_1getInterpolationWorldTransform_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
-  jlong jresult = 0 ;
+SWIGEXPORT jobject JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCollisionObject_1getInterpolationWorldTransform_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
+  jobject jresult = 0 ;
   btCollisionObject *arg1 = (btCollisionObject *) 0 ;
   btTransform *result = 0 ;
   
@@ -29880,25 +29950,24 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCol
   (void)jarg1_;
   arg1 = *(btCollisionObject **)&jarg1; 
   result = (btTransform *) &((btCollisionObject const *)arg1)->getInterpolationWorldTransform();
-  *(btTransform **)&jresult = result; 
+  jresult = gdx_getReturnMatrix4(jenv);
+  gdx_setGdxMatrix4FromBtTransform(jenv, jresult, result);
   return jresult;
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCollisionObject_1setInterpolationWorldTransform(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCollisionObject_1setInterpolationWorldTransform(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
   btCollisionObject *arg1 = (btCollisionObject *) 0 ;
   btTransform *arg2 = 0 ;
   
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
   arg1 = *(btCollisionObject **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   (arg1)->setInterpolationWorldTransform((btTransform const &)*arg2);
 }
 
@@ -30259,38 +30328,34 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btColl
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCollisionObject_1getWorldTransform_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCollisionObject_1getWorldTransform_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
   btCollisionObject *arg1 = (btCollisionObject *) 0 ;
   btTransform *arg2 = 0 ;
   
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
   arg1 = *(btCollisionObject **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform & reference is null");
-    return ;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   btCollisionObject_getWorldTransform__SWIG_2(arg1,*arg2);
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCollisionObject_1getInterpolationWorldTransform_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCollisionObject_1getInterpolationWorldTransform_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
   btCollisionObject *arg1 = (btCollisionObject *) 0 ;
   btTransform *arg2 = 0 ;
   
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
   arg1 = *(btCollisionObject **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform & reference is null");
-    return ;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   btCollisionObject_getInterpolationWorldTransform__SWIG_2(arg1,*arg2);
 }
 
@@ -32363,20 +32428,18 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_delete
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btRigidBody_1proceedToTransform(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btRigidBody_1proceedToTransform(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
   btRigidBody *arg1 = (btRigidBody *) 0 ;
   btTransform *arg2 = 0 ;
   
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
   arg1 = *(btRigidBody **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   (arg1)->proceedToTransform((btTransform const &)*arg2);
 }
 
@@ -32396,7 +32459,7 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btRig
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btRigidBody_1predictIntegratedTransform(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jfloat jarg2, jlong jarg3, jobject jarg3_) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btRigidBody_1predictIntegratedTransform(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jfloat jarg2, jobject jarg3) {
   btRigidBody *arg1 = (btRigidBody *) 0 ;
   btScalar arg2 ;
   btTransform *arg3 = 0 ;
@@ -32404,14 +32467,12 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btRigi
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg3_;
   arg1 = *(btRigidBody **)&jarg1; 
   arg2 = (btScalar)jarg2; 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform & reference is null");
-    return ;
-  } 
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
   (arg1)->predictIntegratedTransform(arg2,*arg3);
 }
 
@@ -32669,20 +32730,18 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btRigi
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btRigidBody_1setCenterOfMassTransform(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btRigidBody_1setCenterOfMassTransform(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
   btRigidBody *arg1 = (btRigidBody *) 0 ;
   btTransform *arg2 = 0 ;
   
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
   arg1 = *(btRigidBody **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   (arg1)->setCenterOfMassTransform((btTransform const &)*arg2);
 }
 
@@ -32926,8 +32985,8 @@ SWIGEXPORT jobject JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btR
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btRigidBody_1getCenterOfMassTransform(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
-  jlong jresult = 0 ;
+SWIGEXPORT jobject JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btRigidBody_1getCenterOfMassTransform(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
+  jobject jresult = 0 ;
   btRigidBody *arg1 = (btRigidBody *) 0 ;
   btTransform *result = 0 ;
   
@@ -32936,7 +32995,8 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btRig
   (void)jarg1_;
   arg1 = *(btRigidBody **)&jarg1; 
   result = (btTransform *) &((btRigidBody const *)arg1)->getCenterOfMassTransform();
-  *(btTransform **)&jresult = result; 
+  jresult = gdx_getReturnMatrix4(jenv);
+  gdx_setGdxMatrix4FromBtTransform(jenv, jresult, result);
   return jresult;
 }
 
@@ -36728,7 +36788,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_delete
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGhostObject_1convexSweepTest_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jlong jarg4, jobject jarg4_, jlong jarg5, jobject jarg5_, jfloat jarg6) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGhostObject_1convexSweepTest_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jobject jarg3, jobject jarg4, jlong jarg5, jobject jarg5_, jfloat jarg6) {
   btGhostObject *arg1 = (btGhostObject *) 0 ;
   btConvexShape *arg2 = (btConvexShape *) 0 ;
   btTransform *arg3 = 0 ;
@@ -36740,21 +36800,17 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGhos
   (void)jcls;
   (void)jarg1_;
   (void)jarg2_;
-  (void)jarg3_;
-  (void)jarg4_;
   (void)jarg5_;
   arg1 = *(btGhostObject **)&jarg1; 
   arg2 = *(btConvexShape **)&jarg2; 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
-  arg4 = *(btTransform **)&jarg4;
-  if (!arg4) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
+  btTransform local_arg4;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg4, jarg4);
+  arg4 = &local_arg4;
+  gdxAutoCommitMatrix4 auto_commit_arg4(jenv, jarg4, &local_arg4);
   arg5 = *(btCollisionWorld::ConvexResultCallback **)&jarg5;
   if (!arg5) {
     SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btCollisionWorld::ConvexResultCallback & reference is null");
@@ -36765,7 +36821,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGhos
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGhostObject_1convexSweepTest_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jlong jarg4, jobject jarg4_, jlong jarg5, jobject jarg5_) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGhostObject_1convexSweepTest_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jobject jarg3, jobject jarg4, jlong jarg5, jobject jarg5_) {
   btGhostObject *arg1 = (btGhostObject *) 0 ;
   btConvexShape *arg2 = (btConvexShape *) 0 ;
   btTransform *arg3 = 0 ;
@@ -36776,21 +36832,17 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGhos
   (void)jcls;
   (void)jarg1_;
   (void)jarg2_;
-  (void)jarg3_;
-  (void)jarg4_;
   (void)jarg5_;
   arg1 = *(btGhostObject **)&jarg1; 
   arg2 = *(btConvexShape **)&jarg2; 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
-  arg4 = *(btTransform **)&jarg4;
-  if (!arg4) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
+  btTransform local_arg4;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg4, jarg4);
+  arg4 = &local_arg4;
+  gdxAutoCommitMatrix4 auto_commit_arg4(jenv, jarg4, &local_arg4);
   arg5 = *(btCollisionWorld::ConvexResultCallback **)&jarg5;
   if (!arg5) {
     SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btCollisionWorld::ConvexResultCallback & reference is null");
@@ -38656,7 +38708,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btColl
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCollisionWorld_1debugDrawObject(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jobject jarg4) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCollisionWorld_1debugDrawObject(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jlong jarg3, jobject jarg3_, jobject jarg4) {
   btCollisionWorld *arg1 = (btCollisionWorld *) 0 ;
   btTransform *arg2 = 0 ;
   btCollisionShape *arg3 = (btCollisionShape *) 0 ;
@@ -38665,14 +38717,12 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btColl
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
   (void)jarg3_;
   arg1 = *(btCollisionWorld **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   arg3 = *(btCollisionShape **)&jarg3; 
   btVector3 local_arg4;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg4, jarg4);
@@ -38725,7 +38775,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btColl
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCollisionWorld_1convexSweepTest_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jlong jarg4, jobject jarg4_, jlong jarg5, jobject jarg5_, jfloat jarg6) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCollisionWorld_1convexSweepTest_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jobject jarg3, jobject jarg4, jlong jarg5, jobject jarg5_, jfloat jarg6) {
   btCollisionWorld *arg1 = (btCollisionWorld *) 0 ;
   btConvexShape *arg2 = (btConvexShape *) 0 ;
   btTransform *arg3 = 0 ;
@@ -38737,21 +38787,17 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btColl
   (void)jcls;
   (void)jarg1_;
   (void)jarg2_;
-  (void)jarg3_;
-  (void)jarg4_;
   (void)jarg5_;
   arg1 = *(btCollisionWorld **)&jarg1; 
   arg2 = *(btConvexShape **)&jarg2; 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
-  arg4 = *(btTransform **)&jarg4;
-  if (!arg4) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
+  btTransform local_arg4;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg4, jarg4);
+  arg4 = &local_arg4;
+  gdxAutoCommitMatrix4 auto_commit_arg4(jenv, jarg4, &local_arg4);
   arg5 = *(ConvexResultCallback **)&jarg5;
   if (!arg5) {
     SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "ConvexResultCallback & reference is null");
@@ -38762,7 +38808,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btColl
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCollisionWorld_1convexSweepTest_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jlong jarg4, jobject jarg4_, jlong jarg5, jobject jarg5_) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCollisionWorld_1convexSweepTest_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jobject jarg3, jobject jarg4, jlong jarg5, jobject jarg5_) {
   btCollisionWorld *arg1 = (btCollisionWorld *) 0 ;
   btConvexShape *arg2 = (btConvexShape *) 0 ;
   btTransform *arg3 = 0 ;
@@ -38773,21 +38819,17 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btColl
   (void)jcls;
   (void)jarg1_;
   (void)jarg2_;
-  (void)jarg3_;
-  (void)jarg4_;
   (void)jarg5_;
   arg1 = *(btCollisionWorld **)&jarg1; 
   arg2 = *(btConvexShape **)&jarg2; 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
-  arg4 = *(btTransform **)&jarg4;
-  if (!arg4) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
+  btTransform local_arg4;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg4, jarg4);
+  arg4 = &local_arg4;
+  gdxAutoCommitMatrix4 auto_commit_arg4(jenv, jarg4, &local_arg4);
   arg5 = *(ConvexResultCallback **)&jarg5;
   if (!arg5) {
     SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "ConvexResultCallback & reference is null");
@@ -38842,7 +38884,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btColl
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCollisionWorld_1rayTestSingle(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jlong jarg4, jobject jarg4_, jlong jarg5, jobject jarg5_, jlong jarg6, jobject jarg6_) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCollisionWorld_1rayTestSingle(JNIEnv *jenv, jclass jcls, jobject jarg1, jobject jarg2, jlong jarg3, jobject jarg3_, jlong jarg4, jobject jarg4_, jobject jarg5, jlong jarg6, jobject jarg6_) {
   btTransform *arg1 = 0 ;
   btTransform *arg2 = 0 ;
   btCollisionObject *arg3 = (btCollisionObject *) 0 ;
@@ -38852,29 +38894,23 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btColl
   
   (void)jenv;
   (void)jcls;
-  (void)jarg1_;
-  (void)jarg2_;
   (void)jarg3_;
   (void)jarg4_;
-  (void)jarg5_;
   (void)jarg6_;
-  arg1 = *(btTransform **)&jarg1;
-  if (!arg1) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg1;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg1, jarg1);
+  arg1 = &local_arg1;
+  gdxAutoCommitMatrix4 auto_commit_arg1(jenv, jarg1, &local_arg1);
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   arg3 = *(btCollisionObject **)&jarg3; 
   arg4 = *(btCollisionShape **)&jarg4; 
-  arg5 = *(btTransform **)&jarg5;
-  if (!arg5) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg5;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg5, jarg5);
+  arg5 = &local_arg5;
+  gdxAutoCommitMatrix4 auto_commit_arg5(jenv, jarg5, &local_arg5);
   arg6 = *(RayResultCallback **)&jarg6;
   if (!arg6) {
     SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "RayResultCallback & reference is null");
@@ -38884,7 +38920,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btColl
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCollisionWorld_1rayTestSingleInternal(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jlong jarg4, jobject jarg4_) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCollisionWorld_1rayTestSingleInternal(JNIEnv *jenv, jclass jcls, jobject jarg1, jobject jarg2, jlong jarg3, jlong jarg4, jobject jarg4_) {
   btTransform *arg1 = 0 ;
   btTransform *arg2 = 0 ;
   btCollisionObjectWrapper *arg3 = (btCollisionObjectWrapper *) 0 ;
@@ -38892,19 +38928,15 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btColl
   
   (void)jenv;
   (void)jcls;
-  (void)jarg1_;
-  (void)jarg2_;
   (void)jarg4_;
-  arg1 = *(btTransform **)&jarg1;
-  if (!arg1) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg1;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg1, jarg1);
+  arg1 = &local_arg1;
+  gdxAutoCommitMatrix4 auto_commit_arg1(jenv, jarg1, &local_arg1);
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   arg3 = *(btCollisionObjectWrapper **)&jarg3; 
   arg4 = *(RayResultCallback **)&jarg4;
   if (!arg4) {
@@ -38915,7 +38947,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btColl
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCollisionWorld_1objectQuerySingle(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jlong jarg4, jobject jarg4_, jlong jarg5, jobject jarg5_, jlong jarg6, jobject jarg6_, jlong jarg7, jobject jarg7_, jfloat jarg8) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCollisionWorld_1objectQuerySingle(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jobject jarg3, jlong jarg4, jobject jarg4_, jlong jarg5, jobject jarg5_, jobject jarg6, jlong jarg7, jobject jarg7_, jfloat jarg8) {
   btConvexShape *arg1 = (btConvexShape *) 0 ;
   btTransform *arg2 = 0 ;
   btTransform *arg3 = 0 ;
@@ -38928,30 +38960,24 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btColl
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
-  (void)jarg3_;
   (void)jarg4_;
   (void)jarg5_;
-  (void)jarg6_;
   (void)jarg7_;
   arg1 = *(btConvexShape **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
   arg4 = *(btCollisionObject **)&jarg4; 
   arg5 = *(btCollisionShape **)&jarg5; 
-  arg6 = *(btTransform **)&jarg6;
-  if (!arg6) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg6;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg6, jarg6);
+  arg6 = &local_arg6;
+  gdxAutoCommitMatrix4 auto_commit_arg6(jenv, jarg6, &local_arg6);
   arg7 = *(ConvexResultCallback **)&jarg7;
   if (!arg7) {
     SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "ConvexResultCallback & reference is null");
@@ -38962,7 +38988,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btColl
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCollisionWorld_1objectQuerySingleInternal(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jlong jarg4, jlong jarg5, jobject jarg5_, jfloat jarg6) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCollisionWorld_1objectQuerySingleInternal(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jobject jarg3, jlong jarg4, jlong jarg5, jobject jarg5_, jfloat jarg6) {
   btConvexShape *arg1 = (btConvexShape *) 0 ;
   btTransform *arg2 = 0 ;
   btTransform *arg3 = 0 ;
@@ -38973,20 +38999,16 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btColl
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
-  (void)jarg3_;
   (void)jarg5_;
   arg1 = *(btConvexShape **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
   arg4 = *(btCollisionObjectWrapper **)&jarg4; 
   arg5 = *(ConvexResultCallback **)&jarg5;
   if (!arg5) {
@@ -40133,7 +40155,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_delete
 }
 
 
-SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConvexCast_1calcTimeOfImpact(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jlong jarg4, jobject jarg4_, jlong jarg5, jobject jarg5_, jlong jarg6) {
+SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConvexCast_1calcTimeOfImpact(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jobject jarg3, jobject jarg4, jobject jarg5, jlong jarg6) {
   jboolean jresult = 0 ;
   btConvexCast *arg1 = (btConvexCast *) 0 ;
   btTransform *arg2 = 0 ;
@@ -40146,31 +40168,23 @@ SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_bt
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
-  (void)jarg3_;
-  (void)jarg4_;
-  (void)jarg5_;
   arg1 = *(btConvexCast **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
-  arg4 = *(btTransform **)&jarg4;
-  if (!arg4) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
-  arg5 = *(btTransform **)&jarg5;
-  if (!arg5) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
+  btTransform local_arg4;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg4, jarg4);
+  arg4 = &local_arg4;
+  gdxAutoCommitMatrix4 auto_commit_arg4(jenv, jarg4, &local_arg4);
+  btTransform local_arg5;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg5, jarg5);
+  arg5 = &local_arg5;
+  gdxAutoCommitMatrix4 auto_commit_arg5(jenv, jarg5, &local_arg5);
   arg6 = *(btConvexCast::CastResult **)&jarg6;
   if (!arg6) {
     SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btConvexCast::CastResult & reference is null");
@@ -40212,7 +40226,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_delete
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btPolyhedralContactClipping_1clipHullAgainstHull(JNIEnv *jenv, jclass jcls, jobject jarg1, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jlong jarg4, jobject jarg4_, jlong jarg5, jobject jarg5_, jfloat jarg6, jfloat jarg7, jlong jarg8) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btPolyhedralContactClipping_1clipHullAgainstHull(JNIEnv *jenv, jclass jcls, jobject jarg1, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jobject jarg4, jobject jarg5, jfloat jarg6, jfloat jarg7, jlong jarg8) {
   btVector3 *arg1 = 0 ;
   btConvexPolyhedron *arg2 = 0 ;
   btConvexPolyhedron *arg3 = 0 ;
@@ -40226,8 +40240,6 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btPoly
   (void)jcls;
   (void)jarg2_;
   (void)jarg3_;
-  (void)jarg4_;
-  (void)jarg5_;
   btVector3 local_arg1;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg1, jarg1);
   arg1 = &local_arg1;
@@ -40242,16 +40254,14 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btPoly
     SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btConvexPolyhedron const & reference is null");
     return ;
   } 
-  arg4 = *(btTransform **)&jarg4;
-  if (!arg4) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
-  arg5 = *(btTransform **)&jarg5;
-  if (!arg5) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg4;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg4, jarg4);
+  arg4 = &local_arg4;
+  gdxAutoCommitMatrix4 auto_commit_arg4(jenv, jarg4, &local_arg4);
+  btTransform local_arg5;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg5, jarg5);
+  arg5 = &local_arg5;
+  gdxAutoCommitMatrix4 auto_commit_arg5(jenv, jarg5, &local_arg5);
   arg6 = (btScalar)jarg6; 
   arg7 = (btScalar)jarg7; 
   arg8 = *(btDiscreteCollisionDetectorInterface::Result **)&jarg8;
@@ -40263,7 +40273,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btPoly
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btPolyhedralContactClipping_1clipFaceAgainstHull(JNIEnv *jenv, jclass jcls, jobject jarg1, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jlong jarg4, jfloat jarg5, jfloat jarg6, jlong jarg7) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btPolyhedralContactClipping_1clipFaceAgainstHull(JNIEnv *jenv, jclass jcls, jobject jarg1, jlong jarg2, jobject jarg2_, jobject jarg3, jlong jarg4, jfloat jarg5, jfloat jarg6, jlong jarg7) {
   btVector3 *arg1 = 0 ;
   btConvexPolyhedron *arg2 = 0 ;
   btTransform *arg3 = 0 ;
@@ -40275,7 +40285,6 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btPoly
   (void)jenv;
   (void)jcls;
   (void)jarg2_;
-  (void)jarg3_;
   btVector3 local_arg1;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg1, jarg1);
   arg1 = &local_arg1;
@@ -40285,11 +40294,10 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btPoly
     SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btConvexPolyhedron const & reference is null");
     return ;
   } 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
   arg4 = *(btVertexArray **)&jarg4;
   if (!arg4) {
     SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btVertexArray & reference is null");
@@ -40306,7 +40314,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btPoly
 }
 
 
-SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btPolyhedralContactClipping_1findSeparatingAxis(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jlong jarg4, jobject jarg4_, jobject jarg5) {
+SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btPolyhedralContactClipping_1findSeparatingAxis(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jobject jarg3, jobject jarg4, jobject jarg5) {
   jboolean jresult = 0 ;
   btConvexPolyhedron *arg1 = 0 ;
   btConvexPolyhedron *arg2 = 0 ;
@@ -40319,8 +40327,6 @@ SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_bt
   (void)jcls;
   (void)jarg1_;
   (void)jarg2_;
-  (void)jarg3_;
-  (void)jarg4_;
   arg1 = *(btConvexPolyhedron **)&jarg1;
   if (!arg1) {
     SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btConvexPolyhedron const & reference is null");
@@ -40331,16 +40337,14 @@ SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_bt
     SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btConvexPolyhedron const & reference is null");
     return 0;
   } 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
-  arg4 = *(btTransform **)&jarg4;
-  if (!arg4) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
+  btTransform local_arg4;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg4, jarg4);
+  arg4 = &local_arg4;
+  gdxAutoCommitMatrix4 auto_commit_arg4(jenv, jarg4, &local_arg4);
   btVector3 local_arg5;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg5, jarg5);
   arg5 = &local_arg5;
@@ -40812,7 +40816,7 @@ SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_bt
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btPersistentManifold_1refreshContactPoints(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btPersistentManifold_1refreshContactPoints(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jobject jarg3) {
   btPersistentManifold *arg1 = (btPersistentManifold *) 0 ;
   btTransform *arg2 = 0 ;
   btTransform *arg3 = 0 ;
@@ -40820,19 +40824,15 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btPers
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
-  (void)jarg3_;
   arg1 = *(btPersistentManifold **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
   (arg1)->refreshContactPoints((btTransform const &)*arg2,(btTransform const &)*arg3);
 }
 
@@ -41232,7 +41232,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_delete
 }
 
 
-SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConvexPenetrationDepthSolver_1calcPenDepth(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3, jobject jarg3_, jlong jarg4, jobject jarg4_, jlong jarg5, jobject jarg5_, jlong jarg6, jobject jarg6_, jobject jarg7, jobject jarg8, jobject jarg9, jlong jarg10, jobject jarg10_, jlong jarg11, jobject jarg11_) {
+SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConvexPenetrationDepthSolver_1calcPenDepth(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3, jobject jarg3_, jlong jarg4, jobject jarg4_, jobject jarg5, jobject jarg6, jobject jarg7, jobject jarg8, jobject jarg9, jlong jarg10, jobject jarg10_, jlong jarg11, jobject jarg11_) {
   jboolean jresult = 0 ;
   btConvexPenetrationDepthSolver *arg1 = (btConvexPenetrationDepthSolver *) 0 ;
   btSimplexSolverInterface *arg2 = 0 ;
@@ -41252,8 +41252,6 @@ SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_bt
   (void)jarg1_;
   (void)jarg3_;
   (void)jarg4_;
-  (void)jarg5_;
-  (void)jarg6_;
   (void)jarg10_;
   (void)jarg11_;
   arg1 = *(btConvexPenetrationDepthSolver **)&jarg1; 
@@ -41264,16 +41262,14 @@ SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_bt
   } 
   arg3 = *(btConvexShape **)&jarg3; 
   arg4 = *(btConvexShape **)&jarg4; 
-  arg5 = *(btTransform **)&jarg5;
-  if (!arg5) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
-  arg6 = *(btTransform **)&jarg6;
-  if (!arg6) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
+  btTransform local_arg5;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg5, jarg5);
+  arg5 = &local_arg5;
+  gdxAutoCommitMatrix4 auto_commit_arg5(jenv, jarg5, &local_arg5);
+  btTransform local_arg6;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg6, jarg6);
+  arg6 = &local_arg6;
+  gdxAutoCommitMatrix4 auto_commit_arg6(jenv, jarg6, &local_arg6);
   btVector3 local_arg7;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg7, jarg7);
   arg7 = &local_arg7;
@@ -42855,7 +42851,7 @@ SWIGEXPORT jint JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGjkE
 }
 
 
-SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGjkEpaSolver2_1Distance(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jlong jarg4, jobject jarg4_, jobject jarg5, jlong jarg6) {
+SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGjkEpaSolver2_1Distance(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jlong jarg3, jobject jarg3_, jobject jarg4, jobject jarg5, jlong jarg6) {
   jboolean jresult = 0 ;
   btConvexShape *arg1 = (btConvexShape *) 0 ;
   btTransform *arg2 = 0 ;
@@ -42868,21 +42864,17 @@ SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_bt
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
   (void)jarg3_;
-  (void)jarg4_;
   arg1 = *(btConvexShape **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   arg3 = *(btConvexShape **)&jarg3; 
-  arg4 = *(btTransform **)&jarg4;
-  if (!arg4) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
+  btTransform local_arg4;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg4, jarg4);
+  arg4 = &local_arg4;
+  gdxAutoCommitMatrix4 auto_commit_arg4(jenv, jarg4, &local_arg4);
   btVector3 local_arg5;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg5, jarg5);
   arg5 = &local_arg5;
@@ -42898,7 +42890,7 @@ SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_bt
 }
 
 
-SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGjkEpaSolver2_1Penetration_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jlong jarg4, jobject jarg4_, jobject jarg5, jlong jarg6, jboolean jarg7) {
+SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGjkEpaSolver2_1Penetration_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jlong jarg3, jobject jarg3_, jobject jarg4, jobject jarg5, jlong jarg6, jboolean jarg7) {
   jboolean jresult = 0 ;
   btConvexShape *arg1 = (btConvexShape *) 0 ;
   btTransform *arg2 = 0 ;
@@ -42912,21 +42904,17 @@ SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_bt
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
   (void)jarg3_;
-  (void)jarg4_;
   arg1 = *(btConvexShape **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   arg3 = *(btConvexShape **)&jarg3; 
-  arg4 = *(btTransform **)&jarg4;
-  if (!arg4) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
+  btTransform local_arg4;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg4, jarg4);
+  arg4 = &local_arg4;
+  gdxAutoCommitMatrix4 auto_commit_arg4(jenv, jarg4, &local_arg4);
   btVector3 local_arg5;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg5, jarg5);
   arg5 = &local_arg5;
@@ -42943,7 +42931,7 @@ SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_bt
 }
 
 
-SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGjkEpaSolver2_1Penetration_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jlong jarg4, jobject jarg4_, jobject jarg5, jlong jarg6) {
+SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGjkEpaSolver2_1Penetration_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jlong jarg3, jobject jarg3_, jobject jarg4, jobject jarg5, jlong jarg6) {
   jboolean jresult = 0 ;
   btConvexShape *arg1 = (btConvexShape *) 0 ;
   btTransform *arg2 = 0 ;
@@ -42956,21 +42944,17 @@ SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_bt
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
   (void)jarg3_;
-  (void)jarg4_;
   arg1 = *(btConvexShape **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   arg3 = *(btConvexShape **)&jarg3; 
-  arg4 = *(btTransform **)&jarg4;
-  if (!arg4) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
+  btTransform local_arg4;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg4, jarg4);
+  arg4 = &local_arg4;
+  gdxAutoCommitMatrix4 auto_commit_arg4(jenv, jarg4, &local_arg4);
   btVector3 local_arg5;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg5, jarg5);
   arg5 = &local_arg5;
@@ -42986,7 +42970,7 @@ SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_bt
 }
 
 
-SWIGEXPORT jfloat JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGjkEpaSolver2_1SignedDistance_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jobject jarg1, jfloat jarg2, jlong jarg3, jobject jarg3_, jlong jarg4, jobject jarg4_, jlong jarg5) {
+SWIGEXPORT jfloat JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGjkEpaSolver2_1SignedDistance_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jobject jarg1, jfloat jarg2, jlong jarg3, jobject jarg3_, jobject jarg4, jlong jarg5) {
   jfloat jresult = 0 ;
   btVector3 *arg1 = 0 ;
   btScalar arg2 ;
@@ -42998,18 +42982,16 @@ SWIGEXPORT jfloat JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGj
   (void)jenv;
   (void)jcls;
   (void)jarg3_;
-  (void)jarg4_;
   btVector3 local_arg1;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg1, jarg1);
   arg1 = &local_arg1;
   gdxAutoCommitVector3 auto_commit_arg1(jenv, jarg1, &local_arg1);
   arg2 = (btScalar)jarg2; 
   arg3 = *(btConvexShape **)&jarg3; 
-  arg4 = *(btTransform **)&jarg4;
-  if (!arg4) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
+  btTransform local_arg4;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg4, jarg4);
+  arg4 = &local_arg4;
+  gdxAutoCommitMatrix4 auto_commit_arg4(jenv, jarg4, &local_arg4);
   arg5 = *(btGjkEpaSolver2::sResults **)&jarg5;
   if (!arg5) {
     SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btGjkEpaSolver2::sResults & reference is null");
@@ -43021,7 +43003,7 @@ SWIGEXPORT jfloat JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGj
 }
 
 
-SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGjkEpaSolver2_1SignedDistance_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jlong jarg4, jobject jarg4_, jobject jarg5, jlong jarg6) {
+SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGjkEpaSolver2_1SignedDistance_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jlong jarg3, jobject jarg3_, jobject jarg4, jobject jarg5, jlong jarg6) {
   jboolean jresult = 0 ;
   btConvexShape *arg1 = (btConvexShape *) 0 ;
   btTransform *arg2 = 0 ;
@@ -43034,21 +43016,17 @@ SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_bt
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
   (void)jarg3_;
-  (void)jarg4_;
   arg1 = *(btConvexShape **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   arg3 = *(btConvexShape **)&jarg3; 
-  arg4 = *(btTransform **)&jarg4;
-  if (!arg4) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
+  btTransform local_arg4;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg4, jarg4);
+  arg4 = &local_arg4;
+  gdxAutoCommitMatrix4 auto_commit_arg4(jenv, jarg4, &local_arg4);
   btVector3 local_arg5;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg5, jarg5);
   arg5 = &local_arg5;
@@ -48588,7 +48566,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_delete
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1btSliderConstraint_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jlong jarg4, jobject jarg4_, jboolean jarg5) {
+SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1btSliderConstraint_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jobject jarg3, jobject jarg4, jboolean jarg5) {
   jlong jresult = 0 ;
   btRigidBody *arg1 = 0 ;
   btRigidBody *arg2 = 0 ;
@@ -48601,8 +48579,6 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1
   (void)jcls;
   (void)jarg1_;
   (void)jarg2_;
-  (void)jarg3_;
-  (void)jarg4_;
   arg1 = *(btRigidBody **)&jarg1;
   if (!arg1) {
     SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btRigidBody & reference is null");
@@ -48613,16 +48589,14 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1
     SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btRigidBody & reference is null");
     return 0;
   } 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
-  arg4 = *(btTransform **)&jarg4;
-  if (!arg4) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
+  btTransform local_arg4;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg4, jarg4);
+  arg4 = &local_arg4;
+  gdxAutoCommitMatrix4 auto_commit_arg4(jenv, jarg4, &local_arg4);
   arg5 = jarg5 ? true : false; 
   result = (btSliderConstraint *)new btSliderConstraint(*arg1,*arg2,(btTransform const &)*arg3,(btTransform const &)*arg4,arg5);
   *(btSliderConstraint **)&jresult = result; 
@@ -48630,7 +48604,7 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1btSliderConstraint_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jboolean jarg3) {
+SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1btSliderConstraint_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jboolean jarg3) {
   jlong jresult = 0 ;
   btRigidBody *arg1 = 0 ;
   btTransform *arg2 = 0 ;
@@ -48640,17 +48614,15 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
   arg1 = *(btRigidBody **)&jarg1;
   if (!arg1) {
     SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btRigidBody & reference is null");
     return 0;
   } 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   arg3 = jarg3 ? true : false; 
   result = (btSliderConstraint *)new btSliderConstraint(*arg1,(btTransform const &)*arg2,arg3);
   *(btSliderConstraint **)&jresult = result; 
@@ -48671,7 +48643,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btSlid
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btSliderConstraint_1getInfo2NonVirtual(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jlong jarg4, jobject jarg4_, jobject jarg5, jobject jarg6, jfloat jarg7, jfloat jarg8) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btSliderConstraint_1getInfo2NonVirtual(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jobject jarg3, jobject jarg4, jobject jarg5, jobject jarg6, jfloat jarg7, jfloat jarg8) {
   btSliderConstraint *arg1 = (btSliderConstraint *) 0 ;
   btConstraintInfo2 *arg2 = (btConstraintInfo2 *) 0 ;
   btTransform *arg3 = 0 ;
@@ -48685,20 +48657,16 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btSlid
   (void)jcls;
   (void)jarg1_;
   (void)jarg2_;
-  (void)jarg3_;
-  (void)jarg4_;
   arg1 = *(btSliderConstraint **)&jarg1; 
   arg2 = *(btConstraintInfo2 **)&jarg2; 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
-  arg4 = *(btTransform **)&jarg4;
-  if (!arg4) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
+  btTransform local_arg4;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg4, jarg4);
+  arg4 = &local_arg4;
+  gdxAutoCommitMatrix4 auto_commit_arg4(jenv, jarg4, &local_arg4);
   btVector3 local_arg5;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg5, jarg5);
   arg5 = &local_arg5;
@@ -48743,8 +48711,8 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btSli
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btSliderConstraint_1getCalculatedTransformA(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
-  jlong jresult = 0 ;
+SWIGEXPORT jobject JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btSliderConstraint_1getCalculatedTransformA(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
+  jobject jresult = 0 ;
   btSliderConstraint *arg1 = (btSliderConstraint *) 0 ;
   btTransform *result = 0 ;
   
@@ -48753,13 +48721,14 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btSli
   (void)jarg1_;
   arg1 = *(btSliderConstraint **)&jarg1; 
   result = (btTransform *) &((btSliderConstraint const *)arg1)->getCalculatedTransformA();
-  *(btTransform **)&jresult = result; 
+  jresult = gdx_getReturnMatrix4(jenv);
+  gdx_setGdxMatrix4FromBtTransform(jenv, jresult, result);
   return jresult;
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btSliderConstraint_1getCalculatedTransformB(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
-  jlong jresult = 0 ;
+SWIGEXPORT jobject JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btSliderConstraint_1getCalculatedTransformB(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
+  jobject jresult = 0 ;
   btSliderConstraint *arg1 = (btSliderConstraint *) 0 ;
   btTransform *result = 0 ;
   
@@ -48768,13 +48737,14 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btSli
   (void)jarg1_;
   arg1 = *(btSliderConstraint **)&jarg1; 
   result = (btTransform *) &((btSliderConstraint const *)arg1)->getCalculatedTransformB();
-  *(btTransform **)&jresult = result; 
+  jresult = gdx_getReturnMatrix4(jenv);
+  gdx_setGdxMatrix4FromBtTransform(jenv, jresult, result);
   return jresult;
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btSliderConstraint_1getFrameOffsetA_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
-  jlong jresult = 0 ;
+SWIGEXPORT jobject JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btSliderConstraint_1getFrameOffsetA_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
+  jobject jresult = 0 ;
   btSliderConstraint *arg1 = (btSliderConstraint *) 0 ;
   btTransform *result = 0 ;
   
@@ -48783,13 +48753,14 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btSli
   (void)jarg1_;
   arg1 = *(btSliderConstraint **)&jarg1; 
   result = (btTransform *) &((btSliderConstraint const *)arg1)->getFrameOffsetA();
-  *(btTransform **)&jresult = result; 
+  jresult = gdx_getReturnMatrix4(jenv);
+  gdx_setGdxMatrix4FromBtTransform(jenv, jresult, result);
   return jresult;
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btSliderConstraint_1getFrameOffsetB_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
-  jlong jresult = 0 ;
+SWIGEXPORT jobject JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btSliderConstraint_1getFrameOffsetB_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
+  jobject jresult = 0 ;
   btSliderConstraint *arg1 = (btSliderConstraint *) 0 ;
   btTransform *result = 0 ;
   
@@ -48798,7 +48769,8 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btSli
   (void)jarg1_;
   arg1 = *(btSliderConstraint **)&jarg1; 
   result = (btTransform *) &((btSliderConstraint const *)arg1)->getFrameOffsetB();
-  *(btTransform **)&jresult = result; 
+  jresult = gdx_getReturnMatrix4(jenv);
+  gdx_setGdxMatrix4FromBtTransform(jenv, jresult, result);
   return jresult;
 }
 
@@ -49692,7 +49664,7 @@ SWIGEXPORT jfloat JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btSl
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btSliderConstraint_1calculateTransforms(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btSliderConstraint_1calculateTransforms(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jobject jarg3) {
   btSliderConstraint *arg1 = (btSliderConstraint *) 0 ;
   btTransform *arg2 = 0 ;
   btTransform *arg3 = 0 ;
@@ -49700,19 +49672,15 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btSlid
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
-  (void)jarg3_;
   arg1 = *(btSliderConstraint **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
   (arg1)->calculateTransforms((btTransform const &)*arg2,(btTransform const &)*arg3);
 }
 
@@ -49799,7 +49767,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btSlid
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btSliderConstraint_1setFrames(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btSliderConstraint_1setFrames(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jobject jarg3) {
   btSliderConstraint *arg1 = (btSliderConstraint *) 0 ;
   btTransform *arg2 = 0 ;
   btTransform *arg3 = 0 ;
@@ -49807,19 +49775,15 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btSlid
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
-  (void)jarg3_;
   arg1 = *(btSliderConstraint **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
   (arg1)->setFrames((btTransform const &)*arg2,(btTransform const &)*arg3);
 }
 
@@ -50415,7 +50379,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btPoin
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btPoint2PointConstraint_1getInfo2NonVirtual(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jlong jarg4, jobject jarg4_) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btPoint2PointConstraint_1getInfo2NonVirtual(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jobject jarg3, jobject jarg4) {
   btPoint2PointConstraint *arg1 = (btPoint2PointConstraint *) 0 ;
   btConstraintInfo2 *arg2 = (btConstraintInfo2 *) 0 ;
   btTransform *arg3 = 0 ;
@@ -50425,20 +50389,16 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btPoin
   (void)jcls;
   (void)jarg1_;
   (void)jarg2_;
-  (void)jarg3_;
-  (void)jarg4_;
   arg1 = *(btPoint2PointConstraint **)&jarg1; 
   arg2 = *(btConstraintInfo2 **)&jarg2; 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
-  arg4 = *(btTransform **)&jarg4;
-  if (!arg4) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
+  btTransform local_arg4;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg4, jarg4);
+  arg4 = &local_arg4;
+  gdxAutoCommitMatrix4 auto_commit_arg4(jenv, jarg4, &local_arg4);
   (arg1)->getInfo2NonVirtual(arg2,(btTransform const &)*arg3,(btTransform const &)*arg4);
 }
 
@@ -52705,7 +52665,7 @@ SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_bt
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1btGeneric6DofConstraint_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jlong jarg4, jobject jarg4_, jboolean jarg5) {
+SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1btGeneric6DofConstraint_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jobject jarg3, jobject jarg4, jboolean jarg5) {
   jlong jresult = 0 ;
   btRigidBody *arg1 = 0 ;
   btRigidBody *arg2 = 0 ;
@@ -52718,8 +52678,6 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1
   (void)jcls;
   (void)jarg1_;
   (void)jarg2_;
-  (void)jarg3_;
-  (void)jarg4_;
   arg1 = *(btRigidBody **)&jarg1;
   if (!arg1) {
     SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btRigidBody & reference is null");
@@ -52730,16 +52688,14 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1
     SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btRigidBody & reference is null");
     return 0;
   } 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
-  arg4 = *(btTransform **)&jarg4;
-  if (!arg4) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
+  btTransform local_arg4;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg4, jarg4);
+  arg4 = &local_arg4;
+  gdxAutoCommitMatrix4 auto_commit_arg4(jenv, jarg4, &local_arg4);
   arg5 = jarg5 ? true : false; 
   result = (btGeneric6DofConstraint *)new btGeneric6DofConstraint(*arg1,*arg2,(btTransform const &)*arg3,(btTransform const &)*arg4,arg5);
   *(btGeneric6DofConstraint **)&jresult = result; 
@@ -52747,7 +52703,7 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1btGeneric6DofConstraint_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jboolean jarg3) {
+SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1btGeneric6DofConstraint_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jboolean jarg3) {
   jlong jresult = 0 ;
   btRigidBody *arg1 = 0 ;
   btTransform *arg2 = 0 ;
@@ -52757,17 +52713,15 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
   arg1 = *(btRigidBody **)&jarg1;
   if (!arg1) {
     SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btRigidBody & reference is null");
     return 0;
   } 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   arg3 = jarg3 ? true : false; 
   result = (btGeneric6DofConstraint *)new btGeneric6DofConstraint(*arg1,(btTransform const &)*arg2,arg3);
   *(btGeneric6DofConstraint **)&jresult = result; 
@@ -52775,7 +52729,7 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGeneric6DofConstraint_1calculateTransforms_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGeneric6DofConstraint_1calculateTransforms_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jobject jarg3) {
   btGeneric6DofConstraint *arg1 = (btGeneric6DofConstraint *) 0 ;
   btTransform *arg2 = 0 ;
   btTransform *arg3 = 0 ;
@@ -52783,19 +52737,15 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGene
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
-  (void)jarg3_;
   arg1 = *(btGeneric6DofConstraint **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
   (arg1)->calculateTransforms((btTransform const &)*arg2,(btTransform const &)*arg3);
 }
 
@@ -52811,8 +52761,8 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGene
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGeneric6DofConstraint_1getCalculatedTransformA(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
-  jlong jresult = 0 ;
+SWIGEXPORT jobject JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGeneric6DofConstraint_1getCalculatedTransformA(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
+  jobject jresult = 0 ;
   btGeneric6DofConstraint *arg1 = (btGeneric6DofConstraint *) 0 ;
   btTransform *result = 0 ;
   
@@ -52821,13 +52771,14 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGen
   (void)jarg1_;
   arg1 = *(btGeneric6DofConstraint **)&jarg1; 
   result = (btTransform *) &((btGeneric6DofConstraint const *)arg1)->getCalculatedTransformA();
-  *(btTransform **)&jresult = result; 
+  jresult = gdx_getReturnMatrix4(jenv);
+  gdx_setGdxMatrix4FromBtTransform(jenv, jresult, result);
   return jresult;
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGeneric6DofConstraint_1getCalculatedTransformB(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
-  jlong jresult = 0 ;
+SWIGEXPORT jobject JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGeneric6DofConstraint_1getCalculatedTransformB(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
+  jobject jresult = 0 ;
   btGeneric6DofConstraint *arg1 = (btGeneric6DofConstraint *) 0 ;
   btTransform *result = 0 ;
   
@@ -52836,13 +52787,14 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGen
   (void)jarg1_;
   arg1 = *(btGeneric6DofConstraint **)&jarg1; 
   result = (btTransform *) &((btGeneric6DofConstraint const *)arg1)->getCalculatedTransformB();
-  *(btTransform **)&jresult = result; 
+  jresult = gdx_getReturnMatrix4(jenv);
+  gdx_setGdxMatrix4FromBtTransform(jenv, jresult, result);
   return jresult;
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGeneric6DofConstraint_1getFrameOffsetA_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
-  jlong jresult = 0 ;
+SWIGEXPORT jobject JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGeneric6DofConstraint_1getFrameOffsetA_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
+  jobject jresult = 0 ;
   btGeneric6DofConstraint *arg1 = (btGeneric6DofConstraint *) 0 ;
   btTransform *result = 0 ;
   
@@ -52851,13 +52803,14 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGen
   (void)jarg1_;
   arg1 = *(btGeneric6DofConstraint **)&jarg1; 
   result = (btTransform *) &((btGeneric6DofConstraint const *)arg1)->getFrameOffsetA();
-  *(btTransform **)&jresult = result; 
+  jresult = gdx_getReturnMatrix4(jenv);
+  gdx_setGdxMatrix4FromBtTransform(jenv, jresult, result);
   return jresult;
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGeneric6DofConstraint_1getFrameOffsetB_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
-  jlong jresult = 0 ;
+SWIGEXPORT jobject JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGeneric6DofConstraint_1getFrameOffsetB_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
+  jobject jresult = 0 ;
   btGeneric6DofConstraint *arg1 = (btGeneric6DofConstraint *) 0 ;
   btTransform *result = 0 ;
   
@@ -52866,7 +52819,8 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGen
   (void)jarg1_;
   arg1 = *(btGeneric6DofConstraint **)&jarg1; 
   result = (btTransform *) &((btGeneric6DofConstraint const *)arg1)->getFrameOffsetB();
-  *(btTransform **)&jresult = result; 
+  jresult = gdx_getReturnMatrix4(jenv);
+  gdx_setGdxMatrix4FromBtTransform(jenv, jresult, result);
   return jresult;
 }
 
@@ -52884,7 +52838,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGene
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGeneric6DofConstraint_1getInfo2NonVirtual(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jlong jarg4, jobject jarg4_, jobject jarg5, jobject jarg6, jobject jarg7, jobject jarg8) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGeneric6DofConstraint_1getInfo2NonVirtual(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jobject jarg3, jobject jarg4, jobject jarg5, jobject jarg6, jobject jarg7, jobject jarg8) {
   btGeneric6DofConstraint *arg1 = (btGeneric6DofConstraint *) 0 ;
   btConstraintInfo2 *arg2 = (btConstraintInfo2 *) 0 ;
   btTransform *arg3 = 0 ;
@@ -52898,20 +52852,16 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGene
   (void)jcls;
   (void)jarg1_;
   (void)jarg2_;
-  (void)jarg3_;
-  (void)jarg4_;
   arg1 = *(btGeneric6DofConstraint **)&jarg1; 
   arg2 = *(btConstraintInfo2 **)&jarg2; 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
-  arg4 = *(btTransform **)&jarg4;
-  if (!arg4) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
+  btTransform local_arg4;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg4, jarg4);
+  arg4 = &local_arg4;
+  gdxAutoCommitMatrix4 auto_commit_arg4(jenv, jarg4, &local_arg4);
   btVector3 local_arg5;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg5, jarg5);
   arg5 = &local_arg5;
@@ -52997,7 +52947,7 @@ SWIGEXPORT jfloat JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGe
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGeneric6DofConstraint_1setFrames(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGeneric6DofConstraint_1setFrames(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jobject jarg3) {
   btGeneric6DofConstraint *arg1 = (btGeneric6DofConstraint *) 0 ;
   btTransform *arg2 = 0 ;
   btTransform *arg3 = 0 ;
@@ -53005,19 +52955,15 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGene
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
-  (void)jarg3_;
   arg1 = *(btGeneric6DofConstraint **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
   (arg1)->setFrames((btTransform const &)*arg2,(btTransform const &)*arg3);
 }
 
@@ -53244,7 +53190,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGene
 }
 
 
-SWIGEXPORT jint JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGeneric6DofConstraint_1get_1limit_1motor_1info2_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jlong jarg4, jobject jarg4_, jobject jarg5, jobject jarg6, jobject jarg7, jobject jarg8, jlong jarg9, jobject jarg9_, jint jarg10, jobject jarg11, jint jarg12, jint jarg13) {
+SWIGEXPORT jint JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGeneric6DofConstraint_1get_1limit_1motor_1info2_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jobject jarg3, jobject jarg4, jobject jarg5, jobject jarg6, jobject jarg7, jobject jarg8, jlong jarg9, jobject jarg9_, jint jarg10, jobject jarg11, jint jarg12, jint jarg13) {
   jint jresult = 0 ;
   btGeneric6DofConstraint *arg1 = (btGeneric6DofConstraint *) 0 ;
   btRotationalLimitMotor *arg2 = (btRotationalLimitMotor *) 0 ;
@@ -53265,21 +53211,17 @@ SWIGEXPORT jint JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGene
   (void)jcls;
   (void)jarg1_;
   (void)jarg2_;
-  (void)jarg3_;
-  (void)jarg4_;
   (void)jarg9_;
   arg1 = *(btGeneric6DofConstraint **)&jarg1; 
   arg2 = *(btRotationalLimitMotor **)&jarg2; 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
-  arg4 = *(btTransform **)&jarg4;
-  if (!arg4) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
+  btTransform local_arg4;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg4, jarg4);
+  arg4 = &local_arg4;
+  gdxAutoCommitMatrix4 auto_commit_arg4(jenv, jarg4, &local_arg4);
   btVector3 local_arg5;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg5, jarg5);
   arg5 = &local_arg5;
@@ -53310,7 +53252,7 @@ SWIGEXPORT jint JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGene
 }
 
 
-SWIGEXPORT jint JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGeneric6DofConstraint_1get_1limit_1motor_1info2_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jlong jarg4, jobject jarg4_, jobject jarg5, jobject jarg6, jobject jarg7, jobject jarg8, jlong jarg9, jobject jarg9_, jint jarg10, jobject jarg11, jint jarg12) {
+SWIGEXPORT jint JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGeneric6DofConstraint_1get_1limit_1motor_1info2_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jobject jarg3, jobject jarg4, jobject jarg5, jobject jarg6, jobject jarg7, jobject jarg8, jlong jarg9, jobject jarg9_, jint jarg10, jobject jarg11, jint jarg12) {
   jint jresult = 0 ;
   btGeneric6DofConstraint *arg1 = (btGeneric6DofConstraint *) 0 ;
   btRotationalLimitMotor *arg2 = (btRotationalLimitMotor *) 0 ;
@@ -53330,21 +53272,17 @@ SWIGEXPORT jint JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btGene
   (void)jcls;
   (void)jarg1_;
   (void)jarg2_;
-  (void)jarg3_;
-  (void)jarg4_;
   (void)jarg9_;
   arg1 = *(btGeneric6DofConstraint **)&jarg1; 
   arg2 = *(btRotationalLimitMotor **)&jarg2; 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
-  arg4 = *(btTransform **)&jarg4;
-  if (!arg4) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
+  btTransform local_arg4;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg4, jarg4);
+  arg4 = &local_arg4;
+  gdxAutoCommitMatrix4 auto_commit_arg4(jenv, jarg4, &local_arg4);
   btVector3 local_arg5;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg5, jarg5);
   arg5 = &local_arg5;
@@ -54101,7 +54039,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_resolv
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1btConeTwistConstraint_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jlong jarg4, jobject jarg4_) {
+SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1btConeTwistConstraint_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jobject jarg3, jobject jarg4) {
   jlong jresult = 0 ;
   btRigidBody *arg1 = 0 ;
   btRigidBody *arg2 = 0 ;
@@ -54113,8 +54051,6 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1
   (void)jcls;
   (void)jarg1_;
   (void)jarg2_;
-  (void)jarg3_;
-  (void)jarg4_;
   arg1 = *(btRigidBody **)&jarg1;
   if (!arg1) {
     SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btRigidBody & reference is null");
@@ -54125,23 +54061,21 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1
     SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btRigidBody & reference is null");
     return 0;
   } 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
-  arg4 = *(btTransform **)&jarg4;
-  if (!arg4) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
+  btTransform local_arg4;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg4, jarg4);
+  arg4 = &local_arg4;
+  gdxAutoCommitMatrix4 auto_commit_arg4(jenv, jarg4, &local_arg4);
   result = (btConeTwistConstraint *)new btConeTwistConstraint(*arg1,*arg2,(btTransform const &)*arg3,(btTransform const &)*arg4);
   *(btConeTwistConstraint **)&jresult = result; 
   return jresult;
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1btConeTwistConstraint_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) {
+SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1btConeTwistConstraint_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
   jlong jresult = 0 ;
   btRigidBody *arg1 = 0 ;
   btTransform *arg2 = 0 ;
@@ -54150,17 +54084,15 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
   arg1 = *(btRigidBody **)&jarg1;
   if (!arg1) {
     SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btRigidBody & reference is null");
     return 0;
   } 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   result = (btConeTwistConstraint *)new btConeTwistConstraint(*arg1,(btTransform const &)*arg2);
   *(btConeTwistConstraint **)&jresult = result; 
   return jresult;
@@ -54180,7 +54112,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCone
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConeTwistConstraint_1getInfo2NonVirtual(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jlong jarg4, jobject jarg4_, jobject jarg5, jobject jarg6) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConeTwistConstraint_1getInfo2NonVirtual(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jobject jarg3, jobject jarg4, jobject jarg5, jobject jarg6) {
   btConeTwistConstraint *arg1 = (btConeTwistConstraint *) 0 ;
   btConstraintInfo2 *arg2 = (btConstraintInfo2 *) 0 ;
   btTransform *arg3 = 0 ;
@@ -54192,20 +54124,16 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCone
   (void)jcls;
   (void)jarg1_;
   (void)jarg2_;
-  (void)jarg3_;
-  (void)jarg4_;
   arg1 = *(btConeTwistConstraint **)&jarg1; 
   arg2 = *(btConstraintInfo2 **)&jarg2; 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
-  arg4 = *(btTransform **)&jarg4;
-  if (!arg4) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
+  btTransform local_arg4;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg4, jarg4);
+  arg4 = &local_arg4;
+  gdxAutoCommitMatrix4 auto_commit_arg4(jenv, jarg4, &local_arg4);
   btMatrix3x3 local_arg5;
   gdx_setBtMatrix3x3FromGdxMatrix3(jenv, local_arg5, jarg5);
   arg5 = &local_arg5;
@@ -54369,8 +54297,8 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCone
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConeTwistConstraint_1getAFrame(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
-  jlong jresult = 0 ;
+SWIGEXPORT jobject JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConeTwistConstraint_1getAFrame(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
+  jobject jresult = 0 ;
   btConeTwistConstraint *arg1 = (btConeTwistConstraint *) 0 ;
   btTransform *result = 0 ;
   
@@ -54379,13 +54307,14 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCon
   (void)jarg1_;
   arg1 = *(btConeTwistConstraint **)&jarg1; 
   result = (btTransform *) &(arg1)->getAFrame();
-  *(btTransform **)&jresult = result; 
+  jresult = gdx_getReturnMatrix4(jenv);
+  gdx_setGdxMatrix4FromBtTransform(jenv, jresult, result);
   return jresult;
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConeTwistConstraint_1getBFrame(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
-  jlong jresult = 0 ;
+SWIGEXPORT jobject JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConeTwistConstraint_1getBFrame(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
+  jobject jresult = 0 ;
   btConeTwistConstraint *arg1 = (btConeTwistConstraint *) 0 ;
   btTransform *result = 0 ;
   
@@ -54394,7 +54323,8 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCon
   (void)jarg1_;
   arg1 = *(btConeTwistConstraint **)&jarg1; 
   result = (btTransform *) &(arg1)->getBFrame();
-  *(btTransform **)&jresult = result; 
+  jresult = gdx_getReturnMatrix4(jenv);
+  gdx_setGdxMatrix4FromBtTransform(jenv, jresult, result);
   return jresult;
 }
 
@@ -54455,7 +54385,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCone
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConeTwistConstraint_1calcAngleInfo2(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jobject jarg4, jobject jarg5) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConeTwistConstraint_1calcAngleInfo2(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jobject jarg3, jobject jarg4, jobject jarg5) {
   btConeTwistConstraint *arg1 = (btConeTwistConstraint *) 0 ;
   btTransform *arg2 = 0 ;
   btTransform *arg3 = 0 ;
@@ -54465,19 +54395,15 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCone
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
-  (void)jarg3_;
   arg1 = *(btConeTwistConstraint **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
   btMatrix3x3 local_arg4;
   gdx_setBtMatrix3x3FromGdxMatrix3(jenv, local_arg4, jarg4);
   arg4 = &local_arg4;
@@ -54729,7 +54655,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCone
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConeTwistConstraint_1setFrames(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConeTwistConstraint_1setFrames(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jobject jarg3) {
   btConeTwistConstraint *arg1 = (btConeTwistConstraint *) 0 ;
   btTransform *arg2 = 0 ;
   btTransform *arg3 = 0 ;
@@ -54737,25 +54663,21 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCone
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
-  (void)jarg3_;
   arg1 = *(btConeTwistConstraint **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
   (arg1)->setFrames((btTransform const &)*arg2,(btTransform const &)*arg3);
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConeTwistConstraint_1getFrameOffsetA(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
-  jlong jresult = 0 ;
+SWIGEXPORT jobject JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConeTwistConstraint_1getFrameOffsetA(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
+  jobject jresult = 0 ;
   btConeTwistConstraint *arg1 = (btConeTwistConstraint *) 0 ;
   btTransform *result = 0 ;
   
@@ -54764,13 +54686,14 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCon
   (void)jarg1_;
   arg1 = *(btConeTwistConstraint **)&jarg1; 
   result = (btTransform *) &((btConeTwistConstraint const *)arg1)->getFrameOffsetA();
-  *(btTransform **)&jresult = result; 
+  jresult = gdx_getReturnMatrix4(jenv);
+  gdx_setGdxMatrix4FromBtTransform(jenv, jresult, result);
   return jresult;
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConeTwistConstraint_1getFrameOffsetB(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
-  jlong jresult = 0 ;
+SWIGEXPORT jobject JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btConeTwistConstraint_1getFrameOffsetB(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
+  jobject jresult = 0 ;
   btConeTwistConstraint *arg1 = (btConeTwistConstraint *) 0 ;
   btTransform *result = 0 ;
   
@@ -54779,7 +54702,8 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCon
   (void)jarg1_;
   arg1 = *(btConeTwistConstraint **)&jarg1; 
   result = (btTransform *) &((btConeTwistConstraint const *)arg1)->getFrameOffsetB();
-  *(btTransform **)&jresult = result; 
+  jresult = gdx_getReturnMatrix4(jenv);
+  gdx_setGdxMatrix4FromBtTransform(jenv, jresult, result);
   return jresult;
 }
 
@@ -55176,7 +55100,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_delete
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1btGeneric6DofSpringConstraint_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jlong jarg4, jobject jarg4_, jboolean jarg5) {
+SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1btGeneric6DofSpringConstraint_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jobject jarg3, jobject jarg4, jboolean jarg5) {
   jlong jresult = 0 ;
   btRigidBody *arg1 = 0 ;
   btRigidBody *arg2 = 0 ;
@@ -55189,8 +55113,6 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1
   (void)jcls;
   (void)jarg1_;
   (void)jarg2_;
-  (void)jarg3_;
-  (void)jarg4_;
   arg1 = *(btRigidBody **)&jarg1;
   if (!arg1) {
     SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btRigidBody & reference is null");
@@ -55201,16 +55123,14 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1
     SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btRigidBody & reference is null");
     return 0;
   } 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
-  arg4 = *(btTransform **)&jarg4;
-  if (!arg4) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
+  btTransform local_arg4;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg4, jarg4);
+  arg4 = &local_arg4;
+  gdxAutoCommitMatrix4 auto_commit_arg4(jenv, jarg4, &local_arg4);
   arg5 = jarg5 ? true : false; 
   result = (btGeneric6DofSpringConstraint *)new btGeneric6DofSpringConstraint(*arg1,*arg2,(btTransform const &)*arg3,(btTransform const &)*arg4,arg5);
   *(btGeneric6DofSpringConstraint **)&jresult = result; 
@@ -55218,7 +55138,7 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1btGeneric6DofSpringConstraint_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jboolean jarg3) {
+SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1btGeneric6DofSpringConstraint_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jboolean jarg3) {
   jlong jresult = 0 ;
   btRigidBody *arg1 = 0 ;
   btTransform *arg2 = 0 ;
@@ -55228,17 +55148,15 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
   arg1 = *(btRigidBody **)&jarg1;
   if (!arg1) {
     SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btRigidBody & reference is null");
     return 0;
   } 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   arg3 = jarg3 ? true : false; 
   result = (btGeneric6DofSpringConstraint *)new btGeneric6DofSpringConstraint(*arg1,(btTransform const &)*arg2,arg3);
   *(btGeneric6DofSpringConstraint **)&jresult = result; 
@@ -55722,7 +55640,7 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1btHingeConstraint_1_1SWIG_14(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jlong jarg4, jobject jarg4_, jboolean jarg5) {
+SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1btHingeConstraint_1_1SWIG_14(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jobject jarg3, jobject jarg4, jboolean jarg5) {
   jlong jresult = 0 ;
   btRigidBody *arg1 = 0 ;
   btRigidBody *arg2 = 0 ;
@@ -55735,8 +55653,6 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1
   (void)jcls;
   (void)jarg1_;
   (void)jarg2_;
-  (void)jarg3_;
-  (void)jarg4_;
   arg1 = *(btRigidBody **)&jarg1;
   if (!arg1) {
     SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btRigidBody & reference is null");
@@ -55747,16 +55663,14 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1
     SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btRigidBody & reference is null");
     return 0;
   } 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
-  arg4 = *(btTransform **)&jarg4;
-  if (!arg4) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
+  btTransform local_arg4;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg4, jarg4);
+  arg4 = &local_arg4;
+  gdxAutoCommitMatrix4 auto_commit_arg4(jenv, jarg4, &local_arg4);
   arg5 = jarg5 ? true : false; 
   result = (btHingeConstraint *)new btHingeConstraint(*arg1,*arg2,(btTransform const &)*arg3,(btTransform const &)*arg4,arg5);
   *(btHingeConstraint **)&jresult = result; 
@@ -55764,7 +55678,7 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1btHingeConstraint_1_1SWIG_15(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jlong jarg4, jobject jarg4_) {
+SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1btHingeConstraint_1_1SWIG_15(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jobject jarg3, jobject jarg4) {
   jlong jresult = 0 ;
   btRigidBody *arg1 = 0 ;
   btRigidBody *arg2 = 0 ;
@@ -55776,8 +55690,6 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1
   (void)jcls;
   (void)jarg1_;
   (void)jarg2_;
-  (void)jarg3_;
-  (void)jarg4_;
   arg1 = *(btRigidBody **)&jarg1;
   if (!arg1) {
     SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btRigidBody & reference is null");
@@ -55788,23 +55700,21 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1
     SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btRigidBody & reference is null");
     return 0;
   } 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
-  arg4 = *(btTransform **)&jarg4;
-  if (!arg4) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
+  btTransform local_arg4;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg4, jarg4);
+  arg4 = &local_arg4;
+  gdxAutoCommitMatrix4 auto_commit_arg4(jenv, jarg4, &local_arg4);
   result = (btHingeConstraint *)new btHingeConstraint(*arg1,*arg2,(btTransform const &)*arg3,(btTransform const &)*arg4);
   *(btHingeConstraint **)&jresult = result; 
   return jresult;
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1btHingeConstraint_1_1SWIG_16(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jboolean jarg3) {
+SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1btHingeConstraint_1_1SWIG_16(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jboolean jarg3) {
   jlong jresult = 0 ;
   btRigidBody *arg1 = 0 ;
   btTransform *arg2 = 0 ;
@@ -55814,17 +55724,15 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
   arg1 = *(btRigidBody **)&jarg1;
   if (!arg1) {
     SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btRigidBody & reference is null");
     return 0;
   } 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   arg3 = jarg3 ? true : false; 
   result = (btHingeConstraint *)new btHingeConstraint(*arg1,(btTransform const &)*arg2,arg3);
   *(btHingeConstraint **)&jresult = result; 
@@ -55832,7 +55740,7 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1btHingeConstraint_1_1SWIG_17(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) {
+SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1btHingeConstraint_1_1SWIG_17(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
   jlong jresult = 0 ;
   btRigidBody *arg1 = 0 ;
   btTransform *arg2 = 0 ;
@@ -55841,17 +55749,15 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
   arg1 = *(btRigidBody **)&jarg1;
   if (!arg1) {
     SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btRigidBody & reference is null");
     return 0;
   } 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
   result = (btHingeConstraint *)new btHingeConstraint(*arg1,(btTransform const &)*arg2);
   *(btHingeConstraint **)&jresult = result; 
   return jresult;
@@ -55871,7 +55777,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btHing
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btHingeConstraint_1getInfo2NonVirtual(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jlong jarg4, jobject jarg4_, jobject jarg5, jobject jarg6) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btHingeConstraint_1getInfo2NonVirtual(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jobject jarg3, jobject jarg4, jobject jarg5, jobject jarg6) {
   btHingeConstraint *arg1 = (btHingeConstraint *) 0 ;
   btConstraintInfo2 *arg2 = (btConstraintInfo2 *) 0 ;
   btTransform *arg3 = 0 ;
@@ -55883,20 +55789,16 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btHing
   (void)jcls;
   (void)jarg1_;
   (void)jarg2_;
-  (void)jarg3_;
-  (void)jarg4_;
   arg1 = *(btHingeConstraint **)&jarg1; 
   arg2 = *(btConstraintInfo2 **)&jarg2; 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
-  arg4 = *(btTransform **)&jarg4;
-  if (!arg4) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
+  btTransform local_arg4;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg4, jarg4);
+  arg4 = &local_arg4;
+  gdxAutoCommitMatrix4 auto_commit_arg4(jenv, jarg4, &local_arg4);
   btVector3 local_arg5;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg5, jarg5);
   arg5 = &local_arg5;
@@ -55909,7 +55811,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btHing
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btHingeConstraint_1getInfo2Internal(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jlong jarg4, jobject jarg4_, jobject jarg5, jobject jarg6) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btHingeConstraint_1getInfo2Internal(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jobject jarg3, jobject jarg4, jobject jarg5, jobject jarg6) {
   btHingeConstraint *arg1 = (btHingeConstraint *) 0 ;
   btConstraintInfo2 *arg2 = (btConstraintInfo2 *) 0 ;
   btTransform *arg3 = 0 ;
@@ -55921,20 +55823,16 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btHing
   (void)jcls;
   (void)jarg1_;
   (void)jarg2_;
-  (void)jarg3_;
-  (void)jarg4_;
   arg1 = *(btHingeConstraint **)&jarg1; 
   arg2 = *(btConstraintInfo2 **)&jarg2; 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
-  arg4 = *(btTransform **)&jarg4;
-  if (!arg4) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
+  btTransform local_arg4;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg4, jarg4);
+  arg4 = &local_arg4;
+  gdxAutoCommitMatrix4 auto_commit_arg4(jenv, jarg4, &local_arg4);
   btVector3 local_arg5;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg5, jarg5);
   arg5 = &local_arg5;
@@ -55947,7 +55845,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btHing
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btHingeConstraint_1getInfo2InternalUsingFrameOffset(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jlong jarg4, jobject jarg4_, jobject jarg5, jobject jarg6) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btHingeConstraint_1getInfo2InternalUsingFrameOffset(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jobject jarg3, jobject jarg4, jobject jarg5, jobject jarg6) {
   btHingeConstraint *arg1 = (btHingeConstraint *) 0 ;
   btConstraintInfo2 *arg2 = (btConstraintInfo2 *) 0 ;
   btTransform *arg3 = 0 ;
@@ -55959,20 +55857,16 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btHing
   (void)jcls;
   (void)jarg1_;
   (void)jarg2_;
-  (void)jarg3_;
-  (void)jarg4_;
   arg1 = *(btHingeConstraint **)&jarg1; 
   arg2 = *(btConstraintInfo2 **)&jarg2; 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
-  arg4 = *(btTransform **)&jarg4;
-  if (!arg4) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
+  btTransform local_arg4;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg4, jarg4);
+  arg4 = &local_arg4;
+  gdxAutoCommitMatrix4 auto_commit_arg4(jenv, jarg4, &local_arg4);
   btVector3 local_arg5;
   gdx_setBtVector3FromGdxVector3(jenv, local_arg5, jarg5);
   arg5 = &local_arg5;
@@ -56028,8 +55922,8 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btHin
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btHingeConstraint_1getFrameOffsetA(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
-  jlong jresult = 0 ;
+SWIGEXPORT jobject JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btHingeConstraint_1getFrameOffsetA(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
+  jobject jresult = 0 ;
   btHingeConstraint *arg1 = (btHingeConstraint *) 0 ;
   btTransform *result = 0 ;
   
@@ -56038,13 +55932,14 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btHin
   (void)jarg1_;
   arg1 = *(btHingeConstraint **)&jarg1; 
   result = (btTransform *) &(arg1)->getFrameOffsetA();
-  *(btTransform **)&jresult = result; 
+  jresult = gdx_getReturnMatrix4(jenv);
+  gdx_setGdxMatrix4FromBtTransform(jenv, jresult, result);
   return jresult;
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btHingeConstraint_1getFrameOffsetB(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
-  jlong jresult = 0 ;
+SWIGEXPORT jobject JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btHingeConstraint_1getFrameOffsetB(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
+  jobject jresult = 0 ;
   btHingeConstraint *arg1 = (btHingeConstraint *) 0 ;
   btTransform *result = 0 ;
   
@@ -56053,12 +55948,13 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btHin
   (void)jarg1_;
   arg1 = *(btHingeConstraint **)&jarg1; 
   result = (btTransform *) &(arg1)->getFrameOffsetB();
-  *(btTransform **)&jresult = result; 
+  jresult = gdx_getReturnMatrix4(jenv);
+  gdx_setGdxMatrix4FromBtTransform(jenv, jresult, result);
   return jresult;
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btHingeConstraint_1setFrames(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btHingeConstraint_1setFrames(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jobject jarg3) {
   btHingeConstraint *arg1 = (btHingeConstraint *) 0 ;
   btTransform *arg2 = 0 ;
   btTransform *arg3 = 0 ;
@@ -56066,19 +55962,15 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btHing
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
-  (void)jarg3_;
   arg1 = *(btHingeConstraint **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
   (arg1)->setFrames((btTransform const &)*arg2,(btTransform const &)*arg3);
 }
 
@@ -56305,7 +56197,7 @@ SWIGEXPORT jfloat JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btHi
 }
 
 
-SWIGEXPORT jfloat JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btHingeConstraint_1getHingeAngle_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_) {
+SWIGEXPORT jfloat JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btHingeConstraint_1getHingeAngle_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jobject jarg3) {
   jfloat jresult = 0 ;
   btHingeConstraint *arg1 = (btHingeConstraint *) 0 ;
   btTransform *arg2 = 0 ;
@@ -56315,26 +56207,22 @@ SWIGEXPORT jfloat JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btHi
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
-  (void)jarg3_;
   arg1 = *(btHingeConstraint **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return 0;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
   result = (btScalar)(arg1)->getHingeAngle((btTransform const &)*arg2,(btTransform const &)*arg3);
   jresult = (jfloat)result; 
   return jresult;
 }
 
 
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btHingeConstraint_1testLimit(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_) {
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btHingeConstraint_1testLimit(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jobject jarg3) {
   btHingeConstraint *arg1 = (btHingeConstraint *) 0 ;
   btTransform *arg2 = 0 ;
   btTransform *arg3 = 0 ;
@@ -56342,25 +56230,21 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btHing
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
-  (void)jarg2_;
-  (void)jarg3_;
   arg1 = *(btHingeConstraint **)&jarg1; 
-  arg2 = *(btTransform **)&jarg2;
-  if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
-  arg3 = *(btTransform **)&jarg3;
-  if (!arg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btTransform const & reference is null");
-    return ;
-  } 
+  btTransform local_arg2;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg2, jarg2);
+  arg2 = &local_arg2;
+  gdxAutoCommitMatrix4 auto_commit_arg2(jenv, jarg2, &local_arg2);
+  btTransform local_arg3;
+  gdx_setBtTransformFromGdxMatrix4(jenv, local_arg3, jarg3);
+  arg3 = &local_arg3;
+  gdxAutoCommitMatrix4 auto_commit_arg3(jenv, jarg3, &local_arg3);
   (arg1)->testLimit((btTransform const &)*arg2,(btTransform const &)*arg3);
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btHingeConstraint_1getAFrame_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
-  jlong jresult = 0 ;
+SWIGEXPORT jobject JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btHingeConstraint_1getAFrame_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
+  jobject jresult = 0 ;
   btHingeConstraint *arg1 = (btHingeConstraint *) 0 ;
   btTransform *result = 0 ;
   
@@ -56369,13 +56253,14 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btHin
   (void)jarg1_;
   arg1 = *(btHingeConstraint **)&jarg1; 
   result = (btTransform *) &((btHingeConstraint const *)arg1)->getAFrame();
-  *(btTransform **)&jresult = result; 
+  jresult = gdx_getReturnMatrix4(jenv);
+  gdx_setGdxMatrix4FromBtTransform(jenv, jresult, result);
   return jresult;
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btHingeConstraint_1getBFrame_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
-  jlong jresult = 0 ;
+SWIGEXPORT jobject JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btHingeConstraint_1getBFrame_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
+  jobject jresult = 0 ;
   btHingeConstraint *arg1 = (btHingeConstraint *) 0 ;
   btTransform *result = 0 ;
   
@@ -56384,7 +56269,8 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btHin
   (void)jarg1_;
   arg1 = *(btHingeConstraint **)&jarg1; 
   result = (btTransform *) &((btHingeConstraint const *)arg1)->getBFrame();
-  *(btTransform **)&jresult = result; 
+  jresult = gdx_getReturnMatrix4(jenv);
+  gdx_setGdxMatrix4FromBtTransform(jenv, jresult, result);
   return jresult;
 }
 
@@ -59392,8 +59278,8 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_delete
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btRaycastVehicle_1getChassisWorldTransform(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
-  jlong jresult = 0 ;
+SWIGEXPORT jobject JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btRaycastVehicle_1getChassisWorldTransform(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
+  jobject jresult = 0 ;
   btRaycastVehicle *arg1 = (btRaycastVehicle *) 0 ;
   btTransform *result = 0 ;
   
@@ -59402,7 +59288,8 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btRay
   (void)jarg1_;
   arg1 = *(btRaycastVehicle **)&jarg1; 
   result = (btTransform *) &((btRaycastVehicle const *)arg1)->getChassisWorldTransform();
-  *(btTransform **)&jresult = result; 
+  jresult = gdx_getReturnMatrix4(jenv);
+  gdx_setGdxMatrix4FromBtTransform(jenv, jresult, result);
   return jresult;
 }
 
@@ -59500,8 +59387,8 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btRayc
 }
 
 
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btRaycastVehicle_1getWheelTransformWS(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
-  jlong jresult = 0 ;
+SWIGEXPORT jobject JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btRaycastVehicle_1getWheelTransformWS(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
+  jobject jresult = 0 ;
   btRaycastVehicle *arg1 = (btRaycastVehicle *) 0 ;
   int arg2 ;
   btTransform *result = 0 ;
@@ -59512,7 +59399,8 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btRay
   arg1 = *(btRaycastVehicle **)&jarg1; 
   arg2 = (int)jarg2; 
   result = (btTransform *) &((btRaycastVehicle const *)arg1)->getWheelTransformWS(arg2);
-  *(btTransform **)&jresult = result; 
+  jresult = gdx_getReturnMatrix4(jenv);
+  gdx_setGdxMatrix4FromBtTransform(jenv, jresult, result);
   return jresult;
 }
 
@@ -61114,7 +61002,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_swig_1
       "SwigDirector_btIDebugDraw_drawLine__SWIG_1", "(Lcom/badlogic/gdx/physics/bullet/btIDebugDraw;Lcom/badlogic/gdx/math/Vector3;Lcom/badlogic/gdx/math/Vector3;Lcom/badlogic/gdx/math/Vector3;Lcom/badlogic/gdx/math/Vector3;)V" 
     },
     {
-      "SwigDirector_btIDebugDraw_drawSphere__SWIG_0", "(Lcom/badlogic/gdx/physics/bullet/btIDebugDraw;FJLcom/badlogic/gdx/math/Vector3;)V" 
+      "SwigDirector_btIDebugDraw_drawSphere__SWIG_0", "(Lcom/badlogic/gdx/physics/bullet/btIDebugDraw;FLcom/badlogic/gdx/math/Matrix4;Lcom/badlogic/gdx/math/Vector3;)V" 
     },
     {
       "SwigDirector_btIDebugDraw_drawSphere__SWIG_1", "(Lcom/badlogic/gdx/physics/bullet/btIDebugDraw;Lcom/badlogic/gdx/math/Vector3;FLcom/badlogic/gdx/math/Vector3;)V" 
@@ -61144,7 +61032,7 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_swig_1
       "SwigDirector_btIDebugDraw_drawAabb", "(Lcom/badlogic/gdx/physics/bullet/btIDebugDraw;Lcom/badlogic/gdx/math/Vector3;Lcom/badlogic/gdx/math/Vector3;Lcom/badlogic/gdx/math/Vector3;)V" 
     },
     {
-      "SwigDirector_btIDebugDraw_drawTransform", "(Lcom/badlogic/gdx/physics/bullet/btIDebugDraw;JF)V" 
+      "SwigDirector_btIDebugDraw_drawTransform", "(Lcom/badlogic/gdx/physics/bullet/btIDebugDraw;Lcom/badlogic/gdx/math/Matrix4;F)V" 
     },
     {
       "SwigDirector_btIDebugDraw_drawArc__SWIG_0", "(Lcom/badlogic/gdx/physics/bullet/btIDebugDraw;Lcom/badlogic/gdx/math/Vector3;Lcom/badlogic/gdx/math/Vector3;Lcom/badlogic/gdx/math/Vector3;FFFFLcom/badlogic/gdx/math/Vector3;ZF)V" 
@@ -61162,25 +61050,25 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_swig_1
       "SwigDirector_btIDebugDraw_drawBox__SWIG_0", "(Lcom/badlogic/gdx/physics/bullet/btIDebugDraw;Lcom/badlogic/gdx/math/Vector3;Lcom/badlogic/gdx/math/Vector3;Lcom/badlogic/gdx/math/Vector3;)V" 
     },
     {
-      "SwigDirector_btIDebugDraw_drawBox__SWIG_1", "(Lcom/badlogic/gdx/physics/bullet/btIDebugDraw;Lcom/badlogic/gdx/math/Vector3;Lcom/badlogic/gdx/math/Vector3;JLcom/badlogic/gdx/math/Vector3;)V" 
+      "SwigDirector_btIDebugDraw_drawBox__SWIG_1", "(Lcom/badlogic/gdx/physics/bullet/btIDebugDraw;Lcom/badlogic/gdx/math/Vector3;Lcom/badlogic/gdx/math/Vector3;Lcom/badlogic/gdx/math/Matrix4;Lcom/badlogic/gdx/math/Vector3;)V" 
     },
     {
-      "SwigDirector_btIDebugDraw_drawCapsule", "(Lcom/badlogic/gdx/physics/bullet/btIDebugDraw;FFIJLcom/badlogic/gdx/math/Vector3;)V" 
+      "SwigDirector_btIDebugDraw_drawCapsule", "(Lcom/badlogic/gdx/physics/bullet/btIDebugDraw;FFILcom/badlogic/gdx/math/Matrix4;Lcom/badlogic/gdx/math/Vector3;)V" 
     },
     {
-      "SwigDirector_btIDebugDraw_drawCylinder", "(Lcom/badlogic/gdx/physics/bullet/btIDebugDraw;FFIJLcom/badlogic/gdx/math/Vector3;)V" 
+      "SwigDirector_btIDebugDraw_drawCylinder", "(Lcom/badlogic/gdx/physics/bullet/btIDebugDraw;FFILcom/badlogic/gdx/math/Matrix4;Lcom/badlogic/gdx/math/Vector3;)V" 
     },
     {
-      "SwigDirector_btIDebugDraw_drawCone", "(Lcom/badlogic/gdx/physics/bullet/btIDebugDraw;FFIJLcom/badlogic/gdx/math/Vector3;)V" 
+      "SwigDirector_btIDebugDraw_drawCone", "(Lcom/badlogic/gdx/physics/bullet/btIDebugDraw;FFILcom/badlogic/gdx/math/Matrix4;Lcom/badlogic/gdx/math/Vector3;)V" 
     },
     {
-      "SwigDirector_btIDebugDraw_drawPlane", "(Lcom/badlogic/gdx/physics/bullet/btIDebugDraw;Lcom/badlogic/gdx/math/Vector3;FJLcom/badlogic/gdx/math/Vector3;)V" 
+      "SwigDirector_btIDebugDraw_drawPlane", "(Lcom/badlogic/gdx/physics/bullet/btIDebugDraw;Lcom/badlogic/gdx/math/Vector3;FLcom/badlogic/gdx/math/Matrix4;Lcom/badlogic/gdx/math/Vector3;)V" 
     },
     {
-      "SwigDirector_btMotionState_getWorldTransform", "(Lcom/badlogic/gdx/physics/bullet/btMotionState;J)V" 
+      "SwigDirector_btMotionState_getWorldTransform", "(Lcom/badlogic/gdx/physics/bullet/btMotionState;Lcom/badlogic/gdx/math/Matrix4;)V" 
     },
     {
-      "SwigDirector_btMotionState_setWorldTransform", "(Lcom/badlogic/gdx/physics/bullet/btMotionState;J)V" 
+      "SwigDirector_btMotionState_setWorldTransform", "(Lcom/badlogic/gdx/physics/bullet/btMotionState;Lcom/badlogic/gdx/math/Matrix4;)V" 
     }
   };
   Swig::jclass_gdxBulletJNI = (jclass) jenv->NewGlobalRef(jcls);