diff options
-rw-r--r-- | README.md | 4 | ||||
-rw-r--r-- | src/BulletCollision/CollisionDispatch/btCollisionWorld.cpp | 2 |
2 files changed, 3 insertions, 3 deletions
@@ -24,11 +24,11 @@ python3 -m pybullet_envs.deep_mimic.testrl --arg_file run_humanoid3d_backflip_ar If you use PyBullet in your research, please cite it like this: ``` -@MISC{coumans2019, +@MISC{coumans2021, author = {Erwin Coumans and Yunfei Bai}, title = {PyBullet, a Python module for physics simulation for games, robotics and machine learning}, howpublished = {\url{http://pybullet.org}}, -year = {2016--2019} +year = {2016--2021} } ``` diff --git a/src/BulletCollision/CollisionDispatch/btCollisionWorld.cpp b/src/BulletCollision/CollisionDispatch/btCollisionWorld.cpp index 7cc6b8ab0..f74dcabc5 100644 --- a/src/BulletCollision/CollisionDispatch/btCollisionWorld.cpp +++ b/src/BulletCollision/CollisionDispatch/btCollisionWorld.cpp @@ -1037,7 +1037,7 @@ struct btSingleSweepCallback : public btBroadphaseRayCallback m_castShape(castShape) { btVector3 unnormalizedRayDir = (m_convexToTrans.getOrigin() - m_convexFromTrans.getOrigin()); - btVector3 rayDir = unnormalizedRayDir.normalized(); + btVector3 rayDir = unnormalizedRayDir.fuzzyZero() ? btVector3(btScalar(0.0), btScalar(0.0), btScalar(0.0)) : unnormalizedRayDir.normalized(); ///what about division by zero? --> just set rayDirection[i] to INF/BT_LARGE_FLOAT m_rayDirectionInverse[0] = rayDir[0] == btScalar(0.0) ? btScalar(BT_LARGE_FLOAT) : btScalar(1.0) / rayDir[0]; m_rayDirectionInverse[1] = rayDir[1] == btScalar(0.0) ? btScalar(BT_LARGE_FLOAT) : btScalar(1.0) / rayDir[1]; |