34 using namespace Opcode;
39 #define SET_CONTACT(prim_index, flag) \
42 mTouchedPrimitives->Add(prim_index);
45 #define AABB_PRIM(prim_index, flag) \
47 VertexPointers VP; mIMesh->GetTriangle(VP, prim_index);\
48 mLeafVerts[0] = *VP.Vertex[0]; \
49 mLeafVerts[1] = *VP.Vertex[1]; \
50 mLeafVerts[2] = *VP.Vertex[2]; \
54 SET_CONTACT(prim_index, flag) \
92 if(!
Setup(&model))
return false;
270 if(!tree)
return false;
302 #define TEST_BOX_IN_AABB(center, extents) \
303 if(AABBContainsBox(center, extents)) \
306 mFlags |= OPC_CONTACT; \
320 if(!
AABBAABBOverlap(node->mAABB.mExtents, node->mAABB.mCenter))
return;
347 if(!
AABBAABBOverlap(node->mAABB.mExtents, node->mAABB.mCenter))
return;
438 if(!
AABBAABBOverlap(node->mAABB.mExtents, node->mAABB.mCenter))
return;
460 if(!
AABBAABBOverlap(node->mAABB.mExtents, node->mAABB.mCenter))
return;
536 Point Center, Extents;
537 node->GetAABB()->GetCenter(Center);
538 node->GetAABB()->GetExtents(Extents);
580 if(!
Setup(&model))
return false;
600 mTouchedBoxes.Reset();
659 const udword* Touched = mTouchedBoxes.GetEntries();
678 udword TriangleIndex = *T++;
689 udword TriangleIndex = BaseIndex++;