Преглед изворни кода

removed bullet from hashlink (move to new hlbullet repo)

ncannasse пре 6 година
родитељ
комит
261e286c6a

+ 0 - 180
libs/bullet/CMakeLists.txt

@@ -1,180 +0,0 @@
-if(WIN32)
-    set(BULLET_SRC_DIR ${INCLUDES_BASE_DIR}/bullet/src)
-
-    add_library(bullet.hdll SHARED
-        ${BULLET_SRC_DIR}/Bullet3Common/b3AlignedAllocator.cpp
-        ${BULLET_SRC_DIR}/Bullet3Common/b3Logging.cpp
-        ${BULLET_SRC_DIR}/Bullet3Common/b3Vector3.cpp
-        ${BULLET_SRC_DIR}/Bullet3Geometry/b3ConvexHullComputer.cpp
-        ${BULLET_SRC_DIR}/Bullet3Geometry/b3GeometryUtil.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/BroadphaseCollision/btAxisSweep3.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/BroadphaseCollision/btBroadphaseProxy.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/BroadphaseCollision/btCollisionAlgorithm.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/BroadphaseCollision/btDbvt.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/BroadphaseCollision/btDbvtBroadphase.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/BroadphaseCollision/btDispatcher.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/BroadphaseCollision/btOverlappingPairCache.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/BroadphaseCollision/btQuantizedBvh.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/BroadphaseCollision/btSimpleBroadphase.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionDispatch/btActivatingCollisionAlgorithm.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionDispatch/btBox2dBox2dCollisionAlgorithm.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionDispatch/btBoxBoxCollisionAlgorithm.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionDispatch/btBoxBoxDetector.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionDispatch/btCollisionDispatcher.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionDispatch/btCollisionDispatcherMt.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionDispatch/btCollisionObject.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionDispatch/btCollisionWorld.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionDispatch/btCollisionWorldImporter.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionDispatch/btCompoundCollisionAlgorithm.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionDispatch/btCompoundCompoundCollisionAlgorithm.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionDispatch/btConvex2dConvex2dAlgorithm.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionDispatch/btConvexConcaveCollisionAlgorithm.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionDispatch/btConvexPlaneCollisionAlgorithm.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionDispatch/btEmptyCollisionAlgorithm.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionDispatch/btGhostObject.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionDispatch/btHashedSimplePairCache.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionDispatch/btInternalEdgeUtility.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionDispatch/btManifoldResult.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionDispatch/btSimulationIslandManager.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionDispatch/btSphereSphereCollisionAlgorithm.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionDispatch/btSphereTriangleCollisionAlgorithm.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionDispatch/btUnionFind.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionDispatch/SphereTriangleDetector.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionShapes/btBox2dShape.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionShapes/btBoxShape.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionShapes/btCapsuleShape.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionShapes/btCollisionShape.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionShapes/btCompoundShape.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionShapes/btConcaveShape.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionShapes/btConeShape.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionShapes/btConvex2dShape.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionShapes/btConvexHullShape.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionShapes/btConvexInternalShape.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionShapes/btConvexPointCloudShape.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionShapes/btConvexPolyhedron.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionShapes/btConvexShape.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionShapes/btConvexTriangleMeshShape.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionShapes/btCylinderShape.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionShapes/btEmptyShape.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionShapes/btMinkowskiSumShape.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionShapes/btMultimaterialTriangleMeshShape.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionShapes/btMultiSphereShape.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionShapes/btOptimizedBvh.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionShapes/btPolyhedralConvexShape.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionShapes/btScaledBvhTriangleMeshShape.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionShapes/btShapeHull.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionShapes/btSphereShape.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionShapes/btStaticPlaneShape.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionShapes/btStridingMeshInterface.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionShapes/btTetrahedronShape.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionShapes/btTriangleBuffer.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionShapes/btTriangleCallback.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionShapes/btTriangleIndexVertexArray.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionShapes/btTriangleIndexVertexMaterialArray.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionShapes/btTriangleMesh.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionShapes/btTriangleMeshShape.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/CollisionShapes/btUniformScalingShape.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/Gimpact/btContactProcessing.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/Gimpact/btGenericPoolAllocator.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/Gimpact/btGImpactBvh.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/Gimpact/btGImpactCollisionAlgorithm.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/Gimpact/btGImpactQuantizedBvh.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/Gimpact/btGImpactShape.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/Gimpact/btTriangleShapeEx.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/Gimpact/gim_box_set.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/Gimpact/gim_contact.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/Gimpact/gim_memory.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/Gimpact/gim_tri_collision.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/NarrowPhaseCollision/btContinuousConvexCollision.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/NarrowPhaseCollision/btConvexCast.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/NarrowPhaseCollision/btGjkConvexCast.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/NarrowPhaseCollision/btGjkEpa2.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/NarrowPhaseCollision/btPersistentManifold.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/NarrowPhaseCollision/btPolyhedralContactClipping.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/NarrowPhaseCollision/btRaycastCallback.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.cpp
-        ${BULLET_SRC_DIR}/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.cpp
-        ${BULLET_SRC_DIR}/BulletDynamics/Character/btKinematicCharacterController.cpp
-        ${BULLET_SRC_DIR}/BulletDynamics/ConstraintSolver/btConeTwistConstraint.cpp
-        ${BULLET_SRC_DIR}/BulletDynamics/ConstraintSolver/btContactConstraint.cpp
-        ${BULLET_SRC_DIR}/BulletDynamics/ConstraintSolver/btFixedConstraint.cpp
-        ${BULLET_SRC_DIR}/BulletDynamics/ConstraintSolver/btGearConstraint.cpp
-        ${BULLET_SRC_DIR}/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.cpp
-        ${BULLET_SRC_DIR}/BulletDynamics/ConstraintSolver/btGeneric6DofSpring2Constraint.cpp
-        ${BULLET_SRC_DIR}/BulletDynamics/ConstraintSolver/btGeneric6DofSpringConstraint.cpp
-        ${BULLET_SRC_DIR}/BulletDynamics/ConstraintSolver/btHinge2Constraint.cpp
-        ${BULLET_SRC_DIR}/BulletDynamics/ConstraintSolver/btHingeConstraint.cpp
-        ${BULLET_SRC_DIR}/BulletDynamics/ConstraintSolver/btNNCGConstraintSolver.cpp
-        ${BULLET_SRC_DIR}/BulletDynamics/ConstraintSolver/btPoint2PointConstraint.cpp
-        ${BULLET_SRC_DIR}/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.cpp
-        ${BULLET_SRC_DIR}/BulletDynamics/ConstraintSolver/btSliderConstraint.cpp
-        ${BULLET_SRC_DIR}/BulletDynamics/ConstraintSolver/btSolve2LinearConstraint.cpp
-        ${BULLET_SRC_DIR}/BulletDynamics/ConstraintSolver/btTypedConstraint.cpp
-        ${BULLET_SRC_DIR}/BulletDynamics/ConstraintSolver/btUniversalConstraint.cpp
-        ${BULLET_SRC_DIR}/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp
-        ${BULLET_SRC_DIR}/BulletDynamics/Dynamics/btDiscreteDynamicsWorldMt.cpp
-        ${BULLET_SRC_DIR}/BulletDynamics/Dynamics/btRigidBody.cpp
-        ${BULLET_SRC_DIR}/BulletDynamics/Dynamics/btSimpleDynamicsWorld.cpp
-        ${BULLET_SRC_DIR}/BulletDynamics/Dynamics/btSimulationIslandManagerMt.cpp
-        ${BULLET_SRC_DIR}/BulletDynamics/Featherstone/btMultiBody.cpp
-        ${BULLET_SRC_DIR}/BulletDynamics/Featherstone/btMultiBodyConstraint.cpp
-        ${BULLET_SRC_DIR}/BulletDynamics/Featherstone/btMultiBodyConstraintSolver.cpp
-        ${BULLET_SRC_DIR}/BulletDynamics/Featherstone/btMultiBodyDynamicsWorld.cpp
-        ${BULLET_SRC_DIR}/BulletDynamics/Featherstone/btMultiBodyFixedConstraint.cpp
-        ${BULLET_SRC_DIR}/BulletDynamics/Featherstone/btMultiBodyGearConstraint.cpp
-        ${BULLET_SRC_DIR}/BulletDynamics/Featherstone/btMultiBodyJointLimitConstraint.cpp
-        ${BULLET_SRC_DIR}/BulletDynamics/Featherstone/btMultiBodyJointMotor.cpp
-        ${BULLET_SRC_DIR}/BulletDynamics/Featherstone/btMultiBodyPoint2Point.cpp
-        ${BULLET_SRC_DIR}/BulletDynamics/Featherstone/btMultiBodySliderConstraint.cpp
-        ${BULLET_SRC_DIR}/BulletDynamics/MLCPSolvers/btDantzigLCP.cpp
-        ${BULLET_SRC_DIR}/BulletDynamics/MLCPSolvers/btLemkeAlgorithm.cpp
-        ${BULLET_SRC_DIR}/BulletDynamics/MLCPSolvers/btMLCPSolver.cpp
-        ${BULLET_SRC_DIR}/BulletDynamics/Vehicle/btRaycastVehicle.cpp
-        ${BULLET_SRC_DIR}/BulletDynamics/Vehicle/btWheelInfo.cpp
-        ${BULLET_SRC_DIR}/BulletSoftBody/btDefaultSoftBodySolver.cpp
-        ${BULLET_SRC_DIR}/BulletSoftBody/btSoftBody.cpp
-        ${BULLET_SRC_DIR}/BulletSoftBody/btSoftBodyConcaveCollisionAlgorithm.cpp
-        ${BULLET_SRC_DIR}/BulletSoftBody/btSoftBodyHelpers.cpp
-        ${BULLET_SRC_DIR}/BulletSoftBody/btSoftBodyRigidBodyCollisionConfiguration.cpp
-        ${BULLET_SRC_DIR}/BulletSoftBody/btSoftMultiBodyDynamicsWorld.cpp
-        ${BULLET_SRC_DIR}/BulletSoftBody/btSoftRigidCollisionAlgorithm.cpp
-        ${BULLET_SRC_DIR}/BulletSoftBody/btSoftRigidDynamicsWorld.cpp
-        ${BULLET_SRC_DIR}/BulletSoftBody/btSoftSoftCollisionAlgorithm.cpp
-        ${BULLET_SRC_DIR}/LinearMath/btAlignedAllocator.cpp
-        ${BULLET_SRC_DIR}/LinearMath/btConvexHull.cpp
-        ${BULLET_SRC_DIR}/LinearMath/btConvexHullComputer.cpp
-        ${BULLET_SRC_DIR}/LinearMath/btGeometryUtil.cpp
-        ${BULLET_SRC_DIR}/LinearMath/btPolarDecomposition.cpp
-        ${BULLET_SRC_DIR}/LinearMath/btQuickprof.cpp
-        ${BULLET_SRC_DIR}/LinearMath/btSerializer.cpp
-        ${BULLET_SRC_DIR}/LinearMath/btSerializer64.cpp
-        ${BULLET_SRC_DIR}/LinearMath/btThreads.cpp
-        ${BULLET_SRC_DIR}/LinearMath/btVector3.cpp
-        bullet.cpp
-    )
-
-    set_as_hdll(bullet)
-
-    target_include_directories(bullet.hdll
-        PRIVATE
-        ${BULLET_SRC_DIR}
-    )
-
-    target_link_libraries(bullet.hdll
-        libhl
-    )
-
-    install(
-        TARGETS
-            bullet.hdll
-        DESTINATION ${HDLL_DESTINATION}
-    )
-endif()

+ 0 - 5
libs/bullet/Makefile

@@ -1,5 +0,0 @@
-all:
-
-generate:
-	haxe -lib webidl --macro "bullet.Generator.generateCpp()"
-	haxe -lib webidl --macro "bullet.Generator.generateJs()"

+ 0 - 8
libs/bullet/README.md

@@ -1,8 +0,0 @@
-hlbullet
-========
-
-HLBullet is a binding for the Bullet3D Physics Library.
-http://bulletphysics.org
-
-Download the Bullet sources and put them in hashlink/include/bullet directory.
-

+ 0 - 3938
libs/bullet/bullet.cpp

@@ -1,3938 +0,0 @@
-#ifdef EMSCRIPTEN
-
-#include <emscripten.h>
-#define HL_PRIM
-#define HL_NAME(n)	EMSCRIPTEN_KEEPALIVE eb_##n
-#define DEFINE_PRIM(ret, name, args)
-#define _OPT(t) t*
-#define _GET_OPT(value,t) *value
-#define alloc_ref(r, _) r
-#define alloc_ref_const(r,_) r
-#define _ref(t)			t
-#define _unref(v)		v
-#define free_ref(v) delete (v)
-#define HL_CONST const
-
-#else
-
-#define HL_NAME(x) bullet_##x
-#include <hl.h>
-#define _IDL _BYTES
-#define _OPT(t) vdynamic *
-#define _GET_OPT(value,t) (value)->v.t
-template <typename T> struct pref {
-	void *finalize;
-	T *value;
-};
-
-#define _ref(t) pref<t>
-#define _unref(v) v->value
-#define alloc_ref(r,t) _alloc_ref(r,finalize_##t)
-#define alloc_ref_const(r, _) _alloc_const(r)
-#define HL_CONST
-
-template<typename T> void free_ref( pref<T> *r ) {
-	if( !r->finalize ) return;
-	delete r->value;
-	r->value = NULL;
-	r->finalize = NULL;
-}
-
-template<typename T> pref<T> *_alloc_ref( T *value, void (*finalize)( pref<T> * ) ) {
-	pref<T> *r = (pref<T>*)hl_gc_alloc_finalizer(sizeof(r));
-	r->finalize = finalize;
-	r->value = value;
-	return r;
-}
-
-template<typename T> pref<T> *_alloc_const( const T *value ) {
-	pref<T> *r = (pref<T>*)hl_gc_alloc_noptr(sizeof(r));
-	r->finalize = NULL;
-	r->value = (T*)value;
-	return r;
-}
-
-#endif
-
-#ifdef _WIN32
-#pragma warning(disable:4305)
-#pragma warning(disable:4244)
-#pragma warning(disable:4316)
-#endif
-#include <btBulletDynamicsCommon.h>
-#include <BulletSoftBody/btSoftBody.h>
-#include <BulletSoftBody/btSoftBodyRigidBodyCollisionConfiguration.h>
-#include <BulletSoftBody/btDefaultSoftBodySolver.h>
-#include <BulletSoftBody/btSoftBodyHelpers.h>
-#include <BulletSoftBody/btSoftRigidDynamicsWorld.h>
-#include <BulletCollision/CollisionShapes/btHeightfieldTerrainShape.h>
-#include <BulletCollision/CollisionDispatch/btGhostObject.h>
-#include <BulletDynamics/Character/btKinematicCharacterController.h>
-
-extern "C" {
-
-static void finalize_btVector3( _ref(btVector3)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btVector3_delete)( _ref(btVector3)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btVector3_delete, _IDL);
-static void finalize_btVector4( _ref(btVector4)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btVector4_delete)( _ref(btVector4)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btVector4_delete, _IDL);
-static void finalize_btQuadWord( _ref(btQuadWord)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btQuadWord_delete)( _ref(btQuadWord)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btQuadWord_delete, _IDL);
-static void finalize_btQuaternion( _ref(btQuaternion)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btQuaternion_delete)( _ref(btQuaternion)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btQuaternion_delete, _IDL);
-static void finalize_btMatrix3x3( _ref(btMatrix3x3)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btMatrix3x3_delete)( _ref(btMatrix3x3)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btMatrix3x3_delete, _IDL);
-static void finalize_btTransform( _ref(btTransform)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btTransform_delete)( _ref(btTransform)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btTransform_delete, _IDL);
-static void finalize_btMotionState( _ref(btMotionState)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btMotionState_delete)( _ref(btMotionState)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btMotionState_delete, _IDL);
-static void finalize_btDefaultMotionState( _ref(btDefaultMotionState)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btDefaultMotionState_delete)( _ref(btDefaultMotionState)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btDefaultMotionState_delete, _IDL);
-static void finalize_btCollisionObject( _ref(btCollisionObject)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btCollisionObject_delete)( _ref(btCollisionObject)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btCollisionObject_delete, _IDL);
-static void finalize_RayResultCallback( _ref(btCollisionWorld::RayResultCallback)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(RayResultCallback_delete)( _ref(btCollisionWorld::RayResultCallback)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, RayResultCallback_delete, _IDL);
-static void finalize_ClosestRayResultCallback( _ref(btCollisionWorld::ClosestRayResultCallback)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(ClosestRayResultCallback_delete)( _ref(btCollisionWorld::ClosestRayResultCallback)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, ClosestRayResultCallback_delete, _IDL);
-static void finalize_btManifoldPoint( _ref(btManifoldPoint)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btManifoldPoint_delete)( _ref(btManifoldPoint)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btManifoldPoint_delete, _IDL);
-static void finalize_ContactResultCallback( _ref(btCollisionWorld::ContactResultCallback)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(ContactResultCallback_delete)( _ref(btCollisionWorld::ContactResultCallback)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, ContactResultCallback_delete, _IDL);
-static void finalize_LocalShapeInfo( _ref(btCollisionWorld::LocalShapeInfo)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(LocalShapeInfo_delete)( _ref(btCollisionWorld::LocalShapeInfo)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, LocalShapeInfo_delete, _IDL);
-static void finalize_LocalConvexResult( _ref(btCollisionWorld::LocalConvexResult)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(LocalConvexResult_delete)( _ref(btCollisionWorld::LocalConvexResult)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, LocalConvexResult_delete, _IDL);
-static void finalize_ConvexResultCallback( _ref(btCollisionWorld::ConvexResultCallback)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(ConvexResultCallback_delete)( _ref(btCollisionWorld::ConvexResultCallback)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, ConvexResultCallback_delete, _IDL);
-static void finalize_ClosestConvexResultCallback( _ref(btCollisionWorld::ClosestConvexResultCallback)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(ClosestConvexResultCallback_delete)( _ref(btCollisionWorld::ClosestConvexResultCallback)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, ClosestConvexResultCallback_delete, _IDL);
-static void finalize_btCollisionShape( _ref(btCollisionShape)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btCollisionShape_delete)( _ref(btCollisionShape)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btCollisionShape_delete, _IDL);
-static void finalize_btConvexShape( _ref(btConvexShape)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btConvexShape_delete)( _ref(btConvexShape)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btConvexShape_delete, _IDL);
-static void finalize_btConvexTriangleMeshShape( _ref(btConvexTriangleMeshShape)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btConvexTriangleMeshShape_delete)( _ref(btConvexTriangleMeshShape)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btConvexTriangleMeshShape_delete, _IDL);
-static void finalize_btBoxShape( _ref(btBoxShape)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btBoxShape_delete)( _ref(btBoxShape)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btBoxShape_delete, _IDL);
-static void finalize_btCapsuleShape( _ref(btCapsuleShape)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btCapsuleShape_delete)( _ref(btCapsuleShape)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btCapsuleShape_delete, _IDL);
-static void finalize_btCapsuleShapeX( _ref(btCapsuleShapeX)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btCapsuleShapeX_delete)( _ref(btCapsuleShapeX)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btCapsuleShapeX_delete, _IDL);
-static void finalize_btCapsuleShapeZ( _ref(btCapsuleShapeZ)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btCapsuleShapeZ_delete)( _ref(btCapsuleShapeZ)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btCapsuleShapeZ_delete, _IDL);
-static void finalize_btCylinderShape( _ref(btCylinderShape)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btCylinderShape_delete)( _ref(btCylinderShape)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btCylinderShape_delete, _IDL);
-static void finalize_btCylinderShapeX( _ref(btCylinderShapeX)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btCylinderShapeX_delete)( _ref(btCylinderShapeX)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btCylinderShapeX_delete, _IDL);
-static void finalize_btCylinderShapeZ( _ref(btCylinderShapeZ)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btCylinderShapeZ_delete)( _ref(btCylinderShapeZ)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btCylinderShapeZ_delete, _IDL);
-static void finalize_btSphereShape( _ref(btSphereShape)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btSphereShape_delete)( _ref(btSphereShape)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btSphereShape_delete, _IDL);
-static void finalize_btConeShape( _ref(btConeShape)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btConeShape_delete)( _ref(btConeShape)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btConeShape_delete, _IDL);
-static void finalize_btConvexHullShape( _ref(btConvexHullShape)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btConvexHullShape_delete)( _ref(btConvexHullShape)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btConvexHullShape_delete, _IDL);
-static void finalize_btConeShapeX( _ref(btConeShapeX)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btConeShapeX_delete)( _ref(btConeShapeX)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btConeShapeX_delete, _IDL);
-static void finalize_btConeShapeZ( _ref(btConeShapeZ)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btConeShapeZ_delete)( _ref(btConeShapeZ)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btConeShapeZ_delete, _IDL);
-static void finalize_btCompoundShape( _ref(btCompoundShape)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btCompoundShape_delete)( _ref(btCompoundShape)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btCompoundShape_delete, _IDL);
-static void finalize_btStridingMeshInterface( _ref(btStridingMeshInterface)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btStridingMeshInterface_delete)( _ref(btStridingMeshInterface)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btStridingMeshInterface_delete, _IDL);
-static void finalize_btTriangleMesh( _ref(btTriangleMesh)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btTriangleMesh_delete)( _ref(btTriangleMesh)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btTriangleMesh_delete, _IDL);
-static PHY_ScalarType PHY_ScalarType__values[] = { PHY_FLOAT,PHY_DOUBLE,PHY_INTEGER,PHY_SHORT,PHY_FIXEDPOINT88,PHY_UCHAR };
-static void finalize_btConcaveShape( _ref(btConcaveShape)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btConcaveShape_delete)( _ref(btConcaveShape)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btConcaveShape_delete, _IDL);
-static void finalize_btStaticPlaneShape( _ref(btStaticPlaneShape)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btStaticPlaneShape_delete)( _ref(btStaticPlaneShape)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btStaticPlaneShape_delete, _IDL);
-static void finalize_btTriangleMeshShape( _ref(btTriangleMeshShape)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btTriangleMeshShape_delete)( _ref(btTriangleMeshShape)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btTriangleMeshShape_delete, _IDL);
-static void finalize_btBvhTriangleMeshShape( _ref(btBvhTriangleMeshShape)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btBvhTriangleMeshShape_delete)( _ref(btBvhTriangleMeshShape)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btBvhTriangleMeshShape_delete, _IDL);
-static void finalize_btHeightfieldTerrainShape( _ref(btHeightfieldTerrainShape)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btHeightfieldTerrainShape_delete)( _ref(btHeightfieldTerrainShape)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btHeightfieldTerrainShape_delete, _IDL);
-static void finalize_btDefaultCollisionConstructionInfo( _ref(btDefaultCollisionConstructionInfo)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btDefaultCollisionConstructionInfo_delete)( _ref(btDefaultCollisionConstructionInfo)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btDefaultCollisionConstructionInfo_delete, _IDL);
-static void finalize_btDefaultCollisionConfiguration( _ref(btDefaultCollisionConfiguration)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btDefaultCollisionConfiguration_delete)( _ref(btDefaultCollisionConfiguration)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btDefaultCollisionConfiguration_delete, _IDL);
-static void finalize_btPersistentManifold( _ref(btPersistentManifold)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btPersistentManifold_delete)( _ref(btPersistentManifold)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btPersistentManifold_delete, _IDL);
-static void finalize_btDispatcher( _ref(btDispatcher)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btDispatcher_delete)( _ref(btDispatcher)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btDispatcher_delete, _IDL);
-static void finalize_btCollisionDispatcher( _ref(btCollisionDispatcher)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btCollisionDispatcher_delete)( _ref(btCollisionDispatcher)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btCollisionDispatcher_delete, _IDL);
-static void finalize_btOverlappingPairCallback( _ref(btOverlappingPairCallback)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btOverlappingPairCallback_delete)( _ref(btOverlappingPairCallback)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btOverlappingPairCallback_delete, _IDL);
-static void finalize_btOverlappingPairCache( _ref(btOverlappingPairCache)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btOverlappingPairCache_delete)( _ref(btOverlappingPairCache)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btOverlappingPairCache_delete, _IDL);
-static void finalize_btAxisSweep3( _ref(btAxisSweep3)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btAxisSweep3_delete)( _ref(btAxisSweep3)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btAxisSweep3_delete, _IDL);
-static void finalize_btBroadphaseInterface( _ref(btBroadphaseInterface)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btBroadphaseInterface_delete)( _ref(btBroadphaseInterface)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btBroadphaseInterface_delete, _IDL);
-static void finalize_btCollisionConfiguration( _ref(btCollisionConfiguration)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btCollisionConfiguration_delete)( _ref(btCollisionConfiguration)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btCollisionConfiguration_delete, _IDL);
-static void finalize_btDbvtBroadphase( _ref(btDbvtBroadphase)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btDbvtBroadphase_delete)( _ref(btDbvtBroadphase)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btDbvtBroadphase_delete, _IDL);
-static void finalize_btRigidBodyConstructionInfo( _ref(btRigidBody::btRigidBodyConstructionInfo)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btRigidBodyConstructionInfo_delete)( _ref(btRigidBody::btRigidBodyConstructionInfo)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btRigidBodyConstructionInfo_delete, _IDL);
-static void finalize_btRigidBody( _ref(btRigidBody)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btRigidBody_delete)( _ref(btRigidBody)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btRigidBody_delete, _IDL);
-static void finalize_btConstraintSetting( _ref(btConstraintSetting)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btConstraintSetting_delete)( _ref(btConstraintSetting)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btConstraintSetting_delete, _IDL);
-static void finalize_btTypedConstraint( _ref(btTypedConstraint)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btTypedConstraint_delete)( _ref(btTypedConstraint)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btTypedConstraint_delete, _IDL);
-static btConstraintParams btConstraintParams__values[] = { BT_CONSTRAINT_ERP,BT_CONSTRAINT_STOP_ERP,BT_CONSTRAINT_CFM,BT_CONSTRAINT_STOP_CFM };
-static void finalize_btPoint2PointConstraint( _ref(btPoint2PointConstraint)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btPoint2PointConstraint_delete)( _ref(btPoint2PointConstraint)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btPoint2PointConstraint_delete, _IDL);
-static void finalize_btGeneric6DofConstraint( _ref(btGeneric6DofConstraint)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btGeneric6DofConstraint_delete)( _ref(btGeneric6DofConstraint)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btGeneric6DofConstraint_delete, _IDL);
-static void finalize_btGeneric6DofSpringConstraint( _ref(btGeneric6DofSpringConstraint)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btGeneric6DofSpringConstraint_delete)( _ref(btGeneric6DofSpringConstraint)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btGeneric6DofSpringConstraint_delete, _IDL);
-static void finalize_btSequentialImpulseConstraintSolver( _ref(btSequentialImpulseConstraintSolver)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btSequentialImpulseConstraintSolver_delete)( _ref(btSequentialImpulseConstraintSolver)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btSequentialImpulseConstraintSolver_delete, _IDL);
-static void finalize_btConeTwistConstraint( _ref(btConeTwistConstraint)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btConeTwistConstraint_delete)( _ref(btConeTwistConstraint)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btConeTwistConstraint_delete, _IDL);
-static void finalize_btHingeConstraint( _ref(btHingeConstraint)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btHingeConstraint_delete)( _ref(btHingeConstraint)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btHingeConstraint_delete, _IDL);
-static void finalize_btSliderConstraint( _ref(btSliderConstraint)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btSliderConstraint_delete)( _ref(btSliderConstraint)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btSliderConstraint_delete, _IDL);
-static void finalize_btFixedConstraint( _ref(btFixedConstraint)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btFixedConstraint_delete)( _ref(btFixedConstraint)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btFixedConstraint_delete, _IDL);
-static void finalize_btConstraintSolver( _ref(btConstraintSolver)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btConstraintSolver_delete)( _ref(btConstraintSolver)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btConstraintSolver_delete, _IDL);
-static void finalize_btDispatcherInfo( _ref(btDispatcherInfo)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btDispatcherInfo_delete)( _ref(btDispatcherInfo)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btDispatcherInfo_delete, _IDL);
-static void finalize_btCollisionWorld( _ref(btCollisionWorld)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btCollisionWorld_delete)( _ref(btCollisionWorld)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btCollisionWorld_delete, _IDL);
-static void finalize_btContactSolverInfo( _ref(btContactSolverInfo)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btContactSolverInfo_delete)( _ref(btContactSolverInfo)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btContactSolverInfo_delete, _IDL);
-static void finalize_btDynamicsWorld( _ref(btDynamicsWorld)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btDynamicsWorld_delete)( _ref(btDynamicsWorld)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btDynamicsWorld_delete, _IDL);
-static void finalize_btDiscreteDynamicsWorld( _ref(btDiscreteDynamicsWorld)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btDiscreteDynamicsWorld_delete)( _ref(btDiscreteDynamicsWorld)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btDiscreteDynamicsWorld_delete, _IDL);
-static void finalize_btVehicleTuning( _ref(btRaycastVehicle::btVehicleTuning)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btVehicleTuning_delete)( _ref(btRaycastVehicle::btVehicleTuning)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btVehicleTuning_delete, _IDL);
-static void finalize_btVehicleRaycasterResult( _ref(btDefaultVehicleRaycaster::btVehicleRaycasterResult)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btVehicleRaycasterResult_delete)( _ref(btDefaultVehicleRaycaster::btVehicleRaycasterResult)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btVehicleRaycasterResult_delete, _IDL);
-static void finalize_btVehicleRaycaster( _ref(btVehicleRaycaster)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btVehicleRaycaster_delete)( _ref(btVehicleRaycaster)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btVehicleRaycaster_delete, _IDL);
-static void finalize_btDefaultVehicleRaycaster( _ref(btDefaultVehicleRaycaster)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btDefaultVehicleRaycaster_delete)( _ref(btDefaultVehicleRaycaster)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btDefaultVehicleRaycaster_delete, _IDL);
-static void finalize_RaycastInfo( _ref(btWheelInfo::RaycastInfo)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(RaycastInfo_delete)( _ref(btWheelInfo::RaycastInfo)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, RaycastInfo_delete, _IDL);
-static void finalize_btWheelInfoConstructionInfo( _ref(btWheelInfoConstructionInfo)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btWheelInfoConstructionInfo_delete)( _ref(btWheelInfoConstructionInfo)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btWheelInfoConstructionInfo_delete, _IDL);
-static void finalize_btWheelInfo( _ref(btWheelInfo)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btWheelInfo_delete)( _ref(btWheelInfo)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btWheelInfo_delete, _IDL);
-static void finalize_btActionInterface( _ref(btActionInterface)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btActionInterface_delete)( _ref(btActionInterface)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btActionInterface_delete, _IDL);
-static void finalize_btKinematicCharacterController( _ref(btKinematicCharacterController)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btKinematicCharacterController_delete)( _ref(btKinematicCharacterController)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btKinematicCharacterController_delete, _IDL);
-static void finalize_btRaycastVehicle( _ref(btRaycastVehicle)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btRaycastVehicle_delete)( _ref(btRaycastVehicle)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btRaycastVehicle_delete, _IDL);
-static void finalize_btGhostObject( _ref(btGhostObject)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btGhostObject_delete)( _ref(btGhostObject)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btGhostObject_delete, _IDL);
-static void finalize_btPairCachingGhostObject( _ref(btPairCachingGhostObject)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btPairCachingGhostObject_delete)( _ref(btPairCachingGhostObject)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btPairCachingGhostObject_delete, _IDL);
-static void finalize_btGhostPairCallback( _ref(btGhostPairCallback)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btGhostPairCallback_delete)( _ref(btGhostPairCallback)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btGhostPairCallback_delete, _IDL);
-static void finalize_btSoftBodyWorldInfo( _ref(btSoftBodyWorldInfo)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btSoftBodyWorldInfo_delete)( _ref(btSoftBodyWorldInfo)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btSoftBodyWorldInfo_delete, _IDL);
-static void finalize_Node( _ref(btSoftBody::Node)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(Node_delete)( _ref(btSoftBody::Node)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, Node_delete, _IDL);
-static void finalize_tNodeArray( _ref(btSoftBody::tNodeArray)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(tNodeArray_delete)( _ref(btSoftBody::tNodeArray)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, tNodeArray_delete, _IDL);
-static void finalize_Material( _ref(btSoftBody::Material)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(Material_delete)( _ref(btSoftBody::Material)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, Material_delete, _IDL);
-static void finalize_tMaterialArray( _ref(btSoftBody::tMaterialArray)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(tMaterialArray_delete)( _ref(btSoftBody::tMaterialArray)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, tMaterialArray_delete, _IDL);
-static void finalize_Config( _ref(btSoftBody::Config)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(Config_delete)( _ref(btSoftBody::Config)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, Config_delete, _IDL);
-static void finalize_btSoftBody( _ref(btSoftBody)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btSoftBody_delete)( _ref(btSoftBody)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btSoftBody_delete, _IDL);
-static void finalize_btSoftBodyRigidBodyCollisionConfiguration( _ref(btSoftBodyRigidBodyCollisionConfiguration)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btSoftBodyRigidBodyCollisionConfiguration_delete)( _ref(btSoftBodyRigidBodyCollisionConfiguration)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btSoftBodyRigidBodyCollisionConfiguration_delete, _IDL);
-static void finalize_btSoftBodySolver( _ref(btSoftBodySolver)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btSoftBodySolver_delete)( _ref(btSoftBodySolver)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btSoftBodySolver_delete, _IDL);
-static void finalize_btDefaultSoftBodySolver( _ref(btDefaultSoftBodySolver)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btDefaultSoftBodySolver_delete)( _ref(btDefaultSoftBodySolver)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btDefaultSoftBodySolver_delete, _IDL);
-static void finalize_btSoftBodyArray( _ref(btSoftBodyArray)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btSoftBodyArray_delete)( _ref(btSoftBodyArray)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btSoftBodyArray_delete, _IDL);
-static void finalize_btSoftRigidDynamicsWorld( _ref(btSoftRigidDynamicsWorld)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btSoftRigidDynamicsWorld_delete)( _ref(btSoftRigidDynamicsWorld)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btSoftRigidDynamicsWorld_delete, _IDL);
-static void finalize_btSoftBodyHelpers( _ref(btSoftBodyHelpers)* _this ) { free_ref(_this); }
-HL_PRIM void HL_NAME(btSoftBodyHelpers_delete)( _ref(btSoftBodyHelpers)* _this ) {
-	free_ref(_this);
-}
-DEFINE_PRIM(_VOID, btSoftBodyHelpers_delete, _IDL);
-HL_PRIM _ref(btVector3)* HL_NAME(btVector3_new0)() {
-	return alloc_ref((new btVector3()),btVector3);
-}
-DEFINE_PRIM(_IDL, btVector3_new0,);
-
-HL_PRIM _ref(btVector3)* HL_NAME(btVector3_new3)(float x, float y, float z) {
-	return alloc_ref((new btVector3(x, y, z)),btVector3);
-}
-DEFINE_PRIM(_IDL, btVector3_new3, _F32 _F32 _F32);
-
-HL_PRIM float HL_NAME(btVector3_length0)(_ref(btVector3)* _this) {
-	return _unref(_this)->length();
-}
-DEFINE_PRIM(_F32, btVector3_length0, _IDL);
-
-HL_PRIM float HL_NAME(btVector3_x0)(_ref(btVector3)* _this) {
-	return _unref(_this)->x();
-}
-DEFINE_PRIM(_F32, btVector3_x0, _IDL);
-
-HL_PRIM float HL_NAME(btVector3_y0)(_ref(btVector3)* _this) {
-	return _unref(_this)->y();
-}
-DEFINE_PRIM(_F32, btVector3_y0, _IDL);
-
-HL_PRIM float HL_NAME(btVector3_z0)(_ref(btVector3)* _this) {
-	return _unref(_this)->z();
-}
-DEFINE_PRIM(_F32, btVector3_z0, _IDL);
-
-HL_PRIM void HL_NAME(btVector3_setX1)(_ref(btVector3)* _this, float x) {
-	_unref(_this)->setX(x);
-}
-DEFINE_PRIM(_VOID, btVector3_setX1, _IDL _F32);
-
-HL_PRIM void HL_NAME(btVector3_setY1)(_ref(btVector3)* _this, float y) {
-	_unref(_this)->setY(y);
-}
-DEFINE_PRIM(_VOID, btVector3_setY1, _IDL _F32);
-
-HL_PRIM void HL_NAME(btVector3_setZ1)(_ref(btVector3)* _this, float z) {
-	_unref(_this)->setZ(z);
-}
-DEFINE_PRIM(_VOID, btVector3_setZ1, _IDL _F32);
-
-HL_PRIM void HL_NAME(btVector3_setValue3)(_ref(btVector3)* _this, float x, float y, float z) {
-	_unref(_this)->setValue(x, y, z);
-}
-DEFINE_PRIM(_VOID, btVector3_setValue3, _IDL _F32 _F32 _F32);
-
-HL_PRIM void HL_NAME(btVector3_normalize0)(_ref(btVector3)* _this) {
-	_unref(_this)->normalize();
-}
-DEFINE_PRIM(_VOID, btVector3_normalize0, _IDL);
-
-HL_PRIM _ref(btVector3)* HL_NAME(btVector3_rotate2)(_ref(btVector3)* _this, _ref(btVector3)* wAxis, float angle) {
-	return alloc_ref(new btVector3(_unref(_this)->rotate(*_unref(wAxis), angle)),btVector3);
-}
-DEFINE_PRIM(_IDL, btVector3_rotate2, _IDL _IDL _F32);
-
-HL_PRIM float HL_NAME(btVector3_dot1)(_ref(btVector3)* _this, _ref(btVector3)* v) {
-	return _unref(_this)->dot(*_unref(v));
-}
-DEFINE_PRIM(_F32, btVector3_dot1, _IDL _IDL);
-
-HL_PRIM _ref(btVector3)* HL_NAME(btVector3_op_mul1)(_ref(btVector3)* _this, float x) {
-	return alloc_ref(new btVector3(*_unref(_this) * (x)),btVector3);
-}
-DEFINE_PRIM(_IDL, btVector3_op_mul1, _IDL _F32);
-
-HL_PRIM _ref(btVector3)* HL_NAME(btVector3_op_add1)(_ref(btVector3)* _this, _ref(btVector3)* v) {
-	return alloc_ref(new btVector3(*_unref(_this) + (*_unref(v))),btVector3);
-}
-DEFINE_PRIM(_IDL, btVector3_op_add1, _IDL _IDL);
-
-HL_PRIM _ref(btVector3)* HL_NAME(btVector3_op_sub1)(_ref(btVector3)* _this, _ref(btVector3)* v) {
-	return alloc_ref(new btVector3(*_unref(_this) - (*_unref(v))),btVector3);
-}
-DEFINE_PRIM(_IDL, btVector3_op_sub1, _IDL _IDL);
-
-HL_PRIM _ref(btVector4)* HL_NAME(btVector4_new0)() {
-	return alloc_ref((new btVector4()),btVector4);
-}
-DEFINE_PRIM(_IDL, btVector4_new0,);
-
-HL_PRIM _ref(btVector4)* HL_NAME(btVector4_new4)(float x, float y, float z, float w) {
-	return alloc_ref((new btVector4(x, y, z, w)),btVector4);
-}
-DEFINE_PRIM(_IDL, btVector4_new4, _F32 _F32 _F32 _F32);
-
-HL_PRIM float HL_NAME(btVector4_w0)(_ref(btVector4)* _this) {
-	return _unref(_this)->w();
-}
-DEFINE_PRIM(_F32, btVector4_w0, _IDL);
-
-HL_PRIM void HL_NAME(btVector4_setValue4)(_ref(btVector4)* _this, float x, float y, float z, float w) {
-	_unref(_this)->setValue(x, y, z, w);
-}
-DEFINE_PRIM(_VOID, btVector4_setValue4, _IDL _F32 _F32 _F32 _F32);
-
-HL_PRIM float HL_NAME(btQuadWord_x0)(_ref(btQuadWord)* _this) {
-	return _unref(_this)->x();
-}
-DEFINE_PRIM(_F32, btQuadWord_x0, _IDL);
-
-HL_PRIM float HL_NAME(btQuadWord_y0)(_ref(btQuadWord)* _this) {
-	return _unref(_this)->y();
-}
-DEFINE_PRIM(_F32, btQuadWord_y0, _IDL);
-
-HL_PRIM float HL_NAME(btQuadWord_z0)(_ref(btQuadWord)* _this) {
-	return _unref(_this)->z();
-}
-DEFINE_PRIM(_F32, btQuadWord_z0, _IDL);
-
-HL_PRIM float HL_NAME(btQuadWord_w0)(_ref(btQuadWord)* _this) {
-	return _unref(_this)->w();
-}
-DEFINE_PRIM(_F32, btQuadWord_w0, _IDL);
-
-HL_PRIM void HL_NAME(btQuadWord_setX1)(_ref(btQuadWord)* _this, float x) {
-	_unref(_this)->setX(x);
-}
-DEFINE_PRIM(_VOID, btQuadWord_setX1, _IDL _F32);
-
-HL_PRIM void HL_NAME(btQuadWord_setY1)(_ref(btQuadWord)* _this, float y) {
-	_unref(_this)->setY(y);
-}
-DEFINE_PRIM(_VOID, btQuadWord_setY1, _IDL _F32);
-
-HL_PRIM void HL_NAME(btQuadWord_setZ1)(_ref(btQuadWord)* _this, float z) {
-	_unref(_this)->setZ(z);
-}
-DEFINE_PRIM(_VOID, btQuadWord_setZ1, _IDL _F32);
-
-HL_PRIM void HL_NAME(btQuadWord_setW1)(_ref(btQuadWord)* _this, float w) {
-	_unref(_this)->setW(w);
-}
-DEFINE_PRIM(_VOID, btQuadWord_setW1, _IDL _F32);
-
-HL_PRIM _ref(btQuaternion)* HL_NAME(btQuaternion_new4)(float x, float y, float z, float w) {
-	return alloc_ref((new btQuaternion(x, y, z, w)),btQuaternion);
-}
-DEFINE_PRIM(_IDL, btQuaternion_new4, _F32 _F32 _F32 _F32);
-
-HL_PRIM void HL_NAME(btQuaternion_setValue4)(_ref(btQuaternion)* _this, float x, float y, float z, float w) {
-	_unref(_this)->setValue(x, y, z, w);
-}
-DEFINE_PRIM(_VOID, btQuaternion_setValue4, _IDL _F32 _F32 _F32 _F32);
-
-HL_PRIM void HL_NAME(btQuaternion_setEulerZYX3)(_ref(btQuaternion)* _this, float z, float y, float x) {
-	_unref(_this)->setEulerZYX(z, y, x);
-}
-DEFINE_PRIM(_VOID, btQuaternion_setEulerZYX3, _IDL _F32 _F32 _F32);
-
-HL_PRIM void HL_NAME(btQuaternion_setRotation2)(_ref(btQuaternion)* _this, _ref(btVector3)* axis, float angle) {
-	_unref(_this)->setRotation(*_unref(axis), angle);
-}
-DEFINE_PRIM(_VOID, btQuaternion_setRotation2, _IDL _IDL _F32);
-
-HL_PRIM void HL_NAME(btQuaternion_normalize0)(_ref(btQuaternion)* _this) {
-	_unref(_this)->normalize();
-}
-DEFINE_PRIM(_VOID, btQuaternion_normalize0, _IDL);
-
-HL_PRIM float HL_NAME(btQuaternion_length20)(_ref(btQuaternion)* _this) {
-	return _unref(_this)->length2();
-}
-DEFINE_PRIM(_F32, btQuaternion_length20, _IDL);
-
-HL_PRIM float HL_NAME(btQuaternion_length0)(_ref(btQuaternion)* _this) {
-	return _unref(_this)->length();
-}
-DEFINE_PRIM(_F32, btQuaternion_length0, _IDL);
-
-HL_PRIM float HL_NAME(btQuaternion_dot1)(_ref(btQuaternion)* _this, _ref(btQuaternion)* q) {
-	return _unref(_this)->dot(*_unref(q));
-}
-DEFINE_PRIM(_F32, btQuaternion_dot1, _IDL _IDL);
-
-HL_PRIM _ref(btQuaternion)* HL_NAME(btQuaternion_normalized0)(_ref(btQuaternion)* _this) {
-	return alloc_ref(new btQuaternion(_unref(_this)->normalized()),btQuaternion);
-}
-DEFINE_PRIM(_IDL, btQuaternion_normalized0, _IDL);
-
-HL_PRIM _ref(btVector3)* HL_NAME(btQuaternion_getAxis0)(_ref(btQuaternion)* _this) {
-	return alloc_ref(new btVector3(_unref(_this)->getAxis()),btVector3);
-}
-DEFINE_PRIM(_IDL, btQuaternion_getAxis0, _IDL);
-
-HL_PRIM _ref(btQuaternion)* HL_NAME(btQuaternion_inverse0)(_ref(btQuaternion)* _this) {
-	return alloc_ref(new btQuaternion(_unref(_this)->inverse()),btQuaternion);
-}
-DEFINE_PRIM(_IDL, btQuaternion_inverse0, _IDL);
-
-HL_PRIM float HL_NAME(btQuaternion_getAngle0)(_ref(btQuaternion)* _this) {
-	return _unref(_this)->getAngle();
-}
-DEFINE_PRIM(_F32, btQuaternion_getAngle0, _IDL);
-
-HL_PRIM float HL_NAME(btQuaternion_getAngleShortestPath0)(_ref(btQuaternion)* _this) {
-	return _unref(_this)->getAngleShortestPath();
-}
-DEFINE_PRIM(_F32, btQuaternion_getAngleShortestPath0, _IDL);
-
-HL_PRIM float HL_NAME(btQuaternion_angle1)(_ref(btQuaternion)* _this, _ref(btQuaternion)* q) {
-	return _unref(_this)->angle(*_unref(q));
-}
-DEFINE_PRIM(_F32, btQuaternion_angle1, _IDL _IDL);
-
-HL_PRIM float HL_NAME(btQuaternion_angleShortestPath1)(_ref(btQuaternion)* _this, _ref(btQuaternion)* q) {
-	return _unref(_this)->angleShortestPath(*_unref(q));
-}
-DEFINE_PRIM(_F32, btQuaternion_angleShortestPath1, _IDL _IDL);
-
-HL_PRIM _ref(btQuaternion)* HL_NAME(btQuaternion_op_add1)(_ref(btQuaternion)* _this, _ref(btQuaternion)* q) {
-	return alloc_ref(new btQuaternion(*_unref(_this) + (*_unref(q))),btQuaternion);
-}
-DEFINE_PRIM(_IDL, btQuaternion_op_add1, _IDL _IDL);
-
-HL_PRIM _ref(btQuaternion)* HL_NAME(btQuaternion_op_sub1)(_ref(btQuaternion)* _this, _ref(btQuaternion)* q) {
-	return alloc_ref(new btQuaternion(*_unref(_this) - (*_unref(q))),btQuaternion);
-}
-DEFINE_PRIM(_IDL, btQuaternion_op_sub1, _IDL _IDL);
-
-HL_PRIM _ref(btQuaternion)* HL_NAME(btQuaternion_op_mul1)(_ref(btQuaternion)* _this, float s) {
-	return alloc_ref(new btQuaternion(*_unref(_this) * (s)),btQuaternion);
-}
-DEFINE_PRIM(_IDL, btQuaternion_op_mul1, _IDL _F32);
-
-HL_PRIM _ref(btQuaternion)* HL_NAME(btQuaternion_op_mulq1)(_ref(btQuaternion)* _this, _ref(btQuaternion)* q) {
-	return alloc_ref(new btQuaternion(*_unref(_this) *= (*_unref(q))),btQuaternion);
-}
-DEFINE_PRIM(_IDL, btQuaternion_op_mulq1, _IDL _IDL);
-
-HL_PRIM _ref(btQuaternion)* HL_NAME(btQuaternion_op_div1)(_ref(btQuaternion)* _this, float s) {
-	return alloc_ref(new btQuaternion(*_unref(_this) / (s)),btQuaternion);
-}
-DEFINE_PRIM(_IDL, btQuaternion_op_div1, _IDL _F32);
-
-HL_PRIM void HL_NAME(btMatrix3x3_setEulerZYX3)(_ref(btMatrix3x3)* _this, float ex, float ey, float ez) {
-	_unref(_this)->setEulerZYX(ex, ey, ez);
-}
-DEFINE_PRIM(_VOID, btMatrix3x3_setEulerZYX3, _IDL _F32 _F32 _F32);
-
-HL_PRIM void HL_NAME(btMatrix3x3_getRotation1)(_ref(btMatrix3x3)* _this, _ref(btQuaternion)* q) {
-	_unref(_this)->getRotation(*_unref(q));
-}
-DEFINE_PRIM(_VOID, btMatrix3x3_getRotation1, _IDL _IDL);
-
-HL_PRIM _ref(btVector3)* HL_NAME(btMatrix3x3_getRow1)(_ref(btMatrix3x3)* _this, int y) {
-	return alloc_ref(new btVector3(_unref(_this)->getRow(y)),btVector3);
-}
-DEFINE_PRIM(_IDL, btMatrix3x3_getRow1, _IDL _I32);
-
-HL_PRIM _ref(btTransform)* HL_NAME(btTransform_new0)() {
-	return alloc_ref((new btTransform()),btTransform);
-}
-DEFINE_PRIM(_IDL, btTransform_new0,);
-
-HL_PRIM _ref(btTransform)* HL_NAME(btTransform_new2)(_ref(btQuaternion)* q, _ref(btVector3)* v) {
-	return alloc_ref((new btTransform(*_unref(q), *_unref(v))),btTransform);
-}
-DEFINE_PRIM(_IDL, btTransform_new2, _IDL _IDL);
-
-HL_PRIM void HL_NAME(btTransform_setIdentity0)(_ref(btTransform)* _this) {
-	_unref(_this)->setIdentity();
-}
-DEFINE_PRIM(_VOID, btTransform_setIdentity0, _IDL);
-
-HL_PRIM void HL_NAME(btTransform_setOrigin1)(_ref(btTransform)* _this, _ref(btVector3)* origin) {
-	_unref(_this)->setOrigin(*_unref(origin));
-}
-DEFINE_PRIM(_VOID, btTransform_setOrigin1, _IDL _IDL);
-
-HL_PRIM void HL_NAME(btTransform_setRotation1)(_ref(btTransform)* _this, _ref(btQuaternion)* rotation) {
-	_unref(_this)->setRotation(*_unref(rotation));
-}
-DEFINE_PRIM(_VOID, btTransform_setRotation1, _IDL _IDL);
-
-HL_PRIM _ref(btVector3)* HL_NAME(btTransform_getOrigin0)(_ref(btTransform)* _this) {
-	return alloc_ref(new btVector3(_unref(_this)->getOrigin()),btVector3);
-}
-DEFINE_PRIM(_IDL, btTransform_getOrigin0, _IDL);
-
-HL_PRIM _ref(btQuaternion)* HL_NAME(btTransform_getRotation0)(_ref(btTransform)* _this) {
-	return alloc_ref(new btQuaternion(_unref(_this)->getRotation()),btQuaternion);
-}
-DEFINE_PRIM(_IDL, btTransform_getRotation0, _IDL);
-
-HL_PRIM _ref(btMatrix3x3)* HL_NAME(btTransform_getBasis0)(_ref(btTransform)* _this) {
-	return alloc_ref(new btMatrix3x3(_unref(_this)->getBasis()),btMatrix3x3);
-}
-DEFINE_PRIM(_IDL, btTransform_getBasis0, _IDL);
-
-HL_PRIM void HL_NAME(btTransform_setFromOpenGLMatrix1)(_ref(btTransform)* _this, float* m) {
-	_unref(_this)->setFromOpenGLMatrix(m);
-}
-DEFINE_PRIM(_VOID, btTransform_setFromOpenGLMatrix1, _IDL _BYTES);
-
-HL_PRIM void HL_NAME(btMotionState_getWorldTransform1)(_ref(btMotionState)* _this, _ref(btTransform)* worldTrans) {
-	_unref(_this)->getWorldTransform(*_unref(worldTrans));
-}
-DEFINE_PRIM(_VOID, btMotionState_getWorldTransform1, _IDL _IDL);
-
-HL_PRIM void HL_NAME(btMotionState_setWorldTransform1)(_ref(btMotionState)* _this, _ref(btTransform)* worldTrans) {
-	_unref(_this)->setWorldTransform(*_unref(worldTrans));
-}
-DEFINE_PRIM(_VOID, btMotionState_setWorldTransform1, _IDL _IDL);
-
-HL_PRIM _ref(btDefaultMotionState)* HL_NAME(btDefaultMotionState_new2)(_ref(btTransform)* startTrans, _ref(btTransform)* centerOfMassOffset) {
-	if( !startTrans )
-		return alloc_ref((new btDefaultMotionState()),btDefaultMotionState);
-	else
-	if( !centerOfMassOffset )
-		return alloc_ref((new btDefaultMotionState(*_unref(startTrans))),btDefaultMotionState);
-	else
-		return alloc_ref((new btDefaultMotionState(*_unref(startTrans), *_unref(centerOfMassOffset))),btDefaultMotionState);
-}
-DEFINE_PRIM(_IDL, btDefaultMotionState_new2, _IDL _IDL);
-
-HL_PRIM _ref(btTransform)* HL_NAME(btDefaultMotionState_get_m_graphicsWorldTrans)( _ref(btDefaultMotionState)* _this ) {
-	return alloc_ref(new btTransform(_unref(_this)->m_graphicsWorldTrans),btTransform);
-}
-HL_PRIM _ref(btTransform)* HL_NAME(btDefaultMotionState_set_m_graphicsWorldTrans)( _ref(btDefaultMotionState)* _this, _ref(btTransform)* value ) {
-	_unref(_this)->m_graphicsWorldTrans = *_unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,btDefaultMotionState_get_m_graphicsWorldTrans,_IDL);
-DEFINE_PRIM(_IDL,btDefaultMotionState_set_m_graphicsWorldTrans,_IDL _IDL);
-
-HL_PRIM void HL_NAME(btCollisionObject_setAnisotropicFriction2)(_ref(btCollisionObject)* _this, _ref(btVector3)* anisotropicFriction, int frictionMode) {
-	_unref(_this)->setAnisotropicFriction(*_unref(anisotropicFriction), frictionMode);
-}
-DEFINE_PRIM(_VOID, btCollisionObject_setAnisotropicFriction2, _IDL _IDL _I32);
-
-HL_PRIM _ref(btCollisionShape)* HL_NAME(btCollisionObject_getCollisionShape0)(_ref(btCollisionObject)* _this) {
-	return alloc_ref((_unref(_this)->getCollisionShape()),btCollisionShape);
-}
-DEFINE_PRIM(_IDL, btCollisionObject_getCollisionShape0, _IDL);
-
-HL_PRIM void HL_NAME(btCollisionObject_setContactProcessingThreshold1)(_ref(btCollisionObject)* _this, float contactProcessingThreshold) {
-	_unref(_this)->setContactProcessingThreshold(contactProcessingThreshold);
-}
-DEFINE_PRIM(_VOID, btCollisionObject_setContactProcessingThreshold1, _IDL _F32);
-
-HL_PRIM void HL_NAME(btCollisionObject_setActivationState1)(_ref(btCollisionObject)* _this, int newState) {
-	_unref(_this)->setActivationState(newState);
-}
-DEFINE_PRIM(_VOID, btCollisionObject_setActivationState1, _IDL _I32);
-
-HL_PRIM void HL_NAME(btCollisionObject_forceActivationState1)(_ref(btCollisionObject)* _this, int newState) {
-	_unref(_this)->forceActivationState(newState);
-}
-DEFINE_PRIM(_VOID, btCollisionObject_forceActivationState1, _IDL _I32);
-
-HL_PRIM void HL_NAME(btCollisionObject_activate1)(_ref(btCollisionObject)* _this, _OPT(bool) forceActivation) {
-	if( !forceActivation )
-		_unref(_this)->activate();
-	else
-		_unref(_this)->activate(_GET_OPT(forceActivation,b));
-}
-DEFINE_PRIM(_VOID, btCollisionObject_activate1, _IDL _NULL(_BOOL));
-
-HL_PRIM bool HL_NAME(btCollisionObject_isActive0)(_ref(btCollisionObject)* _this) {
-	return _unref(_this)->isActive();
-}
-DEFINE_PRIM(_BOOL, btCollisionObject_isActive0, _IDL);
-
-HL_PRIM bool HL_NAME(btCollisionObject_isKinematicObject0)(_ref(btCollisionObject)* _this) {
-	return _unref(_this)->isKinematicObject();
-}
-DEFINE_PRIM(_BOOL, btCollisionObject_isKinematicObject0, _IDL);
-
-HL_PRIM bool HL_NAME(btCollisionObject_isStaticObject0)(_ref(btCollisionObject)* _this) {
-	return _unref(_this)->isStaticObject();
-}
-DEFINE_PRIM(_BOOL, btCollisionObject_isStaticObject0, _IDL);
-
-HL_PRIM bool HL_NAME(btCollisionObject_isStaticOrKinematicObject0)(_ref(btCollisionObject)* _this) {
-	return _unref(_this)->isStaticOrKinematicObject();
-}
-DEFINE_PRIM(_BOOL, btCollisionObject_isStaticOrKinematicObject0, _IDL);
-
-HL_PRIM void HL_NAME(btCollisionObject_setRestitution1)(_ref(btCollisionObject)* _this, float rest) {
-	_unref(_this)->setRestitution(rest);
-}
-DEFINE_PRIM(_VOID, btCollisionObject_setRestitution1, _IDL _F32);
-
-HL_PRIM void HL_NAME(btCollisionObject_setFriction1)(_ref(btCollisionObject)* _this, float frict) {
-	_unref(_this)->setFriction(frict);
-}
-DEFINE_PRIM(_VOID, btCollisionObject_setFriction1, _IDL _F32);
-
-HL_PRIM void HL_NAME(btCollisionObject_setRollingFriction1)(_ref(btCollisionObject)* _this, float frict) {
-	_unref(_this)->setRollingFriction(frict);
-}
-DEFINE_PRIM(_VOID, btCollisionObject_setRollingFriction1, _IDL _F32);
-
-HL_PRIM _ref(btTransform)* HL_NAME(btCollisionObject_getWorldTransform0)(_ref(btCollisionObject)* _this) {
-	return alloc_ref(new btTransform(_unref(_this)->getWorldTransform()),btTransform);
-}
-DEFINE_PRIM(_IDL, btCollisionObject_getWorldTransform0, _IDL);
-
-HL_PRIM int HL_NAME(btCollisionObject_getCollisionFlags0)(_ref(btCollisionObject)* _this) {
-	return _unref(_this)->getCollisionFlags();
-}
-DEFINE_PRIM(_I32, btCollisionObject_getCollisionFlags0, _IDL);
-
-HL_PRIM void HL_NAME(btCollisionObject_setCollisionFlags1)(_ref(btCollisionObject)* _this, int flags) {
-	_unref(_this)->setCollisionFlags(flags);
-}
-DEFINE_PRIM(_VOID, btCollisionObject_setCollisionFlags1, _IDL _I32);
-
-HL_PRIM void HL_NAME(btCollisionObject_setWorldTransform1)(_ref(btCollisionObject)* _this, _ref(btTransform)* worldTrans) {
-	_unref(_this)->setWorldTransform(*_unref(worldTrans));
-}
-DEFINE_PRIM(_VOID, btCollisionObject_setWorldTransform1, _IDL _IDL);
-
-HL_PRIM void HL_NAME(btCollisionObject_setCollisionShape1)(_ref(btCollisionObject)* _this, _ref(btCollisionShape)* collisionShape) {
-	_unref(_this)->setCollisionShape(_unref(collisionShape));
-}
-DEFINE_PRIM(_VOID, btCollisionObject_setCollisionShape1, _IDL _IDL);
-
-HL_PRIM void HL_NAME(btCollisionObject_setCcdMotionThreshold1)(_ref(btCollisionObject)* _this, float ccdMotionThreshold) {
-	_unref(_this)->setCcdMotionThreshold(ccdMotionThreshold);
-}
-DEFINE_PRIM(_VOID, btCollisionObject_setCcdMotionThreshold1, _IDL _F32);
-
-HL_PRIM void HL_NAME(btCollisionObject_setCcdSweptSphereRadius1)(_ref(btCollisionObject)* _this, float radius) {
-	_unref(_this)->setCcdSweptSphereRadius(radius);
-}
-DEFINE_PRIM(_VOID, btCollisionObject_setCcdSweptSphereRadius1, _IDL _F32);
-
-HL_PRIM int HL_NAME(btCollisionObject_getUserIndex0)(_ref(btCollisionObject)* _this) {
-	return _unref(_this)->getUserIndex();
-}
-DEFINE_PRIM(_I32, btCollisionObject_getUserIndex0, _IDL);
-
-HL_PRIM void HL_NAME(btCollisionObject_setUserIndex1)(_ref(btCollisionObject)* _this, int index) {
-	_unref(_this)->setUserIndex(index);
-}
-DEFINE_PRIM(_VOID, btCollisionObject_setUserIndex1, _IDL _I32);
-
-HL_PRIM void* HL_NAME(btCollisionObject_getUserPointer0)(_ref(btCollisionObject)* _this) {
-	return _unref(_this)->getUserPointer();
-}
-DEFINE_PRIM(_BYTES, btCollisionObject_getUserPointer0, _IDL);
-
-HL_PRIM void HL_NAME(btCollisionObject_setUserPointer1)(_ref(btCollisionObject)* _this, void* userPointer) {
-	_unref(_this)->setUserPointer(userPointer);
-}
-DEFINE_PRIM(_VOID, btCollisionObject_setUserPointer1, _IDL _BYTES);
-
-HL_PRIM bool HL_NAME(RayResultCallback_hasHit0)(_ref(btCollisionWorld::RayResultCallback)* _this) {
-	return _unref(_this)->hasHit();
-}
-DEFINE_PRIM(_BOOL, RayResultCallback_hasHit0, _IDL);
-
-HL_PRIM short HL_NAME(RayResultCallback_get_m_collisionFilterGroup)( _ref(btCollisionWorld::RayResultCallback)* _this ) {
-	return _unref(_this)->m_collisionFilterGroup;
-}
-HL_PRIM short HL_NAME(RayResultCallback_set_m_collisionFilterGroup)( _ref(btCollisionWorld::RayResultCallback)* _this, short value ) {
-	_unref(_this)->m_collisionFilterGroup = (value);
-	return value;
-}
-DEFINE_PRIM(_I16,RayResultCallback_get_m_collisionFilterGroup,_IDL);
-DEFINE_PRIM(_I16,RayResultCallback_set_m_collisionFilterGroup,_IDL _I16);
-
-HL_PRIM short HL_NAME(RayResultCallback_get_m_collisionFilterMask)( _ref(btCollisionWorld::RayResultCallback)* _this ) {
-	return _unref(_this)->m_collisionFilterMask;
-}
-HL_PRIM short HL_NAME(RayResultCallback_set_m_collisionFilterMask)( _ref(btCollisionWorld::RayResultCallback)* _this, short value ) {
-	_unref(_this)->m_collisionFilterMask = (value);
-	return value;
-}
-DEFINE_PRIM(_I16,RayResultCallback_get_m_collisionFilterMask,_IDL);
-DEFINE_PRIM(_I16,RayResultCallback_set_m_collisionFilterMask,_IDL _I16);
-
-HL_PRIM HL_CONST _ref(btCollisionObject)* HL_NAME(RayResultCallback_get_m_collisionObject)( _ref(btCollisionWorld::RayResultCallback)* _this ) {
-	return alloc_ref_const(_unref(_this)->m_collisionObject,btCollisionObject);
-}
-HL_PRIM HL_CONST _ref(btCollisionObject)* HL_NAME(RayResultCallback_set_m_collisionObject)( _ref(btCollisionWorld::RayResultCallback)* _this, HL_CONST _ref(btCollisionObject)* value ) {
-	_unref(_this)->m_collisionObject = _unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,RayResultCallback_get_m_collisionObject,_IDL);
-DEFINE_PRIM(_IDL,RayResultCallback_set_m_collisionObject,_IDL _IDL);
-
-HL_PRIM _ref(btCollisionWorld::ClosestRayResultCallback)* HL_NAME(ClosestRayResultCallback_new2)(_ref(btVector3)* from, _ref(btVector3)* to) {
-	return alloc_ref((new btCollisionWorld::ClosestRayResultCallback(*_unref(from), *_unref(to))),ClosestRayResultCallback);
-}
-DEFINE_PRIM(_IDL, ClosestRayResultCallback_new2, _IDL _IDL);
-
-HL_PRIM _ref(btVector3)* HL_NAME(ClosestRayResultCallback_get_m_rayFromWorld)( _ref(btCollisionWorld::ClosestRayResultCallback)* _this ) {
-	return alloc_ref(new btVector3(_unref(_this)->m_rayFromWorld),btVector3);
-}
-HL_PRIM _ref(btVector3)* HL_NAME(ClosestRayResultCallback_set_m_rayFromWorld)( _ref(btCollisionWorld::ClosestRayResultCallback)* _this, _ref(btVector3)* value ) {
-	_unref(_this)->m_rayFromWorld = *_unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,ClosestRayResultCallback_get_m_rayFromWorld,_IDL);
-DEFINE_PRIM(_IDL,ClosestRayResultCallback_set_m_rayFromWorld,_IDL _IDL);
-
-HL_PRIM _ref(btVector3)* HL_NAME(ClosestRayResultCallback_get_m_rayToWorld)( _ref(btCollisionWorld::ClosestRayResultCallback)* _this ) {
-	return alloc_ref(new btVector3(_unref(_this)->m_rayToWorld),btVector3);
-}
-HL_PRIM _ref(btVector3)* HL_NAME(ClosestRayResultCallback_set_m_rayToWorld)( _ref(btCollisionWorld::ClosestRayResultCallback)* _this, _ref(btVector3)* value ) {
-	_unref(_this)->m_rayToWorld = *_unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,ClosestRayResultCallback_get_m_rayToWorld,_IDL);
-DEFINE_PRIM(_IDL,ClosestRayResultCallback_set_m_rayToWorld,_IDL _IDL);
-
-HL_PRIM _ref(btVector3)* HL_NAME(ClosestRayResultCallback_get_m_hitNormalWorld)( _ref(btCollisionWorld::ClosestRayResultCallback)* _this ) {
-	return alloc_ref(new btVector3(_unref(_this)->m_hitNormalWorld),btVector3);
-}
-HL_PRIM _ref(btVector3)* HL_NAME(ClosestRayResultCallback_set_m_hitNormalWorld)( _ref(btCollisionWorld::ClosestRayResultCallback)* _this, _ref(btVector3)* value ) {
-	_unref(_this)->m_hitNormalWorld = *_unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,ClosestRayResultCallback_get_m_hitNormalWorld,_IDL);
-DEFINE_PRIM(_IDL,ClosestRayResultCallback_set_m_hitNormalWorld,_IDL _IDL);
-
-HL_PRIM _ref(btVector3)* HL_NAME(ClosestRayResultCallback_get_m_hitPointWorld)( _ref(btCollisionWorld::ClosestRayResultCallback)* _this ) {
-	return alloc_ref(new btVector3(_unref(_this)->m_hitPointWorld),btVector3);
-}
-HL_PRIM _ref(btVector3)* HL_NAME(ClosestRayResultCallback_set_m_hitPointWorld)( _ref(btCollisionWorld::ClosestRayResultCallback)* _this, _ref(btVector3)* value ) {
-	_unref(_this)->m_hitPointWorld = *_unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,ClosestRayResultCallback_get_m_hitPointWorld,_IDL);
-DEFINE_PRIM(_IDL,ClosestRayResultCallback_set_m_hitPointWorld,_IDL _IDL);
-
-HL_PRIM HL_CONST _ref(btVector3)* HL_NAME(btManifoldPoint_getPositionWorldOnA0)(_ref(btManifoldPoint)* _this) {
-	return alloc_ref(new btVector3(_unref(_this)->getPositionWorldOnA()),btVector3);
-}
-DEFINE_PRIM(_IDL, btManifoldPoint_getPositionWorldOnA0, _IDL);
-
-HL_PRIM HL_CONST _ref(btVector3)* HL_NAME(btManifoldPoint_getPositionWorldOnB0)(_ref(btManifoldPoint)* _this) {
-	return alloc_ref(new btVector3(_unref(_this)->getPositionWorldOnB()),btVector3);
-}
-DEFINE_PRIM(_IDL, btManifoldPoint_getPositionWorldOnB0, _IDL);
-
-HL_PRIM HL_CONST double HL_NAME(btManifoldPoint_getAppliedImpulse0)(_ref(btManifoldPoint)* _this) {
-	return _unref(_this)->getAppliedImpulse();
-}
-DEFINE_PRIM(_F64, btManifoldPoint_getAppliedImpulse0, _IDL);
-
-HL_PRIM HL_CONST double HL_NAME(btManifoldPoint_getDistance0)(_ref(btManifoldPoint)* _this) {
-	return _unref(_this)->getDistance();
-}
-DEFINE_PRIM(_F64, btManifoldPoint_getDistance0, _IDL);
-
-HL_PRIM _ref(btVector3)* HL_NAME(btManifoldPoint_get_m_localPointA)( _ref(btManifoldPoint)* _this ) {
-	return alloc_ref(new btVector3(_unref(_this)->m_localPointA),btVector3);
-}
-HL_PRIM _ref(btVector3)* HL_NAME(btManifoldPoint_set_m_localPointA)( _ref(btManifoldPoint)* _this, _ref(btVector3)* value ) {
-	_unref(_this)->m_localPointA = *_unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,btManifoldPoint_get_m_localPointA,_IDL);
-DEFINE_PRIM(_IDL,btManifoldPoint_set_m_localPointA,_IDL _IDL);
-
-HL_PRIM _ref(btVector3)* HL_NAME(btManifoldPoint_get_m_localPointB)( _ref(btManifoldPoint)* _this ) {
-	return alloc_ref(new btVector3(_unref(_this)->m_localPointB),btVector3);
-}
-HL_PRIM _ref(btVector3)* HL_NAME(btManifoldPoint_set_m_localPointB)( _ref(btManifoldPoint)* _this, _ref(btVector3)* value ) {
-	_unref(_this)->m_localPointB = *_unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,btManifoldPoint_get_m_localPointB,_IDL);
-DEFINE_PRIM(_IDL,btManifoldPoint_set_m_localPointB,_IDL _IDL);
-
-HL_PRIM _ref(btVector3)* HL_NAME(btManifoldPoint_get_m_positionWorldOnB)( _ref(btManifoldPoint)* _this ) {
-	return alloc_ref(new btVector3(_unref(_this)->m_positionWorldOnB),btVector3);
-}
-HL_PRIM _ref(btVector3)* HL_NAME(btManifoldPoint_set_m_positionWorldOnB)( _ref(btManifoldPoint)* _this, _ref(btVector3)* value ) {
-	_unref(_this)->m_positionWorldOnB = *_unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,btManifoldPoint_get_m_positionWorldOnB,_IDL);
-DEFINE_PRIM(_IDL,btManifoldPoint_set_m_positionWorldOnB,_IDL _IDL);
-
-HL_PRIM _ref(btVector3)* HL_NAME(btManifoldPoint_get_m_positionWorldOnA)( _ref(btManifoldPoint)* _this ) {
-	return alloc_ref(new btVector3(_unref(_this)->m_positionWorldOnA),btVector3);
-}
-HL_PRIM _ref(btVector3)* HL_NAME(btManifoldPoint_set_m_positionWorldOnA)( _ref(btManifoldPoint)* _this, _ref(btVector3)* value ) {
-	_unref(_this)->m_positionWorldOnA = *_unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,btManifoldPoint_get_m_positionWorldOnA,_IDL);
-DEFINE_PRIM(_IDL,btManifoldPoint_set_m_positionWorldOnA,_IDL _IDL);
-
-HL_PRIM _ref(btVector3)* HL_NAME(btManifoldPoint_get_m_normalWorldOnB)( _ref(btManifoldPoint)* _this ) {
-	return alloc_ref(new btVector3(_unref(_this)->m_normalWorldOnB),btVector3);
-}
-HL_PRIM _ref(btVector3)* HL_NAME(btManifoldPoint_set_m_normalWorldOnB)( _ref(btManifoldPoint)* _this, _ref(btVector3)* value ) {
-	_unref(_this)->m_normalWorldOnB = *_unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,btManifoldPoint_get_m_normalWorldOnB,_IDL);
-DEFINE_PRIM(_IDL,btManifoldPoint_set_m_normalWorldOnB,_IDL _IDL);
-
-HL_PRIM float HL_NAME(ContactResultCallback_addSingleResult7)(_ref(btCollisionWorld::ContactResultCallback)* _this, _ref(btManifoldPoint)* cp, _ref(btCollisionObjectWrapper)* colObj0Wrap, int partId0, int index0, _ref(btCollisionObjectWrapper)* colObj1Wrap, int partId1, int index1) {
-	return _unref(_this)->addSingleResult(*_unref(cp), _unref(colObj0Wrap), partId0, index0, _unref(colObj1Wrap), partId1, index1);
-}
-DEFINE_PRIM(_F32, ContactResultCallback_addSingleResult7, _IDL _IDL _IDL _I32 _I32 _IDL _I32 _I32);
-
-HL_PRIM int HL_NAME(LocalShapeInfo_get_m_shapePart)( _ref(btCollisionWorld::LocalShapeInfo)* _this ) {
-	return _unref(_this)->m_shapePart;
-}
-HL_PRIM int HL_NAME(LocalShapeInfo_set_m_shapePart)( _ref(btCollisionWorld::LocalShapeInfo)* _this, int value ) {
-	_unref(_this)->m_shapePart = (value);
-	return value;
-}
-DEFINE_PRIM(_I32,LocalShapeInfo_get_m_shapePart,_IDL);
-DEFINE_PRIM(_I32,LocalShapeInfo_set_m_shapePart,_IDL _I32);
-
-HL_PRIM int HL_NAME(LocalShapeInfo_get_m_triangleIndex)( _ref(btCollisionWorld::LocalShapeInfo)* _this ) {
-	return _unref(_this)->m_triangleIndex;
-}
-HL_PRIM int HL_NAME(LocalShapeInfo_set_m_triangleIndex)( _ref(btCollisionWorld::LocalShapeInfo)* _this, int value ) {
-	_unref(_this)->m_triangleIndex = (value);
-	return value;
-}
-DEFINE_PRIM(_I32,LocalShapeInfo_get_m_triangleIndex,_IDL);
-DEFINE_PRIM(_I32,LocalShapeInfo_set_m_triangleIndex,_IDL _I32);
-
-HL_PRIM _ref(btCollisionWorld::LocalConvexResult)* HL_NAME(LocalConvexResult_new5)(_ref(btCollisionObject)* hitCollisionObject, _ref(btCollisionWorld::LocalShapeInfo)* localShapeInfo, _ref(btVector3)* hitNormalLocal, _ref(btVector3)* hitPointLocal, float hitFraction) {
-	return alloc_ref((new btCollisionWorld::LocalConvexResult(_unref(hitCollisionObject), _unref(localShapeInfo), *_unref(hitNormalLocal), *_unref(hitPointLocal), hitFraction)),LocalConvexResult);
-}
-DEFINE_PRIM(_IDL, LocalConvexResult_new5, _IDL _IDL _IDL _IDL _F32);
-
-HL_PRIM HL_CONST _ref(btCollisionObject)* HL_NAME(LocalConvexResult_get_m_hitCollisionObject)( _ref(btCollisionWorld::LocalConvexResult)* _this ) {
-	return alloc_ref_const(_unref(_this)->m_hitCollisionObject,btCollisionObject);
-}
-HL_PRIM HL_CONST _ref(btCollisionObject)* HL_NAME(LocalConvexResult_set_m_hitCollisionObject)( _ref(btCollisionWorld::LocalConvexResult)* _this, HL_CONST _ref(btCollisionObject)* value ) {
-	_unref(_this)->m_hitCollisionObject = _unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,LocalConvexResult_get_m_hitCollisionObject,_IDL);
-DEFINE_PRIM(_IDL,LocalConvexResult_set_m_hitCollisionObject,_IDL _IDL);
-
-HL_PRIM _ref(btCollisionWorld::LocalShapeInfo)* HL_NAME(LocalConvexResult_get_m_localShapeInfo)( _ref(btCollisionWorld::LocalConvexResult)* _this ) {
-	return alloc_ref(_unref(_this)->m_localShapeInfo,LocalShapeInfo);
-}
-HL_PRIM _ref(btCollisionWorld::LocalShapeInfo)* HL_NAME(LocalConvexResult_set_m_localShapeInfo)( _ref(btCollisionWorld::LocalConvexResult)* _this, _ref(btCollisionWorld::LocalShapeInfo)* value ) {
-	_unref(_this)->m_localShapeInfo = _unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,LocalConvexResult_get_m_localShapeInfo,_IDL);
-DEFINE_PRIM(_IDL,LocalConvexResult_set_m_localShapeInfo,_IDL _IDL);
-
-HL_PRIM _ref(btVector3)* HL_NAME(LocalConvexResult_get_m_hitNormalLocal)( _ref(btCollisionWorld::LocalConvexResult)* _this ) {
-	return alloc_ref(new btVector3(_unref(_this)->m_hitNormalLocal),btVector3);
-}
-HL_PRIM _ref(btVector3)* HL_NAME(LocalConvexResult_set_m_hitNormalLocal)( _ref(btCollisionWorld::LocalConvexResult)* _this, _ref(btVector3)* value ) {
-	_unref(_this)->m_hitNormalLocal = *_unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,LocalConvexResult_get_m_hitNormalLocal,_IDL);
-DEFINE_PRIM(_IDL,LocalConvexResult_set_m_hitNormalLocal,_IDL _IDL);
-
-HL_PRIM _ref(btVector3)* HL_NAME(LocalConvexResult_get_m_hitPointLocal)( _ref(btCollisionWorld::LocalConvexResult)* _this ) {
-	return alloc_ref(new btVector3(_unref(_this)->m_hitPointLocal),btVector3);
-}
-HL_PRIM _ref(btVector3)* HL_NAME(LocalConvexResult_set_m_hitPointLocal)( _ref(btCollisionWorld::LocalConvexResult)* _this, _ref(btVector3)* value ) {
-	_unref(_this)->m_hitPointLocal = *_unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,LocalConvexResult_get_m_hitPointLocal,_IDL);
-DEFINE_PRIM(_IDL,LocalConvexResult_set_m_hitPointLocal,_IDL _IDL);
-
-HL_PRIM float HL_NAME(LocalConvexResult_get_m_hitFraction)( _ref(btCollisionWorld::LocalConvexResult)* _this ) {
-	return _unref(_this)->m_hitFraction;
-}
-HL_PRIM float HL_NAME(LocalConvexResult_set_m_hitFraction)( _ref(btCollisionWorld::LocalConvexResult)* _this, float value ) {
-	_unref(_this)->m_hitFraction = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,LocalConvexResult_get_m_hitFraction,_IDL);
-DEFINE_PRIM(_F32,LocalConvexResult_set_m_hitFraction,_IDL _F32);
-
-HL_PRIM bool HL_NAME(ConvexResultCallback_hasHit0)(_ref(btCollisionWorld::ConvexResultCallback)* _this) {
-	return _unref(_this)->hasHit();
-}
-DEFINE_PRIM(_BOOL, ConvexResultCallback_hasHit0, _IDL);
-
-HL_PRIM short HL_NAME(ConvexResultCallback_get_m_collisionFilterGroup)( _ref(btCollisionWorld::ConvexResultCallback)* _this ) {
-	return _unref(_this)->m_collisionFilterGroup;
-}
-HL_PRIM short HL_NAME(ConvexResultCallback_set_m_collisionFilterGroup)( _ref(btCollisionWorld::ConvexResultCallback)* _this, short value ) {
-	_unref(_this)->m_collisionFilterGroup = (value);
-	return value;
-}
-DEFINE_PRIM(_I16,ConvexResultCallback_get_m_collisionFilterGroup,_IDL);
-DEFINE_PRIM(_I16,ConvexResultCallback_set_m_collisionFilterGroup,_IDL _I16);
-
-HL_PRIM short HL_NAME(ConvexResultCallback_get_m_collisionFilterMask)( _ref(btCollisionWorld::ConvexResultCallback)* _this ) {
-	return _unref(_this)->m_collisionFilterMask;
-}
-HL_PRIM short HL_NAME(ConvexResultCallback_set_m_collisionFilterMask)( _ref(btCollisionWorld::ConvexResultCallback)* _this, short value ) {
-	_unref(_this)->m_collisionFilterMask = (value);
-	return value;
-}
-DEFINE_PRIM(_I16,ConvexResultCallback_get_m_collisionFilterMask,_IDL);
-DEFINE_PRIM(_I16,ConvexResultCallback_set_m_collisionFilterMask,_IDL _I16);
-
-HL_PRIM float HL_NAME(ConvexResultCallback_get_m_closestHitFraction)( _ref(btCollisionWorld::ConvexResultCallback)* _this ) {
-	return _unref(_this)->m_closestHitFraction;
-}
-HL_PRIM float HL_NAME(ConvexResultCallback_set_m_closestHitFraction)( _ref(btCollisionWorld::ConvexResultCallback)* _this, float value ) {
-	_unref(_this)->m_closestHitFraction = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,ConvexResultCallback_get_m_closestHitFraction,_IDL);
-DEFINE_PRIM(_F32,ConvexResultCallback_set_m_closestHitFraction,_IDL _F32);
-
-HL_PRIM _ref(btCollisionWorld::ClosestConvexResultCallback)* HL_NAME(ClosestConvexResultCallback_new2)(_ref(btVector3)* convexFromWorld, _ref(btVector3)* convexToWorld) {
-	return alloc_ref((new btCollisionWorld::ClosestConvexResultCallback(*_unref(convexFromWorld), *_unref(convexToWorld))),ClosestConvexResultCallback);
-}
-DEFINE_PRIM(_IDL, ClosestConvexResultCallback_new2, _IDL _IDL);
-
-HL_PRIM _ref(btVector3)* HL_NAME(ClosestConvexResultCallback_get_m_convexFromWorld)( _ref(btCollisionWorld::ClosestConvexResultCallback)* _this ) {
-	return alloc_ref(new btVector3(_unref(_this)->m_convexFromWorld),btVector3);
-}
-HL_PRIM _ref(btVector3)* HL_NAME(ClosestConvexResultCallback_set_m_convexFromWorld)( _ref(btCollisionWorld::ClosestConvexResultCallback)* _this, _ref(btVector3)* value ) {
-	_unref(_this)->m_convexFromWorld = *_unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,ClosestConvexResultCallback_get_m_convexFromWorld,_IDL);
-DEFINE_PRIM(_IDL,ClosestConvexResultCallback_set_m_convexFromWorld,_IDL _IDL);
-
-HL_PRIM _ref(btVector3)* HL_NAME(ClosestConvexResultCallback_get_m_convexToWorld)( _ref(btCollisionWorld::ClosestConvexResultCallback)* _this ) {
-	return alloc_ref(new btVector3(_unref(_this)->m_convexToWorld),btVector3);
-}
-HL_PRIM _ref(btVector3)* HL_NAME(ClosestConvexResultCallback_set_m_convexToWorld)( _ref(btCollisionWorld::ClosestConvexResultCallback)* _this, _ref(btVector3)* value ) {
-	_unref(_this)->m_convexToWorld = *_unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,ClosestConvexResultCallback_get_m_convexToWorld,_IDL);
-DEFINE_PRIM(_IDL,ClosestConvexResultCallback_set_m_convexToWorld,_IDL _IDL);
-
-HL_PRIM _ref(btVector3)* HL_NAME(ClosestConvexResultCallback_get_m_hitNormalWorld)( _ref(btCollisionWorld::ClosestConvexResultCallback)* _this ) {
-	return alloc_ref(new btVector3(_unref(_this)->m_hitNormalWorld),btVector3);
-}
-HL_PRIM _ref(btVector3)* HL_NAME(ClosestConvexResultCallback_set_m_hitNormalWorld)( _ref(btCollisionWorld::ClosestConvexResultCallback)* _this, _ref(btVector3)* value ) {
-	_unref(_this)->m_hitNormalWorld = *_unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,ClosestConvexResultCallback_get_m_hitNormalWorld,_IDL);
-DEFINE_PRIM(_IDL,ClosestConvexResultCallback_set_m_hitNormalWorld,_IDL _IDL);
-
-HL_PRIM _ref(btVector3)* HL_NAME(ClosestConvexResultCallback_get_m_hitPointWorld)( _ref(btCollisionWorld::ClosestConvexResultCallback)* _this ) {
-	return alloc_ref(new btVector3(_unref(_this)->m_hitPointWorld),btVector3);
-}
-HL_PRIM _ref(btVector3)* HL_NAME(ClosestConvexResultCallback_set_m_hitPointWorld)( _ref(btCollisionWorld::ClosestConvexResultCallback)* _this, _ref(btVector3)* value ) {
-	_unref(_this)->m_hitPointWorld = *_unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,ClosestConvexResultCallback_get_m_hitPointWorld,_IDL);
-DEFINE_PRIM(_IDL,ClosestConvexResultCallback_set_m_hitPointWorld,_IDL _IDL);
-
-HL_PRIM void HL_NAME(btCollisionShape_setLocalScaling1)(_ref(btCollisionShape)* _this, _ref(btVector3)* scaling) {
-	_unref(_this)->setLocalScaling(*_unref(scaling));
-}
-DEFINE_PRIM(_VOID, btCollisionShape_setLocalScaling1, _IDL _IDL);
-
-HL_PRIM void HL_NAME(btCollisionShape_calculateLocalInertia2)(_ref(btCollisionShape)* _this, float mass, _ref(btVector3)* inertia) {
-	_unref(_this)->calculateLocalInertia(mass, *_unref(inertia));
-}
-DEFINE_PRIM(_VOID, btCollisionShape_calculateLocalInertia2, _IDL _F32 _IDL);
-
-HL_PRIM void HL_NAME(btCollisionShape_setMargin1)(_ref(btCollisionShape)* _this, float margin) {
-	_unref(_this)->setMargin(margin);
-}
-DEFINE_PRIM(_VOID, btCollisionShape_setMargin1, _IDL _F32);
-
-HL_PRIM float HL_NAME(btCollisionShape_getMargin0)(_ref(btCollisionShape)* _this) {
-	return _unref(_this)->getMargin();
-}
-DEFINE_PRIM(_F32, btCollisionShape_getMargin0, _IDL);
-
-HL_PRIM _ref(btConvexTriangleMeshShape)* HL_NAME(btConvexTriangleMeshShape_new2)(_ref(btStridingMeshInterface)* meshInterface, _OPT(bool) calcAabb) {
-	if( !calcAabb )
-		return alloc_ref((new btConvexTriangleMeshShape(_unref(meshInterface))),btConvexTriangleMeshShape);
-	else
-		return alloc_ref((new btConvexTriangleMeshShape(_unref(meshInterface), _GET_OPT(calcAabb,b))),btConvexTriangleMeshShape);
-}
-DEFINE_PRIM(_IDL, btConvexTriangleMeshShape_new2, _IDL _NULL(_BOOL));
-
-HL_PRIM _ref(btBoxShape)* HL_NAME(btBoxShape_new1)(_ref(btVector3)* boxHalfExtents) {
-	return alloc_ref((new btBoxShape(*_unref(boxHalfExtents))),btBoxShape);
-}
-DEFINE_PRIM(_IDL, btBoxShape_new1, _IDL);
-
-HL_PRIM void HL_NAME(btBoxShape_setMargin1)(_ref(btBoxShape)* _this, float margin) {
-	_unref(_this)->setMargin(margin);
-}
-DEFINE_PRIM(_VOID, btBoxShape_setMargin1, _IDL _F32);
-
-HL_PRIM float HL_NAME(btBoxShape_getMargin0)(_ref(btBoxShape)* _this) {
-	return _unref(_this)->getMargin();
-}
-DEFINE_PRIM(_F32, btBoxShape_getMargin0, _IDL);
-
-HL_PRIM _ref(btCapsuleShape)* HL_NAME(btCapsuleShape_new2)(float radius, float height) {
-	return alloc_ref((new btCapsuleShape(radius, height)),btCapsuleShape);
-}
-DEFINE_PRIM(_IDL, btCapsuleShape_new2, _F32 _F32);
-
-HL_PRIM void HL_NAME(btCapsuleShape_setMargin1)(_ref(btCapsuleShape)* _this, float margin) {
-	_unref(_this)->setMargin(margin);
-}
-DEFINE_PRIM(_VOID, btCapsuleShape_setMargin1, _IDL _F32);
-
-HL_PRIM float HL_NAME(btCapsuleShape_getMargin0)(_ref(btCapsuleShape)* _this) {
-	return _unref(_this)->getMargin();
-}
-DEFINE_PRIM(_F32, btCapsuleShape_getMargin0, _IDL);
-
-HL_PRIM _ref(btCapsuleShapeX)* HL_NAME(btCapsuleShapeX_new2)(float radius, float height) {
-	return alloc_ref((new btCapsuleShapeX(radius, height)),btCapsuleShapeX);
-}
-DEFINE_PRIM(_IDL, btCapsuleShapeX_new2, _F32 _F32);
-
-HL_PRIM void HL_NAME(btCapsuleShapeX_setMargin1)(_ref(btCapsuleShapeX)* _this, float margin) {
-	_unref(_this)->setMargin(margin);
-}
-DEFINE_PRIM(_VOID, btCapsuleShapeX_setMargin1, _IDL _F32);
-
-HL_PRIM float HL_NAME(btCapsuleShapeX_getMargin0)(_ref(btCapsuleShapeX)* _this) {
-	return _unref(_this)->getMargin();
-}
-DEFINE_PRIM(_F32, btCapsuleShapeX_getMargin0, _IDL);
-
-HL_PRIM _ref(btCapsuleShapeZ)* HL_NAME(btCapsuleShapeZ_new2)(float radius, float height) {
-	return alloc_ref((new btCapsuleShapeZ(radius, height)),btCapsuleShapeZ);
-}
-DEFINE_PRIM(_IDL, btCapsuleShapeZ_new2, _F32 _F32);
-
-HL_PRIM void HL_NAME(btCapsuleShapeZ_setMargin1)(_ref(btCapsuleShapeZ)* _this, float margin) {
-	_unref(_this)->setMargin(margin);
-}
-DEFINE_PRIM(_VOID, btCapsuleShapeZ_setMargin1, _IDL _F32);
-
-HL_PRIM float HL_NAME(btCapsuleShapeZ_getMargin0)(_ref(btCapsuleShapeZ)* _this) {
-	return _unref(_this)->getMargin();
-}
-DEFINE_PRIM(_F32, btCapsuleShapeZ_getMargin0, _IDL);
-
-HL_PRIM _ref(btCylinderShape)* HL_NAME(btCylinderShape_new1)(_ref(btVector3)* halfExtents) {
-	return alloc_ref((new btCylinderShape(*_unref(halfExtents))),btCylinderShape);
-}
-DEFINE_PRIM(_IDL, btCylinderShape_new1, _IDL);
-
-HL_PRIM void HL_NAME(btCylinderShape_setMargin1)(_ref(btCylinderShape)* _this, float margin) {
-	_unref(_this)->setMargin(margin);
-}
-DEFINE_PRIM(_VOID, btCylinderShape_setMargin1, _IDL _F32);
-
-HL_PRIM float HL_NAME(btCylinderShape_getMargin0)(_ref(btCylinderShape)* _this) {
-	return _unref(_this)->getMargin();
-}
-DEFINE_PRIM(_F32, btCylinderShape_getMargin0, _IDL);
-
-HL_PRIM _ref(btCylinderShapeX)* HL_NAME(btCylinderShapeX_new1)(_ref(btVector3)* halfExtents) {
-	return alloc_ref((new btCylinderShapeX(*_unref(halfExtents))),btCylinderShapeX);
-}
-DEFINE_PRIM(_IDL, btCylinderShapeX_new1, _IDL);
-
-HL_PRIM void HL_NAME(btCylinderShapeX_setMargin1)(_ref(btCylinderShapeX)* _this, float margin) {
-	_unref(_this)->setMargin(margin);
-}
-DEFINE_PRIM(_VOID, btCylinderShapeX_setMargin1, _IDL _F32);
-
-HL_PRIM float HL_NAME(btCylinderShapeX_getMargin0)(_ref(btCylinderShapeX)* _this) {
-	return _unref(_this)->getMargin();
-}
-DEFINE_PRIM(_F32, btCylinderShapeX_getMargin0, _IDL);
-
-HL_PRIM _ref(btCylinderShapeZ)* HL_NAME(btCylinderShapeZ_new1)(_ref(btVector3)* halfExtents) {
-	return alloc_ref((new btCylinderShapeZ(*_unref(halfExtents))),btCylinderShapeZ);
-}
-DEFINE_PRIM(_IDL, btCylinderShapeZ_new1, _IDL);
-
-HL_PRIM void HL_NAME(btCylinderShapeZ_setMargin1)(_ref(btCylinderShapeZ)* _this, float margin) {
-	_unref(_this)->setMargin(margin);
-}
-DEFINE_PRIM(_VOID, btCylinderShapeZ_setMargin1, _IDL _F32);
-
-HL_PRIM float HL_NAME(btCylinderShapeZ_getMargin0)(_ref(btCylinderShapeZ)* _this) {
-	return _unref(_this)->getMargin();
-}
-DEFINE_PRIM(_F32, btCylinderShapeZ_getMargin0, _IDL);
-
-HL_PRIM _ref(btSphereShape)* HL_NAME(btSphereShape_new1)(float radius) {
-	return alloc_ref((new btSphereShape(radius)),btSphereShape);
-}
-DEFINE_PRIM(_IDL, btSphereShape_new1, _F32);
-
-HL_PRIM void HL_NAME(btSphereShape_setMargin1)(_ref(btSphereShape)* _this, float margin) {
-	_unref(_this)->setMargin(margin);
-}
-DEFINE_PRIM(_VOID, btSphereShape_setMargin1, _IDL _F32);
-
-HL_PRIM float HL_NAME(btSphereShape_getMargin0)(_ref(btSphereShape)* _this) {
-	return _unref(_this)->getMargin();
-}
-DEFINE_PRIM(_F32, btSphereShape_getMargin0, _IDL);
-
-HL_PRIM _ref(btConeShape)* HL_NAME(btConeShape_new2)(float radius, float height) {
-	return alloc_ref((new btConeShape(radius, height)),btConeShape);
-}
-DEFINE_PRIM(_IDL, btConeShape_new2, _F32 _F32);
-
-HL_PRIM _ref(btConvexHullShape)* HL_NAME(btConvexHullShape_new0)() {
-	return alloc_ref((new btConvexHullShape()),btConvexHullShape);
-}
-DEFINE_PRIM(_IDL, btConvexHullShape_new0,);
-
-HL_PRIM void HL_NAME(btConvexHullShape_addPoint2)(_ref(btConvexHullShape)* _this, _ref(btVector3)* point, _OPT(bool) recalculateLocalAABB) {
-	if( !recalculateLocalAABB )
-		_unref(_this)->addPoint(*_unref(point));
-	else
-		_unref(_this)->addPoint(*_unref(point), _GET_OPT(recalculateLocalAABB,b));
-}
-DEFINE_PRIM(_VOID, btConvexHullShape_addPoint2, _IDL _IDL _NULL(_BOOL));
-
-HL_PRIM void HL_NAME(btConvexHullShape_setMargin1)(_ref(btConvexHullShape)* _this, float margin) {
-	_unref(_this)->setMargin(margin);
-}
-DEFINE_PRIM(_VOID, btConvexHullShape_setMargin1, _IDL _F32);
-
-HL_PRIM float HL_NAME(btConvexHullShape_getMargin0)(_ref(btConvexHullShape)* _this) {
-	return _unref(_this)->getMargin();
-}
-DEFINE_PRIM(_F32, btConvexHullShape_getMargin0, _IDL);
-
-HL_PRIM _ref(btConeShapeX)* HL_NAME(btConeShapeX_new2)(float radius, float height) {
-	return alloc_ref((new btConeShapeX(radius, height)),btConeShapeX);
-}
-DEFINE_PRIM(_IDL, btConeShapeX_new2, _F32 _F32);
-
-HL_PRIM _ref(btConeShapeZ)* HL_NAME(btConeShapeZ_new2)(float radius, float height) {
-	return alloc_ref((new btConeShapeZ(radius, height)),btConeShapeZ);
-}
-DEFINE_PRIM(_IDL, btConeShapeZ_new2, _F32 _F32);
-
-HL_PRIM _ref(btCompoundShape)* HL_NAME(btCompoundShape_new1)(_OPT(bool) enableDynamicAabbTree) {
-	if( !enableDynamicAabbTree )
-		return alloc_ref((new btCompoundShape()),btCompoundShape);
-	else
-		return alloc_ref((new btCompoundShape(_GET_OPT(enableDynamicAabbTree,b))),btCompoundShape);
-}
-DEFINE_PRIM(_IDL, btCompoundShape_new1, _NULL(_BOOL));
-
-HL_PRIM void HL_NAME(btCompoundShape_addChildShape2)(_ref(btCompoundShape)* _this, _ref(btTransform)* localTransform, _ref(btCollisionShape)* shape) {
-	_unref(_this)->addChildShape(*_unref(localTransform), _unref(shape));
-}
-DEFINE_PRIM(_VOID, btCompoundShape_addChildShape2, _IDL _IDL _IDL);
-
-HL_PRIM void HL_NAME(btCompoundShape_removeChildShapeByIndex1)(_ref(btCompoundShape)* _this, int childShapeindex) {
-	_unref(_this)->removeChildShapeByIndex(childShapeindex);
-}
-DEFINE_PRIM(_VOID, btCompoundShape_removeChildShapeByIndex1, _IDL _I32);
-
-HL_PRIM HL_CONST int HL_NAME(btCompoundShape_getNumChildShapes0)(_ref(btCompoundShape)* _this) {
-	return _unref(_this)->getNumChildShapes();
-}
-DEFINE_PRIM(_I32, btCompoundShape_getNumChildShapes0, _IDL);
-
-HL_PRIM _ref(btCollisionShape)* HL_NAME(btCompoundShape_getChildShape1)(_ref(btCompoundShape)* _this, int index) {
-	return alloc_ref((_unref(_this)->getChildShape(index)),btCollisionShape);
-}
-DEFINE_PRIM(_IDL, btCompoundShape_getChildShape1, _IDL _I32);
-
-HL_PRIM void HL_NAME(btCompoundShape_setMargin1)(_ref(btCompoundShape)* _this, float margin) {
-	_unref(_this)->setMargin(margin);
-}
-DEFINE_PRIM(_VOID, btCompoundShape_setMargin1, _IDL _F32);
-
-HL_PRIM float HL_NAME(btCompoundShape_getMargin0)(_ref(btCompoundShape)* _this) {
-	return _unref(_this)->getMargin();
-}
-DEFINE_PRIM(_F32, btCompoundShape_getMargin0, _IDL);
-
-HL_PRIM _ref(btTriangleMesh)* HL_NAME(btTriangleMesh_new2)(_OPT(bool) use32bitIndices, _OPT(bool) use4componentVertices) {
-	if( !use32bitIndices )
-		return alloc_ref((new btTriangleMesh()),btTriangleMesh);
-	else
-	if( !use4componentVertices )
-		return alloc_ref((new btTriangleMesh(_GET_OPT(use32bitIndices,b))),btTriangleMesh);
-	else
-		return alloc_ref((new btTriangleMesh(_GET_OPT(use32bitIndices,b), _GET_OPT(use4componentVertices,b))),btTriangleMesh);
-}
-DEFINE_PRIM(_IDL, btTriangleMesh_new2, _NULL(_BOOL) _NULL(_BOOL));
-
-HL_PRIM void HL_NAME(btTriangleMesh_addTriangle4)(_ref(btTriangleMesh)* _this, _ref(btVector3)* vertex0, _ref(btVector3)* vertex1, _ref(btVector3)* vertex2, _OPT(bool) removeDuplicateVertices) {
-	if( !removeDuplicateVertices )
-		_unref(_this)->addTriangle(*_unref(vertex0), *_unref(vertex1), *_unref(vertex2));
-	else
-		_unref(_this)->addTriangle(*_unref(vertex0), *_unref(vertex1), *_unref(vertex2), _GET_OPT(removeDuplicateVertices,b));
-}
-DEFINE_PRIM(_VOID, btTriangleMesh_addTriangle4, _IDL _IDL _IDL _IDL _NULL(_BOOL));
-
-HL_PRIM _ref(btStaticPlaneShape)* HL_NAME(btStaticPlaneShape_new2)(_ref(btVector3)* planeNormal, float planeConstant) {
-	return alloc_ref((new btStaticPlaneShape(*_unref(planeNormal), planeConstant)),btStaticPlaneShape);
-}
-DEFINE_PRIM(_IDL, btStaticPlaneShape_new2, _IDL _F32);
-
-HL_PRIM _ref(btBvhTriangleMeshShape)* HL_NAME(btBvhTriangleMeshShape_new3)(_ref(btStridingMeshInterface)* meshInterface, bool useQuantizedAabbCompression, _OPT(bool) buildBvh) {
-	if( !buildBvh )
-		return alloc_ref((new btBvhTriangleMeshShape(_unref(meshInterface), useQuantizedAabbCompression)),btBvhTriangleMeshShape);
-	else
-		return alloc_ref((new btBvhTriangleMeshShape(_unref(meshInterface), useQuantizedAabbCompression, _GET_OPT(buildBvh,b))),btBvhTriangleMeshShape);
-}
-DEFINE_PRIM(_IDL, btBvhTriangleMeshShape_new3, _IDL _BOOL _NULL(_BOOL));
-
-HL_PRIM _ref(btHeightfieldTerrainShape)* HL_NAME(btHeightfieldTerrainShape_new9)(int heightStickWidth, int heightStickLength, void* heightfieldData, float heightScale, float minHeight, float maxHeight, int upAxis, int hdt, bool flipQuadEdges) {
-	return alloc_ref((new btHeightfieldTerrainShape(heightStickWidth, heightStickLength, heightfieldData, heightScale, minHeight, maxHeight, upAxis, PHY_ScalarType__values[hdt], flipQuadEdges)),btHeightfieldTerrainShape);
-}
-DEFINE_PRIM(_IDL, btHeightfieldTerrainShape_new9, _I32 _I32 _BYTES _F32 _F32 _F32 _I32 _I32 _BOOL);
-
-HL_PRIM void HL_NAME(btHeightfieldTerrainShape_setMargin1)(_ref(btHeightfieldTerrainShape)* _this, float margin) {
-	_unref(_this)->setMargin(margin);
-}
-DEFINE_PRIM(_VOID, btHeightfieldTerrainShape_setMargin1, _IDL _F32);
-
-HL_PRIM float HL_NAME(btHeightfieldTerrainShape_getMargin0)(_ref(btHeightfieldTerrainShape)* _this) {
-	return _unref(_this)->getMargin();
-}
-DEFINE_PRIM(_F32, btHeightfieldTerrainShape_getMargin0, _IDL);
-
-HL_PRIM _ref(btDefaultCollisionConstructionInfo)* HL_NAME(btDefaultCollisionConstructionInfo_new0)() {
-	return alloc_ref((new btDefaultCollisionConstructionInfo()),btDefaultCollisionConstructionInfo);
-}
-DEFINE_PRIM(_IDL, btDefaultCollisionConstructionInfo_new0,);
-
-HL_PRIM _ref(btDefaultCollisionConfiguration)* HL_NAME(btDefaultCollisionConfiguration_new1)(_ref(btDefaultCollisionConstructionInfo)* info) {
-	if( !info )
-		return alloc_ref((new btDefaultCollisionConfiguration()),btDefaultCollisionConfiguration);
-	else
-		return alloc_ref((new btDefaultCollisionConfiguration(*_unref(info))),btDefaultCollisionConfiguration);
-}
-DEFINE_PRIM(_IDL, btDefaultCollisionConfiguration_new1, _IDL);
-
-HL_PRIM _ref(btPersistentManifold)* HL_NAME(btPersistentManifold_new0)() {
-	return alloc_ref((new btPersistentManifold()),btPersistentManifold);
-}
-DEFINE_PRIM(_IDL, btPersistentManifold_new0,);
-
-HL_PRIM HL_CONST _ref(btCollisionObject)* HL_NAME(btPersistentManifold_getBody00)(_ref(btPersistentManifold)* _this) {
-	return alloc_ref_const((_unref(_this)->getBody0()),btCollisionObject);
-}
-DEFINE_PRIM(_IDL, btPersistentManifold_getBody00, _IDL);
-
-HL_PRIM HL_CONST _ref(btCollisionObject)* HL_NAME(btPersistentManifold_getBody10)(_ref(btPersistentManifold)* _this) {
-	return alloc_ref_const((_unref(_this)->getBody1()),btCollisionObject);
-}
-DEFINE_PRIM(_IDL, btPersistentManifold_getBody10, _IDL);
-
-HL_PRIM int HL_NAME(btPersistentManifold_getNumContacts0)(_ref(btPersistentManifold)* _this) {
-	return _unref(_this)->getNumContacts();
-}
-DEFINE_PRIM(_I32, btPersistentManifold_getNumContacts0, _IDL);
-
-HL_PRIM _ref(btManifoldPoint)* HL_NAME(btPersistentManifold_getContactPoint1)(_ref(btPersistentManifold)* _this, int index) {
-	return alloc_ref(new btManifoldPoint(_unref(_this)->getContactPoint(index)),btManifoldPoint);
-}
-DEFINE_PRIM(_IDL, btPersistentManifold_getContactPoint1, _IDL _I32);
-
-HL_PRIM int HL_NAME(btDispatcher_getNumManifolds0)(_ref(btDispatcher)* _this) {
-	return _unref(_this)->getNumManifolds();
-}
-DEFINE_PRIM(_I32, btDispatcher_getNumManifolds0, _IDL);
-
-HL_PRIM _ref(btPersistentManifold)* HL_NAME(btDispatcher_getManifoldByIndexInternal1)(_ref(btDispatcher)* _this, int index) {
-	return alloc_ref((_unref(_this)->getManifoldByIndexInternal(index)),btPersistentManifold);
-}
-DEFINE_PRIM(_IDL, btDispatcher_getManifoldByIndexInternal1, _IDL _I32);
-
-HL_PRIM _ref(btCollisionDispatcher)* HL_NAME(btCollisionDispatcher_new1)(_ref(btDefaultCollisionConfiguration)* conf) {
-	return alloc_ref((new btCollisionDispatcher(_unref(conf))),btCollisionDispatcher);
-}
-DEFINE_PRIM(_IDL, btCollisionDispatcher_new1, _IDL);
-
-HL_PRIM void HL_NAME(btOverlappingPairCache_setInternalGhostPairCallback1)(_ref(btOverlappingPairCache)* _this, _ref(btOverlappingPairCallback)* ghostPairCallback) {
-	_unref(_this)->setInternalGhostPairCallback(_unref(ghostPairCallback));
-}
-DEFINE_PRIM(_VOID, btOverlappingPairCache_setInternalGhostPairCallback1, _IDL _IDL);
-
-HL_PRIM _ref(btAxisSweep3)* HL_NAME(btAxisSweep3_new5)(_ref(btVector3)* worldAabbMin, _ref(btVector3)* worldAabbMax, _OPT(int) maxHandles, _ref(btOverlappingPairCache)* pairCache, _OPT(bool) disableRaycastAccelerator) {
-	if( !maxHandles )
-		return alloc_ref((new btAxisSweep3(*_unref(worldAabbMin), *_unref(worldAabbMax))),btAxisSweep3);
-	else
-	if( !pairCache )
-		return alloc_ref((new btAxisSweep3(*_unref(worldAabbMin), *_unref(worldAabbMax), _GET_OPT(maxHandles,i))),btAxisSweep3);
-	else
-	if( !disableRaycastAccelerator )
-		return alloc_ref((new btAxisSweep3(*_unref(worldAabbMin), *_unref(worldAabbMax), _GET_OPT(maxHandles,i), _unref(pairCache))),btAxisSweep3);
-	else
-		return alloc_ref((new btAxisSweep3(*_unref(worldAabbMin), *_unref(worldAabbMax), _GET_OPT(maxHandles,i), _unref(pairCache), _GET_OPT(disableRaycastAccelerator,b))),btAxisSweep3);
-}
-DEFINE_PRIM(_IDL, btAxisSweep3_new5, _IDL _IDL _NULL(_I32) _IDL _NULL(_BOOL));
-
-HL_PRIM _ref(btDbvtBroadphase)* HL_NAME(btDbvtBroadphase_new0)() {
-	return alloc_ref((new btDbvtBroadphase()),btDbvtBroadphase);
-}
-DEFINE_PRIM(_IDL, btDbvtBroadphase_new0,);
-
-HL_PRIM _ref(btRigidBody::btRigidBodyConstructionInfo)* HL_NAME(btRigidBodyConstructionInfo_new4)(float mass, _ref(btMotionState)* motionState, _ref(btCollisionShape)* collisionShape, _ref(btVector3)* localInertia) {
-	if( !localInertia )
-		return alloc_ref((new btRigidBody::btRigidBodyConstructionInfo(mass, _unref(motionState), _unref(collisionShape))),btRigidBodyConstructionInfo);
-	else
-		return alloc_ref((new btRigidBody::btRigidBodyConstructionInfo(mass, _unref(motionState), _unref(collisionShape), *_unref(localInertia))),btRigidBodyConstructionInfo);
-}
-DEFINE_PRIM(_IDL, btRigidBodyConstructionInfo_new4, _F32 _IDL _IDL _IDL);
-
-HL_PRIM float HL_NAME(btRigidBodyConstructionInfo_get_m_linearDamping)( _ref(btRigidBody::btRigidBodyConstructionInfo)* _this ) {
-	return _unref(_this)->m_linearDamping;
-}
-HL_PRIM float HL_NAME(btRigidBodyConstructionInfo_set_m_linearDamping)( _ref(btRigidBody::btRigidBodyConstructionInfo)* _this, float value ) {
-	_unref(_this)->m_linearDamping = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btRigidBodyConstructionInfo_get_m_linearDamping,_IDL);
-DEFINE_PRIM(_F32,btRigidBodyConstructionInfo_set_m_linearDamping,_IDL _F32);
-
-HL_PRIM float HL_NAME(btRigidBodyConstructionInfo_get_m_angularDamping)( _ref(btRigidBody::btRigidBodyConstructionInfo)* _this ) {
-	return _unref(_this)->m_angularDamping;
-}
-HL_PRIM float HL_NAME(btRigidBodyConstructionInfo_set_m_angularDamping)( _ref(btRigidBody::btRigidBodyConstructionInfo)* _this, float value ) {
-	_unref(_this)->m_angularDamping = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btRigidBodyConstructionInfo_get_m_angularDamping,_IDL);
-DEFINE_PRIM(_F32,btRigidBodyConstructionInfo_set_m_angularDamping,_IDL _F32);
-
-HL_PRIM float HL_NAME(btRigidBodyConstructionInfo_get_m_friction)( _ref(btRigidBody::btRigidBodyConstructionInfo)* _this ) {
-	return _unref(_this)->m_friction;
-}
-HL_PRIM float HL_NAME(btRigidBodyConstructionInfo_set_m_friction)( _ref(btRigidBody::btRigidBodyConstructionInfo)* _this, float value ) {
-	_unref(_this)->m_friction = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btRigidBodyConstructionInfo_get_m_friction,_IDL);
-DEFINE_PRIM(_F32,btRigidBodyConstructionInfo_set_m_friction,_IDL _F32);
-
-HL_PRIM float HL_NAME(btRigidBodyConstructionInfo_get_m_rollingFriction)( _ref(btRigidBody::btRigidBodyConstructionInfo)* _this ) {
-	return _unref(_this)->m_rollingFriction;
-}
-HL_PRIM float HL_NAME(btRigidBodyConstructionInfo_set_m_rollingFriction)( _ref(btRigidBody::btRigidBodyConstructionInfo)* _this, float value ) {
-	_unref(_this)->m_rollingFriction = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btRigidBodyConstructionInfo_get_m_rollingFriction,_IDL);
-DEFINE_PRIM(_F32,btRigidBodyConstructionInfo_set_m_rollingFriction,_IDL _F32);
-
-HL_PRIM float HL_NAME(btRigidBodyConstructionInfo_get_m_restitution)( _ref(btRigidBody::btRigidBodyConstructionInfo)* _this ) {
-	return _unref(_this)->m_restitution;
-}
-HL_PRIM float HL_NAME(btRigidBodyConstructionInfo_set_m_restitution)( _ref(btRigidBody::btRigidBodyConstructionInfo)* _this, float value ) {
-	_unref(_this)->m_restitution = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btRigidBodyConstructionInfo_get_m_restitution,_IDL);
-DEFINE_PRIM(_F32,btRigidBodyConstructionInfo_set_m_restitution,_IDL _F32);
-
-HL_PRIM float HL_NAME(btRigidBodyConstructionInfo_get_m_linearSleepingThreshold)( _ref(btRigidBody::btRigidBodyConstructionInfo)* _this ) {
-	return _unref(_this)->m_linearSleepingThreshold;
-}
-HL_PRIM float HL_NAME(btRigidBodyConstructionInfo_set_m_linearSleepingThreshold)( _ref(btRigidBody::btRigidBodyConstructionInfo)* _this, float value ) {
-	_unref(_this)->m_linearSleepingThreshold = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btRigidBodyConstructionInfo_get_m_linearSleepingThreshold,_IDL);
-DEFINE_PRIM(_F32,btRigidBodyConstructionInfo_set_m_linearSleepingThreshold,_IDL _F32);
-
-HL_PRIM float HL_NAME(btRigidBodyConstructionInfo_get_m_angularSleepingThreshold)( _ref(btRigidBody::btRigidBodyConstructionInfo)* _this ) {
-	return _unref(_this)->m_angularSleepingThreshold;
-}
-HL_PRIM float HL_NAME(btRigidBodyConstructionInfo_set_m_angularSleepingThreshold)( _ref(btRigidBody::btRigidBodyConstructionInfo)* _this, float value ) {
-	_unref(_this)->m_angularSleepingThreshold = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btRigidBodyConstructionInfo_get_m_angularSleepingThreshold,_IDL);
-DEFINE_PRIM(_F32,btRigidBodyConstructionInfo_set_m_angularSleepingThreshold,_IDL _F32);
-
-HL_PRIM bool HL_NAME(btRigidBodyConstructionInfo_get_m_additionalDamping)( _ref(btRigidBody::btRigidBodyConstructionInfo)* _this ) {
-	return _unref(_this)->m_additionalDamping;
-}
-HL_PRIM bool HL_NAME(btRigidBodyConstructionInfo_set_m_additionalDamping)( _ref(btRigidBody::btRigidBodyConstructionInfo)* _this, bool value ) {
-	_unref(_this)->m_additionalDamping = (value);
-	return value;
-}
-DEFINE_PRIM(_BOOL,btRigidBodyConstructionInfo_get_m_additionalDamping,_IDL);
-DEFINE_PRIM(_BOOL,btRigidBodyConstructionInfo_set_m_additionalDamping,_IDL _BOOL);
-
-HL_PRIM float HL_NAME(btRigidBodyConstructionInfo_get_m_additionalDampingFactor)( _ref(btRigidBody::btRigidBodyConstructionInfo)* _this ) {
-	return _unref(_this)->m_additionalDampingFactor;
-}
-HL_PRIM float HL_NAME(btRigidBodyConstructionInfo_set_m_additionalDampingFactor)( _ref(btRigidBody::btRigidBodyConstructionInfo)* _this, float value ) {
-	_unref(_this)->m_additionalDampingFactor = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btRigidBodyConstructionInfo_get_m_additionalDampingFactor,_IDL);
-DEFINE_PRIM(_F32,btRigidBodyConstructionInfo_set_m_additionalDampingFactor,_IDL _F32);
-
-HL_PRIM float HL_NAME(btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr)( _ref(btRigidBody::btRigidBodyConstructionInfo)* _this ) {
-	return _unref(_this)->m_additionalLinearDampingThresholdSqr;
-}
-HL_PRIM float HL_NAME(btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr)( _ref(btRigidBody::btRigidBodyConstructionInfo)* _this, float value ) {
-	_unref(_this)->m_additionalLinearDampingThresholdSqr = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr,_IDL);
-DEFINE_PRIM(_F32,btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr,_IDL _F32);
-
-HL_PRIM float HL_NAME(btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr)( _ref(btRigidBody::btRigidBodyConstructionInfo)* _this ) {
-	return _unref(_this)->m_additionalAngularDampingThresholdSqr;
-}
-HL_PRIM float HL_NAME(btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr)( _ref(btRigidBody::btRigidBodyConstructionInfo)* _this, float value ) {
-	_unref(_this)->m_additionalAngularDampingThresholdSqr = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr,_IDL);
-DEFINE_PRIM(_F32,btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr,_IDL _F32);
-
-HL_PRIM float HL_NAME(btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor)( _ref(btRigidBody::btRigidBodyConstructionInfo)* _this ) {
-	return _unref(_this)->m_additionalAngularDampingFactor;
-}
-HL_PRIM float HL_NAME(btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor)( _ref(btRigidBody::btRigidBodyConstructionInfo)* _this, float value ) {
-	_unref(_this)->m_additionalAngularDampingFactor = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor,_IDL);
-DEFINE_PRIM(_F32,btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor,_IDL _F32);
-
-HL_PRIM _ref(btRigidBody)* HL_NAME(btRigidBody_new1)(_ref(btRigidBody::btRigidBodyConstructionInfo)* constructionInfo) {
-	return alloc_ref((new btRigidBody(*_unref(constructionInfo))),btRigidBody);
-}
-DEFINE_PRIM(_IDL, btRigidBody_new1, _IDL);
-
-HL_PRIM HL_CONST _ref(btTransform)* HL_NAME(btRigidBody_getCenterOfMassTransform0)(_ref(btRigidBody)* _this) {
-	return alloc_ref(new btTransform(_unref(_this)->getCenterOfMassTransform()),btTransform);
-}
-DEFINE_PRIM(_IDL, btRigidBody_getCenterOfMassTransform0, _IDL);
-
-HL_PRIM void HL_NAME(btRigidBody_setCenterOfMassTransform1)(_ref(btRigidBody)* _this, _ref(btTransform)* xform) {
-	_unref(_this)->setCenterOfMassTransform(*_unref(xform));
-}
-DEFINE_PRIM(_VOID, btRigidBody_setCenterOfMassTransform1, _IDL _IDL);
-
-HL_PRIM void HL_NAME(btRigidBody_setSleepingThresholds2)(_ref(btRigidBody)* _this, float linear, float angular) {
-	_unref(_this)->setSleepingThresholds(linear, angular);
-}
-DEFINE_PRIM(_VOID, btRigidBody_setSleepingThresholds2, _IDL _F32 _F32);
-
-HL_PRIM void HL_NAME(btRigidBody_setDamping2)(_ref(btRigidBody)* _this, float lin_damping, float ang_damping) {
-	_unref(_this)->setDamping(lin_damping, ang_damping);
-}
-DEFINE_PRIM(_VOID, btRigidBody_setDamping2, _IDL _F32 _F32);
-
-HL_PRIM void HL_NAME(btRigidBody_setMassProps2)(_ref(btRigidBody)* _this, float mass, _ref(btVector3)* inertia) {
-	_unref(_this)->setMassProps(mass, *_unref(inertia));
-}
-DEFINE_PRIM(_VOID, btRigidBody_setMassProps2, _IDL _F32 _IDL);
-
-HL_PRIM void HL_NAME(btRigidBody_setLinearFactor1)(_ref(btRigidBody)* _this, _ref(btVector3)* linearFactor) {
-	_unref(_this)->setLinearFactor(*_unref(linearFactor));
-}
-DEFINE_PRIM(_VOID, btRigidBody_setLinearFactor1, _IDL _IDL);
-
-HL_PRIM void HL_NAME(btRigidBody_applyTorque1)(_ref(btRigidBody)* _this, _ref(btVector3)* torque) {
-	_unref(_this)->applyTorque(*_unref(torque));
-}
-DEFINE_PRIM(_VOID, btRigidBody_applyTorque1, _IDL _IDL);
-
-HL_PRIM void HL_NAME(btRigidBody_applyForce2)(_ref(btRigidBody)* _this, _ref(btVector3)* force, _ref(btVector3)* rel_pos) {
-	_unref(_this)->applyForce(*_unref(force), *_unref(rel_pos));
-}
-DEFINE_PRIM(_VOID, btRigidBody_applyForce2, _IDL _IDL _IDL);
-
-HL_PRIM void HL_NAME(btRigidBody_applyCentralForce1)(_ref(btRigidBody)* _this, _ref(btVector3)* force) {
-	_unref(_this)->applyCentralForce(*_unref(force));
-}
-DEFINE_PRIM(_VOID, btRigidBody_applyCentralForce1, _IDL _IDL);
-
-HL_PRIM void HL_NAME(btRigidBody_applyTorqueImpulse1)(_ref(btRigidBody)* _this, _ref(btVector3)* torque) {
-	_unref(_this)->applyTorqueImpulse(*_unref(torque));
-}
-DEFINE_PRIM(_VOID, btRigidBody_applyTorqueImpulse1, _IDL _IDL);
-
-HL_PRIM void HL_NAME(btRigidBody_applyImpulse2)(_ref(btRigidBody)* _this, _ref(btVector3)* impulse, _ref(btVector3)* rel_pos) {
-	_unref(_this)->applyImpulse(*_unref(impulse), *_unref(rel_pos));
-}
-DEFINE_PRIM(_VOID, btRigidBody_applyImpulse2, _IDL _IDL _IDL);
-
-HL_PRIM void HL_NAME(btRigidBody_applyCentralImpulse1)(_ref(btRigidBody)* _this, _ref(btVector3)* impulse) {
-	_unref(_this)->applyCentralImpulse(*_unref(impulse));
-}
-DEFINE_PRIM(_VOID, btRigidBody_applyCentralImpulse1, _IDL _IDL);
-
-HL_PRIM void HL_NAME(btRigidBody_updateInertiaTensor0)(_ref(btRigidBody)* _this) {
-	_unref(_this)->updateInertiaTensor();
-}
-DEFINE_PRIM(_VOID, btRigidBody_updateInertiaTensor0, _IDL);
-
-HL_PRIM HL_CONST _ref(btVector3)* HL_NAME(btRigidBody_getLinearVelocity0)(_ref(btRigidBody)* _this) {
-	return alloc_ref(new btVector3(_unref(_this)->getLinearVelocity()),btVector3);
-}
-DEFINE_PRIM(_IDL, btRigidBody_getLinearVelocity0, _IDL);
-
-HL_PRIM HL_CONST _ref(btVector3)* HL_NAME(btRigidBody_getAngularVelocity0)(_ref(btRigidBody)* _this) {
-	return alloc_ref(new btVector3(_unref(_this)->getAngularVelocity()),btVector3);
-}
-DEFINE_PRIM(_IDL, btRigidBody_getAngularVelocity0, _IDL);
-
-HL_PRIM void HL_NAME(btRigidBody_setLinearVelocity1)(_ref(btRigidBody)* _this, _ref(btVector3)* lin_vel) {
-	_unref(_this)->setLinearVelocity(*_unref(lin_vel));
-}
-DEFINE_PRIM(_VOID, btRigidBody_setLinearVelocity1, _IDL _IDL);
-
-HL_PRIM void HL_NAME(btRigidBody_setAngularVelocity1)(_ref(btRigidBody)* _this, _ref(btVector3)* ang_vel) {
-	_unref(_this)->setAngularVelocity(*_unref(ang_vel));
-}
-DEFINE_PRIM(_VOID, btRigidBody_setAngularVelocity1, _IDL _IDL);
-
-HL_PRIM _ref(btMotionState)* HL_NAME(btRigidBody_getMotionState0)(_ref(btRigidBody)* _this) {
-	return alloc_ref((_unref(_this)->getMotionState()),btMotionState);
-}
-DEFINE_PRIM(_IDL, btRigidBody_getMotionState0, _IDL);
-
-HL_PRIM void HL_NAME(btRigidBody_setMotionState1)(_ref(btRigidBody)* _this, _ref(btMotionState)* motionState) {
-	_unref(_this)->setMotionState(_unref(motionState));
-}
-DEFINE_PRIM(_VOID, btRigidBody_setMotionState1, _IDL _IDL);
-
-HL_PRIM void HL_NAME(btRigidBody_setAngularFactor1)(_ref(btRigidBody)* _this, _ref(btVector3)* angularFactor) {
-	_unref(_this)->setAngularFactor(*_unref(angularFactor));
-}
-DEFINE_PRIM(_VOID, btRigidBody_setAngularFactor1, _IDL _IDL);
-
-HL_PRIM _ref(btRigidBody)* HL_NAME(btRigidBody_upcast1)(_ref(btRigidBody)* _this, _ref(btCollisionObject)* colObj) {
-	return alloc_ref((_unref(_this)->upcast(_unref(colObj))),btRigidBody);
-}
-DEFINE_PRIM(_IDL, btRigidBody_upcast1, _IDL _IDL);
-
-HL_PRIM void HL_NAME(btRigidBody_getAabb2)(_ref(btRigidBody)* _this, _ref(btVector3)* aabbMin, _ref(btVector3)* aabbMax) {
-	_unref(_this)->getAabb(*_unref(aabbMin), *_unref(aabbMax));
-}
-DEFINE_PRIM(_VOID, btRigidBody_getAabb2, _IDL _IDL _IDL);
-
-HL_PRIM _ref(btConstraintSetting)* HL_NAME(btConstraintSetting_new0)() {
-	return alloc_ref((new btConstraintSetting()),btConstraintSetting);
-}
-DEFINE_PRIM(_IDL, btConstraintSetting_new0,);
-
-HL_PRIM float HL_NAME(btConstraintSetting_get_m_tau)( _ref(btConstraintSetting)* _this ) {
-	return _unref(_this)->m_tau;
-}
-HL_PRIM float HL_NAME(btConstraintSetting_set_m_tau)( _ref(btConstraintSetting)* _this, float value ) {
-	_unref(_this)->m_tau = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btConstraintSetting_get_m_tau,_IDL);
-DEFINE_PRIM(_F32,btConstraintSetting_set_m_tau,_IDL _F32);
-
-HL_PRIM float HL_NAME(btConstraintSetting_get_m_damping)( _ref(btConstraintSetting)* _this ) {
-	return _unref(_this)->m_damping;
-}
-HL_PRIM float HL_NAME(btConstraintSetting_set_m_damping)( _ref(btConstraintSetting)* _this, float value ) {
-	_unref(_this)->m_damping = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btConstraintSetting_get_m_damping,_IDL);
-DEFINE_PRIM(_F32,btConstraintSetting_set_m_damping,_IDL _F32);
-
-HL_PRIM float HL_NAME(btConstraintSetting_get_m_impulseClamp)( _ref(btConstraintSetting)* _this ) {
-	return _unref(_this)->m_impulseClamp;
-}
-HL_PRIM float HL_NAME(btConstraintSetting_set_m_impulseClamp)( _ref(btConstraintSetting)* _this, float value ) {
-	_unref(_this)->m_impulseClamp = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btConstraintSetting_get_m_impulseClamp,_IDL);
-DEFINE_PRIM(_F32,btConstraintSetting_set_m_impulseClamp,_IDL _F32);
-
-HL_PRIM void HL_NAME(btTypedConstraint_enableFeedback1)(_ref(btTypedConstraint)* _this, bool needsFeedback) {
-	_unref(_this)->enableFeedback(needsFeedback);
-}
-DEFINE_PRIM(_VOID, btTypedConstraint_enableFeedback1, _IDL _BOOL);
-
-HL_PRIM HL_CONST float HL_NAME(btTypedConstraint_getBreakingImpulseThreshold0)(_ref(btTypedConstraint)* _this) {
-	return _unref(_this)->getBreakingImpulseThreshold();
-}
-DEFINE_PRIM(_F32, btTypedConstraint_getBreakingImpulseThreshold0, _IDL);
-
-HL_PRIM void HL_NAME(btTypedConstraint_setBreakingImpulseThreshold1)(_ref(btTypedConstraint)* _this, float threshold) {
-	_unref(_this)->setBreakingImpulseThreshold(threshold);
-}
-DEFINE_PRIM(_VOID, btTypedConstraint_setBreakingImpulseThreshold1, _IDL _F32);
-
-HL_PRIM HL_CONST float HL_NAME(btTypedConstraint_getParam2)(_ref(btTypedConstraint)* _this, int num, int axis) {
-	return _unref(_this)->getParam(num, axis);
-}
-DEFINE_PRIM(_F32, btTypedConstraint_getParam2, _IDL _I32 _I32);
-
-HL_PRIM void HL_NAME(btTypedConstraint_setParam3)(_ref(btTypedConstraint)* _this, int num, float value, int axis) {
-	_unref(_this)->setParam(num, value, axis);
-}
-DEFINE_PRIM(_VOID, btTypedConstraint_setParam3, _IDL _I32 _F32 _I32);
-
-HL_PRIM _ref(btPoint2PointConstraint)* HL_NAME(btPoint2PointConstraint_new4)(_ref(btRigidBody)* rbA, _ref(btRigidBody)* rbB, _ref(btVector3)* pivotInA, _ref(btVector3)* pivotInB) {
-	return alloc_ref((new btPoint2PointConstraint(*_unref(rbA), *_unref(rbB), *_unref(pivotInA), *_unref(pivotInB))),btPoint2PointConstraint);
-}
-DEFINE_PRIM(_IDL, btPoint2PointConstraint_new4, _IDL _IDL _IDL _IDL);
-
-HL_PRIM _ref(btPoint2PointConstraint)* HL_NAME(btPoint2PointConstraint_new2)(_ref(btRigidBody)* rbA, _ref(btVector3)* pivotInA) {
-	return alloc_ref((new btPoint2PointConstraint(*_unref(rbA), *_unref(pivotInA))),btPoint2PointConstraint);
-}
-DEFINE_PRIM(_IDL, btPoint2PointConstraint_new2, _IDL _IDL);
-
-HL_PRIM void HL_NAME(btPoint2PointConstraint_setPivotA1)(_ref(btPoint2PointConstraint)* _this, _ref(btVector3)* pivotA) {
-	_unref(_this)->setPivotA(*_unref(pivotA));
-}
-DEFINE_PRIM(_VOID, btPoint2PointConstraint_setPivotA1, _IDL _IDL);
-
-HL_PRIM void HL_NAME(btPoint2PointConstraint_setPivotB1)(_ref(btPoint2PointConstraint)* _this, _ref(btVector3)* pivotB) {
-	_unref(_this)->setPivotB(*_unref(pivotB));
-}
-DEFINE_PRIM(_VOID, btPoint2PointConstraint_setPivotB1, _IDL _IDL);
-
-HL_PRIM HL_CONST _ref(btVector3)* HL_NAME(btPoint2PointConstraint_getPivotInA0)(_ref(btPoint2PointConstraint)* _this) {
-	return alloc_ref(new btVector3(_unref(_this)->getPivotInA()),btVector3);
-}
-DEFINE_PRIM(_IDL, btPoint2PointConstraint_getPivotInA0, _IDL);
-
-HL_PRIM HL_CONST _ref(btVector3)* HL_NAME(btPoint2PointConstraint_getPivotInB0)(_ref(btPoint2PointConstraint)* _this) {
-	return alloc_ref(new btVector3(_unref(_this)->getPivotInB()),btVector3);
-}
-DEFINE_PRIM(_IDL, btPoint2PointConstraint_getPivotInB0, _IDL);
-
-HL_PRIM _ref(btConstraintSetting)* HL_NAME(btPoint2PointConstraint_get_m_setting)( _ref(btPoint2PointConstraint)* _this ) {
-	return alloc_ref(new btConstraintSetting(_unref(_this)->m_setting),btConstraintSetting);
-}
-HL_PRIM _ref(btConstraintSetting)* HL_NAME(btPoint2PointConstraint_set_m_setting)( _ref(btPoint2PointConstraint)* _this, _ref(btConstraintSetting)* value ) {
-	_unref(_this)->m_setting = *_unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,btPoint2PointConstraint_get_m_setting,_IDL);
-DEFINE_PRIM(_IDL,btPoint2PointConstraint_set_m_setting,_IDL _IDL);
-
-HL_PRIM _ref(btGeneric6DofConstraint)* HL_NAME(btGeneric6DofConstraint_new5)(_ref(btRigidBody)* rbA, _ref(btRigidBody)* rbB, _ref(btTransform)* frameInA, _ref(btTransform)* frameInB, bool useLinearFrameReferenceFrameA) {
-	return alloc_ref((new btGeneric6DofConstraint(*_unref(rbA), *_unref(rbB), *_unref(frameInA), *_unref(frameInB), useLinearFrameReferenceFrameA)),btGeneric6DofConstraint);
-}
-DEFINE_PRIM(_IDL, btGeneric6DofConstraint_new5, _IDL _IDL _IDL _IDL _BOOL);
-
-HL_PRIM _ref(btGeneric6DofConstraint)* HL_NAME(btGeneric6DofConstraint_new3)(_ref(btRigidBody)* rbB, _ref(btTransform)* frameInB, bool useLinearFrameReferenceFrameB) {
-	return alloc_ref((new btGeneric6DofConstraint(*_unref(rbB), *_unref(frameInB), useLinearFrameReferenceFrameB)),btGeneric6DofConstraint);
-}
-DEFINE_PRIM(_IDL, btGeneric6DofConstraint_new3, _IDL _IDL _BOOL);
-
-HL_PRIM void HL_NAME(btGeneric6DofConstraint_setLinearLowerLimit1)(_ref(btGeneric6DofConstraint)* _this, _ref(btVector3)* linearLower) {
-	_unref(_this)->setLinearLowerLimit(*_unref(linearLower));
-}
-DEFINE_PRIM(_VOID, btGeneric6DofConstraint_setLinearLowerLimit1, _IDL _IDL);
-
-HL_PRIM void HL_NAME(btGeneric6DofConstraint_setLinearUpperLimit1)(_ref(btGeneric6DofConstraint)* _this, _ref(btVector3)* linearUpper) {
-	_unref(_this)->setLinearUpperLimit(*_unref(linearUpper));
-}
-DEFINE_PRIM(_VOID, btGeneric6DofConstraint_setLinearUpperLimit1, _IDL _IDL);
-
-HL_PRIM void HL_NAME(btGeneric6DofConstraint_setAngularLowerLimit1)(_ref(btGeneric6DofConstraint)* _this, _ref(btVector3)* angularLower) {
-	_unref(_this)->setAngularLowerLimit(*_unref(angularLower));
-}
-DEFINE_PRIM(_VOID, btGeneric6DofConstraint_setAngularLowerLimit1, _IDL _IDL);
-
-HL_PRIM void HL_NAME(btGeneric6DofConstraint_setAngularUpperLimit1)(_ref(btGeneric6DofConstraint)* _this, _ref(btVector3)* angularUpper) {
-	_unref(_this)->setAngularUpperLimit(*_unref(angularUpper));
-}
-DEFINE_PRIM(_VOID, btGeneric6DofConstraint_setAngularUpperLimit1, _IDL _IDL);
-
-HL_PRIM _ref(btGeneric6DofSpringConstraint)* HL_NAME(btGeneric6DofSpringConstraint_new5)(_ref(btRigidBody)* rbA, _ref(btRigidBody)* rbB, _ref(btTransform)* frameInA, _ref(btTransform)* frameInB, bool useLinearFrameReferenceFrameA) {
-	return alloc_ref((new btGeneric6DofSpringConstraint(*_unref(rbA), *_unref(rbB), *_unref(frameInA), *_unref(frameInB), useLinearFrameReferenceFrameA)),btGeneric6DofSpringConstraint);
-}
-DEFINE_PRIM(_IDL, btGeneric6DofSpringConstraint_new5, _IDL _IDL _IDL _IDL _BOOL);
-
-HL_PRIM _ref(btGeneric6DofSpringConstraint)* HL_NAME(btGeneric6DofSpringConstraint_new3)(_ref(btRigidBody)* rbB, _ref(btTransform)* frameInB, bool useLinearFrameReferenceFrameB) {
-	return alloc_ref((new btGeneric6DofSpringConstraint(*_unref(rbB), *_unref(frameInB), useLinearFrameReferenceFrameB)),btGeneric6DofSpringConstraint);
-}
-DEFINE_PRIM(_IDL, btGeneric6DofSpringConstraint_new3, _IDL _IDL _BOOL);
-
-HL_PRIM void HL_NAME(btGeneric6DofSpringConstraint_enableSpring2)(_ref(btGeneric6DofSpringConstraint)* _this, int index, bool onOff) {
-	_unref(_this)->enableSpring(index, onOff);
-}
-DEFINE_PRIM(_VOID, btGeneric6DofSpringConstraint_enableSpring2, _IDL _I32 _BOOL);
-
-HL_PRIM void HL_NAME(btGeneric6DofSpringConstraint_setStiffness2)(_ref(btGeneric6DofSpringConstraint)* _this, int index, float stiffness) {
-	_unref(_this)->setStiffness(index, stiffness);
-}
-DEFINE_PRIM(_VOID, btGeneric6DofSpringConstraint_setStiffness2, _IDL _I32 _F32);
-
-HL_PRIM void HL_NAME(btGeneric6DofSpringConstraint_setDamping2)(_ref(btGeneric6DofSpringConstraint)* _this, int index, float damping) {
-	_unref(_this)->setDamping(index, damping);
-}
-DEFINE_PRIM(_VOID, btGeneric6DofSpringConstraint_setDamping2, _IDL _I32 _F32);
-
-HL_PRIM _ref(btSequentialImpulseConstraintSolver)* HL_NAME(btSequentialImpulseConstraintSolver_new0)() {
-	return alloc_ref((new btSequentialImpulseConstraintSolver()),btSequentialImpulseConstraintSolver);
-}
-DEFINE_PRIM(_IDL, btSequentialImpulseConstraintSolver_new0,);
-
-HL_PRIM _ref(btConeTwistConstraint)* HL_NAME(btConeTwistConstraint_new4)(_ref(btRigidBody)* rbA, _ref(btRigidBody)* rbB, _ref(btTransform)* rbAFrame, _ref(btTransform)* rbBFrame) {
-	return alloc_ref((new btConeTwistConstraint(*_unref(rbA), *_unref(rbB), *_unref(rbAFrame), *_unref(rbBFrame))),btConeTwistConstraint);
-}
-DEFINE_PRIM(_IDL, btConeTwistConstraint_new4, _IDL _IDL _IDL _IDL);
-
-HL_PRIM _ref(btConeTwistConstraint)* HL_NAME(btConeTwistConstraint_new2)(_ref(btRigidBody)* rbA, _ref(btTransform)* rbAFrame) {
-	return alloc_ref((new btConeTwistConstraint(*_unref(rbA), *_unref(rbAFrame))),btConeTwistConstraint);
-}
-DEFINE_PRIM(_IDL, btConeTwistConstraint_new2, _IDL _IDL);
-
-HL_PRIM void HL_NAME(btConeTwistConstraint_setLimit2)(_ref(btConeTwistConstraint)* _this, int limitIndex, float limitValue) {
-	_unref(_this)->setLimit(limitIndex, limitValue);
-}
-DEFINE_PRIM(_VOID, btConeTwistConstraint_setLimit2, _IDL _I32 _F32);
-
-HL_PRIM void HL_NAME(btConeTwistConstraint_setAngularOnly1)(_ref(btConeTwistConstraint)* _this, bool angularOnly) {
-	_unref(_this)->setAngularOnly(angularOnly);
-}
-DEFINE_PRIM(_VOID, btConeTwistConstraint_setAngularOnly1, _IDL _BOOL);
-
-HL_PRIM void HL_NAME(btConeTwistConstraint_setDamping1)(_ref(btConeTwistConstraint)* _this, float damping) {
-	_unref(_this)->setDamping(damping);
-}
-DEFINE_PRIM(_VOID, btConeTwistConstraint_setDamping1, _IDL _F32);
-
-HL_PRIM void HL_NAME(btConeTwistConstraint_enableMotor1)(_ref(btConeTwistConstraint)* _this, bool b) {
-	_unref(_this)->enableMotor(b);
-}
-DEFINE_PRIM(_VOID, btConeTwistConstraint_enableMotor1, _IDL _BOOL);
-
-HL_PRIM void HL_NAME(btConeTwistConstraint_setMaxMotorImpulse1)(_ref(btConeTwistConstraint)* _this, float maxMotorImpulse) {
-	_unref(_this)->setMaxMotorImpulse(maxMotorImpulse);
-}
-DEFINE_PRIM(_VOID, btConeTwistConstraint_setMaxMotorImpulse1, _IDL _F32);
-
-HL_PRIM void HL_NAME(btConeTwistConstraint_setMaxMotorImpulseNormalized1)(_ref(btConeTwistConstraint)* _this, float maxMotorImpulse) {
-	_unref(_this)->setMaxMotorImpulseNormalized(maxMotorImpulse);
-}
-DEFINE_PRIM(_VOID, btConeTwistConstraint_setMaxMotorImpulseNormalized1, _IDL _F32);
-
-HL_PRIM void HL_NAME(btConeTwistConstraint_setMotorTarget1)(_ref(btConeTwistConstraint)* _this, _ref(btQuaternion)* q) {
-	_unref(_this)->setMotorTarget(*_unref(q));
-}
-DEFINE_PRIM(_VOID, btConeTwistConstraint_setMotorTarget1, _IDL _IDL);
-
-HL_PRIM void HL_NAME(btConeTwistConstraint_setMotorTargetInConstraintSpace1)(_ref(btConeTwistConstraint)* _this, _ref(btQuaternion)* q) {
-	_unref(_this)->setMotorTargetInConstraintSpace(*_unref(q));
-}
-DEFINE_PRIM(_VOID, btConeTwistConstraint_setMotorTargetInConstraintSpace1, _IDL _IDL);
-
-HL_PRIM _ref(btHingeConstraint)* HL_NAME(btHingeConstraint_new7)(_ref(btRigidBody)* rbA, _ref(btRigidBody)* rbB, _ref(btVector3)* pivotInA, _ref(btVector3)* pivotInB, _ref(btVector3)* axisInA, _ref(btVector3)* axisInB, _OPT(bool) useReferenceFrameA) {
-	if( !useReferenceFrameA )
-		return alloc_ref((new btHingeConstraint(*_unref(rbA), *_unref(rbB), *_unref(pivotInA), *_unref(pivotInB), *_unref(axisInA), *_unref(axisInB))),btHingeConstraint);
-	else
-		return alloc_ref((new btHingeConstraint(*_unref(rbA), *_unref(rbB), *_unref(pivotInA), *_unref(pivotInB), *_unref(axisInA), *_unref(axisInB), _GET_OPT(useReferenceFrameA,b))),btHingeConstraint);
-}
-DEFINE_PRIM(_IDL, btHingeConstraint_new7, _IDL _IDL _IDL _IDL _IDL _IDL _NULL(_BOOL));
-
-HL_PRIM _ref(btHingeConstraint)* HL_NAME(btHingeConstraint_new4)(_ref(btRigidBody)* rbA, _ref(btVector3)* pivotInA, _ref(btVector3)* axisInA, _OPT(bool) useReferenceFrameA) {
-	if( !useReferenceFrameA )
-		return alloc_ref((new btHingeConstraint(*_unref(rbA), *_unref(pivotInA), *_unref(axisInA))),btHingeConstraint);
-	else
-		return alloc_ref((new btHingeConstraint(*_unref(rbA), *_unref(pivotInA), *_unref(axisInA), _GET_OPT(useReferenceFrameA,b))),btHingeConstraint);
-}
-DEFINE_PRIM(_IDL, btHingeConstraint_new4, _IDL _IDL _IDL _NULL(_BOOL));
-
-HL_PRIM _ref(btHingeConstraint)* HL_NAME(btHingeConstraint_new5)(_ref(btRigidBody)* rbA, _ref(btRigidBody)* rbB, _ref(btTransform)* rbAFrame, _ref(btTransform)* rbBFrame, _OPT(bool) useReferenceFrameA) {
-	if( !useReferenceFrameA )
-		return alloc_ref((new btHingeConstraint(*_unref(rbA), *_unref(rbB), *_unref(rbAFrame), *_unref(rbBFrame))),btHingeConstraint);
-	else
-		return alloc_ref((new btHingeConstraint(*_unref(rbA), *_unref(rbB), *_unref(rbAFrame), *_unref(rbBFrame), _GET_OPT(useReferenceFrameA,b))),btHingeConstraint);
-}
-DEFINE_PRIM(_IDL, btHingeConstraint_new5, _IDL _IDL _IDL _IDL _NULL(_BOOL));
-
-HL_PRIM _ref(btHingeConstraint)* HL_NAME(btHingeConstraint_new3)(_ref(btRigidBody)* rbA, _ref(btTransform)* rbAFrame, _OPT(bool) useReferenceFrameA) {
-	if( !useReferenceFrameA )
-		return alloc_ref((new btHingeConstraint(*_unref(rbA), *_unref(rbAFrame))),btHingeConstraint);
-	else
-		return alloc_ref((new btHingeConstraint(*_unref(rbA), *_unref(rbAFrame), _GET_OPT(useReferenceFrameA,b))),btHingeConstraint);
-}
-DEFINE_PRIM(_IDL, btHingeConstraint_new3, _IDL _IDL _NULL(_BOOL));
-
-HL_PRIM void HL_NAME(btHingeConstraint_setLimit5)(_ref(btHingeConstraint)* _this, float low, float high, float softness, float biasFactor, _OPT(float) relaxationFactor) {
-	if( !relaxationFactor )
-		_unref(_this)->setLimit(low, high, softness, biasFactor);
-	else
-		_unref(_this)->setLimit(low, high, softness, biasFactor, _GET_OPT(relaxationFactor,f));
-}
-DEFINE_PRIM(_VOID, btHingeConstraint_setLimit5, _IDL _F32 _F32 _F32 _F32 _NULL(_F32));
-
-HL_PRIM void HL_NAME(btHingeConstraint_enableAngularMotor3)(_ref(btHingeConstraint)* _this, bool enableMotor, float targetVelocity, float maxMotorImpulse) {
-	_unref(_this)->enableAngularMotor(enableMotor, targetVelocity, maxMotorImpulse);
-}
-DEFINE_PRIM(_VOID, btHingeConstraint_enableAngularMotor3, _IDL _BOOL _F32 _F32);
-
-HL_PRIM void HL_NAME(btHingeConstraint_setAngularOnly1)(_ref(btHingeConstraint)* _this, bool angularOnly) {
-	_unref(_this)->setAngularOnly(angularOnly);
-}
-DEFINE_PRIM(_VOID, btHingeConstraint_setAngularOnly1, _IDL _BOOL);
-
-HL_PRIM void HL_NAME(btHingeConstraint_enableMotor1)(_ref(btHingeConstraint)* _this, bool enableMotor) {
-	_unref(_this)->enableMotor(enableMotor);
-}
-DEFINE_PRIM(_VOID, btHingeConstraint_enableMotor1, _IDL _BOOL);
-
-HL_PRIM void HL_NAME(btHingeConstraint_setMaxMotorImpulse1)(_ref(btHingeConstraint)* _this, float maxMotorImpulse) {
-	_unref(_this)->setMaxMotorImpulse(maxMotorImpulse);
-}
-DEFINE_PRIM(_VOID, btHingeConstraint_setMaxMotorImpulse1, _IDL _F32);
-
-HL_PRIM void HL_NAME(btHingeConstraint_setMotorTarget2)(_ref(btHingeConstraint)* _this, _ref(btQuaternion)* qAinB, float dt) {
-	_unref(_this)->setMotorTarget(*_unref(qAinB), dt);
-}
-DEFINE_PRIM(_VOID, btHingeConstraint_setMotorTarget2, _IDL _IDL _F32);
-
-HL_PRIM _ref(btSliderConstraint)* HL_NAME(btSliderConstraint_new5)(_ref(btRigidBody)* rbA, _ref(btRigidBody)* rbB, _ref(btTransform)* frameInA, _ref(btTransform)* frameInB, bool useLinearReferenceFrameA) {
-	return alloc_ref((new btSliderConstraint(*_unref(rbA), *_unref(rbB), *_unref(frameInA), *_unref(frameInB), useLinearReferenceFrameA)),btSliderConstraint);
-}
-DEFINE_PRIM(_IDL, btSliderConstraint_new5, _IDL _IDL _IDL _IDL _BOOL);
-
-HL_PRIM _ref(btSliderConstraint)* HL_NAME(btSliderConstraint_new3)(_ref(btRigidBody)* rbB, _ref(btTransform)* frameInB, bool useLinearReferenceFrameA) {
-	return alloc_ref((new btSliderConstraint(*_unref(rbB), *_unref(frameInB), useLinearReferenceFrameA)),btSliderConstraint);
-}
-DEFINE_PRIM(_IDL, btSliderConstraint_new3, _IDL _IDL _BOOL);
-
-HL_PRIM void HL_NAME(btSliderConstraint_setLowerLinLimit1)(_ref(btSliderConstraint)* _this, float lowerLimit) {
-	_unref(_this)->setLowerLinLimit(lowerLimit);
-}
-DEFINE_PRIM(_VOID, btSliderConstraint_setLowerLinLimit1, _IDL _F32);
-
-HL_PRIM void HL_NAME(btSliderConstraint_setUpperLinLimit1)(_ref(btSliderConstraint)* _this, float upperLimit) {
-	_unref(_this)->setUpperLinLimit(upperLimit);
-}
-DEFINE_PRIM(_VOID, btSliderConstraint_setUpperLinLimit1, _IDL _F32);
-
-HL_PRIM void HL_NAME(btSliderConstraint_setLowerAngLimit1)(_ref(btSliderConstraint)* _this, float lowerAngLimit) {
-	_unref(_this)->setLowerAngLimit(lowerAngLimit);
-}
-DEFINE_PRIM(_VOID, btSliderConstraint_setLowerAngLimit1, _IDL _F32);
-
-HL_PRIM void HL_NAME(btSliderConstraint_setUpperAngLimit1)(_ref(btSliderConstraint)* _this, float upperAngLimit) {
-	_unref(_this)->setUpperAngLimit(upperAngLimit);
-}
-DEFINE_PRIM(_VOID, btSliderConstraint_setUpperAngLimit1, _IDL _F32);
-
-HL_PRIM _ref(btFixedConstraint)* HL_NAME(btFixedConstraint_new4)(_ref(btRigidBody)* rbA, _ref(btRigidBody)* rbB, _ref(btTransform)* frameInA, _ref(btTransform)* frameInB) {
-	return alloc_ref((new btFixedConstraint(*_unref(rbA), *_unref(rbB), *_unref(frameInA), *_unref(frameInB))),btFixedConstraint);
-}
-DEFINE_PRIM(_IDL, btFixedConstraint_new4, _IDL _IDL _IDL _IDL);
-
-HL_PRIM float HL_NAME(btDispatcherInfo_get_m_timeStep)( _ref(btDispatcherInfo)* _this ) {
-	return _unref(_this)->m_timeStep;
-}
-HL_PRIM float HL_NAME(btDispatcherInfo_set_m_timeStep)( _ref(btDispatcherInfo)* _this, float value ) {
-	_unref(_this)->m_timeStep = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btDispatcherInfo_get_m_timeStep,_IDL);
-DEFINE_PRIM(_F32,btDispatcherInfo_set_m_timeStep,_IDL _F32);
-
-HL_PRIM int HL_NAME(btDispatcherInfo_get_m_stepCount)( _ref(btDispatcherInfo)* _this ) {
-	return _unref(_this)->m_stepCount;
-}
-HL_PRIM int HL_NAME(btDispatcherInfo_set_m_stepCount)( _ref(btDispatcherInfo)* _this, int value ) {
-	_unref(_this)->m_stepCount = (value);
-	return value;
-}
-DEFINE_PRIM(_I32,btDispatcherInfo_get_m_stepCount,_IDL);
-DEFINE_PRIM(_I32,btDispatcherInfo_set_m_stepCount,_IDL _I32);
-
-HL_PRIM int HL_NAME(btDispatcherInfo_get_m_dispatchFunc)( _ref(btDispatcherInfo)* _this ) {
-	return _unref(_this)->m_dispatchFunc;
-}
-HL_PRIM int HL_NAME(btDispatcherInfo_set_m_dispatchFunc)( _ref(btDispatcherInfo)* _this, int value ) {
-	_unref(_this)->m_dispatchFunc = (value);
-	return value;
-}
-DEFINE_PRIM(_I32,btDispatcherInfo_get_m_dispatchFunc,_IDL);
-DEFINE_PRIM(_I32,btDispatcherInfo_set_m_dispatchFunc,_IDL _I32);
-
-HL_PRIM float HL_NAME(btDispatcherInfo_get_m_timeOfImpact)( _ref(btDispatcherInfo)* _this ) {
-	return _unref(_this)->m_timeOfImpact;
-}
-HL_PRIM float HL_NAME(btDispatcherInfo_set_m_timeOfImpact)( _ref(btDispatcherInfo)* _this, float value ) {
-	_unref(_this)->m_timeOfImpact = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btDispatcherInfo_get_m_timeOfImpact,_IDL);
-DEFINE_PRIM(_F32,btDispatcherInfo_set_m_timeOfImpact,_IDL _F32);
-
-HL_PRIM bool HL_NAME(btDispatcherInfo_get_m_useContinuous)( _ref(btDispatcherInfo)* _this ) {
-	return _unref(_this)->m_useContinuous;
-}
-HL_PRIM bool HL_NAME(btDispatcherInfo_set_m_useContinuous)( _ref(btDispatcherInfo)* _this, bool value ) {
-	_unref(_this)->m_useContinuous = (value);
-	return value;
-}
-DEFINE_PRIM(_BOOL,btDispatcherInfo_get_m_useContinuous,_IDL);
-DEFINE_PRIM(_BOOL,btDispatcherInfo_set_m_useContinuous,_IDL _BOOL);
-
-HL_PRIM bool HL_NAME(btDispatcherInfo_get_m_enableSatConvex)( _ref(btDispatcherInfo)* _this ) {
-	return _unref(_this)->m_enableSatConvex;
-}
-HL_PRIM bool HL_NAME(btDispatcherInfo_set_m_enableSatConvex)( _ref(btDispatcherInfo)* _this, bool value ) {
-	_unref(_this)->m_enableSatConvex = (value);
-	return value;
-}
-DEFINE_PRIM(_BOOL,btDispatcherInfo_get_m_enableSatConvex,_IDL);
-DEFINE_PRIM(_BOOL,btDispatcherInfo_set_m_enableSatConvex,_IDL _BOOL);
-
-HL_PRIM bool HL_NAME(btDispatcherInfo_get_m_enableSPU)( _ref(btDispatcherInfo)* _this ) {
-	return _unref(_this)->m_enableSPU;
-}
-HL_PRIM bool HL_NAME(btDispatcherInfo_set_m_enableSPU)( _ref(btDispatcherInfo)* _this, bool value ) {
-	_unref(_this)->m_enableSPU = (value);
-	return value;
-}
-DEFINE_PRIM(_BOOL,btDispatcherInfo_get_m_enableSPU,_IDL);
-DEFINE_PRIM(_BOOL,btDispatcherInfo_set_m_enableSPU,_IDL _BOOL);
-
-HL_PRIM bool HL_NAME(btDispatcherInfo_get_m_useEpa)( _ref(btDispatcherInfo)* _this ) {
-	return _unref(_this)->m_useEpa;
-}
-HL_PRIM bool HL_NAME(btDispatcherInfo_set_m_useEpa)( _ref(btDispatcherInfo)* _this, bool value ) {
-	_unref(_this)->m_useEpa = (value);
-	return value;
-}
-DEFINE_PRIM(_BOOL,btDispatcherInfo_get_m_useEpa,_IDL);
-DEFINE_PRIM(_BOOL,btDispatcherInfo_set_m_useEpa,_IDL _BOOL);
-
-HL_PRIM float HL_NAME(btDispatcherInfo_get_m_allowedCcdPenetration)( _ref(btDispatcherInfo)* _this ) {
-	return _unref(_this)->m_allowedCcdPenetration;
-}
-HL_PRIM float HL_NAME(btDispatcherInfo_set_m_allowedCcdPenetration)( _ref(btDispatcherInfo)* _this, float value ) {
-	_unref(_this)->m_allowedCcdPenetration = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btDispatcherInfo_get_m_allowedCcdPenetration,_IDL);
-DEFINE_PRIM(_F32,btDispatcherInfo_set_m_allowedCcdPenetration,_IDL _F32);
-
-HL_PRIM bool HL_NAME(btDispatcherInfo_get_m_useConvexConservativeDistanceUtil)( _ref(btDispatcherInfo)* _this ) {
-	return _unref(_this)->m_useConvexConservativeDistanceUtil;
-}
-HL_PRIM bool HL_NAME(btDispatcherInfo_set_m_useConvexConservativeDistanceUtil)( _ref(btDispatcherInfo)* _this, bool value ) {
-	_unref(_this)->m_useConvexConservativeDistanceUtil = (value);
-	return value;
-}
-DEFINE_PRIM(_BOOL,btDispatcherInfo_get_m_useConvexConservativeDistanceUtil,_IDL);
-DEFINE_PRIM(_BOOL,btDispatcherInfo_set_m_useConvexConservativeDistanceUtil,_IDL _BOOL);
-
-HL_PRIM float HL_NAME(btDispatcherInfo_get_m_convexConservativeDistanceThreshold)( _ref(btDispatcherInfo)* _this ) {
-	return _unref(_this)->m_convexConservativeDistanceThreshold;
-}
-HL_PRIM float HL_NAME(btDispatcherInfo_set_m_convexConservativeDistanceThreshold)( _ref(btDispatcherInfo)* _this, float value ) {
-	_unref(_this)->m_convexConservativeDistanceThreshold = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btDispatcherInfo_get_m_convexConservativeDistanceThreshold,_IDL);
-DEFINE_PRIM(_F32,btDispatcherInfo_set_m_convexConservativeDistanceThreshold,_IDL _F32);
-
-HL_PRIM _ref(btDispatcher)* HL_NAME(btCollisionWorld_getDispatcher0)(_ref(btCollisionWorld)* _this) {
-	return alloc_ref((_unref(_this)->getDispatcher()),btDispatcher);
-}
-DEFINE_PRIM(_IDL, btCollisionWorld_getDispatcher0, _IDL);
-
-HL_PRIM void HL_NAME(btCollisionWorld_rayTest3)(_ref(btCollisionWorld)* _this, _ref(btVector3)* rayFromWorld, _ref(btVector3)* rayToWorld, _ref(btCollisionWorld::RayResultCallback)* resultCallback) {
-	_unref(_this)->rayTest(*_unref(rayFromWorld), *_unref(rayToWorld), *_unref(resultCallback));
-}
-DEFINE_PRIM(_VOID, btCollisionWorld_rayTest3, _IDL _IDL _IDL _IDL);
-
-HL_PRIM _ref(btOverlappingPairCache)* HL_NAME(btCollisionWorld_getPairCache0)(_ref(btCollisionWorld)* _this) {
-	return alloc_ref((_unref(_this)->getPairCache()),btOverlappingPairCache);
-}
-DEFINE_PRIM(_IDL, btCollisionWorld_getPairCache0, _IDL);
-
-HL_PRIM _ref(btDispatcherInfo)* HL_NAME(btCollisionWorld_getDispatchInfo0)(_ref(btCollisionWorld)* _this) {
-	return alloc_ref(new btDispatcherInfo(_unref(_this)->getDispatchInfo()),btDispatcherInfo);
-}
-DEFINE_PRIM(_IDL, btCollisionWorld_getDispatchInfo0, _IDL);
-
-HL_PRIM void HL_NAME(btCollisionWorld_addCollisionObject3)(_ref(btCollisionWorld)* _this, _ref(btCollisionObject)* collisionObject, _OPT(short) collisionFilterGroup, _OPT(short) collisionFilterMask) {
-	if( !collisionFilterGroup )
-		_unref(_this)->addCollisionObject(_unref(collisionObject));
-	else
-	if( !collisionFilterMask )
-		_unref(_this)->addCollisionObject(_unref(collisionObject), _GET_OPT(collisionFilterGroup,ui16));
-	else
-		_unref(_this)->addCollisionObject(_unref(collisionObject), _GET_OPT(collisionFilterGroup,ui16), _GET_OPT(collisionFilterMask,ui16));
-}
-DEFINE_PRIM(_VOID, btCollisionWorld_addCollisionObject3, _IDL _IDL _NULL(_I16) _NULL(_I16));
-
-HL_PRIM HL_CONST _ref(btBroadphaseInterface)* HL_NAME(btCollisionWorld_getBroadphase0)(_ref(btCollisionWorld)* _this) {
-	return alloc_ref_const((_unref(_this)->getBroadphase()),btBroadphaseInterface);
-}
-DEFINE_PRIM(_IDL, btCollisionWorld_getBroadphase0, _IDL);
-
-HL_PRIM void HL_NAME(btCollisionWorld_convexSweepTest5)(_ref(btCollisionWorld)* _this, _ref(btConvexShape)* castShape, _ref(btTransform)* from, _ref(btTransform)* to, _ref(btCollisionWorld::ConvexResultCallback)* resultCallback, float allowedCcdPenetration) {
-	_unref(_this)->convexSweepTest(_unref(castShape), *_unref(from), *_unref(to), *_unref(resultCallback), allowedCcdPenetration);
-}
-DEFINE_PRIM(_VOID, btCollisionWorld_convexSweepTest5, _IDL _IDL _IDL _IDL _IDL _F32);
-
-HL_PRIM void HL_NAME(btCollisionWorld_contactPairTest3)(_ref(btCollisionWorld)* _this, _ref(btCollisionObject)* colObjA, _ref(btCollisionObject)* colObjB, _ref(btCollisionWorld::ContactResultCallback)* resultCallback) {
-	_unref(_this)->contactPairTest(_unref(colObjA), _unref(colObjB), *_unref(resultCallback));
-}
-DEFINE_PRIM(_VOID, btCollisionWorld_contactPairTest3, _IDL _IDL _IDL _IDL);
-
-HL_PRIM void HL_NAME(btCollisionWorld_contactTest2)(_ref(btCollisionWorld)* _this, _ref(btCollisionObject)* colObj, _ref(btCollisionWorld::ContactResultCallback)* resultCallback) {
-	_unref(_this)->contactTest(_unref(colObj), *_unref(resultCallback));
-}
-DEFINE_PRIM(_VOID, btCollisionWorld_contactTest2, _IDL _IDL _IDL);
-
-HL_PRIM int HL_NAME(btContactSolverInfo_get_m_splitImpulse)( _ref(btContactSolverInfo)* _this ) {
-	return _unref(_this)->m_splitImpulse;
-}
-HL_PRIM int HL_NAME(btContactSolverInfo_set_m_splitImpulse)( _ref(btContactSolverInfo)* _this, int value ) {
-	_unref(_this)->m_splitImpulse = (value);
-	return value;
-}
-DEFINE_PRIM(_I32,btContactSolverInfo_get_m_splitImpulse,_IDL);
-DEFINE_PRIM(_I32,btContactSolverInfo_set_m_splitImpulse,_IDL _I32);
-
-HL_PRIM int HL_NAME(btContactSolverInfo_get_m_splitImpulsePenetrationThreshold)( _ref(btContactSolverInfo)* _this ) {
-	return _unref(_this)->m_splitImpulsePenetrationThreshold;
-}
-HL_PRIM int HL_NAME(btContactSolverInfo_set_m_splitImpulsePenetrationThreshold)( _ref(btContactSolverInfo)* _this, int value ) {
-	_unref(_this)->m_splitImpulsePenetrationThreshold = (value);
-	return value;
-}
-DEFINE_PRIM(_I32,btContactSolverInfo_get_m_splitImpulsePenetrationThreshold,_IDL);
-DEFINE_PRIM(_I32,btContactSolverInfo_set_m_splitImpulsePenetrationThreshold,_IDL _I32);
-
-HL_PRIM int HL_NAME(btContactSolverInfo_get_m_numIterations)( _ref(btContactSolverInfo)* _this ) {
-	return _unref(_this)->m_numIterations;
-}
-HL_PRIM int HL_NAME(btContactSolverInfo_set_m_numIterations)( _ref(btContactSolverInfo)* _this, int value ) {
-	_unref(_this)->m_numIterations = (value);
-	return value;
-}
-DEFINE_PRIM(_I32,btContactSolverInfo_get_m_numIterations,_IDL);
-DEFINE_PRIM(_I32,btContactSolverInfo_set_m_numIterations,_IDL _I32);
-
-HL_PRIM void HL_NAME(btDynamicsWorld_addAction1)(_ref(btDynamicsWorld)* _this, _ref(btActionInterface)* action) {
-	_unref(_this)->addAction(_unref(action));
-}
-DEFINE_PRIM(_VOID, btDynamicsWorld_addAction1, _IDL _IDL);
-
-HL_PRIM void HL_NAME(btDynamicsWorld_removeAction1)(_ref(btDynamicsWorld)* _this, _ref(btActionInterface)* action) {
-	_unref(_this)->removeAction(_unref(action));
-}
-DEFINE_PRIM(_VOID, btDynamicsWorld_removeAction1, _IDL _IDL);
-
-HL_PRIM _ref(btContactSolverInfo)* HL_NAME(btDynamicsWorld_getSolverInfo0)(_ref(btDynamicsWorld)* _this) {
-	return alloc_ref(new btContactSolverInfo(_unref(_this)->getSolverInfo()),btContactSolverInfo);
-}
-DEFINE_PRIM(_IDL, btDynamicsWorld_getSolverInfo0, _IDL);
-
-HL_PRIM _ref(btDiscreteDynamicsWorld)* HL_NAME(btDiscreteDynamicsWorld_new4)(_ref(btDispatcher)* dispatcher, _ref(btBroadphaseInterface)* pairCache, _ref(btConstraintSolver)* constraintSolver, _ref(btCollisionConfiguration)* collisionConfiguration) {
-	return alloc_ref((new btDiscreteDynamicsWorld(_unref(dispatcher), _unref(pairCache), _unref(constraintSolver), _unref(collisionConfiguration))),btDiscreteDynamicsWorld);
-}
-DEFINE_PRIM(_IDL, btDiscreteDynamicsWorld_new4, _IDL _IDL _IDL _IDL);
-
-HL_PRIM void HL_NAME(btDiscreteDynamicsWorld_setGravity1)(_ref(btDiscreteDynamicsWorld)* _this, _ref(btVector3)* gravity) {
-	_unref(_this)->setGravity(*_unref(gravity));
-}
-DEFINE_PRIM(_VOID, btDiscreteDynamicsWorld_setGravity1, _IDL _IDL);
-
-HL_PRIM _ref(btVector3)* HL_NAME(btDiscreteDynamicsWorld_getGravity0)(_ref(btDiscreteDynamicsWorld)* _this) {
-	return alloc_ref(new btVector3(_unref(_this)->getGravity()),btVector3);
-}
-DEFINE_PRIM(_IDL, btDiscreteDynamicsWorld_getGravity0, _IDL);
-
-HL_PRIM void HL_NAME(btDiscreteDynamicsWorld_addRigidBody1)(_ref(btDiscreteDynamicsWorld)* _this, _ref(btRigidBody)* body) {
-	_unref(_this)->addRigidBody(_unref(body));
-}
-DEFINE_PRIM(_VOID, btDiscreteDynamicsWorld_addRigidBody1, _IDL _IDL);
-
-HL_PRIM void HL_NAME(btDiscreteDynamicsWorld_addRigidBody3)(_ref(btDiscreteDynamicsWorld)* _this, _ref(btRigidBody)* body, short group, short mask) {
-	_unref(_this)->addRigidBody(_unref(body), group, mask);
-}
-DEFINE_PRIM(_VOID, btDiscreteDynamicsWorld_addRigidBody3, _IDL _IDL _I16 _I16);
-
-HL_PRIM void HL_NAME(btDiscreteDynamicsWorld_removeRigidBody1)(_ref(btDiscreteDynamicsWorld)* _this, _ref(btRigidBody)* body) {
-	_unref(_this)->removeRigidBody(_unref(body));
-}
-DEFINE_PRIM(_VOID, btDiscreteDynamicsWorld_removeRigidBody1, _IDL _IDL);
-
-HL_PRIM void HL_NAME(btDiscreteDynamicsWorld_addConstraint2)(_ref(btDiscreteDynamicsWorld)* _this, _ref(btTypedConstraint)* constraint, _OPT(bool) disableCollisionsBetweenLinkedBodies) {
-	if( !disableCollisionsBetweenLinkedBodies )
-		_unref(_this)->addConstraint(_unref(constraint));
-	else
-		_unref(_this)->addConstraint(_unref(constraint), _GET_OPT(disableCollisionsBetweenLinkedBodies,b));
-}
-DEFINE_PRIM(_VOID, btDiscreteDynamicsWorld_addConstraint2, _IDL _IDL _NULL(_BOOL));
-
-HL_PRIM void HL_NAME(btDiscreteDynamicsWorld_removeConstraint1)(_ref(btDiscreteDynamicsWorld)* _this, _ref(btTypedConstraint)* constraint) {
-	_unref(_this)->removeConstraint(_unref(constraint));
-}
-DEFINE_PRIM(_VOID, btDiscreteDynamicsWorld_removeConstraint1, _IDL _IDL);
-
-HL_PRIM int HL_NAME(btDiscreteDynamicsWorld_stepSimulation3)(_ref(btDiscreteDynamicsWorld)* _this, float timeStep, _OPT(int) maxSubSteps, _OPT(float) fixedTimeStep) {
-	if( !maxSubSteps )
-		return _unref(_this)->stepSimulation(timeStep);
-	else
-	if( !fixedTimeStep )
-		return _unref(_this)->stepSimulation(timeStep, _GET_OPT(maxSubSteps,i));
-	else
-		return _unref(_this)->stepSimulation(timeStep, _GET_OPT(maxSubSteps,i), _GET_OPT(fixedTimeStep,f));
-}
-DEFINE_PRIM(_I32, btDiscreteDynamicsWorld_stepSimulation3, _IDL _F32 _NULL(_I32) _NULL(_F32));
-
-HL_PRIM _ref(btRaycastVehicle::btVehicleTuning)* HL_NAME(btVehicleTuning_new0)() {
-	return alloc_ref((new btRaycastVehicle::btVehicleTuning()),btVehicleTuning);
-}
-DEFINE_PRIM(_IDL, btVehicleTuning_new0,);
-
-HL_PRIM float HL_NAME(btVehicleTuning_get_m_suspensionStiffness)( _ref(btRaycastVehicle::btVehicleTuning)* _this ) {
-	return _unref(_this)->m_suspensionStiffness;
-}
-HL_PRIM float HL_NAME(btVehicleTuning_set_m_suspensionStiffness)( _ref(btRaycastVehicle::btVehicleTuning)* _this, float value ) {
-	_unref(_this)->m_suspensionStiffness = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btVehicleTuning_get_m_suspensionStiffness,_IDL);
-DEFINE_PRIM(_F32,btVehicleTuning_set_m_suspensionStiffness,_IDL _F32);
-
-HL_PRIM float HL_NAME(btVehicleTuning_get_m_suspensionCompression)( _ref(btRaycastVehicle::btVehicleTuning)* _this ) {
-	return _unref(_this)->m_suspensionCompression;
-}
-HL_PRIM float HL_NAME(btVehicleTuning_set_m_suspensionCompression)( _ref(btRaycastVehicle::btVehicleTuning)* _this, float value ) {
-	_unref(_this)->m_suspensionCompression = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btVehicleTuning_get_m_suspensionCompression,_IDL);
-DEFINE_PRIM(_F32,btVehicleTuning_set_m_suspensionCompression,_IDL _F32);
-
-HL_PRIM float HL_NAME(btVehicleTuning_get_m_suspensionDamping)( _ref(btRaycastVehicle::btVehicleTuning)* _this ) {
-	return _unref(_this)->m_suspensionDamping;
-}
-HL_PRIM float HL_NAME(btVehicleTuning_set_m_suspensionDamping)( _ref(btRaycastVehicle::btVehicleTuning)* _this, float value ) {
-	_unref(_this)->m_suspensionDamping = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btVehicleTuning_get_m_suspensionDamping,_IDL);
-DEFINE_PRIM(_F32,btVehicleTuning_set_m_suspensionDamping,_IDL _F32);
-
-HL_PRIM float HL_NAME(btVehicleTuning_get_m_maxSuspensionTravelCm)( _ref(btRaycastVehicle::btVehicleTuning)* _this ) {
-	return _unref(_this)->m_maxSuspensionTravelCm;
-}
-HL_PRIM float HL_NAME(btVehicleTuning_set_m_maxSuspensionTravelCm)( _ref(btRaycastVehicle::btVehicleTuning)* _this, float value ) {
-	_unref(_this)->m_maxSuspensionTravelCm = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btVehicleTuning_get_m_maxSuspensionTravelCm,_IDL);
-DEFINE_PRIM(_F32,btVehicleTuning_set_m_maxSuspensionTravelCm,_IDL _F32);
-
-HL_PRIM float HL_NAME(btVehicleTuning_get_m_frictionSlip)( _ref(btRaycastVehicle::btVehicleTuning)* _this ) {
-	return _unref(_this)->m_frictionSlip;
-}
-HL_PRIM float HL_NAME(btVehicleTuning_set_m_frictionSlip)( _ref(btRaycastVehicle::btVehicleTuning)* _this, float value ) {
-	_unref(_this)->m_frictionSlip = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btVehicleTuning_get_m_frictionSlip,_IDL);
-DEFINE_PRIM(_F32,btVehicleTuning_set_m_frictionSlip,_IDL _F32);
-
-HL_PRIM float HL_NAME(btVehicleTuning_get_m_maxSuspensionForce)( _ref(btRaycastVehicle::btVehicleTuning)* _this ) {
-	return _unref(_this)->m_maxSuspensionForce;
-}
-HL_PRIM float HL_NAME(btVehicleTuning_set_m_maxSuspensionForce)( _ref(btRaycastVehicle::btVehicleTuning)* _this, float value ) {
-	_unref(_this)->m_maxSuspensionForce = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btVehicleTuning_get_m_maxSuspensionForce,_IDL);
-DEFINE_PRIM(_F32,btVehicleTuning_set_m_maxSuspensionForce,_IDL _F32);
-
-HL_PRIM _ref(btVector3)* HL_NAME(btVehicleRaycasterResult_get_m_hitPointInWorld)( _ref(btDefaultVehicleRaycaster::btVehicleRaycasterResult)* _this ) {
-	return alloc_ref(new btVector3(_unref(_this)->m_hitPointInWorld),btVector3);
-}
-HL_PRIM _ref(btVector3)* HL_NAME(btVehicleRaycasterResult_set_m_hitPointInWorld)( _ref(btDefaultVehicleRaycaster::btVehicleRaycasterResult)* _this, _ref(btVector3)* value ) {
-	_unref(_this)->m_hitPointInWorld = *_unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,btVehicleRaycasterResult_get_m_hitPointInWorld,_IDL);
-DEFINE_PRIM(_IDL,btVehicleRaycasterResult_set_m_hitPointInWorld,_IDL _IDL);
-
-HL_PRIM _ref(btVector3)* HL_NAME(btVehicleRaycasterResult_get_m_hitNormalInWorld)( _ref(btDefaultVehicleRaycaster::btVehicleRaycasterResult)* _this ) {
-	return alloc_ref(new btVector3(_unref(_this)->m_hitNormalInWorld),btVector3);
-}
-HL_PRIM _ref(btVector3)* HL_NAME(btVehicleRaycasterResult_set_m_hitNormalInWorld)( _ref(btDefaultVehicleRaycaster::btVehicleRaycasterResult)* _this, _ref(btVector3)* value ) {
-	_unref(_this)->m_hitNormalInWorld = *_unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,btVehicleRaycasterResult_get_m_hitNormalInWorld,_IDL);
-DEFINE_PRIM(_IDL,btVehicleRaycasterResult_set_m_hitNormalInWorld,_IDL _IDL);
-
-HL_PRIM float HL_NAME(btVehicleRaycasterResult_get_m_distFraction)( _ref(btDefaultVehicleRaycaster::btVehicleRaycasterResult)* _this ) {
-	return _unref(_this)->m_distFraction;
-}
-HL_PRIM float HL_NAME(btVehicleRaycasterResult_set_m_distFraction)( _ref(btDefaultVehicleRaycaster::btVehicleRaycasterResult)* _this, float value ) {
-	_unref(_this)->m_distFraction = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btVehicleRaycasterResult_get_m_distFraction,_IDL);
-DEFINE_PRIM(_F32,btVehicleRaycasterResult_set_m_distFraction,_IDL _F32);
-
-HL_PRIM void HL_NAME(btVehicleRaycaster_castRay3)(_ref(btVehicleRaycaster)* _this, _ref(btVector3)* from, _ref(btVector3)* to, _ref(btDefaultVehicleRaycaster::btVehicleRaycasterResult)* result) {
-	_unref(_this)->castRay(*_unref(from), *_unref(to), *_unref(result));
-}
-DEFINE_PRIM(_VOID, btVehicleRaycaster_castRay3, _IDL _IDL _IDL _IDL);
-
-HL_PRIM _ref(btDefaultVehicleRaycaster)* HL_NAME(btDefaultVehicleRaycaster_new1)(_ref(btDynamicsWorld)* world) {
-	return alloc_ref((new btDefaultVehicleRaycaster(_unref(world))),btDefaultVehicleRaycaster);
-}
-DEFINE_PRIM(_IDL, btDefaultVehicleRaycaster_new1, _IDL);
-
-HL_PRIM _ref(btVector3)* HL_NAME(RaycastInfo_get_m_contactNormalWS)( _ref(btWheelInfo::RaycastInfo)* _this ) {
-	return alloc_ref(new btVector3(_unref(_this)->m_contactNormalWS),btVector3);
-}
-HL_PRIM _ref(btVector3)* HL_NAME(RaycastInfo_set_m_contactNormalWS)( _ref(btWheelInfo::RaycastInfo)* _this, _ref(btVector3)* value ) {
-	_unref(_this)->m_contactNormalWS = *_unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,RaycastInfo_get_m_contactNormalWS,_IDL);
-DEFINE_PRIM(_IDL,RaycastInfo_set_m_contactNormalWS,_IDL _IDL);
-
-HL_PRIM _ref(btVector3)* HL_NAME(RaycastInfo_get_m_contactPointWS)( _ref(btWheelInfo::RaycastInfo)* _this ) {
-	return alloc_ref(new btVector3(_unref(_this)->m_contactPointWS),btVector3);
-}
-HL_PRIM _ref(btVector3)* HL_NAME(RaycastInfo_set_m_contactPointWS)( _ref(btWheelInfo::RaycastInfo)* _this, _ref(btVector3)* value ) {
-	_unref(_this)->m_contactPointWS = *_unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,RaycastInfo_get_m_contactPointWS,_IDL);
-DEFINE_PRIM(_IDL,RaycastInfo_set_m_contactPointWS,_IDL _IDL);
-
-HL_PRIM float HL_NAME(RaycastInfo_get_m_suspensionLength)( _ref(btWheelInfo::RaycastInfo)* _this ) {
-	return _unref(_this)->m_suspensionLength;
-}
-HL_PRIM float HL_NAME(RaycastInfo_set_m_suspensionLength)( _ref(btWheelInfo::RaycastInfo)* _this, float value ) {
-	_unref(_this)->m_suspensionLength = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,RaycastInfo_get_m_suspensionLength,_IDL);
-DEFINE_PRIM(_F32,RaycastInfo_set_m_suspensionLength,_IDL _F32);
-
-HL_PRIM _ref(btVector3)* HL_NAME(RaycastInfo_get_m_hardPointWS)( _ref(btWheelInfo::RaycastInfo)* _this ) {
-	return alloc_ref(new btVector3(_unref(_this)->m_hardPointWS),btVector3);
-}
-HL_PRIM _ref(btVector3)* HL_NAME(RaycastInfo_set_m_hardPointWS)( _ref(btWheelInfo::RaycastInfo)* _this, _ref(btVector3)* value ) {
-	_unref(_this)->m_hardPointWS = *_unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,RaycastInfo_get_m_hardPointWS,_IDL);
-DEFINE_PRIM(_IDL,RaycastInfo_set_m_hardPointWS,_IDL _IDL);
-
-HL_PRIM _ref(btVector3)* HL_NAME(RaycastInfo_get_m_wheelDirectionWS)( _ref(btWheelInfo::RaycastInfo)* _this ) {
-	return alloc_ref(new btVector3(_unref(_this)->m_wheelDirectionWS),btVector3);
-}
-HL_PRIM _ref(btVector3)* HL_NAME(RaycastInfo_set_m_wheelDirectionWS)( _ref(btWheelInfo::RaycastInfo)* _this, _ref(btVector3)* value ) {
-	_unref(_this)->m_wheelDirectionWS = *_unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,RaycastInfo_get_m_wheelDirectionWS,_IDL);
-DEFINE_PRIM(_IDL,RaycastInfo_set_m_wheelDirectionWS,_IDL _IDL);
-
-HL_PRIM _ref(btVector3)* HL_NAME(RaycastInfo_get_m_wheelAxleWS)( _ref(btWheelInfo::RaycastInfo)* _this ) {
-	return alloc_ref(new btVector3(_unref(_this)->m_wheelAxleWS),btVector3);
-}
-HL_PRIM _ref(btVector3)* HL_NAME(RaycastInfo_set_m_wheelAxleWS)( _ref(btWheelInfo::RaycastInfo)* _this, _ref(btVector3)* value ) {
-	_unref(_this)->m_wheelAxleWS = *_unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,RaycastInfo_get_m_wheelAxleWS,_IDL);
-DEFINE_PRIM(_IDL,RaycastInfo_set_m_wheelAxleWS,_IDL _IDL);
-
-HL_PRIM bool HL_NAME(RaycastInfo_get_m_isInContact)( _ref(btWheelInfo::RaycastInfo)* _this ) {
-	return _unref(_this)->m_isInContact;
-}
-HL_PRIM bool HL_NAME(RaycastInfo_set_m_isInContact)( _ref(btWheelInfo::RaycastInfo)* _this, bool value ) {
-	_unref(_this)->m_isInContact = (value);
-	return value;
-}
-DEFINE_PRIM(_BOOL,RaycastInfo_get_m_isInContact,_IDL);
-DEFINE_PRIM(_BOOL,RaycastInfo_set_m_isInContact,_IDL _BOOL);
-
-HL_PRIM void* HL_NAME(RaycastInfo_get_m_groundObject)( _ref(btWheelInfo::RaycastInfo)* _this ) {
-	return _unref(_this)->m_groundObject;
-}
-HL_PRIM void* HL_NAME(RaycastInfo_set_m_groundObject)( _ref(btWheelInfo::RaycastInfo)* _this, void* value ) {
-	_unref(_this)->m_groundObject = (value);
-	return value;
-}
-DEFINE_PRIM(_BYTES,RaycastInfo_get_m_groundObject,_IDL);
-DEFINE_PRIM(_BYTES,RaycastInfo_set_m_groundObject,_IDL _BYTES);
-
-HL_PRIM _ref(btVector3)* HL_NAME(btWheelInfoConstructionInfo_get_m_chassisConnectionCS)( _ref(btWheelInfoConstructionInfo)* _this ) {
-	return alloc_ref(new btVector3(_unref(_this)->m_chassisConnectionCS),btVector3);
-}
-HL_PRIM _ref(btVector3)* HL_NAME(btWheelInfoConstructionInfo_set_m_chassisConnectionCS)( _ref(btWheelInfoConstructionInfo)* _this, _ref(btVector3)* value ) {
-	_unref(_this)->m_chassisConnectionCS = *_unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,btWheelInfoConstructionInfo_get_m_chassisConnectionCS,_IDL);
-DEFINE_PRIM(_IDL,btWheelInfoConstructionInfo_set_m_chassisConnectionCS,_IDL _IDL);
-
-HL_PRIM _ref(btVector3)* HL_NAME(btWheelInfoConstructionInfo_get_m_wheelDirectionCS)( _ref(btWheelInfoConstructionInfo)* _this ) {
-	return alloc_ref(new btVector3(_unref(_this)->m_wheelDirectionCS),btVector3);
-}
-HL_PRIM _ref(btVector3)* HL_NAME(btWheelInfoConstructionInfo_set_m_wheelDirectionCS)( _ref(btWheelInfoConstructionInfo)* _this, _ref(btVector3)* value ) {
-	_unref(_this)->m_wheelDirectionCS = *_unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,btWheelInfoConstructionInfo_get_m_wheelDirectionCS,_IDL);
-DEFINE_PRIM(_IDL,btWheelInfoConstructionInfo_set_m_wheelDirectionCS,_IDL _IDL);
-
-HL_PRIM _ref(btVector3)* HL_NAME(btWheelInfoConstructionInfo_get_m_wheelAxleCS)( _ref(btWheelInfoConstructionInfo)* _this ) {
-	return alloc_ref(new btVector3(_unref(_this)->m_wheelAxleCS),btVector3);
-}
-HL_PRIM _ref(btVector3)* HL_NAME(btWheelInfoConstructionInfo_set_m_wheelAxleCS)( _ref(btWheelInfoConstructionInfo)* _this, _ref(btVector3)* value ) {
-	_unref(_this)->m_wheelAxleCS = *_unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,btWheelInfoConstructionInfo_get_m_wheelAxleCS,_IDL);
-DEFINE_PRIM(_IDL,btWheelInfoConstructionInfo_set_m_wheelAxleCS,_IDL _IDL);
-
-HL_PRIM float HL_NAME(btWheelInfoConstructionInfo_get_m_suspensionRestLength)( _ref(btWheelInfoConstructionInfo)* _this ) {
-	return _unref(_this)->m_suspensionRestLength;
-}
-HL_PRIM float HL_NAME(btWheelInfoConstructionInfo_set_m_suspensionRestLength)( _ref(btWheelInfoConstructionInfo)* _this, float value ) {
-	_unref(_this)->m_suspensionRestLength = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btWheelInfoConstructionInfo_get_m_suspensionRestLength,_IDL);
-DEFINE_PRIM(_F32,btWheelInfoConstructionInfo_set_m_suspensionRestLength,_IDL _F32);
-
-HL_PRIM float HL_NAME(btWheelInfoConstructionInfo_get_m_maxSuspensionTravelCm)( _ref(btWheelInfoConstructionInfo)* _this ) {
-	return _unref(_this)->m_maxSuspensionTravelCm;
-}
-HL_PRIM float HL_NAME(btWheelInfoConstructionInfo_set_m_maxSuspensionTravelCm)( _ref(btWheelInfoConstructionInfo)* _this, float value ) {
-	_unref(_this)->m_maxSuspensionTravelCm = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btWheelInfoConstructionInfo_get_m_maxSuspensionTravelCm,_IDL);
-DEFINE_PRIM(_F32,btWheelInfoConstructionInfo_set_m_maxSuspensionTravelCm,_IDL _F32);
-
-HL_PRIM float HL_NAME(btWheelInfoConstructionInfo_get_m_wheelRadius)( _ref(btWheelInfoConstructionInfo)* _this ) {
-	return _unref(_this)->m_wheelRadius;
-}
-HL_PRIM float HL_NAME(btWheelInfoConstructionInfo_set_m_wheelRadius)( _ref(btWheelInfoConstructionInfo)* _this, float value ) {
-	_unref(_this)->m_wheelRadius = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btWheelInfoConstructionInfo_get_m_wheelRadius,_IDL);
-DEFINE_PRIM(_F32,btWheelInfoConstructionInfo_set_m_wheelRadius,_IDL _F32);
-
-HL_PRIM float HL_NAME(btWheelInfoConstructionInfo_get_m_suspensionStiffness)( _ref(btWheelInfoConstructionInfo)* _this ) {
-	return _unref(_this)->m_suspensionStiffness;
-}
-HL_PRIM float HL_NAME(btWheelInfoConstructionInfo_set_m_suspensionStiffness)( _ref(btWheelInfoConstructionInfo)* _this, float value ) {
-	_unref(_this)->m_suspensionStiffness = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btWheelInfoConstructionInfo_get_m_suspensionStiffness,_IDL);
-DEFINE_PRIM(_F32,btWheelInfoConstructionInfo_set_m_suspensionStiffness,_IDL _F32);
-
-HL_PRIM float HL_NAME(btWheelInfoConstructionInfo_get_m_wheelsDampingCompression)( _ref(btWheelInfoConstructionInfo)* _this ) {
-	return _unref(_this)->m_wheelsDampingCompression;
-}
-HL_PRIM float HL_NAME(btWheelInfoConstructionInfo_set_m_wheelsDampingCompression)( _ref(btWheelInfoConstructionInfo)* _this, float value ) {
-	_unref(_this)->m_wheelsDampingCompression = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btWheelInfoConstructionInfo_get_m_wheelsDampingCompression,_IDL);
-DEFINE_PRIM(_F32,btWheelInfoConstructionInfo_set_m_wheelsDampingCompression,_IDL _F32);
-
-HL_PRIM float HL_NAME(btWheelInfoConstructionInfo_get_m_wheelsDampingRelaxation)( _ref(btWheelInfoConstructionInfo)* _this ) {
-	return _unref(_this)->m_wheelsDampingRelaxation;
-}
-HL_PRIM float HL_NAME(btWheelInfoConstructionInfo_set_m_wheelsDampingRelaxation)( _ref(btWheelInfoConstructionInfo)* _this, float value ) {
-	_unref(_this)->m_wheelsDampingRelaxation = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btWheelInfoConstructionInfo_get_m_wheelsDampingRelaxation,_IDL);
-DEFINE_PRIM(_F32,btWheelInfoConstructionInfo_set_m_wheelsDampingRelaxation,_IDL _F32);
-
-HL_PRIM float HL_NAME(btWheelInfoConstructionInfo_get_m_frictionSlip)( _ref(btWheelInfoConstructionInfo)* _this ) {
-	return _unref(_this)->m_frictionSlip;
-}
-HL_PRIM float HL_NAME(btWheelInfoConstructionInfo_set_m_frictionSlip)( _ref(btWheelInfoConstructionInfo)* _this, float value ) {
-	_unref(_this)->m_frictionSlip = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btWheelInfoConstructionInfo_get_m_frictionSlip,_IDL);
-DEFINE_PRIM(_F32,btWheelInfoConstructionInfo_set_m_frictionSlip,_IDL _F32);
-
-HL_PRIM float HL_NAME(btWheelInfoConstructionInfo_get_m_maxSuspensionForce)( _ref(btWheelInfoConstructionInfo)* _this ) {
-	return _unref(_this)->m_maxSuspensionForce;
-}
-HL_PRIM float HL_NAME(btWheelInfoConstructionInfo_set_m_maxSuspensionForce)( _ref(btWheelInfoConstructionInfo)* _this, float value ) {
-	_unref(_this)->m_maxSuspensionForce = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btWheelInfoConstructionInfo_get_m_maxSuspensionForce,_IDL);
-DEFINE_PRIM(_F32,btWheelInfoConstructionInfo_set_m_maxSuspensionForce,_IDL _F32);
-
-HL_PRIM bool HL_NAME(btWheelInfoConstructionInfo_get_m_bIsFrontWheel)( _ref(btWheelInfoConstructionInfo)* _this ) {
-	return _unref(_this)->m_bIsFrontWheel;
-}
-HL_PRIM bool HL_NAME(btWheelInfoConstructionInfo_set_m_bIsFrontWheel)( _ref(btWheelInfoConstructionInfo)* _this, bool value ) {
-	_unref(_this)->m_bIsFrontWheel = (value);
-	return value;
-}
-DEFINE_PRIM(_BOOL,btWheelInfoConstructionInfo_get_m_bIsFrontWheel,_IDL);
-DEFINE_PRIM(_BOOL,btWheelInfoConstructionInfo_set_m_bIsFrontWheel,_IDL _BOOL);
-
-HL_PRIM float HL_NAME(btWheelInfo_get_m_suspensionStiffness)( _ref(btWheelInfo)* _this ) {
-	return _unref(_this)->m_suspensionStiffness;
-}
-HL_PRIM float HL_NAME(btWheelInfo_set_m_suspensionStiffness)( _ref(btWheelInfo)* _this, float value ) {
-	_unref(_this)->m_suspensionStiffness = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btWheelInfo_get_m_suspensionStiffness,_IDL);
-DEFINE_PRIM(_F32,btWheelInfo_set_m_suspensionStiffness,_IDL _F32);
-
-HL_PRIM float HL_NAME(btWheelInfo_get_m_frictionSlip)( _ref(btWheelInfo)* _this ) {
-	return _unref(_this)->m_frictionSlip;
-}
-HL_PRIM float HL_NAME(btWheelInfo_set_m_frictionSlip)( _ref(btWheelInfo)* _this, float value ) {
-	_unref(_this)->m_frictionSlip = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btWheelInfo_get_m_frictionSlip,_IDL);
-DEFINE_PRIM(_F32,btWheelInfo_set_m_frictionSlip,_IDL _F32);
-
-HL_PRIM float HL_NAME(btWheelInfo_get_m_engineForce)( _ref(btWheelInfo)* _this ) {
-	return _unref(_this)->m_engineForce;
-}
-HL_PRIM float HL_NAME(btWheelInfo_set_m_engineForce)( _ref(btWheelInfo)* _this, float value ) {
-	_unref(_this)->m_engineForce = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btWheelInfo_get_m_engineForce,_IDL);
-DEFINE_PRIM(_F32,btWheelInfo_set_m_engineForce,_IDL _F32);
-
-HL_PRIM float HL_NAME(btWheelInfo_get_m_rollInfluence)( _ref(btWheelInfo)* _this ) {
-	return _unref(_this)->m_rollInfluence;
-}
-HL_PRIM float HL_NAME(btWheelInfo_set_m_rollInfluence)( _ref(btWheelInfo)* _this, float value ) {
-	_unref(_this)->m_rollInfluence = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btWheelInfo_get_m_rollInfluence,_IDL);
-DEFINE_PRIM(_F32,btWheelInfo_set_m_rollInfluence,_IDL _F32);
-
-HL_PRIM float HL_NAME(btWheelInfo_get_m_suspensionRestLength1)( _ref(btWheelInfo)* _this ) {
-	return _unref(_this)->m_suspensionRestLength1;
-}
-HL_PRIM float HL_NAME(btWheelInfo_set_m_suspensionRestLength1)( _ref(btWheelInfo)* _this, float value ) {
-	_unref(_this)->m_suspensionRestLength1 = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btWheelInfo_get_m_suspensionRestLength1,_IDL);
-DEFINE_PRIM(_F32,btWheelInfo_set_m_suspensionRestLength1,_IDL _F32);
-
-HL_PRIM float HL_NAME(btWheelInfo_get_m_wheelsRadius)( _ref(btWheelInfo)* _this ) {
-	return _unref(_this)->m_wheelsRadius;
-}
-HL_PRIM float HL_NAME(btWheelInfo_set_m_wheelsRadius)( _ref(btWheelInfo)* _this, float value ) {
-	_unref(_this)->m_wheelsRadius = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btWheelInfo_get_m_wheelsRadius,_IDL);
-DEFINE_PRIM(_F32,btWheelInfo_set_m_wheelsRadius,_IDL _F32);
-
-HL_PRIM float HL_NAME(btWheelInfo_get_m_wheelsDampingCompression)( _ref(btWheelInfo)* _this ) {
-	return _unref(_this)->m_wheelsDampingCompression;
-}
-HL_PRIM float HL_NAME(btWheelInfo_set_m_wheelsDampingCompression)( _ref(btWheelInfo)* _this, float value ) {
-	_unref(_this)->m_wheelsDampingCompression = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btWheelInfo_get_m_wheelsDampingCompression,_IDL);
-DEFINE_PRIM(_F32,btWheelInfo_set_m_wheelsDampingCompression,_IDL _F32);
-
-HL_PRIM float HL_NAME(btWheelInfo_get_m_wheelsDampingRelaxation)( _ref(btWheelInfo)* _this ) {
-	return _unref(_this)->m_wheelsDampingRelaxation;
-}
-HL_PRIM float HL_NAME(btWheelInfo_set_m_wheelsDampingRelaxation)( _ref(btWheelInfo)* _this, float value ) {
-	_unref(_this)->m_wheelsDampingRelaxation = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btWheelInfo_get_m_wheelsDampingRelaxation,_IDL);
-DEFINE_PRIM(_F32,btWheelInfo_set_m_wheelsDampingRelaxation,_IDL _F32);
-
-HL_PRIM float HL_NAME(btWheelInfo_get_m_steering)( _ref(btWheelInfo)* _this ) {
-	return _unref(_this)->m_steering;
-}
-HL_PRIM float HL_NAME(btWheelInfo_set_m_steering)( _ref(btWheelInfo)* _this, float value ) {
-	_unref(_this)->m_steering = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btWheelInfo_get_m_steering,_IDL);
-DEFINE_PRIM(_F32,btWheelInfo_set_m_steering,_IDL _F32);
-
-HL_PRIM float HL_NAME(btWheelInfo_get_m_maxSuspensionForce)( _ref(btWheelInfo)* _this ) {
-	return _unref(_this)->m_maxSuspensionForce;
-}
-HL_PRIM float HL_NAME(btWheelInfo_set_m_maxSuspensionForce)( _ref(btWheelInfo)* _this, float value ) {
-	_unref(_this)->m_maxSuspensionForce = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btWheelInfo_get_m_maxSuspensionForce,_IDL);
-DEFINE_PRIM(_F32,btWheelInfo_set_m_maxSuspensionForce,_IDL _F32);
-
-HL_PRIM float HL_NAME(btWheelInfo_get_m_maxSuspensionTravelCm)( _ref(btWheelInfo)* _this ) {
-	return _unref(_this)->m_maxSuspensionTravelCm;
-}
-HL_PRIM float HL_NAME(btWheelInfo_set_m_maxSuspensionTravelCm)( _ref(btWheelInfo)* _this, float value ) {
-	_unref(_this)->m_maxSuspensionTravelCm = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btWheelInfo_get_m_maxSuspensionTravelCm,_IDL);
-DEFINE_PRIM(_F32,btWheelInfo_set_m_maxSuspensionTravelCm,_IDL _F32);
-
-HL_PRIM float HL_NAME(btWheelInfo_get_m_wheelsSuspensionForce)( _ref(btWheelInfo)* _this ) {
-	return _unref(_this)->m_wheelsSuspensionForce;
-}
-HL_PRIM float HL_NAME(btWheelInfo_set_m_wheelsSuspensionForce)( _ref(btWheelInfo)* _this, float value ) {
-	_unref(_this)->m_wheelsSuspensionForce = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btWheelInfo_get_m_wheelsSuspensionForce,_IDL);
-DEFINE_PRIM(_F32,btWheelInfo_set_m_wheelsSuspensionForce,_IDL _F32);
-
-HL_PRIM bool HL_NAME(btWheelInfo_get_m_bIsFrontWheel)( _ref(btWheelInfo)* _this ) {
-	return _unref(_this)->m_bIsFrontWheel;
-}
-HL_PRIM bool HL_NAME(btWheelInfo_set_m_bIsFrontWheel)( _ref(btWheelInfo)* _this, bool value ) {
-	_unref(_this)->m_bIsFrontWheel = (value);
-	return value;
-}
-DEFINE_PRIM(_BOOL,btWheelInfo_get_m_bIsFrontWheel,_IDL);
-DEFINE_PRIM(_BOOL,btWheelInfo_set_m_bIsFrontWheel,_IDL _BOOL);
-
-HL_PRIM _ref(btWheelInfo::RaycastInfo)* HL_NAME(btWheelInfo_get_m_raycastInfo)( _ref(btWheelInfo)* _this ) {
-	return alloc_ref(new btWheelInfo::RaycastInfo(_unref(_this)->m_raycastInfo),RaycastInfo);
-}
-HL_PRIM _ref(btWheelInfo::RaycastInfo)* HL_NAME(btWheelInfo_set_m_raycastInfo)( _ref(btWheelInfo)* _this, _ref(btWheelInfo::RaycastInfo)* value ) {
-	_unref(_this)->m_raycastInfo = *_unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,btWheelInfo_get_m_raycastInfo,_IDL);
-DEFINE_PRIM(_IDL,btWheelInfo_set_m_raycastInfo,_IDL _IDL);
-
-HL_PRIM _ref(btVector3)* HL_NAME(btWheelInfo_get_m_chassisConnectionPointCS)( _ref(btWheelInfo)* _this ) {
-	return alloc_ref(new btVector3(_unref(_this)->m_chassisConnectionPointCS),btVector3);
-}
-HL_PRIM _ref(btVector3)* HL_NAME(btWheelInfo_set_m_chassisConnectionPointCS)( _ref(btWheelInfo)* _this, _ref(btVector3)* value ) {
-	_unref(_this)->m_chassisConnectionPointCS = *_unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,btWheelInfo_get_m_chassisConnectionPointCS,_IDL);
-DEFINE_PRIM(_IDL,btWheelInfo_set_m_chassisConnectionPointCS,_IDL _IDL);
-
-HL_PRIM _ref(btWheelInfo)* HL_NAME(btWheelInfo_new1)(_ref(btWheelInfoConstructionInfo)* ci) {
-	return alloc_ref((new btWheelInfo(*_unref(ci))),btWheelInfo);
-}
-DEFINE_PRIM(_IDL, btWheelInfo_new1, _IDL);
-
-HL_PRIM float HL_NAME(btWheelInfo_getSuspensionRestLength0)(_ref(btWheelInfo)* _this) {
-	return _unref(_this)->getSuspensionRestLength();
-}
-DEFINE_PRIM(_F32, btWheelInfo_getSuspensionRestLength0, _IDL);
-
-HL_PRIM void HL_NAME(btWheelInfo_updateWheel2)(_ref(btWheelInfo)* _this, _ref(btRigidBody)* chassis, _ref(btWheelInfo::RaycastInfo)* raycastInfo) {
-	_unref(_this)->updateWheel(*_unref(chassis), *_unref(raycastInfo));
-}
-DEFINE_PRIM(_VOID, btWheelInfo_updateWheel2, _IDL _IDL _IDL);
-
-HL_PRIM _ref(btTransform)* HL_NAME(btWheelInfo_get_m_worldTransform)( _ref(btWheelInfo)* _this ) {
-	return alloc_ref(new btTransform(_unref(_this)->m_worldTransform),btTransform);
-}
-HL_PRIM _ref(btTransform)* HL_NAME(btWheelInfo_set_m_worldTransform)( _ref(btWheelInfo)* _this, _ref(btTransform)* value ) {
-	_unref(_this)->m_worldTransform = *_unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,btWheelInfo_get_m_worldTransform,_IDL);
-DEFINE_PRIM(_IDL,btWheelInfo_set_m_worldTransform,_IDL _IDL);
-
-HL_PRIM _ref(btVector3)* HL_NAME(btWheelInfo_get_m_wheelDirectionCS)( _ref(btWheelInfo)* _this ) {
-	return alloc_ref(new btVector3(_unref(_this)->m_wheelDirectionCS),btVector3);
-}
-HL_PRIM _ref(btVector3)* HL_NAME(btWheelInfo_set_m_wheelDirectionCS)( _ref(btWheelInfo)* _this, _ref(btVector3)* value ) {
-	_unref(_this)->m_wheelDirectionCS = *_unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,btWheelInfo_get_m_wheelDirectionCS,_IDL);
-DEFINE_PRIM(_IDL,btWheelInfo_set_m_wheelDirectionCS,_IDL _IDL);
-
-HL_PRIM _ref(btVector3)* HL_NAME(btWheelInfo_get_m_wheelAxleCS)( _ref(btWheelInfo)* _this ) {
-	return alloc_ref(new btVector3(_unref(_this)->m_wheelAxleCS),btVector3);
-}
-HL_PRIM _ref(btVector3)* HL_NAME(btWheelInfo_set_m_wheelAxleCS)( _ref(btWheelInfo)* _this, _ref(btVector3)* value ) {
-	_unref(_this)->m_wheelAxleCS = *_unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,btWheelInfo_get_m_wheelAxleCS,_IDL);
-DEFINE_PRIM(_IDL,btWheelInfo_set_m_wheelAxleCS,_IDL _IDL);
-
-HL_PRIM float HL_NAME(btWheelInfo_get_m_rotation)( _ref(btWheelInfo)* _this ) {
-	return _unref(_this)->m_rotation;
-}
-HL_PRIM float HL_NAME(btWheelInfo_set_m_rotation)( _ref(btWheelInfo)* _this, float value ) {
-	_unref(_this)->m_rotation = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btWheelInfo_get_m_rotation,_IDL);
-DEFINE_PRIM(_F32,btWheelInfo_set_m_rotation,_IDL _F32);
-
-HL_PRIM float HL_NAME(btWheelInfo_get_m_deltaRotation)( _ref(btWheelInfo)* _this ) {
-	return _unref(_this)->m_deltaRotation;
-}
-HL_PRIM float HL_NAME(btWheelInfo_set_m_deltaRotation)( _ref(btWheelInfo)* _this, float value ) {
-	_unref(_this)->m_deltaRotation = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btWheelInfo_get_m_deltaRotation,_IDL);
-DEFINE_PRIM(_F32,btWheelInfo_set_m_deltaRotation,_IDL _F32);
-
-HL_PRIM float HL_NAME(btWheelInfo_get_m_brake)( _ref(btWheelInfo)* _this ) {
-	return _unref(_this)->m_brake;
-}
-HL_PRIM float HL_NAME(btWheelInfo_set_m_brake)( _ref(btWheelInfo)* _this, float value ) {
-	_unref(_this)->m_brake = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btWheelInfo_get_m_brake,_IDL);
-DEFINE_PRIM(_F32,btWheelInfo_set_m_brake,_IDL _F32);
-
-HL_PRIM float HL_NAME(btWheelInfo_get_m_clippedInvContactDotSuspension)( _ref(btWheelInfo)* _this ) {
-	return _unref(_this)->m_clippedInvContactDotSuspension;
-}
-HL_PRIM float HL_NAME(btWheelInfo_set_m_clippedInvContactDotSuspension)( _ref(btWheelInfo)* _this, float value ) {
-	_unref(_this)->m_clippedInvContactDotSuspension = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btWheelInfo_get_m_clippedInvContactDotSuspension,_IDL);
-DEFINE_PRIM(_F32,btWheelInfo_set_m_clippedInvContactDotSuspension,_IDL _F32);
-
-HL_PRIM float HL_NAME(btWheelInfo_get_m_suspensionRelativeVelocity)( _ref(btWheelInfo)* _this ) {
-	return _unref(_this)->m_suspensionRelativeVelocity;
-}
-HL_PRIM float HL_NAME(btWheelInfo_set_m_suspensionRelativeVelocity)( _ref(btWheelInfo)* _this, float value ) {
-	_unref(_this)->m_suspensionRelativeVelocity = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btWheelInfo_get_m_suspensionRelativeVelocity,_IDL);
-DEFINE_PRIM(_F32,btWheelInfo_set_m_suspensionRelativeVelocity,_IDL _F32);
-
-HL_PRIM float HL_NAME(btWheelInfo_get_m_skidInfo)( _ref(btWheelInfo)* _this ) {
-	return _unref(_this)->m_skidInfo;
-}
-HL_PRIM float HL_NAME(btWheelInfo_set_m_skidInfo)( _ref(btWheelInfo)* _this, float value ) {
-	_unref(_this)->m_skidInfo = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btWheelInfo_get_m_skidInfo,_IDL);
-DEFINE_PRIM(_F32,btWheelInfo_set_m_skidInfo,_IDL _F32);
-
-HL_PRIM void HL_NAME(btActionInterface_updateAction2)(_ref(btActionInterface)* _this, _ref(btCollisionWorld)* collisionWorld, float deltaTimeStep) {
-	_unref(_this)->updateAction(_unref(collisionWorld), deltaTimeStep);
-}
-DEFINE_PRIM(_VOID, btActionInterface_updateAction2, _IDL _IDL _F32);
-
-HL_PRIM _ref(btKinematicCharacterController)* HL_NAME(btKinematicCharacterController_new4)(_ref(btPairCachingGhostObject)* ghostObject, _ref(btConvexShape)* convexShape, float stepHeight, _ref(btVector3)* upAxis) {
-	if( !upAxis )
-		return alloc_ref((new btKinematicCharacterController(_unref(ghostObject), _unref(convexShape), stepHeight)),btKinematicCharacterController);
-	else
-		return alloc_ref((new btKinematicCharacterController(_unref(ghostObject), _unref(convexShape), stepHeight, *_unref(upAxis))),btKinematicCharacterController);
-}
-DEFINE_PRIM(_IDL, btKinematicCharacterController_new4, _IDL _IDL _F32 _IDL);
-
-HL_PRIM void HL_NAME(btKinematicCharacterController_setUp1)(_ref(btKinematicCharacterController)* _this, _ref(btVector3)* axis) {
-	_unref(_this)->setUp(*_unref(axis));
-}
-DEFINE_PRIM(_VOID, btKinematicCharacterController_setUp1, _IDL _IDL);
-
-HL_PRIM void HL_NAME(btKinematicCharacterController_setWalkDirection1)(_ref(btKinematicCharacterController)* _this, _ref(btVector3)* walkDirection) {
-	_unref(_this)->setWalkDirection(*_unref(walkDirection));
-}
-DEFINE_PRIM(_VOID, btKinematicCharacterController_setWalkDirection1, _IDL _IDL);
-
-HL_PRIM void HL_NAME(btKinematicCharacterController_setVelocityForTimeInterval2)(_ref(btKinematicCharacterController)* _this, _ref(btVector3)* velocity, float timeInterval) {
-	_unref(_this)->setVelocityForTimeInterval(*_unref(velocity), timeInterval);
-}
-DEFINE_PRIM(_VOID, btKinematicCharacterController_setVelocityForTimeInterval2, _IDL _IDL _F32);
-
-HL_PRIM void HL_NAME(btKinematicCharacterController_warp1)(_ref(btKinematicCharacterController)* _this, _ref(btVector3)* origin) {
-	_unref(_this)->warp(*_unref(origin));
-}
-DEFINE_PRIM(_VOID, btKinematicCharacterController_warp1, _IDL _IDL);
-
-HL_PRIM void HL_NAME(btKinematicCharacterController_preStep1)(_ref(btKinematicCharacterController)* _this, _ref(btCollisionWorld)* collisionWorld) {
-	_unref(_this)->preStep(_unref(collisionWorld));
-}
-DEFINE_PRIM(_VOID, btKinematicCharacterController_preStep1, _IDL _IDL);
-
-HL_PRIM void HL_NAME(btKinematicCharacterController_playerStep2)(_ref(btKinematicCharacterController)* _this, _ref(btCollisionWorld)* collisionWorld, float dt) {
-	_unref(_this)->playerStep(_unref(collisionWorld), dt);
-}
-DEFINE_PRIM(_VOID, btKinematicCharacterController_playerStep2, _IDL _IDL _F32);
-
-HL_PRIM void HL_NAME(btKinematicCharacterController_setFallSpeed1)(_ref(btKinematicCharacterController)* _this, float fallSpeed) {
-	_unref(_this)->setFallSpeed(fallSpeed);
-}
-DEFINE_PRIM(_VOID, btKinematicCharacterController_setFallSpeed1, _IDL _F32);
-
-HL_PRIM void HL_NAME(btKinematicCharacterController_setJumpSpeed1)(_ref(btKinematicCharacterController)* _this, float jumpSpeed) {
-	_unref(_this)->setJumpSpeed(jumpSpeed);
-}
-DEFINE_PRIM(_VOID, btKinematicCharacterController_setJumpSpeed1, _IDL _F32);
-
-HL_PRIM void HL_NAME(btKinematicCharacterController_setMaxJumpHeight1)(_ref(btKinematicCharacterController)* _this, float maxJumpHeight) {
-	_unref(_this)->setMaxJumpHeight(maxJumpHeight);
-}
-DEFINE_PRIM(_VOID, btKinematicCharacterController_setMaxJumpHeight1, _IDL _F32);
-
-HL_PRIM bool HL_NAME(btKinematicCharacterController_canJump0)(_ref(btKinematicCharacterController)* _this) {
-	return _unref(_this)->canJump();
-}
-DEFINE_PRIM(_BOOL, btKinematicCharacterController_canJump0, _IDL);
-
-HL_PRIM void HL_NAME(btKinematicCharacterController_jump0)(_ref(btKinematicCharacterController)* _this) {
-	_unref(_this)->jump();
-}
-DEFINE_PRIM(_VOID, btKinematicCharacterController_jump0, _IDL);
-
-HL_PRIM void HL_NAME(btKinematicCharacterController_setGravity1)(_ref(btKinematicCharacterController)* _this, _ref(btVector3)* gravity) {
-	_unref(_this)->setGravity(*_unref(gravity));
-}
-DEFINE_PRIM(_VOID, btKinematicCharacterController_setGravity1, _IDL _IDL);
-
-HL_PRIM _ref(btVector3)* HL_NAME(btKinematicCharacterController_getGravity0)(_ref(btKinematicCharacterController)* _this) {
-	return alloc_ref(new btVector3(_unref(_this)->getGravity()),btVector3);
-}
-DEFINE_PRIM(_IDL, btKinematicCharacterController_getGravity0, _IDL);
-
-HL_PRIM void HL_NAME(btKinematicCharacterController_setMaxSlope1)(_ref(btKinematicCharacterController)* _this, float slopeRadians) {
-	_unref(_this)->setMaxSlope(slopeRadians);
-}
-DEFINE_PRIM(_VOID, btKinematicCharacterController_setMaxSlope1, _IDL _F32);
-
-HL_PRIM float HL_NAME(btKinematicCharacterController_getMaxSlope0)(_ref(btKinematicCharacterController)* _this) {
-	return _unref(_this)->getMaxSlope();
-}
-DEFINE_PRIM(_F32, btKinematicCharacterController_getMaxSlope0, _IDL);
-
-HL_PRIM _ref(btPairCachingGhostObject)* HL_NAME(btKinematicCharacterController_getGhostObject0)(_ref(btKinematicCharacterController)* _this) {
-	return alloc_ref((_unref(_this)->getGhostObject()),btPairCachingGhostObject);
-}
-DEFINE_PRIM(_IDL, btKinematicCharacterController_getGhostObject0, _IDL);
-
-HL_PRIM void HL_NAME(btKinematicCharacterController_setUseGhostSweepTest1)(_ref(btKinematicCharacterController)* _this, bool useGhostObjectSweepTest) {
-	_unref(_this)->setUseGhostSweepTest(useGhostObjectSweepTest);
-}
-DEFINE_PRIM(_VOID, btKinematicCharacterController_setUseGhostSweepTest1, _IDL _BOOL);
-
-HL_PRIM bool HL_NAME(btKinematicCharacterController_onGround0)(_ref(btKinematicCharacterController)* _this) {
-	return _unref(_this)->onGround();
-}
-DEFINE_PRIM(_BOOL, btKinematicCharacterController_onGround0, _IDL);
-
-HL_PRIM _ref(btRaycastVehicle)* HL_NAME(btRaycastVehicle_new3)(_ref(btRaycastVehicle::btVehicleTuning)* tuning, _ref(btRigidBody)* chassis, _ref(btVehicleRaycaster)* raycaster) {
-	return alloc_ref((new btRaycastVehicle(*_unref(tuning), _unref(chassis), _unref(raycaster))),btRaycastVehicle);
-}
-DEFINE_PRIM(_IDL, btRaycastVehicle_new3, _IDL _IDL _IDL);
-
-HL_PRIM void HL_NAME(btRaycastVehicle_applyEngineForce2)(_ref(btRaycastVehicle)* _this, float force, int wheel) {
-	_unref(_this)->applyEngineForce(force, wheel);
-}
-DEFINE_PRIM(_VOID, btRaycastVehicle_applyEngineForce2, _IDL _F32 _I32);
-
-HL_PRIM void HL_NAME(btRaycastVehicle_setSteeringValue2)(_ref(btRaycastVehicle)* _this, float steering, int wheel) {
-	_unref(_this)->setSteeringValue(steering, wheel);
-}
-DEFINE_PRIM(_VOID, btRaycastVehicle_setSteeringValue2, _IDL _F32 _I32);
-
-HL_PRIM HL_CONST _ref(btTransform)* HL_NAME(btRaycastVehicle_getWheelTransformWS1)(_ref(btRaycastVehicle)* _this, int wheelIndex) {
-	return alloc_ref(new btTransform(_unref(_this)->getWheelTransformWS(wheelIndex)),btTransform);
-}
-DEFINE_PRIM(_IDL, btRaycastVehicle_getWheelTransformWS1, _IDL _I32);
-
-HL_PRIM void HL_NAME(btRaycastVehicle_updateWheelTransform2)(_ref(btRaycastVehicle)* _this, int wheelIndex, bool interpolatedTransform) {
-	_unref(_this)->updateWheelTransform(wheelIndex, interpolatedTransform);
-}
-DEFINE_PRIM(_VOID, btRaycastVehicle_updateWheelTransform2, _IDL _I32 _BOOL);
-
-HL_PRIM _ref(btWheelInfo)* HL_NAME(btRaycastVehicle_addWheel7)(_ref(btRaycastVehicle)* _this, _ref(btVector3)* connectionPointCS0, _ref(btVector3)* wheelDirectionCS0, _ref(btVector3)* wheelAxleCS, float suspensionRestLength, float wheelRadius, _ref(btRaycastVehicle::btVehicleTuning)* tuning, bool isFrontWheel) {
-	return alloc_ref(new btWheelInfo(_unref(_this)->addWheel(*_unref(connectionPointCS0), *_unref(wheelDirectionCS0), *_unref(wheelAxleCS), suspensionRestLength, wheelRadius, *_unref(tuning), isFrontWheel)),btWheelInfo);
-}
-DEFINE_PRIM(_IDL, btRaycastVehicle_addWheel7, _IDL _IDL _IDL _IDL _F32 _F32 _IDL _BOOL);
-
-HL_PRIM int HL_NAME(btRaycastVehicle_getNumWheels0)(_ref(btRaycastVehicle)* _this) {
-	return _unref(_this)->getNumWheels();
-}
-DEFINE_PRIM(_I32, btRaycastVehicle_getNumWheels0, _IDL);
-
-HL_PRIM _ref(btRigidBody)* HL_NAME(btRaycastVehicle_getRigidBody0)(_ref(btRaycastVehicle)* _this) {
-	return alloc_ref((_unref(_this)->getRigidBody()),btRigidBody);
-}
-DEFINE_PRIM(_IDL, btRaycastVehicle_getRigidBody0, _IDL);
-
-HL_PRIM _ref(btWheelInfo)* HL_NAME(btRaycastVehicle_getWheelInfo1)(_ref(btRaycastVehicle)* _this, int index) {
-	return alloc_ref(new btWheelInfo(_unref(_this)->getWheelInfo(index)),btWheelInfo);
-}
-DEFINE_PRIM(_IDL, btRaycastVehicle_getWheelInfo1, _IDL _I32);
-
-HL_PRIM void HL_NAME(btRaycastVehicle_setBrake2)(_ref(btRaycastVehicle)* _this, float brake, int wheelIndex) {
-	_unref(_this)->setBrake(brake, wheelIndex);
-}
-DEFINE_PRIM(_VOID, btRaycastVehicle_setBrake2, _IDL _F32 _I32);
-
-HL_PRIM void HL_NAME(btRaycastVehicle_setCoordinateSystem3)(_ref(btRaycastVehicle)* _this, int rightIndex, int upIndex, int forwardIndex) {
-	_unref(_this)->setCoordinateSystem(rightIndex, upIndex, forwardIndex);
-}
-DEFINE_PRIM(_VOID, btRaycastVehicle_setCoordinateSystem3, _IDL _I32 _I32 _I32);
-
-HL_PRIM float HL_NAME(btRaycastVehicle_getCurrentSpeedKmHour0)(_ref(btRaycastVehicle)* _this) {
-	return _unref(_this)->getCurrentSpeedKmHour();
-}
-DEFINE_PRIM(_F32, btRaycastVehicle_getCurrentSpeedKmHour0, _IDL);
-
-HL_PRIM HL_CONST _ref(btTransform)* HL_NAME(btRaycastVehicle_getChassisWorldTransform0)(_ref(btRaycastVehicle)* _this) {
-	return alloc_ref(new btTransform(_unref(_this)->getChassisWorldTransform()),btTransform);
-}
-DEFINE_PRIM(_IDL, btRaycastVehicle_getChassisWorldTransform0, _IDL);
-
-HL_PRIM float HL_NAME(btRaycastVehicle_rayCast1)(_ref(btRaycastVehicle)* _this, _ref(btWheelInfo)* wheel) {
-	return _unref(_this)->rayCast(*_unref(wheel));
-}
-DEFINE_PRIM(_F32, btRaycastVehicle_rayCast1, _IDL _IDL);
-
-HL_PRIM void HL_NAME(btRaycastVehicle_updateVehicle1)(_ref(btRaycastVehicle)* _this, float step) {
-	_unref(_this)->updateVehicle(step);
-}
-DEFINE_PRIM(_VOID, btRaycastVehicle_updateVehicle1, _IDL _F32);
-
-HL_PRIM void HL_NAME(btRaycastVehicle_resetSuspension0)(_ref(btRaycastVehicle)* _this) {
-	_unref(_this)->resetSuspension();
-}
-DEFINE_PRIM(_VOID, btRaycastVehicle_resetSuspension0, _IDL);
-
-HL_PRIM float HL_NAME(btRaycastVehicle_getSteeringValue1)(_ref(btRaycastVehicle)* _this, int wheel) {
-	return _unref(_this)->getSteeringValue(wheel);
-}
-DEFINE_PRIM(_F32, btRaycastVehicle_getSteeringValue1, _IDL _I32);
-
-HL_PRIM void HL_NAME(btRaycastVehicle_updateWheelTransformsWS2)(_ref(btRaycastVehicle)* _this, _ref(btWheelInfo)* wheel, _OPT(bool) interpolatedTransform) {
-	if( !interpolatedTransform )
-		_unref(_this)->updateWheelTransformsWS(*_unref(wheel));
-	else
-		_unref(_this)->updateWheelTransformsWS(*_unref(wheel), _GET_OPT(interpolatedTransform,b));
-}
-DEFINE_PRIM(_VOID, btRaycastVehicle_updateWheelTransformsWS2, _IDL _IDL _NULL(_BOOL));
-
-HL_PRIM void HL_NAME(btRaycastVehicle_setPitchControl1)(_ref(btRaycastVehicle)* _this, float pitch) {
-	_unref(_this)->setPitchControl(pitch);
-}
-DEFINE_PRIM(_VOID, btRaycastVehicle_setPitchControl1, _IDL _F32);
-
-HL_PRIM void HL_NAME(btRaycastVehicle_updateSuspension1)(_ref(btRaycastVehicle)* _this, float deltaTime) {
-	_unref(_this)->updateSuspension(deltaTime);
-}
-DEFINE_PRIM(_VOID, btRaycastVehicle_updateSuspension1, _IDL _F32);
-
-HL_PRIM void HL_NAME(btRaycastVehicle_updateFriction1)(_ref(btRaycastVehicle)* _this, float timeStep) {
-	_unref(_this)->updateFriction(timeStep);
-}
-DEFINE_PRIM(_VOID, btRaycastVehicle_updateFriction1, _IDL _F32);
-
-HL_PRIM int HL_NAME(btRaycastVehicle_getRightAxis0)(_ref(btRaycastVehicle)* _this) {
-	return _unref(_this)->getRightAxis();
-}
-DEFINE_PRIM(_I32, btRaycastVehicle_getRightAxis0, _IDL);
-
-HL_PRIM int HL_NAME(btRaycastVehicle_getUpAxis0)(_ref(btRaycastVehicle)* _this) {
-	return _unref(_this)->getUpAxis();
-}
-DEFINE_PRIM(_I32, btRaycastVehicle_getUpAxis0, _IDL);
-
-HL_PRIM int HL_NAME(btRaycastVehicle_getForwardAxis0)(_ref(btRaycastVehicle)* _this) {
-	return _unref(_this)->getForwardAxis();
-}
-DEFINE_PRIM(_I32, btRaycastVehicle_getForwardAxis0, _IDL);
-
-HL_PRIM _ref(btVector3)* HL_NAME(btRaycastVehicle_getForwardVector0)(_ref(btRaycastVehicle)* _this) {
-	return alloc_ref(new btVector3(_unref(_this)->getForwardVector()),btVector3);
-}
-DEFINE_PRIM(_IDL, btRaycastVehicle_getForwardVector0, _IDL);
-
-HL_PRIM int HL_NAME(btRaycastVehicle_getUserConstraintType0)(_ref(btRaycastVehicle)* _this) {
-	return _unref(_this)->getUserConstraintType();
-}
-DEFINE_PRIM(_I32, btRaycastVehicle_getUserConstraintType0, _IDL);
-
-HL_PRIM void HL_NAME(btRaycastVehicle_setUserConstraintType1)(_ref(btRaycastVehicle)* _this, int userConstraintType) {
-	_unref(_this)->setUserConstraintType(userConstraintType);
-}
-DEFINE_PRIM(_VOID, btRaycastVehicle_setUserConstraintType1, _IDL _I32);
-
-HL_PRIM void HL_NAME(btRaycastVehicle_setUserConstraintId1)(_ref(btRaycastVehicle)* _this, int uid) {
-	_unref(_this)->setUserConstraintId(uid);
-}
-DEFINE_PRIM(_VOID, btRaycastVehicle_setUserConstraintId1, _IDL _I32);
-
-HL_PRIM int HL_NAME(btRaycastVehicle_getUserConstraintId0)(_ref(btRaycastVehicle)* _this) {
-	return _unref(_this)->getUserConstraintId();
-}
-DEFINE_PRIM(_I32, btRaycastVehicle_getUserConstraintId0, _IDL);
-
-HL_PRIM _ref(btGhostObject)* HL_NAME(btGhostObject_new0)() {
-	return alloc_ref((new btGhostObject()),btGhostObject);
-}
-DEFINE_PRIM(_IDL, btGhostObject_new0,);
-
-HL_PRIM int HL_NAME(btGhostObject_getNumOverlappingObjects0)(_ref(btGhostObject)* _this) {
-	return _unref(_this)->getNumOverlappingObjects();
-}
-DEFINE_PRIM(_I32, btGhostObject_getNumOverlappingObjects0, _IDL);
-
-HL_PRIM _ref(btCollisionObject)* HL_NAME(btGhostObject_getOverlappingObject1)(_ref(btGhostObject)* _this, int index) {
-	return alloc_ref((_unref(_this)->getOverlappingObject(index)),btCollisionObject);
-}
-DEFINE_PRIM(_IDL, btGhostObject_getOverlappingObject1, _IDL _I32);
-
-HL_PRIM _ref(btPairCachingGhostObject)* HL_NAME(btPairCachingGhostObject_new0)() {
-	return alloc_ref((new btPairCachingGhostObject()),btPairCachingGhostObject);
-}
-DEFINE_PRIM(_IDL, btPairCachingGhostObject_new0,);
-
-HL_PRIM _ref(btGhostPairCallback)* HL_NAME(btGhostPairCallback_new0)() {
-	return alloc_ref((new btGhostPairCallback()),btGhostPairCallback);
-}
-DEFINE_PRIM(_IDL, btGhostPairCallback_new0,);
-
-HL_PRIM _ref(btSoftBodyWorldInfo)* HL_NAME(btSoftBodyWorldInfo_new0)() {
-	return alloc_ref((new btSoftBodyWorldInfo()),btSoftBodyWorldInfo);
-}
-DEFINE_PRIM(_IDL, btSoftBodyWorldInfo_new0,);
-
-HL_PRIM float HL_NAME(btSoftBodyWorldInfo_get_air_density)( _ref(btSoftBodyWorldInfo)* _this ) {
-	return _unref(_this)->air_density;
-}
-HL_PRIM float HL_NAME(btSoftBodyWorldInfo_set_air_density)( _ref(btSoftBodyWorldInfo)* _this, float value ) {
-	_unref(_this)->air_density = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btSoftBodyWorldInfo_get_air_density,_IDL);
-DEFINE_PRIM(_F32,btSoftBodyWorldInfo_set_air_density,_IDL _F32);
-
-HL_PRIM float HL_NAME(btSoftBodyWorldInfo_get_water_density)( _ref(btSoftBodyWorldInfo)* _this ) {
-	return _unref(_this)->water_density;
-}
-HL_PRIM float HL_NAME(btSoftBodyWorldInfo_set_water_density)( _ref(btSoftBodyWorldInfo)* _this, float value ) {
-	_unref(_this)->water_density = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btSoftBodyWorldInfo_get_water_density,_IDL);
-DEFINE_PRIM(_F32,btSoftBodyWorldInfo_set_water_density,_IDL _F32);
-
-HL_PRIM float HL_NAME(btSoftBodyWorldInfo_get_water_offset)( _ref(btSoftBodyWorldInfo)* _this ) {
-	return _unref(_this)->water_offset;
-}
-HL_PRIM float HL_NAME(btSoftBodyWorldInfo_set_water_offset)( _ref(btSoftBodyWorldInfo)* _this, float value ) {
-	_unref(_this)->water_offset = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btSoftBodyWorldInfo_get_water_offset,_IDL);
-DEFINE_PRIM(_F32,btSoftBodyWorldInfo_set_water_offset,_IDL _F32);
-
-HL_PRIM float HL_NAME(btSoftBodyWorldInfo_get_m_maxDisplacement)( _ref(btSoftBodyWorldInfo)* _this ) {
-	return _unref(_this)->m_maxDisplacement;
-}
-HL_PRIM float HL_NAME(btSoftBodyWorldInfo_set_m_maxDisplacement)( _ref(btSoftBodyWorldInfo)* _this, float value ) {
-	_unref(_this)->m_maxDisplacement = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,btSoftBodyWorldInfo_get_m_maxDisplacement,_IDL);
-DEFINE_PRIM(_F32,btSoftBodyWorldInfo_set_m_maxDisplacement,_IDL _F32);
-
-HL_PRIM _ref(btVector3)* HL_NAME(btSoftBodyWorldInfo_get_water_normal)( _ref(btSoftBodyWorldInfo)* _this ) {
-	return alloc_ref(new btVector3(_unref(_this)->water_normal),btVector3);
-}
-HL_PRIM _ref(btVector3)* HL_NAME(btSoftBodyWorldInfo_set_water_normal)( _ref(btSoftBodyWorldInfo)* _this, _ref(btVector3)* value ) {
-	_unref(_this)->water_normal = *_unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,btSoftBodyWorldInfo_get_water_normal,_IDL);
-DEFINE_PRIM(_IDL,btSoftBodyWorldInfo_set_water_normal,_IDL _IDL);
-
-HL_PRIM _ref(btBroadphaseInterface)* HL_NAME(btSoftBodyWorldInfo_get_m_broadphase)( _ref(btSoftBodyWorldInfo)* _this ) {
-	return alloc_ref(_unref(_this)->m_broadphase,btBroadphaseInterface);
-}
-HL_PRIM _ref(btBroadphaseInterface)* HL_NAME(btSoftBodyWorldInfo_set_m_broadphase)( _ref(btSoftBodyWorldInfo)* _this, _ref(btBroadphaseInterface)* value ) {
-	_unref(_this)->m_broadphase = _unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,btSoftBodyWorldInfo_get_m_broadphase,_IDL);
-DEFINE_PRIM(_IDL,btSoftBodyWorldInfo_set_m_broadphase,_IDL _IDL);
-
-HL_PRIM _ref(btDispatcher)* HL_NAME(btSoftBodyWorldInfo_get_m_dispatcher)( _ref(btSoftBodyWorldInfo)* _this ) {
-	return alloc_ref(_unref(_this)->m_dispatcher,btDispatcher);
-}
-HL_PRIM _ref(btDispatcher)* HL_NAME(btSoftBodyWorldInfo_set_m_dispatcher)( _ref(btSoftBodyWorldInfo)* _this, _ref(btDispatcher)* value ) {
-	_unref(_this)->m_dispatcher = _unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,btSoftBodyWorldInfo_get_m_dispatcher,_IDL);
-DEFINE_PRIM(_IDL,btSoftBodyWorldInfo_set_m_dispatcher,_IDL _IDL);
-
-HL_PRIM _ref(btVector3)* HL_NAME(btSoftBodyWorldInfo_get_m_gravity)( _ref(btSoftBodyWorldInfo)* _this ) {
-	return alloc_ref(new btVector3(_unref(_this)->m_gravity),btVector3);
-}
-HL_PRIM _ref(btVector3)* HL_NAME(btSoftBodyWorldInfo_set_m_gravity)( _ref(btSoftBodyWorldInfo)* _this, _ref(btVector3)* value ) {
-	_unref(_this)->m_gravity = *_unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,btSoftBodyWorldInfo_get_m_gravity,_IDL);
-DEFINE_PRIM(_IDL,btSoftBodyWorldInfo_set_m_gravity,_IDL _IDL);
-
-HL_PRIM _ref(btVector3)* HL_NAME(Node_get_m_x)( _ref(btSoftBody::Node)* _this ) {
-	return alloc_ref(new btVector3(_unref(_this)->m_x),btVector3);
-}
-HL_PRIM _ref(btVector3)* HL_NAME(Node_set_m_x)( _ref(btSoftBody::Node)* _this, _ref(btVector3)* value ) {
-	_unref(_this)->m_x = *_unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,Node_get_m_x,_IDL);
-DEFINE_PRIM(_IDL,Node_set_m_x,_IDL _IDL);
-
-HL_PRIM _ref(btVector3)* HL_NAME(Node_get_m_n)( _ref(btSoftBody::Node)* _this ) {
-	return alloc_ref(new btVector3(_unref(_this)->m_n),btVector3);
-}
-HL_PRIM _ref(btVector3)* HL_NAME(Node_set_m_n)( _ref(btSoftBody::Node)* _this, _ref(btVector3)* value ) {
-	_unref(_this)->m_n = *_unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,Node_get_m_n,_IDL);
-DEFINE_PRIM(_IDL,Node_set_m_n,_IDL _IDL);
-
-HL_PRIM HL_CONST int HL_NAME(tNodeArray_size0)(_ref(btSoftBody::tNodeArray)* _this) {
-	return _unref(_this)->size();
-}
-DEFINE_PRIM(_I32, tNodeArray_size0, _IDL);
-
-HL_PRIM HL_CONST _ref(btSoftBody::Node)* HL_NAME(tNodeArray_at1)(_ref(btSoftBody::tNodeArray)* _this, int n) {
-	return alloc_ref(new btSoftBody::Node(_unref(_this)->at(n)),Node);
-}
-DEFINE_PRIM(_IDL, tNodeArray_at1, _IDL _I32);
-
-HL_PRIM float HL_NAME(Material_get_m_kLST)( _ref(btSoftBody::Material)* _this ) {
-	return _unref(_this)->m_kLST;
-}
-HL_PRIM float HL_NAME(Material_set_m_kLST)( _ref(btSoftBody::Material)* _this, float value ) {
-	_unref(_this)->m_kLST = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,Material_get_m_kLST,_IDL);
-DEFINE_PRIM(_F32,Material_set_m_kLST,_IDL _F32);
-
-HL_PRIM float HL_NAME(Material_get_m_kAST)( _ref(btSoftBody::Material)* _this ) {
-	return _unref(_this)->m_kAST;
-}
-HL_PRIM float HL_NAME(Material_set_m_kAST)( _ref(btSoftBody::Material)* _this, float value ) {
-	_unref(_this)->m_kAST = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,Material_get_m_kAST,_IDL);
-DEFINE_PRIM(_F32,Material_set_m_kAST,_IDL _F32);
-
-HL_PRIM float HL_NAME(Material_get_m_kVST)( _ref(btSoftBody::Material)* _this ) {
-	return _unref(_this)->m_kVST;
-}
-HL_PRIM float HL_NAME(Material_set_m_kVST)( _ref(btSoftBody::Material)* _this, float value ) {
-	_unref(_this)->m_kVST = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,Material_get_m_kVST,_IDL);
-DEFINE_PRIM(_F32,Material_set_m_kVST,_IDL _F32);
-
-HL_PRIM int HL_NAME(Material_get_m_flags)( _ref(btSoftBody::Material)* _this ) {
-	return _unref(_this)->m_flags;
-}
-HL_PRIM int HL_NAME(Material_set_m_flags)( _ref(btSoftBody::Material)* _this, int value ) {
-	_unref(_this)->m_flags = (value);
-	return value;
-}
-DEFINE_PRIM(_I32,Material_get_m_flags,_IDL);
-DEFINE_PRIM(_I32,Material_set_m_flags,_IDL _I32);
-
-HL_PRIM HL_CONST int HL_NAME(tMaterialArray_size0)(_ref(btSoftBody::tMaterialArray)* _this) {
-	return _unref(_this)->size();
-}
-DEFINE_PRIM(_I32, tMaterialArray_size0, _IDL);
-
-HL_PRIM _ref(btSoftBody::Material)* HL_NAME(tMaterialArray_at1)(_ref(btSoftBody::tMaterialArray)* _this, int n) {
-	return alloc_ref((_unref(_this)->at(n)),Material);
-}
-DEFINE_PRIM(_IDL, tMaterialArray_at1, _IDL _I32);
-
-HL_PRIM float HL_NAME(Config_get_kVCF)( _ref(btSoftBody::Config)* _this ) {
-	return _unref(_this)->kVCF;
-}
-HL_PRIM float HL_NAME(Config_set_kVCF)( _ref(btSoftBody::Config)* _this, float value ) {
-	_unref(_this)->kVCF = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,Config_get_kVCF,_IDL);
-DEFINE_PRIM(_F32,Config_set_kVCF,_IDL _F32);
-
-HL_PRIM float HL_NAME(Config_get_kDP)( _ref(btSoftBody::Config)* _this ) {
-	return _unref(_this)->kDP;
-}
-HL_PRIM float HL_NAME(Config_set_kDP)( _ref(btSoftBody::Config)* _this, float value ) {
-	_unref(_this)->kDP = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,Config_get_kDP,_IDL);
-DEFINE_PRIM(_F32,Config_set_kDP,_IDL _F32);
-
-HL_PRIM float HL_NAME(Config_get_kDG)( _ref(btSoftBody::Config)* _this ) {
-	return _unref(_this)->kDG;
-}
-HL_PRIM float HL_NAME(Config_set_kDG)( _ref(btSoftBody::Config)* _this, float value ) {
-	_unref(_this)->kDG = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,Config_get_kDG,_IDL);
-DEFINE_PRIM(_F32,Config_set_kDG,_IDL _F32);
-
-HL_PRIM float HL_NAME(Config_get_kLF)( _ref(btSoftBody::Config)* _this ) {
-	return _unref(_this)->kLF;
-}
-HL_PRIM float HL_NAME(Config_set_kLF)( _ref(btSoftBody::Config)* _this, float value ) {
-	_unref(_this)->kLF = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,Config_get_kLF,_IDL);
-DEFINE_PRIM(_F32,Config_set_kLF,_IDL _F32);
-
-HL_PRIM float HL_NAME(Config_get_kPR)( _ref(btSoftBody::Config)* _this ) {
-	return _unref(_this)->kPR;
-}
-HL_PRIM float HL_NAME(Config_set_kPR)( _ref(btSoftBody::Config)* _this, float value ) {
-	_unref(_this)->kPR = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,Config_get_kPR,_IDL);
-DEFINE_PRIM(_F32,Config_set_kPR,_IDL _F32);
-
-HL_PRIM float HL_NAME(Config_get_kVC)( _ref(btSoftBody::Config)* _this ) {
-	return _unref(_this)->kVC;
-}
-HL_PRIM float HL_NAME(Config_set_kVC)( _ref(btSoftBody::Config)* _this, float value ) {
-	_unref(_this)->kVC = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,Config_get_kVC,_IDL);
-DEFINE_PRIM(_F32,Config_set_kVC,_IDL _F32);
-
-HL_PRIM float HL_NAME(Config_get_kDF)( _ref(btSoftBody::Config)* _this ) {
-	return _unref(_this)->kDF;
-}
-HL_PRIM float HL_NAME(Config_set_kDF)( _ref(btSoftBody::Config)* _this, float value ) {
-	_unref(_this)->kDF = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,Config_get_kDF,_IDL);
-DEFINE_PRIM(_F32,Config_set_kDF,_IDL _F32);
-
-HL_PRIM float HL_NAME(Config_get_kMT)( _ref(btSoftBody::Config)* _this ) {
-	return _unref(_this)->kMT;
-}
-HL_PRIM float HL_NAME(Config_set_kMT)( _ref(btSoftBody::Config)* _this, float value ) {
-	_unref(_this)->kMT = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,Config_get_kMT,_IDL);
-DEFINE_PRIM(_F32,Config_set_kMT,_IDL _F32);
-
-HL_PRIM float HL_NAME(Config_get_kCHR)( _ref(btSoftBody::Config)* _this ) {
-	return _unref(_this)->kCHR;
-}
-HL_PRIM float HL_NAME(Config_set_kCHR)( _ref(btSoftBody::Config)* _this, float value ) {
-	_unref(_this)->kCHR = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,Config_get_kCHR,_IDL);
-DEFINE_PRIM(_F32,Config_set_kCHR,_IDL _F32);
-
-HL_PRIM float HL_NAME(Config_get_kKHR)( _ref(btSoftBody::Config)* _this ) {
-	return _unref(_this)->kKHR;
-}
-HL_PRIM float HL_NAME(Config_set_kKHR)( _ref(btSoftBody::Config)* _this, float value ) {
-	_unref(_this)->kKHR = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,Config_get_kKHR,_IDL);
-DEFINE_PRIM(_F32,Config_set_kKHR,_IDL _F32);
-
-HL_PRIM float HL_NAME(Config_get_kSHR)( _ref(btSoftBody::Config)* _this ) {
-	return _unref(_this)->kSHR;
-}
-HL_PRIM float HL_NAME(Config_set_kSHR)( _ref(btSoftBody::Config)* _this, float value ) {
-	_unref(_this)->kSHR = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,Config_get_kSHR,_IDL);
-DEFINE_PRIM(_F32,Config_set_kSHR,_IDL _F32);
-
-HL_PRIM float HL_NAME(Config_get_kAHR)( _ref(btSoftBody::Config)* _this ) {
-	return _unref(_this)->kAHR;
-}
-HL_PRIM float HL_NAME(Config_set_kAHR)( _ref(btSoftBody::Config)* _this, float value ) {
-	_unref(_this)->kAHR = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,Config_get_kAHR,_IDL);
-DEFINE_PRIM(_F32,Config_set_kAHR,_IDL _F32);
-
-HL_PRIM float HL_NAME(Config_get_kSRHR_CL)( _ref(btSoftBody::Config)* _this ) {
-	return _unref(_this)->kSRHR_CL;
-}
-HL_PRIM float HL_NAME(Config_set_kSRHR_CL)( _ref(btSoftBody::Config)* _this, float value ) {
-	_unref(_this)->kSRHR_CL = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,Config_get_kSRHR_CL,_IDL);
-DEFINE_PRIM(_F32,Config_set_kSRHR_CL,_IDL _F32);
-
-HL_PRIM float HL_NAME(Config_get_kSKHR_CL)( _ref(btSoftBody::Config)* _this ) {
-	return _unref(_this)->kSKHR_CL;
-}
-HL_PRIM float HL_NAME(Config_set_kSKHR_CL)( _ref(btSoftBody::Config)* _this, float value ) {
-	_unref(_this)->kSKHR_CL = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,Config_get_kSKHR_CL,_IDL);
-DEFINE_PRIM(_F32,Config_set_kSKHR_CL,_IDL _F32);
-
-HL_PRIM float HL_NAME(Config_get_kSSHR_CL)( _ref(btSoftBody::Config)* _this ) {
-	return _unref(_this)->kSSHR_CL;
-}
-HL_PRIM float HL_NAME(Config_set_kSSHR_CL)( _ref(btSoftBody::Config)* _this, float value ) {
-	_unref(_this)->kSSHR_CL = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,Config_get_kSSHR_CL,_IDL);
-DEFINE_PRIM(_F32,Config_set_kSSHR_CL,_IDL _F32);
-
-HL_PRIM float HL_NAME(Config_get_kSR_SPLT_CL)( _ref(btSoftBody::Config)* _this ) {
-	return _unref(_this)->kSR_SPLT_CL;
-}
-HL_PRIM float HL_NAME(Config_set_kSR_SPLT_CL)( _ref(btSoftBody::Config)* _this, float value ) {
-	_unref(_this)->kSR_SPLT_CL = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,Config_get_kSR_SPLT_CL,_IDL);
-DEFINE_PRIM(_F32,Config_set_kSR_SPLT_CL,_IDL _F32);
-
-HL_PRIM float HL_NAME(Config_get_kSK_SPLT_CL)( _ref(btSoftBody::Config)* _this ) {
-	return _unref(_this)->kSK_SPLT_CL;
-}
-HL_PRIM float HL_NAME(Config_set_kSK_SPLT_CL)( _ref(btSoftBody::Config)* _this, float value ) {
-	_unref(_this)->kSK_SPLT_CL = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,Config_get_kSK_SPLT_CL,_IDL);
-DEFINE_PRIM(_F32,Config_set_kSK_SPLT_CL,_IDL _F32);
-
-HL_PRIM float HL_NAME(Config_get_kSS_SPLT_CL)( _ref(btSoftBody::Config)* _this ) {
-	return _unref(_this)->kSS_SPLT_CL;
-}
-HL_PRIM float HL_NAME(Config_set_kSS_SPLT_CL)( _ref(btSoftBody::Config)* _this, float value ) {
-	_unref(_this)->kSS_SPLT_CL = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,Config_get_kSS_SPLT_CL,_IDL);
-DEFINE_PRIM(_F32,Config_set_kSS_SPLT_CL,_IDL _F32);
-
-HL_PRIM float HL_NAME(Config_get_maxvolume)( _ref(btSoftBody::Config)* _this ) {
-	return _unref(_this)->maxvolume;
-}
-HL_PRIM float HL_NAME(Config_set_maxvolume)( _ref(btSoftBody::Config)* _this, float value ) {
-	_unref(_this)->maxvolume = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,Config_get_maxvolume,_IDL);
-DEFINE_PRIM(_F32,Config_set_maxvolume,_IDL _F32);
-
-HL_PRIM float HL_NAME(Config_get_timescale)( _ref(btSoftBody::Config)* _this ) {
-	return _unref(_this)->timescale;
-}
-HL_PRIM float HL_NAME(Config_set_timescale)( _ref(btSoftBody::Config)* _this, float value ) {
-	_unref(_this)->timescale = (value);
-	return value;
-}
-DEFINE_PRIM(_F32,Config_get_timescale,_IDL);
-DEFINE_PRIM(_F32,Config_set_timescale,_IDL _F32);
-
-HL_PRIM int HL_NAME(Config_get_viterations)( _ref(btSoftBody::Config)* _this ) {
-	return _unref(_this)->viterations;
-}
-HL_PRIM int HL_NAME(Config_set_viterations)( _ref(btSoftBody::Config)* _this, int value ) {
-	_unref(_this)->viterations = (value);
-	return value;
-}
-DEFINE_PRIM(_I32,Config_get_viterations,_IDL);
-DEFINE_PRIM(_I32,Config_set_viterations,_IDL _I32);
-
-HL_PRIM int HL_NAME(Config_get_piterations)( _ref(btSoftBody::Config)* _this ) {
-	return _unref(_this)->piterations;
-}
-HL_PRIM int HL_NAME(Config_set_piterations)( _ref(btSoftBody::Config)* _this, int value ) {
-	_unref(_this)->piterations = (value);
-	return value;
-}
-DEFINE_PRIM(_I32,Config_get_piterations,_IDL);
-DEFINE_PRIM(_I32,Config_set_piterations,_IDL _I32);
-
-HL_PRIM int HL_NAME(Config_get_diterations)( _ref(btSoftBody::Config)* _this ) {
-	return _unref(_this)->diterations;
-}
-HL_PRIM int HL_NAME(Config_set_diterations)( _ref(btSoftBody::Config)* _this, int value ) {
-	_unref(_this)->diterations = (value);
-	return value;
-}
-DEFINE_PRIM(_I32,Config_get_diterations,_IDL);
-DEFINE_PRIM(_I32,Config_set_diterations,_IDL _I32);
-
-HL_PRIM int HL_NAME(Config_get_citerations)( _ref(btSoftBody::Config)* _this ) {
-	return _unref(_this)->citerations;
-}
-HL_PRIM int HL_NAME(Config_set_citerations)( _ref(btSoftBody::Config)* _this, int value ) {
-	_unref(_this)->citerations = (value);
-	return value;
-}
-DEFINE_PRIM(_I32,Config_get_citerations,_IDL);
-DEFINE_PRIM(_I32,Config_set_citerations,_IDL _I32);
-
-HL_PRIM int HL_NAME(Config_get_collisions)( _ref(btSoftBody::Config)* _this ) {
-	return _unref(_this)->collisions;
-}
-HL_PRIM int HL_NAME(Config_set_collisions)( _ref(btSoftBody::Config)* _this, int value ) {
-	_unref(_this)->collisions = (value);
-	return value;
-}
-DEFINE_PRIM(_I32,Config_get_collisions,_IDL);
-DEFINE_PRIM(_I32,Config_set_collisions,_IDL _I32);
-
-HL_PRIM _ref(btSoftBody)* HL_NAME(btSoftBody_new4)(_ref(btSoftBodyWorldInfo)* worldInfo, int node_count, _ref(btVector3)* x, float* m) {
-	return alloc_ref((new btSoftBody(_unref(worldInfo), node_count, _unref(x), m)),btSoftBody);
-}
-DEFINE_PRIM(_IDL, btSoftBody_new4, _IDL _I32 _IDL _BYTES);
-
-HL_PRIM _ref(btSoftBody::Config)* HL_NAME(btSoftBody_get_m_cfg)( _ref(btSoftBody)* _this ) {
-	return alloc_ref(new btSoftBody::Config(_unref(_this)->m_cfg),Config);
-}
-HL_PRIM _ref(btSoftBody::Config)* HL_NAME(btSoftBody_set_m_cfg)( _ref(btSoftBody)* _this, _ref(btSoftBody::Config)* value ) {
-	_unref(_this)->m_cfg = *_unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,btSoftBody_get_m_cfg,_IDL);
-DEFINE_PRIM(_IDL,btSoftBody_set_m_cfg,_IDL _IDL);
-
-HL_PRIM _ref(btSoftBody::tNodeArray)* HL_NAME(btSoftBody_get_m_nodes)( _ref(btSoftBody)* _this ) {
-	return alloc_ref(new btSoftBody::tNodeArray(_unref(_this)->m_nodes),tNodeArray);
-}
-HL_PRIM _ref(btSoftBody::tNodeArray)* HL_NAME(btSoftBody_set_m_nodes)( _ref(btSoftBody)* _this, _ref(btSoftBody::tNodeArray)* value ) {
-	_unref(_this)->m_nodes = *_unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,btSoftBody_get_m_nodes,_IDL);
-DEFINE_PRIM(_IDL,btSoftBody_set_m_nodes,_IDL _IDL);
-
-HL_PRIM _ref(btSoftBody::tMaterialArray)* HL_NAME(btSoftBody_get_m_materials)( _ref(btSoftBody)* _this ) {
-	return alloc_ref(new btSoftBody::tMaterialArray(_unref(_this)->m_materials),tMaterialArray);
-}
-HL_PRIM _ref(btSoftBody::tMaterialArray)* HL_NAME(btSoftBody_set_m_materials)( _ref(btSoftBody)* _this, _ref(btSoftBody::tMaterialArray)* value ) {
-	_unref(_this)->m_materials = *_unref(value);
-	return value;
-}
-DEFINE_PRIM(_IDL,btSoftBody_get_m_materials,_IDL);
-DEFINE_PRIM(_IDL,btSoftBody_set_m_materials,_IDL _IDL);
-
-HL_PRIM HL_CONST bool HL_NAME(btSoftBody_checkLink2)(_ref(btSoftBody)* _this, int node0, int node1) {
-	return _unref(_this)->checkLink(node0, node1);
-}
-DEFINE_PRIM(_BOOL, btSoftBody_checkLink2, _IDL _I32 _I32);
-
-HL_PRIM HL_CONST bool HL_NAME(btSoftBody_checkFace3)(_ref(btSoftBody)* _this, int node0, int node1, int node2) {
-	return _unref(_this)->checkFace(node0, node1, node2);
-}
-DEFINE_PRIM(_BOOL, btSoftBody_checkFace3, _IDL _I32 _I32 _I32);
-
-HL_PRIM _ref(btSoftBody::Material)* HL_NAME(btSoftBody_appendMaterial0)(_ref(btSoftBody)* _this) {
-	return alloc_ref((_unref(_this)->appendMaterial()),Material);
-}
-DEFINE_PRIM(_IDL, btSoftBody_appendMaterial0, _IDL);
-
-HL_PRIM void HL_NAME(btSoftBody_appendNode2)(_ref(btSoftBody)* _this, _ref(btVector3)* x, float m) {
-	_unref(_this)->appendNode(*_unref(x), m);
-}
-DEFINE_PRIM(_VOID, btSoftBody_appendNode2, _IDL _IDL _F32);
-
-HL_PRIM void HL_NAME(btSoftBody_appendLink4)(_ref(btSoftBody)* _this, int node0, int node1, _ref(btSoftBody::Material)* mat, bool bcheckexist) {
-	_unref(_this)->appendLink(node0, node1, _unref(mat), bcheckexist);
-}
-DEFINE_PRIM(_VOID, btSoftBody_appendLink4, _IDL _I32 _I32 _IDL _BOOL);
-
-HL_PRIM void HL_NAME(btSoftBody_appendFace4)(_ref(btSoftBody)* _this, int node0, int node1, int node2, _ref(btSoftBody::Material)* mat) {
-	_unref(_this)->appendFace(node0, node1, node2, _unref(mat));
-}
-DEFINE_PRIM(_VOID, btSoftBody_appendFace4, _IDL _I32 _I32 _I32 _IDL);
-
-HL_PRIM void HL_NAME(btSoftBody_appendTetra5)(_ref(btSoftBody)* _this, int node0, int node1, int node2, int node3, _ref(btSoftBody::Material)* mat) {
-	_unref(_this)->appendTetra(node0, node1, node2, node3, _unref(mat));
-}
-DEFINE_PRIM(_VOID, btSoftBody_appendTetra5, _IDL _I32 _I32 _I32 _I32 _IDL);
-
-HL_PRIM void HL_NAME(btSoftBody_appendAnchor4)(_ref(btSoftBody)* _this, int node, _ref(btRigidBody)* body, bool disableCollisionBetweenLinkedBodies, float influence) {
-	_unref(_this)->appendAnchor(node, _unref(body), disableCollisionBetweenLinkedBodies, influence);
-}
-DEFINE_PRIM(_VOID, btSoftBody_appendAnchor4, _IDL _I32 _IDL _BOOL _F32);
-
-HL_PRIM HL_CONST float HL_NAME(btSoftBody_getTotalMass0)(_ref(btSoftBody)* _this) {
-	return _unref(_this)->getTotalMass();
-}
-DEFINE_PRIM(_F32, btSoftBody_getTotalMass0, _IDL);
-
-HL_PRIM void HL_NAME(btSoftBody_setTotalMass2)(_ref(btSoftBody)* _this, float mass, bool fromfaces) {
-	_unref(_this)->setTotalMass(mass, fromfaces);
-}
-DEFINE_PRIM(_VOID, btSoftBody_setTotalMass2, _IDL _F32 _BOOL);
-
-HL_PRIM void HL_NAME(btSoftBody_setMass2)(_ref(btSoftBody)* _this, int node, float mass) {
-	_unref(_this)->setMass(node, mass);
-}
-DEFINE_PRIM(_VOID, btSoftBody_setMass2, _IDL _I32 _F32);
-
-HL_PRIM void HL_NAME(btSoftBody_transform1)(_ref(btSoftBody)* _this, _ref(btTransform)* trs) {
-	_unref(_this)->transform(*_unref(trs));
-}
-DEFINE_PRIM(_VOID, btSoftBody_transform1, _IDL _IDL);
-
-HL_PRIM void HL_NAME(btSoftBody_translate1)(_ref(btSoftBody)* _this, _ref(btVector3)* trs) {
-	_unref(_this)->translate(*_unref(trs));
-}
-DEFINE_PRIM(_VOID, btSoftBody_translate1, _IDL _IDL);
-
-HL_PRIM void HL_NAME(btSoftBody_rotate1)(_ref(btSoftBody)* _this, _ref(btQuaternion)* rot) {
-	_unref(_this)->rotate(*_unref(rot));
-}
-DEFINE_PRIM(_VOID, btSoftBody_rotate1, _IDL _IDL);
-
-HL_PRIM void HL_NAME(btSoftBody_scale1)(_ref(btSoftBody)* _this, _ref(btVector3)* scl) {
-	_unref(_this)->scale(*_unref(scl));
-}
-DEFINE_PRIM(_VOID, btSoftBody_scale1, _IDL _IDL);
-
-HL_PRIM int HL_NAME(btSoftBody_generateClusters2)(_ref(btSoftBody)* _this, int k, _OPT(int) maxiterations) {
-	if( !maxiterations )
-		return _unref(_this)->generateClusters(k);
-	else
-		return _unref(_this)->generateClusters(k, _GET_OPT(maxiterations,i));
-}
-DEFINE_PRIM(_I32, btSoftBody_generateClusters2, _IDL _I32 _NULL(_I32));
-
-HL_PRIM _ref(btSoftBody)* HL_NAME(btSoftBody_upcast1)(_ref(btSoftBody)* _this, _ref(btCollisionObject)* colObj) {
-	return alloc_ref((_unref(_this)->upcast(_unref(colObj))),btSoftBody);
-}
-DEFINE_PRIM(_IDL, btSoftBody_upcast1, _IDL _IDL);
-
-HL_PRIM _ref(btSoftBodyRigidBodyCollisionConfiguration)* HL_NAME(btSoftBodyRigidBodyCollisionConfiguration_new1)(_ref(btDefaultCollisionConstructionInfo)* info) {
-	if( !info )
-		return alloc_ref((new btSoftBodyRigidBodyCollisionConfiguration()),btSoftBodyRigidBodyCollisionConfiguration);
-	else
-		return alloc_ref((new btSoftBodyRigidBodyCollisionConfiguration(*_unref(info))),btSoftBodyRigidBodyCollisionConfiguration);
-}
-DEFINE_PRIM(_IDL, btSoftBodyRigidBodyCollisionConfiguration_new1, _IDL);
-
-HL_PRIM _ref(btDefaultSoftBodySolver)* HL_NAME(btDefaultSoftBodySolver_new0)() {
-	return alloc_ref((new btDefaultSoftBodySolver()),btDefaultSoftBodySolver);
-}
-DEFINE_PRIM(_IDL, btDefaultSoftBodySolver_new0,);
-
-HL_PRIM HL_CONST int HL_NAME(btSoftBodyArray_size0)(_ref(btSoftBodyArray)* _this) {
-	return _unref(_this)->size();
-}
-DEFINE_PRIM(_I32, btSoftBodyArray_size0, _IDL);
-
-HL_PRIM HL_CONST _ref(btSoftBody)* HL_NAME(btSoftBodyArray_at1)(_ref(btSoftBodyArray)* _this, int n) {
-	return alloc_ref_const((_unref(_this)->at(n)),btSoftBody);
-}
-DEFINE_PRIM(_IDL, btSoftBodyArray_at1, _IDL _I32);
-
-HL_PRIM _ref(btSoftRigidDynamicsWorld)* HL_NAME(btSoftRigidDynamicsWorld_new5)(_ref(btDispatcher)* dispatcher, _ref(btBroadphaseInterface)* pairCache, _ref(btConstraintSolver)* constraintSolver, _ref(btCollisionConfiguration)* collisionConfiguration, _ref(btSoftBodySolver)* softBodySolver) {
-	return alloc_ref((new btSoftRigidDynamicsWorld(_unref(dispatcher), _unref(pairCache), _unref(constraintSolver), _unref(collisionConfiguration), _unref(softBodySolver))),btSoftRigidDynamicsWorld);
-}
-DEFINE_PRIM(_IDL, btSoftRigidDynamicsWorld_new5, _IDL _IDL _IDL _IDL _IDL);
-
-HL_PRIM void HL_NAME(btSoftRigidDynamicsWorld_addSoftBody3)(_ref(btSoftRigidDynamicsWorld)* _this, _ref(btSoftBody)* body, short collisionFilterGroup, short collisionFilterMask) {
-	_unref(_this)->addSoftBody(_unref(body), collisionFilterGroup, collisionFilterMask);
-}
-DEFINE_PRIM(_VOID, btSoftRigidDynamicsWorld_addSoftBody3, _IDL _IDL _I16 _I16);
-
-HL_PRIM void HL_NAME(btSoftRigidDynamicsWorld_removeSoftBody1)(_ref(btSoftRigidDynamicsWorld)* _this, _ref(btSoftBody)* body) {
-	_unref(_this)->removeSoftBody(_unref(body));
-}
-DEFINE_PRIM(_VOID, btSoftRigidDynamicsWorld_removeSoftBody1, _IDL _IDL);
-
-HL_PRIM void HL_NAME(btSoftRigidDynamicsWorld_removeCollisionObject1)(_ref(btSoftRigidDynamicsWorld)* _this, _ref(btCollisionObject)* collisionObject) {
-	_unref(_this)->removeCollisionObject(_unref(collisionObject));
-}
-DEFINE_PRIM(_VOID, btSoftRigidDynamicsWorld_removeCollisionObject1, _IDL _IDL);
-
-HL_PRIM _ref(btSoftBodyWorldInfo)* HL_NAME(btSoftRigidDynamicsWorld_getWorldInfo0)(_ref(btSoftRigidDynamicsWorld)* _this) {
-	return alloc_ref(new btSoftBodyWorldInfo(_unref(_this)->getWorldInfo()),btSoftBodyWorldInfo);
-}
-DEFINE_PRIM(_IDL, btSoftRigidDynamicsWorld_getWorldInfo0, _IDL);
-
-HL_PRIM _ref(btSoftBodyArray)* HL_NAME(btSoftRigidDynamicsWorld_getSoftBodyArray0)(_ref(btSoftRigidDynamicsWorld)* _this) {
-	return alloc_ref(new btSoftBodyArray(_unref(_this)->getSoftBodyArray()),btSoftBodyArray);
-}
-DEFINE_PRIM(_IDL, btSoftRigidDynamicsWorld_getSoftBodyArray0, _IDL);
-
-HL_PRIM _ref(btSoftBodyHelpers)* HL_NAME(btSoftBodyHelpers_new0)() {
-	return alloc_ref((new btSoftBodyHelpers()),btSoftBodyHelpers);
-}
-DEFINE_PRIM(_IDL, btSoftBodyHelpers_new0,);
-
-HL_PRIM _ref(btSoftBody)* HL_NAME(btSoftBodyHelpers_CreateRope5)(_ref(btSoftBodyHelpers)* _this, _ref(btSoftBodyWorldInfo)* worldInfo, _ref(btVector3)* from, _ref(btVector3)* to, int res, int fixeds) {
-	return alloc_ref((_unref(_this)->CreateRope(*_unref(worldInfo), *_unref(from), *_unref(to), res, fixeds)),btSoftBody);
-}
-DEFINE_PRIM(_IDL, btSoftBodyHelpers_CreateRope5, _IDL _IDL _IDL _IDL _I32 _I32);
-
-HL_PRIM _ref(btSoftBody)* HL_NAME(btSoftBodyHelpers_CreatePatch9)(_ref(btSoftBodyHelpers)* _this, _ref(btSoftBodyWorldInfo)* worldInfo, _ref(btVector3)* corner00, _ref(btVector3)* corner10, _ref(btVector3)* corner01, _ref(btVector3)* corner11, int resx, int resy, int fixeds, bool gendiags) {
-	return alloc_ref((_unref(_this)->CreatePatch(*_unref(worldInfo), *_unref(corner00), *_unref(corner10), *_unref(corner01), *_unref(corner11), resx, resy, fixeds, gendiags)),btSoftBody);
-}
-DEFINE_PRIM(_IDL, btSoftBodyHelpers_CreatePatch9, _IDL _IDL _IDL _IDL _IDL _IDL _I32 _I32 _I32 _BOOL);
-
-HL_PRIM _ref(btSoftBody)* HL_NAME(btSoftBodyHelpers_CreatePatchUV10)(_ref(btSoftBodyHelpers)* _this, _ref(btSoftBodyWorldInfo)* worldInfo, _ref(btVector3)* corner00, _ref(btVector3)* corner10, _ref(btVector3)* corner01, _ref(btVector3)* corner11, int resx, int resy, int fixeds, bool gendiags, float* tex_coords) {
-	return alloc_ref((_unref(_this)->CreatePatchUV(*_unref(worldInfo), *_unref(corner00), *_unref(corner10), *_unref(corner01), *_unref(corner11), resx, resy, fixeds, gendiags, tex_coords)),btSoftBody);
-}
-DEFINE_PRIM(_IDL, btSoftBodyHelpers_CreatePatchUV10, _IDL _IDL _IDL _IDL _IDL _IDL _I32 _I32 _I32 _BOOL _BYTES);
-
-HL_PRIM _ref(btSoftBody)* HL_NAME(btSoftBodyHelpers_CreateEllipsoid4)(_ref(btSoftBodyHelpers)* _this, _ref(btSoftBodyWorldInfo)* worldInfo, _ref(btVector3)* center, _ref(btVector3)* radius, int res) {
-	return alloc_ref((_unref(_this)->CreateEllipsoid(*_unref(worldInfo), *_unref(center), *_unref(radius), res)),btSoftBody);
-}
-DEFINE_PRIM(_IDL, btSoftBodyHelpers_CreateEllipsoid4, _IDL _IDL _IDL _IDL _I32);
-
-HL_PRIM _ref(btSoftBody)* HL_NAME(btSoftBodyHelpers_CreateFromTriMesh5)(_ref(btSoftBodyHelpers)* _this, _ref(btSoftBodyWorldInfo)* worldInfo, float* vertices, int* triangles, int ntriangles, bool randomizeConstraints) {
-	return alloc_ref((_unref(_this)->CreateFromTriMesh(*_unref(worldInfo), vertices, triangles, ntriangles, randomizeConstraints)),btSoftBody);
-}
-DEFINE_PRIM(_IDL, btSoftBodyHelpers_CreateFromTriMesh5, _IDL _IDL _BYTES _BYTES _I32 _BOOL);
-
-HL_PRIM _ref(btSoftBody)* HL_NAME(btSoftBodyHelpers_CreateFromConvexHull4)(_ref(btSoftBodyHelpers)* _this, _ref(btSoftBodyWorldInfo)* worldInfo, _ref(btVector3)* vertices, int nvertices, bool randomizeConstraints) {
-	return alloc_ref((_unref(_this)->CreateFromConvexHull(*_unref(worldInfo), _unref(vertices), nvertices, randomizeConstraints)),btSoftBody);
-}
-DEFINE_PRIM(_IDL, btSoftBodyHelpers_CreateFromConvexHull4, _IDL _IDL _IDL _I32 _BOOL);
-
-}

+ 0 - 910
libs/bullet/bullet.idl

@@ -1,910 +0,0 @@
-
-// Linear Math
-
-interface btVector3 {
-	void btVector3();
-	void btVector3(float x, float y, float z);
-	float length();
-	float x();
-	float y();
-	float z();
-	void setX(float x);
-	void setY(float y);
-	void setZ(float z);
-	void setValue(float x, float y, float z);
-	void normalize();
-	[Value] btVector3 rotate([Ref] btVector3 wAxis, float angle);
-	float dot([Ref] btVector3 v);
-	[Operator="*=", Ref] btVector3 op_mul(float x);
-	[Operator="+=", Ref] btVector3 op_add([Ref] btVector3 v);
-	[Operator="-=", Ref] btVector3 op_sub([Ref] btVector3 v);
-};
-
-interface btVector4 {
-	void btVector4();
-	void btVector4(float x, float y, float z, float w);
-	float w();
-	void setValue(float x, float y, float z, float w);
-};
-btVector4 implements btVector3;
-
-interface btQuadWord {
-	float x();
-	float y();
-	float z();
-	float w();
-	void setX(float x);
-	void setY(float y);
-	void setZ(float z);
-	void setW(float w);
-};
-
-interface btQuaternion {
-	void btQuaternion(float x, float y, float z, float w);
-	void setValue(float x, float y, float z, float w);
-	void setEulerZYX(float z, float y, float x);
-	void setRotation([Ref] btVector3 axis, float angle);
-	void normalize();
-	float length2();
-	float length();
-	float dot([Ref] btQuaternion q);
-	[Value] btQuaternion normalized();
-	[Value] btVector3 getAxis();
-	[Value] btQuaternion inverse();
-	float getAngle();
-	float getAngleShortestPath();
-	float angle([Ref] btQuaternion q);
-	float angleShortestPath([Ref] btQuaternion q);
-	[Operator="+=", Ref] btQuaternion op_add([Ref] btQuaternion q);
-	[Operator="-=", Ref] btQuaternion op_sub([Ref] btQuaternion q);
-	[Operator="*=", Ref] btQuaternion op_mul(float s);
-	[Operator="*=", Ref] btQuaternion op_mulq([Ref] btQuaternion q);
-	[Operator="/=", Ref] btQuaternion op_div(float s);
-};
-btQuaternion implements btQuadWord;
-
-interface btMatrix3x3 {
-	void setEulerZYX(float ex, float ey, float ez);
-	void getRotation([Ref] btQuaternion q);
-	[Value] btVector3 getRow(long y);
-};
-
-interface btTransform {
-	void btTransform();
-	void btTransform([Ref] btQuaternion q, [Ref] btVector3 v);
-
-	void setIdentity();
-	void setOrigin([Ref] btVector3 origin);
-	void setRotation([Ref] btQuaternion rotation);
-	[Ref] btVector3 getOrigin();
-	[Value] btQuaternion getRotation();
-	[Ref] btMatrix3x3 getBasis();
-	void setFromOpenGLMatrix(float[] m);
-};
-
-interface btMotionState {
-	void getWorldTransform([Ref] btTransform worldTrans);
-	void setWorldTransform([Ref] btTransform worldTrans);
-};
-
-interface btDefaultMotionState {
-	void btDefaultMotionState([Ref] optional btTransform startTrans, [Ref] optional btTransform centerOfMassOffset);
-	[Value] attribute btTransform m_graphicsWorldTrans;
-};
-btDefaultMotionState implements btMotionState;
-
-// Collision
-
-interface btCollisionObject {
-	void setAnisotropicFriction([Const, Ref] btVector3 anisotropicFriction, long frictionMode);
-	btCollisionShape getCollisionShape();
-	void setContactProcessingThreshold(float contactProcessingThreshold);
-	void setActivationState(long newState);
-	void forceActivationState(long newState);
-	void activate(optional boolean forceActivation);
-	boolean isActive();
-	boolean isKinematicObject();
-	boolean isStaticObject();
-	boolean isStaticOrKinematicObject();
-	void setRestitution(float rest);
-	void setFriction(float frict);
-	void setRollingFriction(float frict);
-	[Ref] btTransform getWorldTransform();
-	long getCollisionFlags();
-	void setCollisionFlags(long flags);
-	void setWorldTransform([Const,Ref] btTransform worldTrans);
-	void setCollisionShape(btCollisionShape collisionShape);
-	void setCcdMotionThreshold (float ccdMotionThreshold);
-	void setCcdSweptSphereRadius (float radius);
-	long getUserIndex();
-	void setUserIndex(long index);
-	VoidPtr getUserPointer();
-	void setUserPointer(VoidPtr userPointer);
-};
-
-[NoDelete]
-interface btCollisionObjectWrapper {
-};
-
-[Prefix="btCollisionWorld::"]
-interface RayResultCallback {
-	// abstract base class, no constructor
-	boolean hasHit();
-	attribute short m_collisionFilterGroup;
-	attribute short m_collisionFilterMask;
-	[Const] attribute btCollisionObject m_collisionObject;
-};
-
-[Prefix="btCollisionWorld::"]
-interface ClosestRayResultCallback {
-	void ClosestRayResultCallback([Const, Ref] btVector3 from, [Const, Ref] btVector3 to);
-
-	[Value] attribute btVector3 m_rayFromWorld;
-	[Value] attribute btVector3 m_rayToWorld;
-	[Value] attribute btVector3 m_hitNormalWorld;
-	[Value] attribute btVector3 m_hitPointWorld;
-};
-ClosestRayResultCallback implements RayResultCallback;
-
-interface btManifoldPoint {
-	[Const, Ref] btVector3 getPositionWorldOnA();
-	[Const, Ref] btVector3 getPositionWorldOnB();
-	[Const] double getAppliedImpulse();
-	[Const] double getDistance();
-	[Value] attribute btVector3 m_localPointA;
-	[Value] attribute btVector3 m_localPointB;
-	[Value] attribute btVector3 m_positionWorldOnB;
-	[Value] attribute btVector3 m_positionWorldOnA;
-	[Value] attribute btVector3 m_normalWorldOnB;
-};
-
-[Prefix="btCollisionWorld::"]
-interface ContactResultCallback {
-	float addSingleResult([Ref] btManifoldPoint cp, [Const] btCollisionObjectWrapper colObj0Wrap, long partId0, long index0, [Const] btCollisionObjectWrapper colObj1Wrap, long partId1, long index1);
-};
-
-[Prefix="btCollisionWorld::"]
-interface LocalShapeInfo {
-		attribute long m_shapePart;
-		attribute long m_triangleIndex;
- };
-
-[Prefix="btCollisionWorld::"]
-interface LocalConvexResult	{
-	void LocalConvexResult([Const] btCollisionObject hitCollisionObject, LocalShapeInfo localShapeInfo, [Const, Ref] btVector3 hitNormalLocal, [Const, Ref] btVector3 hitPointLocal, float hitFraction);
-	[Const] attribute btCollisionObject m_hitCollisionObject;
-	attribute LocalShapeInfo m_localShapeInfo;
-	[Value] attribute btVector3 m_hitNormalLocal;
-	[Value] attribute btVector3 m_hitPointLocal;
-	attribute float m_hitFraction;
-};
-
-[Prefix="btCollisionWorld::"]
-interface ConvexResultCallback {
-	// abstract base class, no constructor
-	boolean hasHit();
-	attribute short m_collisionFilterGroup;
-	attribute short m_collisionFilterMask;
-	attribute float m_closestHitFraction;
-};
-
-[Prefix="btCollisionWorld::"]
-interface ClosestConvexResultCallback {
-	void ClosestConvexResultCallback([Const, Ref] btVector3 convexFromWorld, [Const, Ref] btVector3 convexToWorld);
-
-	[Value] attribute btVector3 m_convexFromWorld;
-	[Value] attribute btVector3 m_convexToWorld;
-	[Value] attribute btVector3 m_hitNormalWorld;
-	[Value] attribute btVector3 m_hitPointWorld;
-};
-ClosestConvexResultCallback implements ConvexResultCallback;
-
-interface btCollisionShape {
-	void setLocalScaling([Const, Ref] btVector3 scaling);
-	void calculateLocalInertia(float mass, [Ref] btVector3 inertia);
-	void setMargin(float margin);
-	float getMargin();
-};
-
-interface btConvexShape {
-};
-btConvexShape implements btCollisionShape;
-
-interface btConvexTriangleMeshShape {
-	void btConvexTriangleMeshShape(btStridingMeshInterface meshInterface, optional boolean calcAabb);
-};
-btConvexTriangleMeshShape implements btConvexShape;
-
-interface btBoxShape {
-	void btBoxShape([Ref] btVector3 boxHalfExtents);
-	void setMargin(float margin);
-	float getMargin();
-};
-btBoxShape implements btCollisionShape;
-
-interface btCapsuleShape {
-	void btCapsuleShape(float radius, float height);
-	void setMargin(float margin);
-	float getMargin();
-};
-btCapsuleShape implements btCollisionShape;
-
-interface btCapsuleShapeX {
-	void btCapsuleShapeX(float radius, float height);
-	void setMargin(float margin);
-	float getMargin();
-};
-btCapsuleShapeX implements btCapsuleShape;
-
-interface btCapsuleShapeZ {
-	void btCapsuleShapeZ(float radius, float height);
-	void setMargin(float margin);
-	float getMargin();
-};
-btCapsuleShapeZ implements btCapsuleShape;
-
-interface btCylinderShape {
-	void btCylinderShape([Ref] btVector3 halfExtents);
-	void setMargin(float margin);
-	float getMargin();
-};
-btCylinderShape implements btCollisionShape;
-
-interface btCylinderShapeX {
-	void btCylinderShapeX([Ref] btVector3 halfExtents);
-	void setMargin(float margin);
-	float getMargin();
-};
-btCylinderShapeX implements btCylinderShape;
-
-interface btCylinderShapeZ {
-	void btCylinderShapeZ([Ref] btVector3 halfExtents);
-	void setMargin(float margin);
-	float getMargin();
-};
-btCylinderShapeZ implements btCylinderShape;
-
-interface btSphereShape {
-	void btSphereShape(float radius);
-	void setMargin(float margin);
-	float getMargin();
-};
-btSphereShape implements btCollisionShape;
-
-interface btConeShape {
-	void btConeShape(float radius, float height);
-};
-btConeShape implements btCollisionShape;
-
-interface btConvexHullShape {
-	void btConvexHullShape();
-	void addPoint([Const, Ref] btVector3 point, optional boolean recalculateLocalAABB);
-	void setMargin(float margin);
-	float getMargin();
-};
-btConvexHullShape implements btCollisionShape;
-
-interface btConeShapeX {
-	void btConeShapeX(float radius, float height);
-};
-btConeShapeX implements btConeShape;
-
-interface btConeShapeZ {
-	void btConeShapeZ(float radius, float height);
-};
-btConeShapeZ implements btConeShape;
-
-interface btCompoundShape {
-	void btCompoundShape(optional boolean enableDynamicAabbTree);
-	void addChildShape([Const, Ref] btTransform localTransform, btCollisionShape shape);
-	void removeChildShapeByIndex(long childShapeindex);
-	[Const] long getNumChildShapes();
-	btCollisionShape getChildShape(long index);
-	void setMargin(float margin);
-	float getMargin();
-};
-btCompoundShape implements btCollisionShape;
-
-interface btStridingMeshInterface {
-};
-
-interface btTriangleMesh {
-	void btTriangleMesh(optional boolean use32bitIndices, optional boolean use4componentVertices);
-	void addTriangle([Const, Ref] btVector3 vertex0, [Const, Ref] btVector3 vertex1, [Const, Ref] btVector3 vertex2, optional boolean removeDuplicateVertices);
-};
-btTriangleMesh implements btStridingMeshInterface;
-
-enum PHY_ScalarType {
-		"PHY_FLOAT",
-		"PHY_DOUBLE",
-		"PHY_INTEGER",
-		"PHY_SHORT",
-		"PHY_FIXEDPOINT88",
-		"PHY_UCHAR"
-};
-
-interface btConcaveShape {
-};
-btConcaveShape implements btCollisionShape;
-
-interface btStaticPlaneShape {
-	void btStaticPlaneShape([Const, Ref] btVector3 planeNormal, float planeConstant);
-};
-btStaticPlaneShape implements btConcaveShape;
-
-interface btTriangleMeshShape {
-};
-btTriangleMeshShape implements btConcaveShape;
-
-interface btBvhTriangleMeshShape {
-	void btBvhTriangleMeshShape(btStridingMeshInterface meshInterface, boolean useQuantizedAabbCompression, optional boolean buildBvh);
-};
-btBvhTriangleMeshShape implements btTriangleMeshShape;
-
-interface btHeightfieldTerrainShape {
-		void btHeightfieldTerrainShape(long heightStickWidth, long heightStickLength, VoidPtr heightfieldData, float heightScale, float minHeight, float maxHeight, long upAxis, PHY_ScalarType hdt, boolean flipQuadEdges);
-		void setMargin(float margin);
-		float getMargin();
-};
-btHeightfieldTerrainShape implements btConcaveShape;
-
-interface btDefaultCollisionConstructionInfo {
-	void btDefaultCollisionConstructionInfo();
-};
-
-interface btDefaultCollisionConfiguration {
-	void btDefaultCollisionConfiguration([Ref] optional btDefaultCollisionConstructionInfo info);
-};
-btDefaultCollisionConfiguration implements btCollisionConfiguration;
-
-interface btPersistentManifold {
-	void btPersistentManifold();
-	[Const] btCollisionObject getBody0();
-	[Const] btCollisionObject getBody1();
-	long getNumContacts();
-	[Ref] btManifoldPoint getContactPoint(long index);
-};
-
-interface btDispatcher {
-	long getNumManifolds();
-	btPersistentManifold getManifoldByIndexInternal(long index);
-};
-
-interface btCollisionDispatcher {
-	void btCollisionDispatcher(btDefaultCollisionConfiguration conf);
-};
-btCollisionDispatcher implements btDispatcher;
-
-interface btOverlappingPairCallback {
-};
-
-interface btOverlappingPairCache {
-	void setInternalGhostPairCallback(btOverlappingPairCallback ghostPairCallback);
-};
-
-interface btAxisSweep3 {
-	void btAxisSweep3([Ref] btVector3 worldAabbMin, [Ref] btVector3 worldAabbMax, optional long maxHandles, optional btOverlappingPairCache pairCache, optional boolean disableRaycastAccelerator);
-};
-
-interface btBroadphaseInterface {
-};
-
-interface btCollisionConfiguration {
-};
-
-interface btDbvtBroadphase {
-	void btDbvtBroadphase();
-};
-btDbvtBroadphase implements btBroadphaseInterface;
-
-// Dynamics
-
-[Prefix="btRigidBody::"]
-interface btRigidBodyConstructionInfo {
-	void btRigidBodyConstructionInfo(float mass, btMotionState motionState, btCollisionShape collisionShape, [Ref] optional btVector3 localInertia);
-	attribute float m_linearDamping;
-	attribute float m_angularDamping;
-	attribute float m_friction;
-	attribute float m_rollingFriction;
-	attribute float m_restitution;
-	attribute float m_linearSleepingThreshold;
-	attribute float m_angularSleepingThreshold;
-	attribute boolean m_additionalDamping;
-	attribute float m_additionalDampingFactor;
-	attribute float m_additionalLinearDampingThresholdSqr;
-	attribute float m_additionalAngularDampingThresholdSqr;
-	attribute float m_additionalAngularDampingFactor;
-};
-
-interface btRigidBody {
-	void btRigidBody([Const, Ref] btRigidBodyConstructionInfo constructionInfo);
-
-	[Const, Ref] btTransform getCenterOfMassTransform();
-	void setCenterOfMassTransform([Const, Ref] btTransform xform);
-	void setSleepingThresholds(float linear, float angular);
-	void setDamping(float lin_damping, float ang_damping);
-	void setMassProps(float mass, [Const, Ref] btVector3 inertia);
-	void setLinearFactor([Const, Ref] btVector3 linearFactor);
-	void applyTorque([Const, Ref] btVector3 torque);
-	void applyForce([Const, Ref] btVector3 force, [Const, Ref] btVector3 rel_pos);
-	void applyCentralForce([Const, Ref] btVector3 force);
-	void applyTorqueImpulse([Const, Ref] btVector3 torque);
-	void applyImpulse([Const, Ref] btVector3 impulse, [Const, Ref] btVector3 rel_pos);
-	void applyCentralImpulse([Const, Ref] btVector3 impulse);
-	void updateInertiaTensor();
-	[Const, Ref] btVector3 getLinearVelocity();
-	[Const, Ref] btVector3 getAngularVelocity();
-	void setLinearVelocity([Const, Ref] btVector3 lin_vel);
-	void setAngularVelocity([Const, Ref] btVector3 ang_vel);
-	btMotionState getMotionState();
-	void setMotionState(btMotionState motionState);
-	void setAngularFactor([Const, Ref] btVector3 angularFactor);
-	btRigidBody upcast([Const] btCollisionObject colObj);
-	void getAabb([Ref] btVector3 aabbMin, [Ref] btVector3 aabbMax);
-};
-btRigidBody implements btCollisionObject;
-
-interface btConstraintSetting {
-	void btConstraintSetting();
-	attribute float m_tau;
-	attribute float m_damping;
-	attribute float m_impulseClamp;
-};
-
-interface btTypedConstraint {
-	void enableFeedback(boolean needsFeedback);
-	[Const] float getBreakingImpulseThreshold();
-	void setBreakingImpulseThreshold([Const] float threshold);
-	[Const] float getParam(long num, long axis);
-	void setParam(long num, float value, long axis);
-};
-
-enum btConstraintParams {
-	"BT_CONSTRAINT_ERP",
-	"BT_CONSTRAINT_STOP_ERP",
-	"BT_CONSTRAINT_CFM",
-	"BT_CONSTRAINT_STOP_CFM"
-};
-
-interface btPoint2PointConstraint {
-	void btPoint2PointConstraint([Ref] btRigidBody rbA, [Ref] btRigidBody rbB, [Ref] btVector3 pivotInA, [Ref] btVector3 pivotInB);
-	void btPoint2PointConstraint([Ref] btRigidBody rbA, [Ref] btVector3 pivotInA);
-	void setPivotA([Const, Ref] btVector3 pivotA);
-	void setPivotB([Const, Ref] btVector3 pivotB);
-	[Const, Ref] btVector3 getPivotInA();
-	[Const, Ref] btVector3 getPivotInB();
-
-	[Value] attribute btConstraintSetting m_setting;
-};
-btPoint2PointConstraint implements btTypedConstraint;
-
-interface btGeneric6DofConstraint {
-	void btGeneric6DofConstraint([Ref] btRigidBody rbA, [Ref] btRigidBody rbB, [Ref] btTransform frameInA, [Ref] btTransform frameInB, boolean useLinearFrameReferenceFrameA);
-	void btGeneric6DofConstraint([Ref] btRigidBody rbB, [Ref] btTransform frameInB, boolean useLinearFrameReferenceFrameB);
-	void setLinearLowerLimit([Const, Ref] btVector3 linearLower);
-	void setLinearUpperLimit([Const, Ref] btVector3 linearUpper);
-	void setAngularLowerLimit([Const, Ref] btVector3 angularLower);
-	void setAngularUpperLimit([Const, Ref] btVector3 angularUpper);
-};
-btGeneric6DofConstraint implements btTypedConstraint;
-
-interface btGeneric6DofSpringConstraint {
-	void btGeneric6DofSpringConstraint([Ref] btRigidBody rbA, [Ref] btRigidBody rbB, [Ref] btTransform frameInA, [Ref] btTransform frameInB, boolean useLinearFrameReferenceFrameA);
-	void btGeneric6DofSpringConstraint([Ref] btRigidBody rbB, [Ref] btTransform frameInB, boolean useLinearFrameReferenceFrameB);
-	void enableSpring(long index, boolean onOff);
-	void setStiffness(long index, float stiffness);
-	void setDamping(long index, float damping);
-};
-btGeneric6DofSpringConstraint implements btGeneric6DofConstraint;
-
-interface btSequentialImpulseConstraintSolver {
-	void btSequentialImpulseConstraintSolver();
-};
-
-btSequentialImpulseConstraintSolver implements btConstraintSolver;
-
-interface btConeTwistConstraint {
-	void btConeTwistConstraint([Ref] btRigidBody rbA, [Ref] btRigidBody rbB, [Ref] btTransform rbAFrame, [Ref] btTransform rbBFrame);
-	void btConeTwistConstraint([Ref] btRigidBody rbA, [Ref] btTransform rbAFrame);
-
-	void setLimit(long limitIndex, float limitValue);
-	void setAngularOnly(boolean angularOnly);
-	void setDamping(float damping);
-	void enableMotor(boolean b);
-	void setMaxMotorImpulse(float maxMotorImpulse);
-	void setMaxMotorImpulseNormalized(float maxMotorImpulse);
-	void setMotorTarget([Const,Ref] btQuaternion q);
-	void setMotorTargetInConstraintSpace([Const,Ref] btQuaternion q);
-};
-btConeTwistConstraint implements btTypedConstraint;
-
-interface btHingeConstraint {
-	void btHingeConstraint ([Ref] btRigidBody rbA, [Ref] btRigidBody rbB, [Ref] btVector3 pivotInA, [Ref] btVector3 pivotInB, [Ref] btVector3 axisInA, [Ref] btVector3 axisInB, optional boolean useReferenceFrameA);
-	void btHingeConstraint ([Ref] btRigidBody rbA, [Ref] btVector3 pivotInA, [Ref] btVector3 axisInA, optional boolean useReferenceFrameA);
-	void btHingeConstraint ([Ref] btRigidBody rbA, [Ref] btRigidBody rbB, [Ref] btTransform rbAFrame, [Ref] btTransform rbBFrame, optional boolean useReferenceFrameA);
-	void btHingeConstraint ([Ref] btRigidBody rbA, [Ref] btTransform rbAFrame, optional boolean useReferenceFrameA);
-
-	void setLimit(float low, float high, float softness, float biasFactor, optional float relaxationFactor);
-	void enableAngularMotor(boolean enableMotor, float targetVelocity, float maxMotorImpulse);
-	void setAngularOnly(boolean angularOnly);
-
-	void enableMotor(boolean enableMotor);
-	void setMaxMotorImpulse(float maxMotorImpulse);
-	void setMotorTarget([Const,Ref] btQuaternion qAinB, float dt);
-	//void setMotorTarget(float targetAngle, float dt);
-};
-btHingeConstraint implements btTypedConstraint;
-
-interface btSliderConstraint {
-	void btSliderConstraint([Ref] btRigidBody rbA, [Ref] btRigidBody rbB, [Const,Ref] btTransform frameInA, [Const,Ref] btTransform frameInB, boolean useLinearReferenceFrameA);
-	void btSliderConstraint([Ref] btRigidBody rbB, [Const,Ref] btTransform frameInB, boolean useLinearReferenceFrameA);
-	void setLowerLinLimit(float lowerLimit);
-	void setUpperLinLimit(float upperLimit);
-	void setLowerAngLimit(float lowerAngLimit);
-	void setUpperAngLimit(float upperAngLimit);
-};
-btSliderConstraint implements btTypedConstraint;
-
-interface btFixedConstraint {
-	void btFixedConstraint([Ref] btRigidBody rbA, [Ref] btRigidBody rbB, [Const,Ref] btTransform frameInA, [Const,Ref] btTransform frameInB);
-};
-btFixedConstraint implements btTypedConstraint;
-
-interface btConstraintSolver {
-};
-
-interface btDispatcherInfo {
-	attribute float m_timeStep;
-	attribute long m_stepCount;
-	attribute long m_dispatchFunc;
-	attribute float m_timeOfImpact;
-	attribute boolean m_useContinuous;
-	attribute boolean m_enableSatConvex;
-	attribute boolean m_enableSPU;
-	attribute boolean m_useEpa;
-	attribute float m_allowedCcdPenetration;
-	attribute boolean m_useConvexConservativeDistanceUtil;
-	attribute float m_convexConservativeDistanceThreshold;
-};
-
-interface btCollisionWorld {
-	btDispatcher getDispatcher();
-	void rayTest([Const, Ref] btVector3 rayFromWorld, [Const, Ref] btVector3 rayToWorld, [Ref] RayResultCallback resultCallback);
-	btOverlappingPairCache getPairCache();
-	[Ref] btDispatcherInfo getDispatchInfo();
-	void addCollisionObject(btCollisionObject collisionObject, optional short collisionFilterGroup, optional short collisionFilterMask);
-	[Const] btBroadphaseInterface getBroadphase ();
-	void convexSweepTest([Const] btConvexShape castShape, [Const, Ref] btTransform from, [Const, Ref] btTransform to, [Ref] ConvexResultCallback resultCallback, float allowedCcdPenetration);
-	void contactPairTest([Const] btCollisionObject colObjA, [Const] btCollisionObject colObjB, [Ref] ContactResultCallback resultCallback);
-	void contactTest([Const] btCollisionObject colObj, [Ref] ContactResultCallback resultCallback);
-};
-
-interface btContactSolverInfo {
-	attribute long m_splitImpulse;
-	attribute long m_splitImpulsePenetrationThreshold;
-	attribute long m_numIterations;
-};
-
-interface btDynamicsWorld {
-	void addAction(btActionInterface action);
-	void removeAction(btActionInterface action);
-	[Ref] btContactSolverInfo getSolverInfo();
-};
-btDynamicsWorld implements btCollisionWorld;
-
-interface btDiscreteDynamicsWorld {
-	void btDiscreteDynamicsWorld(btDispatcher dispatcher, btBroadphaseInterface pairCache, btConstraintSolver constraintSolver, btCollisionConfiguration collisionConfiguration);
-
-	void setGravity([Ref] btVector3 gravity);
-	[Value] btVector3 getGravity();
-
-	void addRigidBody(btRigidBody body);
-	void addRigidBody(btRigidBody body, short group, short mask);
-	void removeRigidBody(btRigidBody body);
-
-	void addConstraint(btTypedConstraint constraint, optional boolean disableCollisionsBetweenLinkedBodies);
-	void removeConstraint(btTypedConstraint constraint);
-
-	long stepSimulation(float timeStep, optional long maxSubSteps, optional float fixedTimeStep);
-};
-btDiscreteDynamicsWorld implements btDynamicsWorld;
-
-[Prefix="btRaycastVehicle::"]
-interface btVehicleTuning {
-	void btVehicleTuning();
-	attribute float m_suspensionStiffness;
-	attribute float m_suspensionCompression;
-	attribute float m_suspensionDamping;
-	attribute float m_maxSuspensionTravelCm;
-	attribute float m_frictionSlip;
-	attribute float m_maxSuspensionForce;
-};
-
-[Prefix="btDefaultVehicleRaycaster::"]
-interface btVehicleRaycasterResult {
-		[Value] attribute btVector3 m_hitPointInWorld;
-		[Value] attribute btVector3 m_hitNormalInWorld;
-		attribute float m_distFraction;
-};
-
-interface btVehicleRaycaster {
-		void castRay ([Const, Ref] btVector3 from, [Const, Ref] btVector3 to, [Const, Ref] btVehicleRaycasterResult result);
-};
-
-interface btDefaultVehicleRaycaster {
-	void btDefaultVehicleRaycaster(btDynamicsWorld world);
-};
-btDefaultVehicleRaycaster implements btVehicleRaycaster;
-
-[Prefix="btWheelInfo::"]
-interface RaycastInfo {
-	[Value] attribute btVector3 m_contactNormalWS;
-	[Value] attribute btVector3 m_contactPointWS;
-	attribute float m_suspensionLength;
-	[Value] attribute btVector3 m_hardPointWS;
-	[Value] attribute btVector3 m_wheelDirectionWS;
-	[Value] attribute btVector3 m_wheelAxleWS;
-	attribute boolean m_isInContact;
-	attribute any m_groundObject;
-};
-
-interface btWheelInfoConstructionInfo {
-		[Value] attribute btVector3 m_chassisConnectionCS;
-		[Value] attribute btVector3 m_wheelDirectionCS;
-		[Value] attribute btVector3 m_wheelAxleCS;
-		attribute float m_suspensionRestLength;
-		attribute float m_maxSuspensionTravelCm;
-		attribute float m_wheelRadius;
-		attribute float m_suspensionStiffness;
-		attribute float m_wheelsDampingCompression;
-		attribute float m_wheelsDampingRelaxation;
-		attribute float m_frictionSlip;
-		attribute float m_maxSuspensionForce;
-		attribute boolean m_bIsFrontWheel;
-};
-
-interface btWheelInfo {
-	attribute float m_suspensionStiffness;
-	attribute float m_frictionSlip;
-	attribute float m_engineForce;
-	attribute float m_rollInfluence;
-	attribute float m_suspensionRestLength1;
-	attribute float m_wheelsRadius;
-	attribute float m_wheelsDampingCompression;
-	attribute float m_wheelsDampingRelaxation;
-	attribute float m_steering;
-	attribute float m_maxSuspensionForce;
-	attribute float m_maxSuspensionTravelCm;
-	attribute float m_wheelsSuspensionForce;
-	attribute boolean m_bIsFrontWheel;
-	[Value] attribute RaycastInfo m_raycastInfo;
-	[Value] attribute btVector3 m_chassisConnectionPointCS;
-	void btWheelInfo([Ref] btWheelInfoConstructionInfo ci);
-	float getSuspensionRestLength ();
-	void	updateWheel ([Const, Ref] btRigidBody chassis, [Ref] RaycastInfo raycastInfo);
-	[Value] attribute btTransform m_worldTransform;
-	[Value] attribute btVector3 m_wheelDirectionCS;
-	[Value] attribute btVector3 m_wheelAxleCS;
-	attribute float m_rotation;
-	attribute float m_deltaRotation;
-	attribute float m_brake;
-	attribute float	m_clippedInvContactDotSuspension;
-	attribute float	m_suspensionRelativeVelocity;
-	attribute float	m_skidInfo;
-};
-
-interface btActionInterface {
-		void updateAction (btCollisionWorld collisionWorld, float deltaTimeStep);
-};
-
-interface btKinematicCharacterController {
-	void btKinematicCharacterController(btPairCachingGhostObject ghostObject, btConvexShape convexShape, float stepHeight, [Const,Ref] optional btVector3 upAxis);
-
-	void setUp([Const,Ref] btVector3 axis);
-	void setWalkDirection ([Const,Ref] btVector3 walkDirection);
-	void setVelocityForTimeInterval ([Const,Ref] btVector3 velocity, float timeInterval);
-	//void reset ();
-	void warp ([Const, Ref]btVector3 origin);
-	void preStep (btCollisionWorld collisionWorld);
-	void playerStep (btCollisionWorld collisionWorld, float dt);
-	void setFallSpeed (float fallSpeed);
-	void setJumpSpeed (float jumpSpeed);
-	void setMaxJumpHeight (float maxJumpHeight);
-	boolean canJump ();
-	void jump ();
-	void setGravity ([Const,Ref] btVector3 gravity);
-	[Value] btVector3 getGravity ();
-	void setMaxSlope (float slopeRadians);
-	float getMaxSlope ();
-	btPairCachingGhostObject getGhostObject ();
-	void setUseGhostSweepTest (boolean useGhostObjectSweepTest);
-	boolean onGround ();
-};
-btKinematicCharacterController implements btActionInterface;
-
-interface btRaycastVehicle {
-	void btRaycastVehicle([Const, Ref] btVehicleTuning tuning, btRigidBody chassis, btVehicleRaycaster raycaster);
-	void applyEngineForce(float force, long wheel);
-	void setSteeringValue(float steering, long wheel);
-	[Const, Ref] btTransform getWheelTransformWS(long wheelIndex);
-	void updateWheelTransform(long wheelIndex, boolean interpolatedTransform);
-	[Ref] btWheelInfo addWheel([Const, Ref] btVector3 connectionPointCS0, [Const, Ref] btVector3 wheelDirectionCS0, [Const, Ref] btVector3 wheelAxleCS, float suspensionRestLength, float wheelRadius, [Const, Ref] btVehicleTuning tuning, boolean isFrontWheel);
-	long getNumWheels();
-	btRigidBody getRigidBody();
-	[Ref] btWheelInfo getWheelInfo(long index);
-	void setBrake(float brake, long wheelIndex);
-	void setCoordinateSystem(long rightIndex, long upIndex, long forwardIndex);
-	float getCurrentSpeedKmHour();
-	[Const, Ref] btTransform getChassisWorldTransform();
-	float rayCast([Ref] btWheelInfo wheel);
-	void updateVehicle(float step);
-	void resetSuspension();
-	float getSteeringValue(long wheel);
-	void updateWheelTransformsWS([Ref] btWheelInfo wheel, optional boolean interpolatedTransform);
-	void setPitchControl(float pitch);
-	void updateSuspension(float deltaTime);
-	void updateFriction(float timeStep);
-	long getRightAxis();
-	long getUpAxis();
-	long getForwardAxis();
-	[Value] btVector3 getForwardVector();
-	long getUserConstraintType();
-	void setUserConstraintType(long userConstraintType);
-	void setUserConstraintId(long uid);
-	long getUserConstraintId();
-};
-btRaycastVehicle implements btActionInterface;
-
-interface btGhostObject {
-	void btGhostObject();
-	long getNumOverlappingObjects();
-	btCollisionObject getOverlappingObject(long index);
-};
-btGhostObject implements btCollisionObject;
-
-interface btPairCachingGhostObject {
-	void btPairCachingGhostObject();
-};
-btPairCachingGhostObject implements btGhostObject;
-
-interface btGhostPairCallback {
-	void btGhostPairCallback();
-};
-
-
-// soft bodies
-
-interface btSoftBodyWorldInfo {
-	void btSoftBodyWorldInfo();
-	attribute float air_density;
-	attribute float water_density;
-	attribute float water_offset;
-	attribute float m_maxDisplacement;
-	[Value] attribute btVector3 water_normal;
-	attribute btBroadphaseInterface m_broadphase;
-	attribute btDispatcher m_dispatcher;
-	[Value] attribute btVector3 m_gravity;
-};
-
-[Prefix="btSoftBody::"]
-interface Node {
-	[Value] attribute btVector3 m_x;
-	[Value] attribute btVector3 m_n;
-};
-
-[Prefix="btSoftBody::"]
-interface tNodeArray {
-	[Const] long size();
-	[Const, Ref] Node at(long n);
-};
-
-[Prefix="btSoftBody::"]
-interface Material {
-	attribute float m_kLST;
-	attribute float m_kAST;
-	attribute float m_kVST;
-	attribute long m_flags;
-};
-
-[Prefix="btSoftBody::"]
-interface tMaterialArray {
-	[Const] long size();
-	Material at(long n);
-};
-
-[Prefix="btSoftBody::"]
-interface Config {
-	attribute float kVCF;
-	attribute float kDP;
-	attribute float kDG;
-	attribute float kLF;
-	attribute float kPR;
-	attribute float kVC;
-	attribute float kDF;
-	attribute float kMT;
-	attribute float kCHR;
-	attribute float kKHR;
-	attribute float kSHR;
-	attribute float kAHR;
-	attribute float kSRHR_CL;
-	attribute float kSKHR_CL;
-	attribute float kSSHR_CL;
-	attribute float kSR_SPLT_CL;
-	attribute float kSK_SPLT_CL;
-	attribute float kSS_SPLT_CL;
-	attribute float maxvolume;
-	attribute float timescale;
-	attribute long viterations;
-	attribute long piterations;
-	attribute long diterations;
-	attribute long citerations;
-	attribute long collisions;
-};
-
-interface btSoftBody {
-	void btSoftBody(btSoftBodyWorldInfo worldInfo, long node_count, btVector3 x, float[] m);
-
-	[Value] attribute Config m_cfg;
-	[Value] attribute tNodeArray m_nodes;
-	[Value] attribute tMaterialArray m_materials;
-
-	[Const] boolean checkLink( long node0, long node1);
-	[Const] boolean checkFace( long node0, long node1, long node2);
-	Material appendMaterial();
-	void appendNode( [Const, Ref] btVector3 x, float m);
-	void appendLink( long node0, long node1, Material mat, boolean bcheckexist);
-	void appendFace( long node0, long node1, long node2, Material mat);
-	void appendTetra( long node0, long node1, long node2, long node3, Material mat);
-	void appendAnchor( long node, btRigidBody body, boolean disableCollisionBetweenLinkedBodies, float influence);
-	[Const] float getTotalMass();
-	void setTotalMass( float mass, boolean fromfaces);
-	void setMass(long node, float mass);
-	void transform( [Const, Ref] btTransform trs);
-	void translate( [Const, Ref] btVector3 trs);
-	void rotate( [Const, Ref] btQuaternion rot);
-	void scale(	[Const, Ref] btVector3 scl);
-	long generateClusters(long k, optional long maxiterations);
-	btSoftBody upcast([Const] btCollisionObject colObj);
-};
-btSoftBody implements btCollisionObject;
-
-interface btSoftBodyRigidBodyCollisionConfiguration {
-	void btSoftBodyRigidBodyCollisionConfiguration([Ref] optional btDefaultCollisionConstructionInfo info);
-};
-btSoftBodyRigidBodyCollisionConfiguration implements btDefaultCollisionConfiguration;
-
-interface btSoftBodySolver {
-};
-
-interface btDefaultSoftBodySolver {
-	void btDefaultSoftBodySolver ();
-};
-btDefaultSoftBodySolver implements btSoftBodySolver;
-
-interface btSoftBodyArray {
-	[Const] long size();
-	[Const] btSoftBody at(long n);
-};
-
-interface btSoftRigidDynamicsWorld {
-	void btSoftRigidDynamicsWorld(btDispatcher dispatcher, btBroadphaseInterface pairCache, btConstraintSolver constraintSolver, btCollisionConfiguration collisionConfiguration, btSoftBodySolver softBodySolver);
-
-	void addSoftBody(btSoftBody body, short collisionFilterGroup, short collisionFilterMask);
-	void removeSoftBody(btSoftBody body);
-	void removeCollisionObject(btCollisionObject collisionObject);
-
-	[Ref] btSoftBodyWorldInfo getWorldInfo();
-	[Ref] btSoftBodyArray getSoftBodyArray();
-};
-btSoftRigidDynamicsWorld implements btDiscreteDynamicsWorld;
-
-interface btSoftBodyHelpers {
-	void btSoftBodyHelpers();
-
-	btSoftBody CreateRope([Ref] btSoftBodyWorldInfo worldInfo, [Const, Ref] btVector3 from, [Const, Ref] btVector3 to, long res, long fixeds);
-	btSoftBody CreatePatch([Ref] btSoftBodyWorldInfo worldInfo, [Const, Ref] btVector3 corner00, [Const, Ref] btVector3 corner10, [Const, Ref] btVector3 corner01, [Const, Ref] btVector3 corner11, long resx, long resy, long fixeds, boolean gendiags);
-	btSoftBody CreatePatchUV([Ref] btSoftBodyWorldInfo worldInfo, [Const, Ref] btVector3 corner00, [Const, Ref] btVector3 corner10, [Const, Ref] btVector3 corner01, [Const, Ref] btVector3 corner11, long resx, long resy, long fixeds, boolean gendiags, float[] tex_coords);
-	btSoftBody CreateEllipsoid([Ref] btSoftBodyWorldInfo worldInfo, [Const, Ref] btVector3 center, [Const, Ref] btVector3 radius, long res);
-	btSoftBody CreateFromTriMesh([Ref] btSoftBodyWorldInfo worldInfo, float[] vertices, long[] triangles, long ntriangles, boolean randomizeConstraints);
-	btSoftBody CreateFromConvexHull([Ref] btSoftBodyWorldInfo worldInfo, [Const] btVector3 vertices, long nvertices, boolean randomizeConstraints);
-};

+ 0 - 34
libs/bullet/bullet.sln

@@ -1,34 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 14
-VisualStudioVersion = 14.0.25420.1
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bullet", "bullet.vcxproj", "{6534D221-34DF-404A-AFCD-6DEC9BBC9798}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|x64 = Debug|x64
-		Debug|x86 = Debug|x86
-		Release|x64 = Release|x64
-		Release|x86 = Release|x86
-		ReleaseVS2013|x64 = ReleaseVS2013|x64
-		ReleaseVS2013|x86 = ReleaseVS2013|x86
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{6534D221-34DF-404A-AFCD-6DEC9BBC9798}.Debug|x64.ActiveCfg = Debug|x64
-		{6534D221-34DF-404A-AFCD-6DEC9BBC9798}.Debug|x64.Build.0 = Debug|x64
-		{6534D221-34DF-404A-AFCD-6DEC9BBC9798}.Debug|x86.ActiveCfg = Debug|Win32
-		{6534D221-34DF-404A-AFCD-6DEC9BBC9798}.Debug|x86.Build.0 = Debug|Win32
-		{6534D221-34DF-404A-AFCD-6DEC9BBC9798}.Release|x64.ActiveCfg = Release|x64
-		{6534D221-34DF-404A-AFCD-6DEC9BBC9798}.Release|x64.Build.0 = Release|x64
-		{6534D221-34DF-404A-AFCD-6DEC9BBC9798}.Release|x86.ActiveCfg = Release|Win32
-		{6534D221-34DF-404A-AFCD-6DEC9BBC9798}.Release|x86.Build.0 = Release|Win32
-		{6534D221-34DF-404A-AFCD-6DEC9BBC9798}.ReleaseVS2013|x64.ActiveCfg = ReleaseVS2013|x64
-		{6534D221-34DF-404A-AFCD-6DEC9BBC9798}.ReleaseVS2013|x64.Build.0 = ReleaseVS2013|x64
-		{6534D221-34DF-404A-AFCD-6DEC9BBC9798}.ReleaseVS2013|x86.ActiveCfg = ReleaseVS2013|Win32
-		{6534D221-34DF-404A-AFCD-6DEC9BBC9798}.ReleaseVS2013|x86.Build.0 = ReleaseVS2013|Win32
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal

+ 0 - 662
libs/bullet/bullet.vcxproj

@@ -1,662 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="ReleaseVS2013|Win32">
-      <Configuration>ReleaseVS2013</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="ReleaseVS2013|x64">
-      <Configuration>ReleaseVS2013</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{6534D221-34DF-404A-AFCD-6DEC9BBC9798}</ProjectGuid>
-    <Keyword>Win32Proj</Keyword>
-    <RootNamespace>bullet</RootNamespace>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseDebugLibraries>true</UseDebugLibraries>
-    <PlatformToolset>v140</PlatformToolset>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseDebugLibraries>false</UseDebugLibraries>
-    <PlatformToolset>v140</PlatformToolset>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseVS2013|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseDebugLibraries>false</UseDebugLibraries>
-    <PlatformToolset>v120</PlatformToolset>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseDebugLibraries>true</UseDebugLibraries>
-    <PlatformToolset>v140</PlatformToolset>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseDebugLibraries>false</UseDebugLibraries>
-    <PlatformToolset>v140</PlatformToolset>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseVS2013|x64'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseDebugLibraries>false</UseDebugLibraries>
-    <PlatformToolset>v120</PlatformToolset>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Label="Shared">
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseVS2013|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseVS2013|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <LinkIncremental>true</LinkIncremental>
-    <TargetExt>.hdll</TargetExt>
-    <IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);../../src;../../include/bullet/src</IncludePath>
-    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;../../$(Configuration);../../include/bullet/bin</LibraryPath>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <LinkIncremental>true</LinkIncremental>
-    <TargetExt>.hdll</TargetExt>
-    <IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);../../src;../../include/bullet/src</IncludePath>
-    <LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64;../../x64/$(Configuration);../../include/bullet/bin</LibraryPath>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <LinkIncremental>false</LinkIncremental>
-    <TargetExt>.hdll</TargetExt>
-    <IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);../../src;../../include/bullet/src</IncludePath>
-    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;../../$(Configuration);../../include/bullet/bin</LibraryPath>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseVS2013|Win32'">
-    <LinkIncremental>false</LinkIncremental>
-    <TargetExt>.hdll</TargetExt>
-    <IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);../../src;../../include/bullet/src</IncludePath>
-    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;../../$(Configuration);../../include/bullet/bin</LibraryPath>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <LinkIncremental>false</LinkIncremental>
-    <TargetExt>.hdll</TargetExt>
-    <IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);../../src;../../include/bullet/src</IncludePath>
-    <LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64;../../x64/$(Configuration);../../include/bullet/bin</LibraryPath>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseVS2013|x64'">
-    <LinkIncremental>false</LinkIncremental>
-    <TargetExt>.hdll</TargetExt>
-    <IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);../../src;../../include/bullet/src</IncludePath>
-    <LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64;../../x64/$(Configuration);../../include/bullet/bin</LibraryPath>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;BULLET_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-    <Link>
-      <SubSystem>Windows</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <OutputFile>../../$(Configuration)/$(TargetName).hdll</OutputFile>
-      <AdditionalDependencies>libhl.lib</AdditionalDependencies>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <ClCompile>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>_DEBUG;_WINDOWS;_USRDLL;BULLET_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-    <Link>
-      <SubSystem>Windows</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
-      <AdditionalDependencies>libhl.lib</AdditionalDependencies>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <ClCompile>
-      <WarningLevel>Level3</WarningLevel>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <Optimization>MaxSpeed</Optimization>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;BULLET_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-    <Link>
-      <SubSystem>Windows</SubSystem>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <OptimizeReferences>true</OptimizeReferences>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
-      <OutputFile>../../$(Configuration)/$(TargetName).hdll</OutputFile>
-      <AdditionalDependencies>libhl.lib</AdditionalDependencies>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseVS2013|Win32'">
-    <ClCompile>
-      <WarningLevel>Level3</WarningLevel>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <Optimization>MaxSpeed</Optimization>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;BULLET_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-    <Link>
-      <SubSystem>Windows</SubSystem>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <OptimizeReferences>true</OptimizeReferences>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
-      <OutputFile>../../$(Configuration)/$(TargetName).hdll</OutputFile>
-      <AdditionalDependencies>libhl.lib</AdditionalDependencies>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <ClCompile>
-      <WarningLevel>Level3</WarningLevel>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <Optimization>MaxSpeed</Optimization>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <PreprocessorDefinitions>NDEBUG;_WINDOWS;_USRDLL;BULLET_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-    <Link>
-      <SubSystem>Windows</SubSystem>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <OptimizeReferences>true</OptimizeReferences>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalDependencies>libhl.lib</AdditionalDependencies>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseVS2013|x64'">
-    <ClCompile>
-      <WarningLevel>Level3</WarningLevel>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <Optimization>MaxSpeed</Optimization>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <PreprocessorDefinitions>NDEBUG;_WINDOWS;_USRDLL;OPENAL_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-    <Link>
-      <SubSystem>Windows</SubSystem>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <OptimizeReferences>true</OptimizeReferences>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalDependencies>libhl.lib</AdditionalDependencies>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\include\bullet\src\Bullet3Common\b3AlignedAllocator.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\Bullet3Common\b3Logging.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\Bullet3Common\b3Vector3.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\Bullet3Geometry\b3ConvexHullComputer.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\Bullet3Geometry\b3GeometryUtil.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btAxisSweep3.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btBroadphaseProxy.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btCollisionAlgorithm.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btDbvt.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btDbvtBroadphase.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btDispatcher.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btOverlappingPairCache.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btQuantizedBvh.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btSimpleBroadphase.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btActivatingCollisionAlgorithm.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btBox2dBox2dCollisionAlgorithm.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btBoxBoxCollisionAlgorithm.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btBoxBoxDetector.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionDispatcher.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionDispatcherMt.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionObject.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionWorld.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionWorldImporter.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCompoundCollisionAlgorithm.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCompoundCompoundCollisionAlgorithm.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btConvex2dConvex2dAlgorithm.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btConvexConcaveCollisionAlgorithm.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btConvexConvexAlgorithm.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btConvexPlaneCollisionAlgorithm.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btDefaultCollisionConfiguration.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btEmptyCollisionAlgorithm.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btGhostObject.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btHashedSimplePairCache.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btInternalEdgeUtility.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btManifoldResult.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btSimulationIslandManager.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btSphereBoxCollisionAlgorithm.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btSphereSphereCollisionAlgorithm.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btSphereTriangleCollisionAlgorithm.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btUnionFind.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\SphereTriangleDetector.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btBox2dShape.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btBoxShape.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btBvhTriangleMeshShape.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btCapsuleShape.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btCollisionShape.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btCompoundShape.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConcaveShape.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConeShape.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvex2dShape.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexHullShape.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexInternalShape.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexPointCloudShape.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexPolyhedron.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexShape.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexTriangleMeshShape.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btCylinderShape.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btEmptyShape.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btHeightfieldTerrainShape.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btMinkowskiSumShape.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btMultimaterialTriangleMeshShape.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btMultiSphereShape.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btOptimizedBvh.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btPolyhedralConvexShape.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btScaledBvhTriangleMeshShape.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btShapeHull.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btSphereShape.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btStaticPlaneShape.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btStridingMeshInterface.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTetrahedronShape.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleBuffer.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleCallback.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleIndexVertexArray.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleIndexVertexMaterialArray.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleMesh.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleMeshShape.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btUniformScalingShape.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\btContactProcessing.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGenericPoolAllocator.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactBvh.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactCollisionAlgorithm.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactQuantizedBvh.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactShape.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\btTriangleShapeEx.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_box_set.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_contact.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_memory.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_tri_collision.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btContinuousConvexCollision.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btConvexCast.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkConvexCast.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkEpa2.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkEpaPenetrationDepthSolver.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkPairDetector.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btMinkowskiPenetrationDepthSolver.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btPersistentManifold.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btPolyhedralContactClipping.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btRaycastCallback.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btSubSimplexConvexCast.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btVoronoiSimplexSolver.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Character\btKinematicCharacterController.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btConeTwistConstraint.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btContactConstraint.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btFixedConstraint.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btGearConstraint.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btGeneric6DofConstraint.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btGeneric6DofSpring2Constraint.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btGeneric6DofSpringConstraint.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btHinge2Constraint.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btHingeConstraint.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btNNCGConstraintSolver.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btPoint2PointConstraint.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btSequentialImpulseConstraintSolver.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btSliderConstraint.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btSolve2LinearConstraint.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btTypedConstraint.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btUniversalConstraint.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btDiscreteDynamicsWorld.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btDiscreteDynamicsWorldMt.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btRigidBody.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btSimpleDynamicsWorld.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btSimulationIslandManagerMt.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBody.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyConstraint.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyConstraintSolver.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyDynamicsWorld.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyFixedConstraint.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyGearConstraint.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyJointLimitConstraint.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyJointMotor.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyPoint2Point.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodySliderConstraint.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btDantzigLCP.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btLemkeAlgorithm.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btMLCPSolver.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Vehicle\btRaycastVehicle.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Vehicle\btWheelInfo.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletSoftBody\btDefaultSoftBodySolver.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletSoftBody\btSoftBody.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletSoftBody\btSoftBodyConcaveCollisionAlgorithm.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletSoftBody\btSoftBodyHelpers.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletSoftBody\btSoftBodyRigidBodyCollisionConfiguration.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletSoftBody\btSoftMultiBodyDynamicsWorld.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletSoftBody\btSoftRigidCollisionAlgorithm.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletSoftBody\btSoftRigidDynamicsWorld.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\BulletSoftBody\btSoftSoftCollisionAlgorithm.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\LinearMath\btAlignedAllocator.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\LinearMath\btConvexHull.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\LinearMath\btConvexHullComputer.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\LinearMath\btGeometryUtil.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\LinearMath\btPolarDecomposition.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\LinearMath\btQuickprof.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\LinearMath\btSerializer.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\LinearMath\btSerializer64.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\LinearMath\btThreads.cpp" />
-    <ClCompile Include="..\..\include\bullet\src\LinearMath\btVector3.cpp" />
-    <ClCompile Include="bullet.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\..\include\bullet\src\btBulletCollisionCommon.h" />
-    <ClInclude Include="..\..\include\bullet\src\btBulletDynamicsCommon.h" />
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3AlignedAllocator.h" />
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3AlignedObjectArray.h" />
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3CommandLineArgs.h" />
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3FileUtils.h" />
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3HashMap.h" />
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3Logging.h" />
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3Matrix3x3.h" />
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3MinMax.h" />
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3PoolAllocator.h" />
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3QuadWord.h" />
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3Quaternion.h" />
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3Random.h" />
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3ResizablePool.h" />
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3Scalar.h" />
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3StackAlloc.h" />
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3Transform.h" />
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3TransformUtil.h" />
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3Vector3.h" />
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Geometry\b3AabbUtil.h" />
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Geometry\b3ConvexHullComputer.h" />
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Geometry\b3GeometryUtil.h" />
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Geometry\b3GrahamScan2dConvexHull.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btAxisSweep3.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btAxisSweep3Internal.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btBroadphaseInterface.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btBroadphaseProxy.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btCollisionAlgorithm.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btDbvt.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btDbvtBroadphase.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btDispatcher.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btOverlappingPairCache.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btOverlappingPairCallback.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btQuantizedBvh.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btSimpleBroadphase.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btActivatingCollisionAlgorithm.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btBox2dBox2dCollisionAlgorithm.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btBoxBoxCollisionAlgorithm.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btBoxBoxDetector.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionConfiguration.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionCreateFunc.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionDispatcher.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionDispatcherMt.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionObject.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionObjectWrapper.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionWorld.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionWorldImporter.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCompoundCollisionAlgorithm.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCompoundCompoundCollisionAlgorithm.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btConvex2dConvex2dAlgorithm.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btConvexConcaveCollisionAlgorithm.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btConvexConvexAlgorithm.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btConvexPlaneCollisionAlgorithm.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btDefaultCollisionConfiguration.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btEmptyCollisionAlgorithm.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btGhostObject.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btHashedSimplePairCache.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btInternalEdgeUtility.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btManifoldResult.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btSimulationIslandManager.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btSphereBoxCollisionAlgorithm.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btSphereSphereCollisionAlgorithm.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btSphereTriangleCollisionAlgorithm.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btUnionFind.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\SphereTriangleDetector.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btBox2dShape.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btBoxShape.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btBvhTriangleMeshShape.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btCapsuleShape.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btCollisionMargin.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btCollisionShape.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btCompoundShape.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConcaveShape.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConeShape.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvex2dShape.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexHullShape.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexInternalShape.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexPointCloudShape.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexPolyhedron.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexShape.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexTriangleMeshShape.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btCylinderShape.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btEmptyShape.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btHeightfieldTerrainShape.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btMaterial.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btMinkowskiSumShape.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btMultimaterialTriangleMeshShape.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btMultiSphereShape.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btOptimizedBvh.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btPolyhedralConvexShape.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btScaledBvhTriangleMeshShape.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btShapeHull.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btSphereShape.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btStaticPlaneShape.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btStridingMeshInterface.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTetrahedronShape.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleBuffer.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleCallback.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleIndexVertexArray.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleIndexVertexMaterialArray.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleInfoMap.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleMesh.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleMeshShape.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleShape.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btUniformScalingShape.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btBoxCollision.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btClipPolygon.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btCompoundFromGimpact.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btContactProcessing.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btContactProcessingStructs.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGenericPoolAllocator.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGeometryOperations.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactBvh.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactBvhStructs.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactCollisionAlgorithm.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactMassUtil.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactQuantizedBvh.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactQuantizedBvhStructs.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactShape.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btQuantization.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btTriangleShapeEx.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_array.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_basic_geometry_operations.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_bitset.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_box_collision.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_box_set.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_clip_polygon.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_contact.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_geometry.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_geom_types.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_hash_table.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_linear_math.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_math.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_memory.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_radixsort.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_tri_collision.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btComputeGjkEpaPenetration.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btContinuousConvexCollision.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btConvexCast.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btConvexPenetrationDepthSolver.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btDiscreteCollisionDetectorInterface.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkCollisionDescription.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkConvexCast.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkEpa2.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkEpa3.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkEpaPenetrationDepthSolver.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkPairDetector.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btManifoldPoint.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btMinkowskiPenetrationDepthSolver.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btMprPenetration.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btPersistentManifold.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btPointCollector.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btPolyhedralContactClipping.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btRaycastCallback.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btSimplexSolverInterface.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btSubSimplexConvexCast.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btVoronoiSimplexSolver.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Character\btCharacterControllerInterface.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Character\btKinematicCharacterController.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btConeTwistConstraint.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btConstraintSolver.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btContactConstraint.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btContactSolverInfo.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btFixedConstraint.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btGearConstraint.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btGeneric6DofConstraint.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btGeneric6DofSpring2Constraint.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btGeneric6DofSpringConstraint.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btHinge2Constraint.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btHingeConstraint.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btJacobianEntry.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btNNCGConstraintSolver.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btPoint2PointConstraint.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btSequentialImpulseConstraintSolver.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btSliderConstraint.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btSolve2LinearConstraint.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btSolverBody.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btSolverConstraint.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btTypedConstraint.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btUniversalConstraint.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btActionInterface.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btDiscreteDynamicsWorld.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btDiscreteDynamicsWorldMt.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btDynamicsWorld.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btRigidBody.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btSimpleDynamicsWorld.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btSimulationIslandManagerMt.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBody.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyConstraint.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyConstraintSolver.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyDynamicsWorld.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyFixedConstraint.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyGearConstraint.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyJointFeedback.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyJointLimitConstraint.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyJointMotor.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyLink.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyLinkCollider.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyPoint2Point.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodySliderConstraint.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodySolverConstraint.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btDantzigLCP.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btDantzigSolver.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btLemkeAlgorithm.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btLemkeSolver.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btMLCPSolver.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btMLCPSolverInterface.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btPATHSolver.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btSolveProjectedGaussSeidel.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Vehicle\btRaycastVehicle.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Vehicle\btVehicleRaycaster.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Vehicle\btWheelInfo.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletSoftBody\btDefaultSoftBodySolver.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletSoftBody\btSoftBody.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletSoftBody\btSoftBodyConcaveCollisionAlgorithm.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletSoftBody\btSoftBodyData.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletSoftBody\btSoftBodyHelpers.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletSoftBody\btSoftBodyInternals.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletSoftBody\btSoftBodyRigidBodyCollisionConfiguration.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletSoftBody\btSoftBodySolvers.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletSoftBody\btSoftBodySolverVertexBuffer.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletSoftBody\btSoftMultiBodyDynamicsWorld.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletSoftBody\btSoftRigidCollisionAlgorithm.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletSoftBody\btSoftRigidDynamicsWorld.h" />
-    <ClInclude Include="..\..\include\bullet\src\BulletSoftBody\btSoftSoftCollisionAlgorithm.h" />
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btAabbUtil2.h" />
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btAlignedAllocator.h" />
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btAlignedObjectArray.h" />
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btConvexHull.h" />
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btConvexHullComputer.h" />
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btCpuFeatureUtility.h" />
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btDefaultMotionState.h" />
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btGeometryUtil.h" />
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btGrahamScan2dConvexHull.h" />
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btHashMap.h" />
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btIDebugDraw.h" />
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btList.h" />
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btMatrix3x3.h" />
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btMatrixX.h" />
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btMinMax.h" />
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btMotionState.h" />
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btPolarDecomposition.h" />
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btPoolAllocator.h" />
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btQuadWord.h" />
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btQuaternion.h" />
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btQuickprof.h" />
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btRandom.h" />
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btScalar.h" />
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btSerializer.h" />
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btSpatialAlgebra.h" />
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btStackAlloc.h" />
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btThreads.h" />
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btTransform.h" />
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btTransformUtil.h" />
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btVector3.h" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>

+ 0 - 1267
libs/bullet/bullet.vcxproj.filters

@@ -1,1267 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <ClCompile Include="..\..\include\bullet\src\Bullet3Common\b3AlignedAllocator.cpp">
-      <Filter>Bullet\common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\Bullet3Common\b3Logging.cpp">
-      <Filter>Bullet\common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\Bullet3Common\b3Vector3.cpp">
-      <Filter>Bullet\common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\Bullet3Geometry\b3ConvexHullComputer.cpp">
-      <Filter>Bullet\geometry</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\Bullet3Geometry\b3GeometryUtil.cpp">
-      <Filter>Bullet\geometry</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btAxisSweep3.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btBroadphaseProxy.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btCollisionAlgorithm.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btDbvt.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btDbvtBroadphase.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btDispatcher.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btOverlappingPairCache.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btQuantizedBvh.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btSimpleBroadphase.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btActivatingCollisionAlgorithm.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btBox2dBox2dCollisionAlgorithm.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btBoxBoxCollisionAlgorithm.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btBoxBoxDetector.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionDispatcher.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionDispatcherMt.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionObject.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionWorld.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionWorldImporter.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCompoundCollisionAlgorithm.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCompoundCompoundCollisionAlgorithm.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btConvex2dConvex2dAlgorithm.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btConvexConcaveCollisionAlgorithm.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btConvexConvexAlgorithm.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btConvexPlaneCollisionAlgorithm.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btDefaultCollisionConfiguration.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btEmptyCollisionAlgorithm.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btGhostObject.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btHashedSimplePairCache.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btInternalEdgeUtility.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btManifoldResult.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btSimulationIslandManager.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btSphereBoxCollisionAlgorithm.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btSphereSphereCollisionAlgorithm.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btSphereTriangleCollisionAlgorithm.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btUnionFind.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\SphereTriangleDetector.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btBox2dShape.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btBoxShape.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btBvhTriangleMeshShape.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btCapsuleShape.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btCollisionShape.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btCompoundShape.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConcaveShape.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConeShape.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvex2dShape.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexHullShape.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexInternalShape.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexPointCloudShape.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexPolyhedron.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexShape.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexTriangleMeshShape.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btCylinderShape.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btEmptyShape.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btHeightfieldTerrainShape.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btMinkowskiSumShape.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btMultimaterialTriangleMeshShape.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btMultiSphereShape.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btOptimizedBvh.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btPolyhedralConvexShape.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btScaledBvhTriangleMeshShape.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btShapeHull.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btSphereShape.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btStaticPlaneShape.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btStridingMeshInterface.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTetrahedronShape.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleBuffer.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleCallback.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleIndexVertexArray.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleIndexVertexMaterialArray.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleMesh.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleMeshShape.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btUniformScalingShape.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\btContactProcessing.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGenericPoolAllocator.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactBvh.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactCollisionAlgorithm.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactQuantizedBvh.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactShape.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\btTriangleShapeEx.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_box_set.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_contact.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_memory.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_tri_collision.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btContinuousConvexCollision.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btConvexCast.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkConvexCast.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkEpa2.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkEpaPenetrationDepthSolver.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkPairDetector.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btMinkowskiPenetrationDepthSolver.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btPersistentManifold.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btPolyhedralContactClipping.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btRaycastCallback.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btSubSimplexConvexCast.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btVoronoiSimplexSolver.cpp">
-      <Filter>Bullet\collision</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Character\btKinematicCharacterController.cpp">
-      <Filter>Bullet\dynamics</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btConeTwistConstraint.cpp">
-      <Filter>Bullet\dynamics</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btContactConstraint.cpp">
-      <Filter>Bullet\dynamics</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btFixedConstraint.cpp">
-      <Filter>Bullet\dynamics</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btGearConstraint.cpp">
-      <Filter>Bullet\dynamics</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btGeneric6DofConstraint.cpp">
-      <Filter>Bullet\dynamics</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btGeneric6DofSpring2Constraint.cpp">
-      <Filter>Bullet\dynamics</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btGeneric6DofSpringConstraint.cpp">
-      <Filter>Bullet\dynamics</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btHinge2Constraint.cpp">
-      <Filter>Bullet\dynamics</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btHingeConstraint.cpp">
-      <Filter>Bullet\dynamics</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btNNCGConstraintSolver.cpp">
-      <Filter>Bullet\dynamics</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btPoint2PointConstraint.cpp">
-      <Filter>Bullet\dynamics</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btSequentialImpulseConstraintSolver.cpp">
-      <Filter>Bullet\dynamics</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btSliderConstraint.cpp">
-      <Filter>Bullet\dynamics</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btSolve2LinearConstraint.cpp">
-      <Filter>Bullet\dynamics</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btTypedConstraint.cpp">
-      <Filter>Bullet\dynamics</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btUniversalConstraint.cpp">
-      <Filter>Bullet\dynamics</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btDiscreteDynamicsWorld.cpp">
-      <Filter>Bullet\dynamics</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btDiscreteDynamicsWorldMt.cpp">
-      <Filter>Bullet\dynamics</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btRigidBody.cpp">
-      <Filter>Bullet\dynamics</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btSimpleDynamicsWorld.cpp">
-      <Filter>Bullet\dynamics</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btSimulationIslandManagerMt.cpp">
-      <Filter>Bullet\dynamics</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBody.cpp">
-      <Filter>Bullet\dynamics</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyConstraint.cpp">
-      <Filter>Bullet\dynamics</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyConstraintSolver.cpp">
-      <Filter>Bullet\dynamics</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyDynamicsWorld.cpp">
-      <Filter>Bullet\dynamics</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyFixedConstraint.cpp">
-      <Filter>Bullet\dynamics</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyGearConstraint.cpp">
-      <Filter>Bullet\dynamics</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyJointLimitConstraint.cpp">
-      <Filter>Bullet\dynamics</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyJointMotor.cpp">
-      <Filter>Bullet\dynamics</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyPoint2Point.cpp">
-      <Filter>Bullet\dynamics</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodySliderConstraint.cpp">
-      <Filter>Bullet\dynamics</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btDantzigLCP.cpp">
-      <Filter>Bullet\dynamics</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btLemkeAlgorithm.cpp">
-      <Filter>Bullet\dynamics</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btMLCPSolver.cpp">
-      <Filter>Bullet\dynamics</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Vehicle\btRaycastVehicle.cpp">
-      <Filter>Bullet\dynamics</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Vehicle\btWheelInfo.cpp">
-      <Filter>Bullet\dynamics</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\LinearMath\btAlignedAllocator.cpp">
-      <Filter>Bullet\maths</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\LinearMath\btConvexHull.cpp">
-      <Filter>Bullet\maths</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\LinearMath\btConvexHullComputer.cpp">
-      <Filter>Bullet\maths</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\LinearMath\btGeometryUtil.cpp">
-      <Filter>Bullet\maths</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\LinearMath\btPolarDecomposition.cpp">
-      <Filter>Bullet\maths</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\LinearMath\btQuickprof.cpp">
-      <Filter>Bullet\maths</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\LinearMath\btSerializer.cpp">
-      <Filter>Bullet\maths</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\LinearMath\btSerializer64.cpp">
-      <Filter>Bullet\maths</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\LinearMath\btThreads.cpp">
-      <Filter>Bullet\maths</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\LinearMath\btVector3.cpp">
-      <Filter>Bullet\maths</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletSoftBody\btDefaultSoftBodySolver.cpp">
-      <Filter>Bullet\softbody</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletSoftBody\btSoftBody.cpp">
-      <Filter>Bullet\softbody</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletSoftBody\btSoftBodyConcaveCollisionAlgorithm.cpp">
-      <Filter>Bullet\softbody</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletSoftBody\btSoftBodyHelpers.cpp">
-      <Filter>Bullet\softbody</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletSoftBody\btSoftBodyRigidBodyCollisionConfiguration.cpp">
-      <Filter>Bullet\softbody</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletSoftBody\btSoftMultiBodyDynamicsWorld.cpp">
-      <Filter>Bullet\softbody</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletSoftBody\btSoftRigidCollisionAlgorithm.cpp">
-      <Filter>Bullet\softbody</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletSoftBody\btSoftRigidDynamicsWorld.cpp">
-      <Filter>Bullet\softbody</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\include\bullet\src\BulletSoftBody\btSoftSoftCollisionAlgorithm.cpp">
-      <Filter>Bullet\softbody</Filter>
-    </ClCompile>
-    <ClCompile Include="bullet.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <Filter Include="Bullet">
-      <UniqueIdentifier>{257c1738-9bb2-49d3-8b6f-c37be7ff2132}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="Bullet\common">
-      <UniqueIdentifier>{63488c0b-869f-4123-b014-1b601309481d}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="Bullet\geometry">
-      <UniqueIdentifier>{99c8201c-5680-47d3-830a-6b5aba7b0da2}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="Bullet\collision">
-      <UniqueIdentifier>{dc981db5-79e6-4ae8-bd7d-56b7804efb8a}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="Bullet\dynamics">
-      <UniqueIdentifier>{e0374396-8c2f-4d87-b707-facf552f0365}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="Bullet\maths">
-      <UniqueIdentifier>{4133acc4-93ed-4762-8a08-afacebe2c5eb}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="Bullet\softbody">
-      <UniqueIdentifier>{6a324131-101d-468e-b70d-3192f7c481d4}</UniqueIdentifier>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\..\include\bullet\src\btBulletCollisionCommon.h">
-      <Filter>Bullet</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\btBulletDynamicsCommon.h">
-      <Filter>Bullet</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3AlignedAllocator.h">
-      <Filter>Bullet\common</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3AlignedObjectArray.h">
-      <Filter>Bullet\common</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3CommandLineArgs.h">
-      <Filter>Bullet\common</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3FileUtils.h">
-      <Filter>Bullet\common</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3HashMap.h">
-      <Filter>Bullet\common</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3Logging.h">
-      <Filter>Bullet\common</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3Matrix3x3.h">
-      <Filter>Bullet\common</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3MinMax.h">
-      <Filter>Bullet\common</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3PoolAllocator.h">
-      <Filter>Bullet\common</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3QuadWord.h">
-      <Filter>Bullet\common</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3Quaternion.h">
-      <Filter>Bullet\common</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3Random.h">
-      <Filter>Bullet\common</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3ResizablePool.h">
-      <Filter>Bullet\common</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3Scalar.h">
-      <Filter>Bullet\common</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3StackAlloc.h">
-      <Filter>Bullet\common</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3Transform.h">
-      <Filter>Bullet\common</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3TransformUtil.h">
-      <Filter>Bullet\common</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3Vector3.h">
-      <Filter>Bullet\common</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Geometry\b3AabbUtil.h">
-      <Filter>Bullet\geometry</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Geometry\b3ConvexHullComputer.h">
-      <Filter>Bullet\geometry</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Geometry\b3GeometryUtil.h">
-      <Filter>Bullet\geometry</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\Bullet3Geometry\b3GrahamScan2dConvexHull.h">
-      <Filter>Bullet\geometry</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btAxisSweep3.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btAxisSweep3Internal.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btBroadphaseInterface.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btBroadphaseProxy.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btCollisionAlgorithm.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btDbvt.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btDbvtBroadphase.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btDispatcher.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btOverlappingPairCache.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btOverlappingPairCallback.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btQuantizedBvh.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btSimpleBroadphase.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btActivatingCollisionAlgorithm.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btBox2dBox2dCollisionAlgorithm.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btBoxBoxCollisionAlgorithm.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btBoxBoxDetector.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionConfiguration.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionCreateFunc.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionDispatcher.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionDispatcherMt.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionObject.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionObjectWrapper.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionWorld.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionWorldImporter.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCompoundCollisionAlgorithm.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCompoundCompoundCollisionAlgorithm.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btConvex2dConvex2dAlgorithm.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btConvexConcaveCollisionAlgorithm.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btConvexConvexAlgorithm.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btConvexPlaneCollisionAlgorithm.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btDefaultCollisionConfiguration.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btEmptyCollisionAlgorithm.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btGhostObject.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btHashedSimplePairCache.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btInternalEdgeUtility.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btManifoldResult.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btSimulationIslandManager.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btSphereBoxCollisionAlgorithm.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btSphereSphereCollisionAlgorithm.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btSphereTriangleCollisionAlgorithm.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btUnionFind.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\SphereTriangleDetector.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btBox2dShape.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btBoxShape.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btBvhTriangleMeshShape.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btCapsuleShape.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btCollisionMargin.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btCollisionShape.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btCompoundShape.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConcaveShape.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConeShape.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvex2dShape.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexHullShape.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexInternalShape.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexPointCloudShape.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexPolyhedron.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexShape.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexTriangleMeshShape.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btCylinderShape.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btEmptyShape.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btHeightfieldTerrainShape.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btMaterial.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btMinkowskiSumShape.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btMultimaterialTriangleMeshShape.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btMultiSphereShape.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btOptimizedBvh.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btPolyhedralConvexShape.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btScaledBvhTriangleMeshShape.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btShapeHull.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btSphereShape.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btStaticPlaneShape.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btStridingMeshInterface.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTetrahedronShape.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleBuffer.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleCallback.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleIndexVertexArray.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleIndexVertexMaterialArray.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleInfoMap.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleMesh.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleMeshShape.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleShape.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btUniformScalingShape.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btBoxCollision.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btClipPolygon.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btCompoundFromGimpact.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btContactProcessing.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btContactProcessingStructs.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGenericPoolAllocator.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGeometryOperations.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactBvh.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactBvhStructs.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactCollisionAlgorithm.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactMassUtil.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactQuantizedBvh.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactQuantizedBvhStructs.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactShape.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btQuantization.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btTriangleShapeEx.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_array.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_basic_geometry_operations.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_bitset.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_box_collision.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_box_set.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_clip_polygon.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_contact.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_geom_types.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_geometry.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_hash_table.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_linear_math.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_math.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_memory.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_radixsort.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_tri_collision.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btComputeGjkEpaPenetration.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btContinuousConvexCollision.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btConvexCast.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btConvexPenetrationDepthSolver.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btDiscreteCollisionDetectorInterface.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkCollisionDescription.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkConvexCast.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkEpa2.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkEpa3.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkEpaPenetrationDepthSolver.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkPairDetector.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btManifoldPoint.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btMinkowskiPenetrationDepthSolver.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btMprPenetration.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btPersistentManifold.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btPointCollector.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btPolyhedralContactClipping.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btRaycastCallback.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btSimplexSolverInterface.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btSubSimplexConvexCast.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btVoronoiSimplexSolver.h">
-      <Filter>Bullet\collision</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Character\btCharacterControllerInterface.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Character\btKinematicCharacterController.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btConeTwistConstraint.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btConstraintSolver.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btContactConstraint.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btContactSolverInfo.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btFixedConstraint.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btGearConstraint.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btGeneric6DofConstraint.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btGeneric6DofSpring2Constraint.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btGeneric6DofSpringConstraint.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btHinge2Constraint.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btHingeConstraint.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btJacobianEntry.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btNNCGConstraintSolver.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btPoint2PointConstraint.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btSequentialImpulseConstraintSolver.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btSliderConstraint.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btSolve2LinearConstraint.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btSolverBody.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btSolverConstraint.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btTypedConstraint.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btUniversalConstraint.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btActionInterface.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btDiscreteDynamicsWorld.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btDiscreteDynamicsWorldMt.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btDynamicsWorld.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btRigidBody.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btSimpleDynamicsWorld.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btSimulationIslandManagerMt.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBody.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyConstraint.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyConstraintSolver.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyDynamicsWorld.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyFixedConstraint.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyGearConstraint.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyJointFeedback.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyJointLimitConstraint.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyJointMotor.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyLink.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyLinkCollider.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyPoint2Point.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodySliderConstraint.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodySolverConstraint.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btDantzigLCP.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btDantzigSolver.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btLemkeAlgorithm.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btLemkeSolver.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btMLCPSolver.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btMLCPSolverInterface.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btPATHSolver.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btSolveProjectedGaussSeidel.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Vehicle\btRaycastVehicle.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Vehicle\btVehicleRaycaster.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Vehicle\btWheelInfo.h">
-      <Filter>Bullet\dynamics</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btAabbUtil2.h">
-      <Filter>Bullet\maths</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btAlignedAllocator.h">
-      <Filter>Bullet\maths</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btAlignedObjectArray.h">
-      <Filter>Bullet\maths</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btConvexHull.h">
-      <Filter>Bullet\maths</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btConvexHullComputer.h">
-      <Filter>Bullet\maths</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btCpuFeatureUtility.h">
-      <Filter>Bullet\maths</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btDefaultMotionState.h">
-      <Filter>Bullet\maths</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btGeometryUtil.h">
-      <Filter>Bullet\maths</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btGrahamScan2dConvexHull.h">
-      <Filter>Bullet\maths</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btHashMap.h">
-      <Filter>Bullet\maths</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btIDebugDraw.h">
-      <Filter>Bullet\maths</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btList.h">
-      <Filter>Bullet\maths</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btMatrix3x3.h">
-      <Filter>Bullet\maths</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btMatrixX.h">
-      <Filter>Bullet\maths</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btMinMax.h">
-      <Filter>Bullet\maths</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btMotionState.h">
-      <Filter>Bullet\maths</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btPolarDecomposition.h">
-      <Filter>Bullet\maths</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btPoolAllocator.h">
-      <Filter>Bullet\maths</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btQuadWord.h">
-      <Filter>Bullet\maths</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btQuaternion.h">
-      <Filter>Bullet\maths</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btQuickprof.h">
-      <Filter>Bullet\maths</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btRandom.h">
-      <Filter>Bullet\maths</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btScalar.h">
-      <Filter>Bullet\maths</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btSerializer.h">
-      <Filter>Bullet\maths</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btSpatialAlgebra.h">
-      <Filter>Bullet\maths</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btStackAlloc.h">
-      <Filter>Bullet\maths</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btThreads.h">
-      <Filter>Bullet\maths</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btTransform.h">
-      <Filter>Bullet\maths</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btTransformUtil.h">
-      <Filter>Bullet\maths</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\LinearMath\btVector3.h">
-      <Filter>Bullet\maths</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletSoftBody\btDefaultSoftBodySolver.h">
-      <Filter>Bullet\softbody</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletSoftBody\btSoftBody.h">
-      <Filter>Bullet\softbody</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletSoftBody\btSoftBodyConcaveCollisionAlgorithm.h">
-      <Filter>Bullet\softbody</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletSoftBody\btSoftBodyData.h">
-      <Filter>Bullet\softbody</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletSoftBody\btSoftBodyHelpers.h">
-      <Filter>Bullet\softbody</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletSoftBody\btSoftBodyInternals.h">
-      <Filter>Bullet\softbody</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletSoftBody\btSoftBodyRigidBodyCollisionConfiguration.h">
-      <Filter>Bullet\softbody</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletSoftBody\btSoftBodySolvers.h">
-      <Filter>Bullet\softbody</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletSoftBody\btSoftBodySolverVertexBuffer.h">
-      <Filter>Bullet\softbody</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletSoftBody\btSoftMultiBodyDynamicsWorld.h">
-      <Filter>Bullet\softbody</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletSoftBody\btSoftRigidCollisionAlgorithm.h">
-      <Filter>Bullet\softbody</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletSoftBody\btSoftRigidDynamicsWorld.h">
-      <Filter>Bullet\softbody</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\bullet\src\BulletSoftBody\btSoftSoftCollisionAlgorithm.h">
-      <Filter>Bullet\softbody</Filter>
-    </ClInclude>
-  </ItemGroup>
-</Project>

+ 0 - 69
libs/bullet/bullet/Body.hx

@@ -1,69 +0,0 @@
-package bullet;
-
-@:hlNative("bullet")
-class Body {
-
-	var state : Native.MotionState;
-	var inst : Native.RigidBody;
-	var _pos = new h3d.col.Point();
-	var _q = new h3d.Quat();
-	var _tmp = new Array<Float>();
-
-	public var shape(default,null) : Shape;
-	public var mass(default,null) : Float;
-	public var position(get,never) : h3d.col.Point;
-	public var rotation(get,never) : h3d.Quat;
-
-	public function new( shape : Shape, mass : Float ) {
-		var inertia = new Native.Vector3(0, 0, 0);
-		if( mass > 0 )
-			@:privateAccess shape.getInstance().calculateLocalInertia(mass,inertia);
-		state = new Native.DefaultMotionState();
-		var inf = new Native.RigidBodyConstructionInfo(mass, state, @:privateAccess shape.getInstance(), inertia);
-		inst = new Native.RigidBody(inf);
-		inertia.delete();
-		inf.delete();
-		this.shape = shape;
-		this.mass = mass;
-		_tmp[6] = 0.;
-	}
-
-	public function setTransform( p : h3d.col.Point, ?q : h3d.Quat ) {
-		var t = inst.getCenterOfMassTransform();
-		var v = new Native.Vector3(p.x, p.y, p.z);
-		t.setOrigin(v);
-		v.delete();
-		if( q != null ) {
-			var qv = new Native.Quaternion(q.x, q.y, q.z, q.w);
-			t.setRotation(qv);
-			qv.delete();
-		}
-		inst.setCenterOfMassTransform(t);
-		t.delete();
-	}
-
-	public function delete() {
-		inst.delete();
-		state.delete();
-	}
-
-	function get_position() {
-		var t = inst.getCenterOfMassTransform();
-		var p = t.getOrigin();
-		_pos.set(p.x(), p.y(), p.z());
-		t.delete();
-		p.delete();
-		return _pos;
-	}
-
-	function get_rotation() {
-		var t = inst.getCenterOfMassTransform();
-		var q = t.getRotation();
-		var qw : Native.QuadWord = q;
-		_q.set(qw.x(), qw.y(), qw.z(), qw.w());
-		q.delete();
-		t.delete();
-		return _q;
-	}
-
-}

+ 0 - 56
libs/bullet/bullet/Generator.hx

@@ -1,56 +0,0 @@
-package bullet;
-
-#if eval
-class Generator {
-
-	static var INCLUDE = "
-#ifdef _WIN32
-#pragma warning(disable:4305)
-#pragma warning(disable:4244)
-#pragma warning(disable:4316)
-#endif
-#include <btBulletDynamicsCommon.h>
-#include <BulletSoftBody/btSoftBody.h>
-#include <BulletSoftBody/btSoftBodyRigidBodyCollisionConfiguration.h>
-#include <BulletSoftBody/btDefaultSoftBodySolver.h>
-#include <BulletSoftBody/btSoftBodyHelpers.h>
-#include <BulletSoftBody/btSoftRigidDynamicsWorld.h>
-#include <BulletCollision/CollisionShapes/btHeightfieldTerrainShape.h>
-#include <BulletCollision/CollisionDispatch/btGhostObject.h>
-#include <BulletDynamics/Character/btKinematicCharacterController.h>
-
-";
-
-	static var options = { idlFile : "bullet.idl", nativeLib : "bullet", includeCode : INCLUDE, autoGC : true };
-
-	public static function generateCpp() {
-		webidl.Generate.generateCpp(options);
-	}
-
-	public static function getFiles() {
-		var prj = new haxe.xml.Access(Xml.parse(sys.io.File.getContent("bullet.vcxproj.filters")).firstElement());
-		var sources = [];
-		for( i in prj.elements )
-			if( i.name == "ItemGroup" )
-				for( f in i.elements ) {
-					if( f.name != "ClCompile" ) continue;
-					var fname = f.att.Include.split("\\").join("/");
-					sources.push(fname);
-				}
-		return sources;
-	}
-
-	public static function generateJs() {
-		// ammo.js params
-		var debug = false;
-		var defines = debug ? [] : ["NO_EXIT_RUNTIME=1", "NO_FILESYSTEM=1", "AGGRESSIVE_VARIABLE_ELIMINATION=1", "ELIMINATE_DUPLICATE_FUNCTIONS=1", "NO_DYNAMIC_EXECUTION=1"];
-		var params = ["-O"+(debug?0:3), "--llvm-lto", "1", "-I", "../../include/bullet/src"];
-		for( d in defines ) {
-			params.push("-s");
-			params.push(d);
-		}
-		webidl.Generate.generateJs(options, getFiles(), params);
-	}
-
-}
-#end

+ 0 - 3
libs/bullet/bullet/Native.hx

@@ -1,3 +0,0 @@
-package bullet;
-
-typedef Native = haxe.macro.MacroType<[webidl.Module.build({ idlFile : "bullet.idl", chopPrefix : "bt", autoGC : true, nativeLib : "bullet" })]>;

+ 0 - 48
libs/bullet/bullet/Shape.hx

@@ -1,48 +0,0 @@
-package bullet;
-
-@:enum abstract Axis(Int) {
-	var X = 0;
-	var Y = 1;
-	var Z = 1;
-}
-
-abstract Shape(Native.CollisionShape) {
-
-	inline function new(v) {
-		this = v;
-	}
-
-	inline function getInstance() {
-		return this;
-	}
-
-	public static function createBox( sizeX : Float, sizeY : Float, sizeZ : Float ) : Shape {
-		return new Shape(new Native.BoxShape(new Native.Vector3(sizeX * 0.5, sizeY * 0.5, sizeZ * 0.5)));
-	}
-
-	public static function createSphere( radius : Float ) : Shape {
-		return new Shape(new Native.SphereShape(radius));
-	}
-
-	public static function createCapsule( axis : Axis, radius : Float, length : Float ) : Shape {
-		throw "TODO";
-	}
-
-	public static function createCylinder( axis : Axis, sizeX : Float, sizeY : Float, sizeZ : Float ) : Shape {
-		throw "TODO";
-	}
-
-	public static function createCone( axis : Axis, radius : Float, length : Float ) : Shape {
-		throw "TODO";
-	}
-
-	public static function createCompound( shapes : Array<{ shape : Shape, mass : Float, position : h3d.col.Point, rotation : h3d.Quat }> ) {
-		var comp = new Native.CompoundShape(true);
-		for( s in shapes ) {
-			var tr = new Native.Transform(new Native.Quaternion(s.rotation.x, s.rotation.y, s.rotation.z, s.rotation.w), new Native.Vector3(s.position.x, s.position.y, s.position.z));
-			comp.addChildShape(tr,s.shape.getInstance());
-		}
-		return { shape : new Shape(comp), rotation : new h3d.Quat(), position : new h3d.col.Point() };
-	}
-
-}

+ 0 - 40
libs/bullet/bullet/World.hx

@@ -1,40 +0,0 @@
-package bullet;
-
-@:hlNative("bullet")
-class World {
-
-	var config : Native.DefaultCollisionConfiguration;
-	var dispatch : Native.Dispatcher;
-	var broad : Native.BroadphaseInterface;
-	var solver : Native.ConstraintSolver;
-	var inst : Native.DiscreteDynamicsWorld;
-	var bodies : Array<Body> = [];
-
-	public function new() {
-		config = new Native.DefaultCollisionConfiguration();
-		dispatch = new Native.CollisionDispatcher(config);
-		broad = new Native.DbvtBroadphase();
-		solver = new Native.SequentialImpulseConstraintSolver();
-		inst = new Native.DiscreteDynamicsWorld(dispatch, broad, solver, config);
-	}
-
-	public function setGravity( x : Float, y : Float, z : Float ) {
-		inst.setGravity(new Native.Vector3(x, y, z));
-	}
-
-	public function stepSimulation( time : Float, iterations : Int ) {
-		inst.stepSimulation(time, iterations);
-	}
-
-	public function addRigidBody( b : Body ) {
-		if( bodies.indexOf(b) >= 0 ) throw "Body already in world";
-		bodies.push(b);
-		inst.addRigidBody(@:privateAccess b.inst,1,1);
-	}
-
-	public function removeRigidBody( b : Body ) {
-		if( !bodies.remove(b) ) return;
-		inst.removeRigidBody(@:privateAccess b.inst);
-	}
-
-}

+ 0 - 10
libs/bullet/haxelib.json

@@ -1,10 +0,0 @@
-{
-	"name" : "hxbullet",
-	"url" : "https://github.com/HaxeFoundation/hl/tree/master/libs/bullet",
-	"license" : "BSD",
-	"contributors" : ["ncannasse"],
-	"description" : "Bullet3D support for Haxe HL/JS.",
-	"version" : "1.0.0",
-	"releasenote" : "",
-	"dependencies": { "webidl" : "" }
-}

+ 0 - 19
libs/bullet/sample/.vscode/launch.json

@@ -1,19 +0,0 @@
-{
-	// Utilisez IntelliSense pour en savoir plus sur les attributs possibles.
-	// Pointez pour afficher la description des attributs existants.
-	// Pour plus d'informations, visitez : https://go.microsoft.com/fwlink/?linkid=830387
-	"version": "0.2.0",
-	"configurations": [
-		{
-			"name": "HashLink (launch)",
-			"request": "launch",
-			"type": "hl",
-			"hxml": "sample.hxml",
-			"cwd": "${workspaceRoot}",
-			"preLaunchTask": {
-				"type": "haxe",
-				"args": "active configuration"
-			}
-		}
-	]
-}

+ 0 - 15
libs/bullet/sample/.vscode/tasks.json

@@ -1,15 +0,0 @@
-{
-// Consultez https://go.microsoft.com/fwlink/?LinkId=733558
-	// pour voir la documentation sur le format de tasks.json
-	"version": "2.0.0",
-	"tasks": [
-		{
-			"type": "haxe",
-			"args": "active configuration",
-			"group": {
-				"kind": "build",
-				"isDefault": true
-			}
-		}
-	]
-}

+ 0 - 78
libs/bullet/sample/Main.hx

@@ -1,78 +0,0 @@
-
-class Main extends hxd.App {
-
-	var world : bullet.World;
-	var bodies : Array<{ b : bullet.Body, m : h3d.scene.Mesh }> = [];
-
-	override function init() {
-		world = new bullet.World();
-		world.setGravity(0,0,-9.81);
-
-		var floor = new bullet.Body(bullet.Shape.createBox(100,100,1),0);
-		world.addRigidBody(floor);
-
-		var floorGfx = new h3d.prim.Cube(100, 100, 1, true);
-		floorGfx.addNormals();
-		var floorMesh = new h3d.scene.Mesh(floorGfx, s3d);
-		floorMesh.material.color.setColor(0x800000);
-		bodies.push({ b : floor, m : floorMesh });
-
-		new h3d.scene.fwd.DirLight(new h3d.Vector(1, 2, -4), s3d);
-
-		var shapes = [bullet.Shape.createSphere(0.5), bullet.Shape.createBox(1,1,1)];
-		var prims = [new h3d.prim.Sphere(0.5), new h3d.prim.Cube(1, 1, 1, true)];
-		prims[1].unindex();
-/*
-		var comp = bullet.Shape.createCompound([
-			{ shape : shapes[0], mass : 1, position : new h3d.col.Point(0, 0, 0), rotation : new h3d.Quat() },
-			{ shape : shapes[1], mass : 1, position : new h3d.col.Point(0, 0, 1), rotation : new h3d.Quat() }
-		]);
-		shapes.push(comp.shape);
-		var c = new h3d.prim.Cube(1, 1, 2, true);
-		c.unindex();
-		prims.push(c);*/
-
-		for( p in prims )
-			p.addNormals();
-		for( i in 0...100 ) {
-			var id = Std.random(shapes.length);
-			var m = new h3d.scene.Mesh(prims[id], s3d);
-			m.x = Math.random() * 10;
-			m.y = Math.random() * 10;
-			m.z = 10 + Math.random() * 10;
-
-			var mt = new h3d.Matrix();
-			mt.identity();
-			mt.colorHue(Math.random() * Math.PI * 2);
-			m.material.color.set(0.5, 0.3, 0);
-			m.material.color.transform(mt);
-
-			var b = new bullet.Body(shapes[id], 0.5);
-			b.setTransform(new h3d.col.Point(m.x, m.y, m.z));
-			world.addRigidBody(b);
-			bodies.push({ b : b, m : m });
-		}
-
-		new h3d.scene.CameraController(80, s3d);
-	}
-
-	override function update(dt:Float) {
-		world.stepSimulation(dt, 10);
-		for( b in bodies ) {
-			var pos = b.b.position;
-			var q = b.b.rotation;
-			b.m.x = pos.x;
-			b.m.y = pos.y;
-			b.m.z = pos.z;
-			b.m.setRotationQuat(q);
-		}
-		// check correct memory gc
-		for( i in 0...1000 )
-			bullet.Shape.createSphere(0.5);
-	}
-
-	static function main() {
-		new Main();
-	}
-
-}

+ 0 - 10
libs/bullet/sample/sample.html

@@ -1,10 +0,0 @@
-<html>
-<body style="margin:0;padding:0">
-	<canvas id="webgl" style="width:100%;height:100%" width="100%" height="100%"/>
-	<script>
-		var bullet = { TOTAL_MEMORY : 256 * 1024 * 1024 };
-	</script>
-	<script type="text/javascript" src="../bullet.js"></script>
-	<script type="text/javascript" src="sample.js"></script>
-</body>
-</html>

+ 0 - 7
libs/bullet/sample/sample.hxml

@@ -1,7 +0,0 @@
--lib heaps
--lib hxbullet
--lib hldx
--cp .
--main Main
--hl sample.hl
-

+ 0 - 7
libs/bullet/sample/sample_js.hxml

@@ -1,7 +0,0 @@
--cp .
--js sample.js
--main Main
--lib heaps
--lib hxbullet
--D old-error-format
--dce full