disable sphere-box again, it seems broken
http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=9&t=8456 fix some warnings
This commit is contained in:
@@ -22,7 +22,9 @@ subject to the following restrictions:
|
|||||||
#include "BulletCollision/CollisionDispatch/btConvexPlaneCollisionAlgorithm.h"
|
#include "BulletCollision/CollisionDispatch/btConvexPlaneCollisionAlgorithm.h"
|
||||||
#include "BulletCollision/CollisionDispatch/btBoxBoxCollisionAlgorithm.h"
|
#include "BulletCollision/CollisionDispatch/btBoxBoxCollisionAlgorithm.h"
|
||||||
#include "BulletCollision/CollisionDispatch/btSphereSphereCollisionAlgorithm.h"
|
#include "BulletCollision/CollisionDispatch/btSphereSphereCollisionAlgorithm.h"
|
||||||
|
#ifdef USE_BUGGY_SPHERE_BOX_ALGORITHM
|
||||||
#include "BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.h"
|
#include "BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.h"
|
||||||
|
#endif //USE_BUGGY_SPHERE_BOX_ALGORITHM
|
||||||
#include "BulletCollision/CollisionDispatch/btSphereTriangleCollisionAlgorithm.h"
|
#include "BulletCollision/CollisionDispatch/btSphereTriangleCollisionAlgorithm.h"
|
||||||
#include "BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.h"
|
#include "BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.h"
|
||||||
#include "BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.h"
|
#include "BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.h"
|
||||||
@@ -70,11 +72,13 @@ btDefaultCollisionConfiguration::btDefaultCollisionConfiguration(const btDefault
|
|||||||
|
|
||||||
mem = btAlignedAlloc(sizeof(btSphereSphereCollisionAlgorithm::CreateFunc),16);
|
mem = btAlignedAlloc(sizeof(btSphereSphereCollisionAlgorithm::CreateFunc),16);
|
||||||
m_sphereSphereCF = new(mem) btSphereSphereCollisionAlgorithm::CreateFunc;
|
m_sphereSphereCF = new(mem) btSphereSphereCollisionAlgorithm::CreateFunc;
|
||||||
|
#ifdef USE_BUGGY_SPHERE_BOX_ALGORITHM
|
||||||
mem = btAlignedAlloc(sizeof(btSphereBoxCollisionAlgorithm::CreateFunc),16);
|
mem = btAlignedAlloc(sizeof(btSphereBoxCollisionAlgorithm::CreateFunc),16);
|
||||||
m_sphereBoxCF = new(mem) btSphereBoxCollisionAlgorithm::CreateFunc;
|
m_sphereBoxCF = new(mem) btSphereBoxCollisionAlgorithm::CreateFunc;
|
||||||
mem = btAlignedAlloc(sizeof(btSphereBoxCollisionAlgorithm::CreateFunc),16);
|
mem = btAlignedAlloc(sizeof(btSphereBoxCollisionAlgorithm::CreateFunc),16);
|
||||||
m_boxSphereCF = new (mem)btSphereBoxCollisionAlgorithm::CreateFunc;
|
m_boxSphereCF = new (mem)btSphereBoxCollisionAlgorithm::CreateFunc;
|
||||||
m_boxSphereCF->m_swapped = true;
|
m_boxSphereCF->m_swapped = true;
|
||||||
|
#endif //USE_BUGGY_SPHERE_BOX_ALGORITHM
|
||||||
|
|
||||||
mem = btAlignedAlloc(sizeof(btSphereTriangleCollisionAlgorithm::CreateFunc),16);
|
mem = btAlignedAlloc(sizeof(btSphereTriangleCollisionAlgorithm::CreateFunc),16);
|
||||||
m_sphereTriangleCF = new (mem)btSphereTriangleCollisionAlgorithm::CreateFunc;
|
m_sphereTriangleCF = new (mem)btSphereTriangleCollisionAlgorithm::CreateFunc;
|
||||||
@@ -177,10 +181,12 @@ btDefaultCollisionConfiguration::~btDefaultCollisionConfiguration()
|
|||||||
m_sphereSphereCF->~btCollisionAlgorithmCreateFunc();
|
m_sphereSphereCF->~btCollisionAlgorithmCreateFunc();
|
||||||
btAlignedFree( m_sphereSphereCF);
|
btAlignedFree( m_sphereSphereCF);
|
||||||
|
|
||||||
|
#ifdef USE_BUGGY_SPHERE_BOX_ALGORITHM
|
||||||
m_sphereBoxCF->~btCollisionAlgorithmCreateFunc();
|
m_sphereBoxCF->~btCollisionAlgorithmCreateFunc();
|
||||||
btAlignedFree( m_sphereBoxCF);
|
btAlignedFree( m_sphereBoxCF);
|
||||||
m_boxSphereCF->~btCollisionAlgorithmCreateFunc();
|
m_boxSphereCF->~btCollisionAlgorithmCreateFunc();
|
||||||
btAlignedFree( m_boxSphereCF);
|
btAlignedFree( m_boxSphereCF);
|
||||||
|
#endif //USE_BUGGY_SPHERE_BOX_ALGORITHM
|
||||||
|
|
||||||
m_sphereTriangleCF->~btCollisionAlgorithmCreateFunc();
|
m_sphereTriangleCF->~btCollisionAlgorithmCreateFunc();
|
||||||
btAlignedFree( m_sphereTriangleCF);
|
btAlignedFree( m_sphereTriangleCF);
|
||||||
@@ -214,6 +220,7 @@ btCollisionAlgorithmCreateFunc* btDefaultCollisionConfiguration::getCollisionAlg
|
|||||||
{
|
{
|
||||||
return m_sphereSphereCF;
|
return m_sphereSphereCF;
|
||||||
}
|
}
|
||||||
|
#ifdef USE_BUGGY_SPHERE_BOX_ALGORITHM
|
||||||
if ((proxyType0 == SPHERE_SHAPE_PROXYTYPE) && (proxyType1==BOX_SHAPE_PROXYTYPE))
|
if ((proxyType0 == SPHERE_SHAPE_PROXYTYPE) && (proxyType1==BOX_SHAPE_PROXYTYPE))
|
||||||
{
|
{
|
||||||
return m_sphereBoxCF;
|
return m_sphereBoxCF;
|
||||||
@@ -223,6 +230,8 @@ btCollisionAlgorithmCreateFunc* btDefaultCollisionConfiguration::getCollisionAlg
|
|||||||
{
|
{
|
||||||
return m_boxSphereCF;
|
return m_boxSphereCF;
|
||||||
}
|
}
|
||||||
|
#endif //USE_BUGGY_SPHERE_BOX_ALGORITHM
|
||||||
|
|
||||||
|
|
||||||
if ((proxyType0 == SPHERE_SHAPE_PROXYTYPE ) && (proxyType1==TRIANGLE_SHAPE_PROXYTYPE))
|
if ((proxyType0 == SPHERE_SHAPE_PROXYTYPE ) && (proxyType1==TRIANGLE_SHAPE_PROXYTYPE))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ bool btPolyhedralConvexShape::initializePolyhedralFeatures(int shiftVerticesByMa
|
|||||||
for (int p=0;p<planeEquations.size();p++)
|
for (int p=0;p<planeEquations.size();p++)
|
||||||
{
|
{
|
||||||
btVector3 plane = planeEquations[p];
|
btVector3 plane = planeEquations[p];
|
||||||
btScalar margin = getMargin();
|
// btScalar margin = getMargin();
|
||||||
plane[3] -= getMargin();
|
plane[3] -= getMargin();
|
||||||
shiftedPlaneEquations.push_back(plane);
|
shiftedPlaneEquations.push_back(plane);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -71,8 +71,8 @@ inline void GrahamScanConvexHull2D(btAlignedObjectArray<GrahamVector3>& original
|
|||||||
//step1 : find anchor point with smallest projection on axis0 and move it to first location
|
//step1 : find anchor point with smallest projection on axis0 and move it to first location
|
||||||
for (int i=0;i<originalPoints.size();i++)
|
for (int i=0;i<originalPoints.size();i++)
|
||||||
{
|
{
|
||||||
const btVector3& left = originalPoints[i];
|
// const btVector3& left = originalPoints[i];
|
||||||
const btVector3& right = originalPoints[0];
|
// const btVector3& right = originalPoints[0];
|
||||||
btScalar projL = originalPoints[i].dot(axis0);
|
btScalar projL = originalPoints[i].dot(axis0);
|
||||||
btScalar projR = originalPoints[0].dot(axis0);
|
btScalar projR = originalPoints[0].dot(axis0);
|
||||||
if (projL < projR)
|
if (projL < projR)
|
||||||
|
|||||||
Reference in New Issue
Block a user