<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -43,74 +43,5 @@ module CelticKnot
     def initialize(nodes)
       @nodes = nodes
     end
-
-    def construct_knot
-      knot = Knot.new
-
-      nodes.each do |node|
-        if node.edges.empty?
-          encircle_node(knot, node)
-        else
-          node.edges.each do |edge|
-            next if edge.marked?(node, Direction::CCW)
-            plot_thread(knot, node, edge)
-          end
-        end
-      end
-
-      return knot
-    end
-
-    private
-
-      def encircle_node(knot, node)
-        # trivial case for a node with no edges. just draw a circle around it.
-        raise NotImplementedError
-      end
-
-      def plot_thread(knot, near, edge)
-        thread = knot.new_thread
-
-        # direction is either &quot;clockwise&quot; or &quot;counter-clockwise&quot;,
-        # and refers to the direction the cable would travel if it were to
-        # orbit the far node, originating at the midpoint of the current
-        # edge.
-
-        direction = Direction::CCW
-
-        # mid1 is the &quot;virtual&quot; midpoint of the current edge, as viewed
-        # from the given starting node, and travelling in the given direction
-        # around the far node.
-
-        mid1 = edge.virtual_midpoint(near, direction, :exit)
-
-        loop do
-          far = edge.other(near)
-          parallel = far - near
-          vector = edge.vector(parallel, direction)
-
-          break if thread.closes?(mid1, vector)
-
-          thread.add_connection(mid1, vector)
-
-          edge.mark(near, direction)
-
-          edge2 = far.nearest_edge_to(edge, direction) || edge
-          mid2 = edge2.virtual_midpoint(far, direction, :enter)
-
-          # if the edge is being ignored, then we reverse direction,
-          # keeping all else the same. This has the effect of just
-          # passing through the edge.
-
-          if edge2.ignore?
-            near = edge2.other(far)
-          else
-            near = far
-            direction = direction.opposite if edge2.normal?
-          end
-
-          edge, mid1 = edge2, mid2
-        end
-      end
   end
 end</diff>
      <filename>lib/celtic_knot/graph.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>971c91482fbec9469d172077d3137d9169bdbc20</id>
    </parent>
  </parents>
  <author>
    <name>Jamis Buck</name>
    <email>jamis@37signals.com</email>
  </author>
  <url>http://github.com/jamis/celtic_knot/commit/901e655c3f54b1463934138bf885ea71ac3c66fc</url>
  <id>901e655c3f54b1463934138bf885ea71ac3c66fc</id>
  <committed-date>2009-06-07T21:21:37-07:00</committed-date>
  <authored-date>2009-06-07T21:21:37-07:00</authored-date>
  <message>knot generation has been moved to the Builder class</message>
  <tree>dd23a4acc58f5a755c9eed1375621487d8224fcb</tree>
  <committer>
    <name>Jamis Buck</name>
    <email>jamis@37signals.com</email>
  </committer>
</commit>
