 
     @drawSelection()
 
-  redraw : =>
-    if not @mousedown_node
-      @svg.attr "transform", "translate(" + d3.event.translate + ")" + "scale(" + d3.event.scale + ")"
-
+  # ensures force layout knows about current data
   resetForce : =>
     @force
       .links @link_data

    @restart()

  #removes any selected nodes/edges
  remove : () =>
    for d in d3.selectAll(@selected_nodes).data()
      @node_data.splice(@node_data.indexOf(d), 1);
      @removeRelatedEdges d

    @links.attr "y1", (d) -> d.source.y
    @links.attr "x2", (d) -> d.target.x
    @links.attr "y2", (d) -> d.target.y

  # pan/zoom when node isn't being dragged
  redraw : =>
    if not @mousedown_node
      @svg.attr "transform", "translate(" + d3.event.translate + ")" + "scale(" + d3.event.scale + ")"

  # clear the selection
  clearSelection : () ->
