@Override protected ShapeProjection getProjection(Vec2 axis) { // This method of computation is preferable to the default impl., // which invokes getVertices(). float p0 = axis.dot(v00); float p1 = axis.dot(v11); float p2 = axis.dot(v00.x(), v11.y()); float p3 = axis.dot(v11.x(), v00.y()); return new ShapeProjection( Maths.min(Maths.min(p0, p1), Maths.min(p2, p3)), Maths.max(Maths.max(p0, p1), Maths.max(p2, p3))); }