From 11008d81107d05463a7e2203146c6e32a24ccfe8 Mon Sep 17 00:00:00 2001 From: Erwin Coumans Date: Thu, 12 Apr 2018 09:28:30 -0700 Subject: [PATCH] fixes, backwards compatibility --- examples/Importers/ImportURDFDemo/UrdfParser.h | 2 +- .../SharedMemory/PhysicsServerCommandProcessor.cpp | 2 +- src/BulletCollision/BroadphaseCollision/btDispatcher.h | 2 +- .../NarrowPhaseCollision/btSubSimplexConvexCast.cpp | 10 ++++++++++ 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/examples/Importers/ImportURDFDemo/UrdfParser.h b/examples/Importers/ImportURDFDemo/UrdfParser.h index b3809bd86..094c1e36a 100644 --- a/examples/Importers/ImportURDFDemo/UrdfParser.h +++ b/examples/Importers/ImportURDFDemo/UrdfParser.h @@ -266,7 +266,7 @@ protected: bool parseMaterial(UrdfMaterial& material, tinyxml2::XMLElement *config, ErrorLogger* logger); bool parseJointLimits(UrdfJoint& joint, tinyxml2::XMLElement* config, ErrorLogger* logger); bool parseJointDynamics(UrdfJoint& joint, tinyxml2::XMLElement* config, ErrorLogger* logger); - bool parseJoint(UrdfJoint& link, tinyxml2::XMLElement *config, ErrorLogger* logger); + bool parseJoint(UrdfJoint& joint, tinyxml2::XMLElement *config, ErrorLogger* logger); bool parseLink(UrdfModel& model, UrdfLink& link, tinyxml2::XMLElement *config, ErrorLogger* logger); diff --git a/examples/SharedMemory/PhysicsServerCommandProcessor.cpp b/examples/SharedMemory/PhysicsServerCommandProcessor.cpp index f40fb2fa5..2d1989155 100644 --- a/examples/SharedMemory/PhysicsServerCommandProcessor.cpp +++ b/examples/SharedMemory/PhysicsServerCommandProcessor.cpp @@ -597,7 +597,7 @@ struct CommandLogPlayback #ifdef BACKWARD_COMPAT cmd->m_physSimParamArgs = unused.m_physSimParamArgs; #else - s= s = fread(&cmd->m_updateFlags,sizeof(int),1,m_file); + s = fread(&cmd->m_updateFlags,sizeof(int),1,m_file); s = fread(&cmd->m_physSimParamArgs ,sizeof(b3PhysicsSimulationParameters),1,m_file); #endif diff --git a/src/BulletCollision/BroadphaseCollision/btDispatcher.h b/src/BulletCollision/BroadphaseCollision/btDispatcher.h index d7a97e8e0..a0e4c1892 100644 --- a/src/BulletCollision/BroadphaseCollision/btDispatcher.h +++ b/src/BulletCollision/BroadphaseCollision/btDispatcher.h @@ -47,7 +47,7 @@ struct btDispatcherInfo m_allowedCcdPenetration(btScalar(0.04)), m_useConvexConservativeDistanceUtil(false), m_convexConservativeDistanceThreshold(0.0f), - m_deterministicOverlappingPairs(true) + m_deterministicOverlappingPairs(false) { } diff --git a/src/BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.cpp b/src/BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.cpp index 82465a2c4..08d6e6de8 100644 --- a/src/BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.cpp +++ b/src/BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.cpp @@ -72,7 +72,17 @@ bool btSubsimplexConvexCast::calcTimeOfImpact( btScalar dist2 = v.length2(); + +#ifdef BT_USE_DOUBLE_PRECISION btScalar epsilon = SIMD_EPSILON * 10; +#else +//todo: epsilon kept for backward compatibility of unit tests. +//will need to digg deeper to make the algorithm more robust +//since, a large epsilon can cause an early termination with false +//positive results (ray intersections that shouldn't be there) + btScalar epsilon = btScalar(0.0001); +#endif //BT_USE_DOUBLE_PRECISION + btVector3 w,p; btScalar VdotR;