public unsafe void FindLocalOverlaps(ref Buffer <BoundsTestedPair> pairs, int pairCount, BufferPool pool, Shapes shapes, float dt, out CompoundPairOverlaps overlaps) { var totalCompoundChildCount = 0; for (int i = 0; i < pairCount; ++i) { totalCompoundChildCount += Unsafe.AsRef <TMeshA>(pairs[i].A).ChildCount; } overlaps = new CompoundPairOverlaps(pool, pairCount, totalCompoundChildCount); ref var pairsToTest = ref overlaps.pairQueries;
public unsafe void FindLocalOverlaps(ref Buffer <BoundsTestedPair> pairs, int pairCount, BufferPool pool, Shapes shapes, float dt, out CompoundPairOverlaps overlaps) { var totalCompoundChildCount = 0; for (int i = 0; i < pairCount; ++i) { totalCompoundChildCount += Unsafe.AsRef <TMeshA>(pairs[i].A).ChildCount; } overlaps = new CompoundPairOverlaps(pool, pairCount, totalCompoundChildCount); var pairsToTest = stackalloc PairsToTestForOverlap[totalCompoundChildCount]; int nextSubpairIndex = 0; for (int i = 0; i < pairCount; ++i) { ref var pair = ref pairs[i]; ref var meshA = ref Unsafe.AsRef <TMeshA>(pair.A);