diff --git a/src/narrowphase/narrowphase.cpp b/src/narrowphase/narrowphase.cpp index c1088f3b550e36d994cf451032306a4addd5eec6..9e0852171f362df97d322d49abe80f78eceef121 100644 --- a/src/narrowphase/narrowphase.cpp +++ b/src/narrowphase/narrowphase.cpp @@ -1637,7 +1637,7 @@ bool capsuleHalfspaceIntersect(const Capsule& s1, const Transform3f& tf1, Vec3f dir_z = R.getColumn(2); FCL_REAL cosa = dir_z.dot(new_s2.n); - if(cosa < halfspaceIntersectTolerance<FCL_REAL>()) + if(std::abs(cosa) < halfspaceIntersectTolerance<FCL_REAL>()) { FCL_REAL signed_dist = new_s2.signedDistance(T); FCL_REAL depth = s1.radius - signed_dist;