Upgrade Bullet to version 2.83.
[blender.git] / extern / bullet2 / src / BulletCollision / CollisionShapes / btConvexShape.cpp
index fb0d9fdb75a8dc450b864d3fa561b2c9d6c416e7..b56d72917de264142f22c75b5fee1d1a5a331acd 100644 (file)
@@ -13,9 +13,9 @@ subject to the following restrictions:
 3. This notice may not be removed or altered from any source distribution.
 */
 
-//#if defined (_WIN32) || defined (__i386__)
-//#define BT_USE_SSE_IN_API
-//#endif
+#if defined (_WIN32) || defined (__i386__)
+#define BT_USE_SSE_IN_API
+#endif
 
 #include "btConvexShape.h"
 #include "btTriangleShape.h"
@@ -48,7 +48,7 @@ btConvexShape::~btConvexShape()
 }
 
 
-void btConvexShape::project(const btTransform& trans, const btVector3& dir, btScalar& min, btScalar& max) const
+void btConvexShape::project(const btTransform& trans, const btVector3& dir, btScalar& min, btScalar& max, btVector3& witnesPtMin,btVector3& witnesPtMax) const
 {
        btVector3 localAxis = dir*trans.getBasis();
        btVector3 vtx1 = trans(localGetSupportingVertex(localAxis));
@@ -56,12 +56,16 @@ void btConvexShape::project(const btTransform& trans, const btVector3& dir, btSc
 
        min = vtx1.dot(dir);
        max = vtx2.dot(dir);
-
+       witnesPtMax = vtx2;
+       witnesPtMin = vtx1;
+       
        if(min>max)
        {
                btScalar tmp = min;
                min = max;
                max = tmp;
+               witnesPtMax = vtx1;
+               witnesPtMin = vtx2;
        }
 }