Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Dec 13, 2008, 11:45:51 PM (17 years ago)
Author:
rgrieder
Message:

Updated to Bullet 2.73 (first part).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/physics/src/bullet/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.cpp

    r2192 r2430  
    2222
    2323#if defined(DEBUG) || defined (_DEBUG)
    24 #define TEST_NON_VIRTUAL 1
     24//#define TEST_NON_VIRTUAL 1
    2525#include <stdio.h> //for debug printf
    2626#ifdef __SPU__
     
    5454void btGjkPairDetector::getClosestPoints(const ClosestPointInput& input,Result& output,class btIDebugDraw* debugDraw,bool swapResults)
    5555{
     56        m_cachedSeparatingDistance = 0.f;
     57
    5658        btScalar distance=btScalar(0.);
    5759        btVector3       normalInB(btScalar(0.),btScalar(0.),btScalar(0.));
     
    6365        localTransB.getOrigin() -= positionOffset;
    6466
    65 
     67#ifdef __SPU__
    6668        btScalar marginA = m_minkowskiA->getMarginNonVirtual();
    6769        btScalar marginB = m_minkowskiB->getMarginNonVirtual();
    68 
     70#else
     71        btScalar marginA = m_minkowskiA->getMargin();
     72        btScalar marginB = m_minkowskiB->getMargin();
    6973#ifdef TEST_NON_VIRTUAL
    70         btScalar marginAv = m_minkowskiA->getMargin();
    71         btScalar marginBv = m_minkowskiB->getMargin();
    72 
     74        btScalar marginAv = m_minkowskiA->getMarginNonVirtual();
     75        btScalar marginBv = m_minkowskiB->getMarginNonVirtual();
    7376        btAssert(marginA == marginAv);
    7477        btAssert(marginB == marginBv);
    7578#endif //TEST_NON_VIRTUAL
     79#endif
     80       
     81
    7682
    7783        gNumGjkChecks++;
     
    118124                        btVector3 seperatingAxisInB = m_cachedSeparatingAxis* input.m_transformB.getBasis();
    119125
     126#ifdef __SPU__
     127                        btVector3 pInA = m_minkowskiA->localGetSupportVertexWithoutMarginNonVirtual(seperatingAxisInA);
     128                        btVector3 qInB = m_minkowskiB->localGetSupportVertexWithoutMarginNonVirtual(seperatingAxisInB);
     129#else
     130                        btVector3 pInA = m_minkowskiA->localGetSupportingVertexWithoutMargin(seperatingAxisInA);
     131                        btVector3 qInB = m_minkowskiB->localGetSupportingVertexWithoutMargin(seperatingAxisInB);
    120132#ifdef TEST_NON_VIRTUAL
    121133                        btVector3 pInAv = m_minkowskiA->localGetSupportingVertexWithoutMargin(seperatingAxisInA);
    122134                        btVector3 qInBv = m_minkowskiB->localGetSupportingVertexWithoutMargin(seperatingAxisInB);
    123 #endif
    124                         btVector3 pInA = m_minkowskiA->localGetSupportVertexWithoutMarginNonVirtual(seperatingAxisInA);
    125                         btVector3 qInB = m_minkowskiB->localGetSupportVertexWithoutMarginNonVirtual(seperatingAxisInB);
    126 #ifdef TEST_NON_VIRTUAL
    127135                        btAssert((pInAv-pInA).length() < 0.0001);
    128136                        btAssert((qInBv-qInB).length() < 0.0001);
    129137#endif //
    130 
    131                         btPoint3  pWorld = localTransA(pInA);   
    132                         btPoint3  qWorld = localTransB(qInB);
     138#endif //__SPU__
     139
     140                        btVector3  pWorld = localTransA(pInA); 
     141                        btVector3  qWorld = localTransB(qInB);
    133142
    134143#ifdef DEBUG_SPU_COLLISION_DETECTION
     
    332341                spu_printf("output 1\n");
    333342#endif
     343                m_cachedSeparatingAxis = normalInB;
     344                m_cachedSeparatingDistance = distance;
     345
    334346                output.addContactPoint(
    335347                        normalInB,
Note: See TracChangeset for help on using the changeset viewer.