@Override
public int collide(Contact[] contacts, PhysicsAgent2D<?> bodyA, PhysicsAgent2D<?> bodyB) {
int numContacts = 0;
Line line = (Line) bodyA.getBodyShape();
Box box = (Box) bodyB.getBodyShape();
Vector2f lineVec = new Vector2f(line.getDX(), line.getDY());
lineVec.normalise();
Vector2f axis = new Vector2f(-line.getDY(), line.getDX());
axis.normalise();
Vector2f res = new Vector2f();
line.getStart().projectOntoUnit(axis, res);
float linePos = getProp(res,axis);
Vector2f c = MathUtil.sub(bodyB.getPosition(),bodyA.getPosition());
c.projectOntoUnit(axis,res);
float centre = getProp(res, axis);
Vector2f[] pts = box.getPoints(bodyB.getPosition(), bodyB.getRotation());
float[] tangent = new float[4];
float[] proj = new float[4];
int outOfRange = 0;