     rotate : (degrees) ->
         throw new Error("Not Implemented error")
 
-
     # Tell the element that one step in the simulation has elapsed.
     elapse : (milliseconds, iteration) ->
         this


    # Apply an impulse force to the element.
    applyImpulse : (impulse) ->
        velocity = @getVelocity().add(impulse)
        @direction = velocity.normalize()
        @speed = velocity.getLength()

    # Apply the given force to the element for the given number of
    # milliseconds.
    applyForce : (force, milliseconds) ->
        # Calculate the effects of the force.
        acceleration = force.scale(@getInverseMass())
        velocity = @getVelocity().add(acceleration.scale(milliseconds))

        @unbind()
        return this

    # Return true if the element is static.
    isStatic : () ->
        return @static

    # Render the element on the given canvas context.
    render : (context) ->
        throw new Error("Not Implemented error")
