 
   # bookkeeping
   lastAcceleration: [0, 0]
-
-  # Public: override this in subclasses to define the vertices of this
-  # polygonal body.
-  vertices: -> []
-
-  # Public: reset any per-frame caches, e.g. vertices, forces, etc.
-  reset: ->
 
   # Public: Initialize a polygonal body.
   #

        minOverlap = overlap
        minAxis = axis

    for axis in other.perpendicularAxesFacing(this)
      us = @projectionInterval axis
      them = other.projectionInterval axis
      overlap = Utils.intervalOverlap us, them
      return false unless overlap > 0
      if overlap < minOverlap
        minOverlap = overlap
        minAxis = Vec.invert axis # separation axis is always A->B

    minAxis

  projectionInterval: (axis) ->
    Utils.projectionInterval @vertices(), axis

    minAxis    = null
    minOverlap = Infinity

    for axis in @perpendicularAxes()
      us = @projectionInterval axis
      them = other.projectionInterval axis
      overlap = Utils.intervalOverlap us, them
