sweep.insert(0, true, vertsA[0].dot(normal));
sweep.insert(0, true, vertsA[1].dot(normal));
sweep.addVerticesToSweep(false, vertsB);
int[][] collEdgeCands = sweep.getOverlappingEdges();
IntersectionGatherer intGath = new IntersectionGatherer(vertsA, vertsB);
for ( int i = 0; i < collEdgeCands.length; i++ )
intGath.intersect(collEdgeCands[i][0], collEdgeCands[i][1]);
Intersection[] intersections = intGath.getIntersections();
return populateContacts(contacts, vertsA, vertsB, intersections);
}