20 #if defined (__CELLOS_LV2__) && defined (__SPU__)
21 #include <spu_intrinsics.h>
25 result = spu_mul( vec0, vec1 );
26 result = spu_madd( spu_rlqwbyte( vec0, 4 ), spu_rlqwbyte( vec1, 4 ), result );
27 return spu_madd( spu_rlqwbyte( vec0, 8 ), spu_rlqwbyte( vec1, 8 ), result );
43 halfExtents +=
btVector3(margin,margin,margin);
47 btVector3 extent = halfExtents.
dot3( abs_b[0], abs_b[1], abs_b[2] );
49 aabbMin = center - extent;
50 aabbMax = center + extent;
59 halfExtents[1] += radius;
60 halfExtents +=
btVector3(margin,margin,margin);
62 int capsuleUpAxis = convexShape->getUpAxis();
63 btScalar halfHeight = convexShape->getHalfHeight();
64 btScalar radius = convexShape->getRadius();
65 halfExtents[capsuleUpAxis] = radius + halfHeight;
70 btVector3 extent = halfExtents.
dot3( abs_b[0], abs_b[1], abs_b[2] );
72 aabbMin = center - extent;
73 aabbMax = center + extent;
83 aabbMin = center - extent;
84 aabbMax = center + extent;
109 register int dmaSize;
233 cellDmaGet(collisionShapeLocation, collisionShapePtr , dmaSize,
DMA_TAG(dmaTag), 0, 0);
240 register int dmaSize;
253 for ( i = 0; i < childShapeCount; ++i)
264 int curIndex = startNodeIndex;
265 int walkIterations = 0;
267 int subTreeSize = endNodeIndex - startNodeIndex;
272 unsigned int aabbOverlap, isLeafNode;
274 while (curIndex < endNodeIndex)
277 btAssert (walkIterations < subTreeSize);
283 if (isLeafNode && aabbOverlap)
290 if (aabbOverlap || isLeafNode)
297 rootNode += escapeIndex;
298 curIndex += escapeIndex;