diff --git a/Demos/BasicDemo/BasicDemo.cpp b/Demos/BasicDemo/BasicDemo.cpp index 2997e7bcd..d70441ae0 100644 --- a/Demos/BasicDemo/BasicDemo.cpp +++ b/Demos/BasicDemo/BasicDemo.cpp @@ -92,6 +92,7 @@ void BasicDemo::initPhysics() ///Don't make the world AABB size too large, it will harm simulation quality and performance btVector3 worldAabbMin(-10000,-10000,-10000); btVector3 worldAabbMax(10000,10000,10000); + //m_overlappingPairCache = new btSimpleBroadphase();//new btAxisSweep3(worldAabbMin,worldAabbMax,MAX_PROXIES); m_overlappingPairCache = new btAxisSweep3(worldAabbMin,worldAabbMax,MAX_PROXIES); ///the default constraint solver. For parallel processing you can use a different solver (see Extras/BulletMultiThreaded) @@ -104,8 +105,8 @@ void BasicDemo::initPhysics() m_dynamicsWorld->setGravity(btVector3(0,-10,0)); ///create a few basic rigid bodies - btCollisionShape* groundShape = new btBoxShape(btVector3(btScalar(50.),btScalar(50.),btScalar(50.))); -// btCollisionShape* groundShape = new btStaticPlaneShape(btVector3(0,1,0),50); +// btCollisionShape* groundShape = new btBoxShape(btVector3(btScalar(50.),btScalar(50.),btScalar(50.))); + btCollisionShape* groundShape = new btStaticPlaneShape(btVector3(0,1,0),50); m_collisionShapes.push_back(groundShape); @@ -161,13 +162,15 @@ void BasicDemo::initPhysics() for (int k=0;ksetActivationState(ISLAND_SLEEPING); m_dynamicsWorld->addRigidBody(body); + body->setActivationState(ISLAND_SLEEPING); } } } diff --git a/Demos/Benchmarks/BenchmarkDemo.cpp b/Demos/Benchmarks/BenchmarkDemo.cpp index ae8170bc3..6b27aaa4f 100644 --- a/Demos/Benchmarks/BenchmarkDemo.cpp +++ b/Demos/Benchmarks/BenchmarkDemo.cpp @@ -272,8 +272,9 @@ void BenchmarkDemo::initPhysics() ///Don't make the world AABB size too large, it will harm simulation quality and performance btVector3 worldAabbMin(-10000,-10000,-10000); btVector3 worldAabbMax(10000,10000,10000); - m_overlappingPairCache = new btAxisSweep3(worldAabbMin,worldAabbMax,3500); - //m_overlappingPairCache = new btDbvtBroadphase(); + //m_overlappingPairCache = new btAxisSweep3(worldAabbMin,worldAabbMax,3500); + + m_overlappingPairCache = new btDbvtBroadphase(); ///the default constraint solver. For parallel processing you can use a different solver (see Extras/BulletMultiThreaded) btSequentialImpulseConstraintSolver* sol = new btSequentialImpulseConstraintSolver; diff --git a/Demos/ConcaveDemo/ConcavePhysicsDemo.cpp b/Demos/ConcaveDemo/ConcavePhysicsDemo.cpp index 8e5d9288c..d03d3f179 100644 --- a/Demos/ConcaveDemo/ConcavePhysicsDemo.cpp +++ b/Demos/ConcaveDemo/ConcavePhysicsDemo.cpp @@ -186,7 +186,7 @@ void ConcaveDemo::initPhysics() bool useQuantizedAabbCompression = true; //comment out the next line to read the BVH from disk (first run the demo once to create the BVH) -#define SERIALIZE_TO_DISK 1 +//#define SERIALIZE_TO_DISK 1 #ifdef SERIALIZE_TO_DISK btVector3 aabbMin(-1000,-1000,-1000),aabbMax(1000,1000,1000); diff --git a/Demos/OpenGL/DemoApplication.cpp b/Demos/OpenGL/DemoApplication.cpp index e27a0264a..ceee6d72a 100644 --- a/Demos/OpenGL/DemoApplication.cpp +++ b/Demos/OpenGL/DemoApplication.cpp @@ -1229,7 +1229,8 @@ void DemoApplication::clientResetScene() myMotionState->m_graphicsWorldTrans = myMotionState->m_startWorldTrans; colObj->setWorldTransform( myMotionState->m_graphicsWorldTrans ); colObj->setInterpolationWorldTransform( myMotionState->m_startWorldTrans ); - colObj->activate(); + //colObj->activate(); + colObj->setActivationState(WANTS_DEACTIVATION); } //removed cached contact points m_dynamicsWorld->getBroadphase()->getOverlappingPairCache()->cleanProxyFromPairs(colObj->getBroadphaseHandle(),getDynamicsWorld()->getDispatcher()); diff --git a/Demos/OpenGL/GL_ShapeDrawer.cpp b/Demos/OpenGL/GL_ShapeDrawer.cpp index deba10c99..d9832b366 100644 --- a/Demos/OpenGL/GL_ShapeDrawer.cpp +++ b/Demos/OpenGL/GL_ShapeDrawer.cpp @@ -85,15 +85,15 @@ public: normal.normalize(); glBegin(GL_TRIANGLES); - glColor3f(0, 1, 0); + glColor3f(1, 1, 1); glNormal3d(normal.getX(),normal.getY(),normal.getZ()); glVertex3d(triangle[0].getX(), triangle[0].getY(), triangle[0].getZ()); - glColor3f(0, 1, 0); + //glColor3f(0, 1, 0); glNormal3d(normal.getX(),normal.getY(),normal.getZ()); glVertex3d(triangle[1].getX(), triangle[1].getY(), triangle[1].getZ()); - glColor3f(0, 1, 0); + //glColor3f(0, 1, 0); glNormal3d(normal.getX(),normal.getY(),normal.getZ()); glVertex3d(triangle[2].getX(), triangle[2].getY(), triangle[2].getZ()); glEnd(); @@ -237,11 +237,11 @@ public: } else { glBegin(GL_TRIANGLES); - glColor3f(1, 0, 0); + glColor3f(1, 1, 1); glVertex3d(triangle[0].getX(), triangle[0].getY(), triangle[0].getZ()); - glColor3f(0, 1, 0); + //glColor3f(0, 1, 0); glVertex3d(triangle[1].getX(), triangle[1].getY(), triangle[1].getZ()); - glColor3f(0, 0, 1); + //glColor3f(0, 0, 1); glVertex3d(triangle[2].getX(), triangle[2].getY(), triangle[2].getZ()); glEnd(); } diff --git a/src/BulletDynamics/ConstraintSolver/btOdeContactJoint.cpp b/Extras/quickstep/btOdeContactJoint.cpp similarity index 100% rename from src/BulletDynamics/ConstraintSolver/btOdeContactJoint.cpp rename to Extras/quickstep/btOdeContactJoint.cpp diff --git a/src/BulletDynamics/ConstraintSolver/btOdeContactJoint.h b/Extras/quickstep/btOdeContactJoint.h similarity index 100% rename from src/BulletDynamics/ConstraintSolver/btOdeContactJoint.h rename to Extras/quickstep/btOdeContactJoint.h diff --git a/src/BulletDynamics/ConstraintSolver/btOdeJoint.cpp b/Extras/quickstep/btOdeJoint.cpp similarity index 100% rename from src/BulletDynamics/ConstraintSolver/btOdeJoint.cpp rename to Extras/quickstep/btOdeJoint.cpp diff --git a/src/BulletDynamics/ConstraintSolver/btOdeJoint.h b/Extras/quickstep/btOdeJoint.h similarity index 100% rename from src/BulletDynamics/ConstraintSolver/btOdeJoint.h rename to Extras/quickstep/btOdeJoint.h diff --git a/src/BulletDynamics/ConstraintSolver/btOdeMacros.h b/Extras/quickstep/btOdeMacros.h similarity index 100% rename from src/BulletDynamics/ConstraintSolver/btOdeMacros.h rename to Extras/quickstep/btOdeMacros.h diff --git a/src/BulletDynamics/ConstraintSolver/btOdeQuickstepConstraintSolver.cpp b/Extras/quickstep/btOdeQuickstepConstraintSolver.cpp similarity index 100% rename from src/BulletDynamics/ConstraintSolver/btOdeQuickstepConstraintSolver.cpp rename to Extras/quickstep/btOdeQuickstepConstraintSolver.cpp diff --git a/src/BulletDynamics/ConstraintSolver/btOdeQuickstepConstraintSolver.h b/Extras/quickstep/btOdeQuickstepConstraintSolver.h similarity index 100% rename from src/BulletDynamics/ConstraintSolver/btOdeQuickstepConstraintSolver.h rename to Extras/quickstep/btOdeQuickstepConstraintSolver.h diff --git a/src/BulletDynamics/ConstraintSolver/btOdeSolverBody.h b/Extras/quickstep/btOdeSolverBody.h similarity index 100% rename from src/BulletDynamics/ConstraintSolver/btOdeSolverBody.h rename to Extras/quickstep/btOdeSolverBody.h diff --git a/src/BulletDynamics/ConstraintSolver/btOdeTypedJoint.cpp b/Extras/quickstep/btOdeTypedJoint.cpp similarity index 100% rename from src/BulletDynamics/ConstraintSolver/btOdeTypedJoint.cpp rename to Extras/quickstep/btOdeTypedJoint.cpp diff --git a/src/BulletDynamics/ConstraintSolver/btOdeTypedJoint.h b/Extras/quickstep/btOdeTypedJoint.h similarity index 100% rename from src/BulletDynamics/ConstraintSolver/btOdeTypedJoint.h rename to Extras/quickstep/btOdeTypedJoint.h diff --git a/src/BulletDynamics/ConstraintSolver/btSorLcp.cpp b/Extras/quickstep/btSorLcp.cpp similarity index 100% rename from src/BulletDynamics/ConstraintSolver/btSorLcp.cpp rename to Extras/quickstep/btSorLcp.cpp diff --git a/src/BulletDynamics/ConstraintSolver/btSorLcp.h b/Extras/quickstep/btSorLcp.h similarity index 100% rename from src/BulletDynamics/ConstraintSolver/btSorLcp.h rename to Extras/quickstep/btSorLcp.h diff --git a/src/BulletCollision/BroadphaseCollision/btSimpleBroadphase.cpp b/src/BulletCollision/BroadphaseCollision/btSimpleBroadphase.cpp index 866d84416..a57952ffa 100644 --- a/src/BulletCollision/BroadphaseCollision/btSimpleBroadphase.cpp +++ b/src/BulletCollision/BroadphaseCollision/btSimpleBroadphase.cpp @@ -55,7 +55,7 @@ btSimpleBroadphase::btSimpleBroadphase(int maxProxies, btOverlappingPairCache* o m_maxHandles = maxProxies; m_numHandles = 0; m_firstFreeHandle = 0; - m_firstAllocatedHandle = -1; + { for (int i = m_firstFreeHandle; i < maxProxies; i++) diff --git a/src/BulletCollision/BroadphaseCollision/btSimpleBroadphase.h b/src/BulletCollision/BroadphaseCollision/btSimpleBroadphase.h index 3f5d7d633..e2ebb8257 100644 --- a/src/BulletCollision/BroadphaseCollision/btSimpleBroadphase.h +++ b/src/BulletCollision/BroadphaseCollision/btSimpleBroadphase.h @@ -61,11 +61,10 @@ protected: void* m_pHandlesRawPtr; int m_firstFreeHandle; // free handles list - int m_firstAllocatedHandle; - + int allocHandle() { - btAssert(m_firstFreeHandle); + btAssert(m_numHandles < m_maxHandles); int freeHandle = m_firstFreeHandle; m_firstFreeHandle = m_pHandles[freeHandle].GetNextFree(); m_numHandles++; diff --git a/src/BulletCollision/CollisionDispatch/btCollisionWorld.cpp b/src/BulletCollision/CollisionDispatch/btCollisionWorld.cpp index 7c2ecd609..afdeab3b1 100644 --- a/src/BulletCollision/CollisionDispatch/btCollisionWorld.cpp +++ b/src/BulletCollision/CollisionDispatch/btCollisionWorld.cpp @@ -127,6 +127,11 @@ void btCollisionWorld::updateAabbs() { btPoint3 minAabb,maxAabb; colObj->getCollisionShape()->getAabb(colObj->getWorldTransform(), minAabb,maxAabb); + //need to increase the aabb for contact thresholds + btVector3 contactThreshold(gContactBreakingThreshold,gContactBreakingThreshold,gContactBreakingThreshold); + minAabb -= contactThreshold; + maxAabb += contactThreshold; + btBroadphaseInterface* bp = (btBroadphaseInterface*)m_broadphasePairCache; //moving objects should be moderately sized, probably something wrong if not diff --git a/src/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.cpp b/src/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.cpp index 3f94f4d4e..1c3170805 100644 --- a/src/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.cpp +++ b/src/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.cpp @@ -22,7 +22,9 @@ subject to the following restrictions: #include "BulletCollision/CollisionDispatch/btConvexPlaneCollisionAlgorithm.h" #include "BulletCollision/CollisionDispatch/btBoxBoxCollisionAlgorithm.h" #include "BulletCollision/CollisionDispatch/btSphereSphereCollisionAlgorithm.h" +#ifdef USE_BUGGY_SPHERE_BOX_ALGORITHM #include "BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.h" +#endif //USE_BUGGY_SPHERE_BOX_ALGORITHM #include "BulletCollision/CollisionDispatch/btSphereTriangleCollisionAlgorithm.h" #include "BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.h" #include "BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.h" @@ -70,11 +72,14 @@ btDefaultCollisionConfiguration::btDefaultCollisionConfiguration(const btDefault mem = btAlignedAlloc(sizeof(btSphereSphereCollisionAlgorithm::CreateFunc),16); m_sphereSphereCF = new(mem) btSphereSphereCollisionAlgorithm::CreateFunc; +#ifdef USE_BUGGY_SPHERE_BOX_ALGORITHM mem = btAlignedAlloc(sizeof(btSphereBoxCollisionAlgorithm::CreateFunc),16); m_sphereBoxCF = new(mem) btSphereBoxCollisionAlgorithm::CreateFunc; mem = btAlignedAlloc(sizeof(btSphereBoxCollisionAlgorithm::CreateFunc),16); m_boxSphereCF = new (mem)btSphereBoxCollisionAlgorithm::CreateFunc; m_boxSphereCF->m_swapped = true; +#endif //USE_BUGGY_SPHERE_BOX_ALGORITHM + mem = btAlignedAlloc(sizeof(btSphereTriangleCollisionAlgorithm::CreateFunc),16); m_sphereTriangleCF = new (mem)btSphereTriangleCollisionAlgorithm::CreateFunc; mem = btAlignedAlloc(sizeof(btSphereTriangleCollisionAlgorithm::CreateFunc),16); @@ -176,10 +181,13 @@ btDefaultCollisionConfiguration::~btDefaultCollisionConfiguration() m_sphereSphereCF->~btCollisionAlgorithmCreateFunc(); btAlignedFree( m_sphereSphereCF); +#ifdef USE_BUGGY_SPHERE_BOX_ALGORITHM m_sphereBoxCF->~btCollisionAlgorithmCreateFunc(); btAlignedFree( m_sphereBoxCF); m_boxSphereCF->~btCollisionAlgorithmCreateFunc(); btAlignedFree( m_boxSphereCF); +#endif //USE_BUGGY_SPHERE_BOX_ALGORITHM + m_sphereTriangleCF->~btCollisionAlgorithmCreateFunc(); btAlignedFree( m_sphereTriangleCF); m_triangleSphereCF->~btCollisionAlgorithmCreateFunc(); @@ -212,7 +220,7 @@ btCollisionAlgorithmCreateFunc* btDefaultCollisionConfiguration::getCollisionAlg { return m_sphereSphereCF; } - +#ifdef USE_BUGGY_SPHERE_BOX_ALGORITHM if ((proxyType0 == SPHERE_SHAPE_PROXYTYPE) && (proxyType1==BOX_SHAPE_PROXYTYPE)) { return m_sphereBoxCF; @@ -222,6 +230,8 @@ btCollisionAlgorithmCreateFunc* btDefaultCollisionConfiguration::getCollisionAlg { return m_boxSphereCF; } +#endif //USE_BUGGY_SPHERE_BOX_ALGORITHM + if ((proxyType0 == SPHERE_SHAPE_PROXYTYPE ) && (proxyType1==TRIANGLE_SHAPE_PROXYTYPE)) { diff --git a/src/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.h b/src/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.h index 0b274d394..4f5af5f04 100644 --- a/src/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.h +++ b/src/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.h @@ -71,8 +71,11 @@ class btDefaultCollisionConfiguration : public btCollisionConfiguration btCollisionAlgorithmCreateFunc* m_swappedCompoundCreateFunc; btCollisionAlgorithmCreateFunc* m_emptyCreateFunc; btCollisionAlgorithmCreateFunc* m_sphereSphereCF; +#ifdef USE_BUGGY_SPHERE_BOX_ALGORITHM btCollisionAlgorithmCreateFunc* m_sphereBoxCF; btCollisionAlgorithmCreateFunc* m_boxSphereCF; +#endif //USE_BUGGY_SPHERE_BOX_ALGORITHM + btCollisionAlgorithmCreateFunc* m_boxBoxCF; btCollisionAlgorithmCreateFunc* m_sphereTriangleCF; btCollisionAlgorithmCreateFunc* m_triangleSphereCF; diff --git a/src/BulletCollision/CollisionShapes/btBoxShape.cpp b/src/BulletCollision/CollisionShapes/btBoxShape.cpp index adac455bb..f3a21d5f7 100644 --- a/src/BulletCollision/CollisionShapes/btBoxShape.cpp +++ b/src/BulletCollision/CollisionShapes/btBoxShape.cpp @@ -21,14 +21,15 @@ subject to the following restrictions: void btBoxShape::getAabb(const btTransform& t,btVector3& aabbMin,btVector3& aabbMax) const { - const btVector3& halfExtents = getHalfExtentsWithoutMargin(); + btVector3 halfExtents = getHalfExtentsWithoutMargin(); + halfExtents += btVector3(getMargin(),getMargin(),getMargin()); + btMatrix3x3 abs_b = t.getBasis().absolute(); btPoint3 center = t.getOrigin(); btVector3 extent = btVector3(abs_b[0].dot(halfExtents), abs_b[1].dot(halfExtents), abs_b[2].dot(halfExtents)); - extent += btVector3(getMargin(),getMargin(),getMargin()); aabbMin = center - extent; aabbMax = center + extent; diff --git a/src/BulletCollision/CollisionShapes/btCompoundShape.cpp b/src/BulletCollision/CollisionShapes/btCompoundShape.cpp index 78d01e14b..1f3254982 100644 --- a/src/BulletCollision/CollisionShapes/btCompoundShape.cpp +++ b/src/BulletCollision/CollisionShapes/btCompoundShape.cpp @@ -112,6 +112,7 @@ void btCompoundShape::recalculateLocalAabb() void btCompoundShape::getAabb(const btTransform& trans,btVector3& aabbMin,btVector3& aabbMax) const { btVector3 localHalfExtents = btScalar(0.5)*(m_localAabbMax-m_localAabbMin); + localHalfExtents += btVector3(getMargin(),getMargin(),getMargin()); btVector3 localCenter = btScalar(0.5)*(m_localAabbMax+m_localAabbMin); btMatrix3x3 abs_b = trans.getBasis().absolute(); @@ -121,10 +122,7 @@ void btCompoundShape::getAabb(const btTransform& trans,btVector3& aabbMin,btVect btVector3 extent = btVector3(abs_b[0].dot(localHalfExtents), abs_b[1].dot(localHalfExtents), abs_b[2].dot(localHalfExtents)); - extent += btVector3(getMargin(),getMargin(),getMargin()); - aabbMin = center - extent; - aabbMax = center + extent; } void btCompoundShape::calculateLocalInertia(btScalar mass,btVector3& inertia) const diff --git a/src/BulletCollision/CollisionShapes/btPolyhedralConvexShape.h b/src/BulletCollision/CollisionShapes/btPolyhedralConvexShape.h index 0d55e4fe9..62b1f206c 100644 --- a/src/BulletCollision/CollisionShapes/btPolyhedralConvexShape.h +++ b/src/BulletCollision/CollisionShapes/btPolyhedralConvexShape.h @@ -53,6 +53,7 @@ public: btVector3 localHalfExtents = btScalar(0.5)*(m_localAabbMax-m_localAabbMin); + localHalfExtents+= btVector3(margin,margin,margin); btVector3 localCenter = btScalar(0.5)*(m_localAabbMax+m_localAabbMin); btMatrix3x3 abs_b = trans.getBasis().absolute(); @@ -62,10 +63,6 @@ public: btVector3 extent = btVector3(abs_b[0].dot(localHalfExtents), abs_b[1].dot(localHalfExtents), abs_b[2].dot(localHalfExtents)); - extent += btVector3(margin,margin,margin); - - aabbMin = center - extent; - aabbMax = center + extent; } diff --git a/src/BulletCollision/CollisionShapes/btTriangleMeshShape.cpp b/src/BulletCollision/CollisionShapes/btTriangleMeshShape.cpp index cd0a00bbd..4d13f22aa 100644 --- a/src/BulletCollision/CollisionShapes/btTriangleMeshShape.cpp +++ b/src/BulletCollision/CollisionShapes/btTriangleMeshShape.cpp @@ -47,6 +47,7 @@ void btTriangleMeshShape::getAabb(const btTransform& trans,btVector3& aabbMin,bt { btVector3 localHalfExtents = btScalar(0.5)*(m_localAabbMax-m_localAabbMin); + localHalfExtents += btVector3(getMargin(),getMargin(),getMargin()); btVector3 localCenter = btScalar(0.5)*(m_localAabbMax+m_localAabbMin); btMatrix3x3 abs_b = trans.getBasis().absolute(); @@ -56,12 +57,7 @@ void btTriangleMeshShape::getAabb(const btTransform& trans,btVector3& aabbMin,bt btVector3 extent = btVector3(abs_b[0].dot(localHalfExtents), abs_b[1].dot(localHalfExtents), abs_b[2].dot(localHalfExtents)); - extent += btVector3(getMargin(),getMargin(),getMargin()); - aabbMin = center - extent; - aabbMax = center + extent; - - } void btTriangleMeshShape::recalcLocalAabb() diff --git a/src/BulletDynamics/CMakeLists.txt b/src/BulletDynamics/CMakeLists.txt index 515eba4db..58b023e97 100644 --- a/src/BulletDynamics/CMakeLists.txt +++ b/src/BulletDynamics/CMakeLists.txt @@ -22,19 +22,6 @@ ADD_LIBRARY(LibBulletDynamics ConstraintSolver/btSolve2LinearConstraint.h ConstraintSolver/btTypedConstraint.cpp ConstraintSolver/btTypedConstraint.h - ConstraintSolver/btOdeContactJoint.cpp - ConstraintSolver/btOdeContactJoint.h - ConstraintSolver/btOdeJoint.cpp - ConstraintSolver/btOdeJoint.h - ConstraintSolver/btOdeSolverBody.h - ConstraintSolver/btOdeQuickstepConstraintSolver.cpp - ConstraintSolver/btOdeQuickstepConstraintSolver.h - ConstraintSolver/btOdeTypedJoint.cpp - ConstraintSolver/btOdeTypedJoint.h - ConstraintSolver/btSorLcp.cpp - ConstraintSolver/btSorLcp.h - ConstraintSolver/btOdeQuickstepConstraintSolver.h - ConstraintSolver/btOdeMacros.h Dynamics/Bullet-C-API.cpp Dynamics/btDiscreteDynamicsWorld.cpp Dynamics/btDiscreteDynamicsWorld.h diff --git a/src/btBulletCollisionCommon.h b/src/btBulletCollisionCommon.h index 4fbdcb1d7..34f03c364 100644 --- a/src/btBulletCollisionCommon.h +++ b/src/btBulletCollisionCommon.h @@ -43,7 +43,9 @@ subject to the following restrictions: ///Narrowphase Collision Detector #include "BulletCollision/CollisionDispatch/btSphereSphereCollisionAlgorithm.h" -#include "BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.h" + +//btSphereBoxCollisionAlgorithm is broken, use gjk for now +//#include "BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.h" #include "BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.h" ///Dispatching and generation of collision pairs (broadphase) diff --git a/src/btBulletDynamicsCommon.h b/src/btBulletDynamicsCommon.h index ce9bb1d96..b95972cd1 100644 --- a/src/btBulletDynamicsCommon.h +++ b/src/btBulletDynamicsCommon.h @@ -32,9 +32,7 @@ subject to the following restrictions: #include "BulletDynamics/ConstraintSolver/btSliderConstraint.h" #include "BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.h" -///Optional ODE quickstep constraint solver, redistributed under ZLib license -#include "BulletDynamics/ConstraintSolver/btOdeQuickstepConstraintSolver.h" -#include "BulletDynamics/ConstraintSolver/btOdeTypedJoint.h" + ///Vehicle simulation, with wheel contact simulated by raycasts #include "BulletDynamics/Vehicle/btRaycastVehicle.h"