diff --git a/src/BulletCollision/CollisionDispatch/btInternalEdgeUtility.cpp b/src/BulletCollision/CollisionDispatch/btInternalEdgeUtility.cpp index 73fa4e87e..f97d11db7 100644 --- a/src/BulletCollision/CollisionDispatch/btInternalEdgeUtility.cpp +++ b/src/BulletCollision/CollisionDispatch/btInternalEdgeUtility.cpp @@ -114,6 +114,7 @@ struct btConnectivityProcessor : public btTriangleCallback if(numshared >= 3) return; } + switch (numshared) { case 0: @@ -202,7 +203,6 @@ struct btConnectivityProcessor : public btTriangleCallback ang4 = 0.f; } else { - calculatedEdge.normalize(); btVector3 calculatedNormalA = calculatedEdge.cross(edgeCrossA); calculatedNormalA.normalize(); @@ -213,7 +213,7 @@ struct btConnectivityProcessor : public btTriangleCallback isConvex = (dotA<0.); correctedAngle = isConvex ? ang4 : -ang4; - btQuaternion orn2(calculatedEdge,-correctedAngle); + btQuaternion orn2 = btQuaternion(btVector3(calculatedEdge.x(), calculatedEdge.y(), calculatedEdge.z()),-correctedAngle); calculatedNormalB = btMatrix3x3(orn2)*normalA; @@ -301,11 +301,6 @@ struct btConnectivityProcessor : public btTriangleCallback break; } - default: - { - // printf("warning: duplicate triangle\n"); - } - } } };