Changeset 2430 for code/branches/physics/src/bullet/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.cpp
- Timestamp:
- Dec 13, 2008, 11:45:51 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/physics/src/bullet/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.cpp
r2192 r2430 22 22 23 23 #if defined(DEBUG) || defined (_DEBUG) 24 #define TEST_NON_VIRTUAL 124 //#define TEST_NON_VIRTUAL 1 25 25 #include <stdio.h> //for debug printf 26 26 #ifdef __SPU__ … … 54 54 void btGjkPairDetector::getClosestPoints(const ClosestPointInput& input,Result& output,class btIDebugDraw* debugDraw,bool swapResults) 55 55 { 56 m_cachedSeparatingDistance = 0.f; 57 56 58 btScalar distance=btScalar(0.); 57 59 btVector3 normalInB(btScalar(0.),btScalar(0.),btScalar(0.)); … … 63 65 localTransB.getOrigin() -= positionOffset; 64 66 65 67 #ifdef __SPU__ 66 68 btScalar marginA = m_minkowskiA->getMarginNonVirtual(); 67 69 btScalar marginB = m_minkowskiB->getMarginNonVirtual(); 68 70 #else 71 btScalar marginA = m_minkowskiA->getMargin(); 72 btScalar marginB = m_minkowskiB->getMargin(); 69 73 #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(); 73 76 btAssert(marginA == marginAv); 74 77 btAssert(marginB == marginBv); 75 78 #endif //TEST_NON_VIRTUAL 79 #endif 80 81 76 82 77 83 gNumGjkChecks++; … … 118 124 btVector3 seperatingAxisInB = m_cachedSeparatingAxis* input.m_transformB.getBasis(); 119 125 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); 120 132 #ifdef TEST_NON_VIRTUAL 121 133 btVector3 pInAv = m_minkowskiA->localGetSupportingVertexWithoutMargin(seperatingAxisInA); 122 134 btVector3 qInBv = m_minkowskiB->localGetSupportingVertexWithoutMargin(seperatingAxisInB); 123 #endif124 btVector3 pInA = m_minkowskiA->localGetSupportVertexWithoutMarginNonVirtual(seperatingAxisInA);125 btVector3 qInB = m_minkowskiB->localGetSupportVertexWithoutMarginNonVirtual(seperatingAxisInB);126 #ifdef TEST_NON_VIRTUAL127 135 btAssert((pInAv-pInA).length() < 0.0001); 128 136 btAssert((qInBv-qInB).length() < 0.0001); 129 137 #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); 133 142 134 143 #ifdef DEBUG_SPU_COLLISION_DETECTION … … 332 341 spu_printf("output 1\n"); 333 342 #endif 343 m_cachedSeparatingAxis = normalInB; 344 m_cachedSeparatingDistance = distance; 345 334 346 output.addContactPoint( 335 347 normalInB,
Note: See TracChangeset
for help on using the changeset viewer.